Poste réalisé par Mohamed Karim LILI (Ingénieur logiciel confirmé à OXIA) |
Apache Camel est une librairie java open source d’intégration (liberal Apache 2 license), c’est un framework léger qui permet à vos applications de réaliser un routage intelligent, la transformation de messages, et qui représente un protocole de médiation utilisant les EIP (Entreprise Integration Patterns) avec un large panel de composants prêts à l’utilisation et une DSL (Domain Specific Language) hautement expressive et robuste (en 3 types : Java, XML (Spring based), Scala)..
|
Au cœur du framewok Camel existe un moteur de routage, ou
plus exactement un Routing engine builder. Il vous permet de définir vos
propres règles de routage, de décider à partir de quelle source accepter les
messages d’entrée, et de déterminer comment les traiter et enfin d’envoyer ces messages
transformés vers d’autres destinations. Camel utilise un langage d’intégration
qui vous permet de définir des règles de routage complexes qui vont jusqu’au
processus métier.
Un des principes fondamentaux de Camel est qu’il n’exige
aucun format spécifique de données à intégrer, ce qui vous laisse à vous,
développeur, une opportunité d’intégrer n’importe quel type de système, sans
avoir besoin de convertir vos données en un format « canonique ».
Nous devons aussi préciser que Camel n’est pas un ESB
(Entreprise Service Bus), bien que certains le décrivent comme un ESB léger
pour son support au routage, la transformation et le monitoring, ainsi que
l’orchestration. Camel n’a pas de conteneur ou un message-bus fiable, mais il
peut être déployé dans un ESB, comme Open-ESB ou ServiceMix. Pour cette raison,
on préfère appeler Camel un « framework
d’intégration » plutôt qu’un ESB.
Pourquoi utiliser Apache Camel ?
Camel introduit de nouvelles idées dans le monde de
l’intégration, c’est pour cela que les auteurs de Camel ont décidé de le créer
au lieu d’utiliser un framework existant.
Parmi les concepts clés de Camel :
- Routing and mediation engine
- Enterprise integration patterns (EIPs)
- Domain-specific language (DSL)
- Extensive component library
- Payload-agnostic router
- Modular and pluggable architecture
- POJO model
- Easy configuration
- Automatic type converters
- Lightweight core
- Test kit
- Vibrant community
Sommaire
- Introduction à Apache CAMEL (partie 1/6) : Problématique
- Introduction à Apache CAMEL (partie 2/6) : Qu’est ce que « Apache Camel » ?
- Introduction à Apache CAMEL (partie 3/6) : Comment fonctionne Camel ?
- Introduction à Apache CAMEL (partie 4/6): Le modèle message de Camel (Camel Message model)
- Introduction à Apache CAMEL (partie 5/6) : Le DSL Camel (Domain Specific Language)
- Introduction à Apache CAMEL (partie 6/6) : tutorial CAMEL
Bibliographie, Netographie et lien utiles
Camel in Action, Clause Ibsen et Jonathan Anstey, Editions MANNING
0 commentaires :
Enregistrer un commentaire