Les EIPs (Enterprise Integration Patterns) sont devenues un standard de fait pour décrire les scénarios d’intégration et de messaging.
Apache Camel a été conçu en vue de supporter complètement ces modèle.
Grâce a ses langages dédiés (DSL Java, Xml, Scala ..), Camel rends les scénarios d’intégration les plus complexes très simples a implémenter.
Cette présentation vous donnera un aperçu de Camel et beaucoup de raisons d’ajouter ce projet dans votre boîte à outils.
Camel grew out of the ServiceMix and ActiveMQ communities\n
Camel added to Apache by one of its founders James Strachan. Other founders: Rob Davies, Hiram Chirino, G. Nodet\n10 Apache Camel 1.x releases\n4 Apache Camel 2.x releases\nNext -> Rob Announces Camel\n\n
Next -> When I had first commit\n
Next -> Quote from Website\n
Next -> What is EIPs\n
Next -> Story\n
People discussing integration problem\nThey need a common vocabulary (language) and graphical notation\n
EIP = Book\nPublished 2004\nToday = still valid\n
Next -> Use Case (Filter EIP)\n
Only some messages should be send.\nNext -> Filter EIP (= the pattern to use)\n
Next -> Shorter notation in human readable -> turn into Java code\n
\n
predicate = math function outcome : true or false\nex: 2+2 = 4 ? true is the outcome\n
easier to read by naming the predicate isWidget\n
Can you see where we are going?\n
XPath = XML Path Language = query language to select nodes and compute values (= predicate)\nNext -> Define A and B\n
Next -> Put into a Java method\n
Next -> Put into Class\n
Camel RouteBuilder\nReal code, can compile\nNext -> Inlined URIs -> Shorter\n
Next -> Tooling = Use IDE\n
Code tooling = Just Java\n
Next -> recap concepts we have seen\n
Next -> One more pattern = The most famous\n
Content Based Router = the most known/famous pattern\n
\n
If .. else\nChoice .. when .. otherwise\nNext -> Java DSL example\n