SlideShare ist ein Scribd-Unternehmen logo
1 von 39
APACHE CAMEL
ET LES
« ENTREPRISE INTEGRATION PATTERNS »
Par : Ouadie LAHDIOUI
PRÉREQUIS
2
+ Java 7
+ Maven
+ Fuse IDE
+ Apache CAMEL
Apache Camel et les Entreprise Integration Patterns
INTÉGRATION D'APPLICATIONS D'ENTREPRISE
POURQUOI LE BESOIN D’INTÉGRATION
4
+ Très peu d’applications vivent en isolation
+ SI complexe, Sous systèmes hétérogènes
+ Les fonctionnalités voulues par un utilisateur résident dans différents systèmes et dans
différentes applications
Apache Camel et les Entreprise Integration Patterns
EXEMPLE D’INTÉGRATION D’UN SYSTÈME D’INFORMATION D’ENTREPRISE
5Apache Camel et les Entreprise Integration Patterns
LE PROBLÈME DES APPLICATIONS INTÉGRÉES POINT À POINT
6Apache Camel et les Entreprise Integration Patterns
CHALLENGES D’INTÉGRATION
7
+ Fiabilité des réseaux
+ Lenteur des réseaux
+ Les données échangées ainsi que le nombre d’application à intégrer augment
+ Changement continu
Métier
Technique
Humain
…
Apache Camel et les Entreprise Integration Patterns
OBJECTIF DE L’INTÉGRATION
8
+ Trouver un modèle d’intégration standard et efficace !!
Application BApplication A
+ Protocole A
+ Technologie A
+ Format de données A
+ Protocole B
+ Technologie B
+ Format de données B
Apache Camel et les Entreprise Integration Patterns
REPRESENTATIONAL STATE TRANSFERT
INTÉGRATION VS APPLICATIONS DISTRIBUÉES
9
+ Couches dépendantes
+ Communication typiquement synchrone
+ Découplage
+ Intra-départemental
+ Applications autonomes
+ Communication typiquement asynchrone
+ Inter-départemental et inter-organisationnel
Apache Camel et les Entreprise Integration Patterns
REPRESENTATIONAL STATE TRANSFERT
NIVEAUX D'INTÉGRATION D'APPLICATIONS
10
+ Framework d’intégration :
Permet de mettre en place un Pattern d’Intégration d'Entreprise
Utilise des APIs standards et diminue nettement les efforts d'implémentations
Le code source est plus facile à comprendre pour les autres développeurs
+ ESB : Enterprise Service Bus
Il est basé implicitement sur un framework
Un produit beaucoup plus puissant pour le déploiement, l'administration et le monitoring
Un meilleur outillage, qui réduit la complexité
+ Suite d'intégration
Offre toutes les fonctionnalités d'un ESB
Business Process Management (BPM), le Business Activity Monitoring, le Master Data
Management
Apache Camel et les Entreprise Integration Patterns
NIVEAUX D'INTÉGRATION D'APPLICATIONS
11Apache Camel et les Entreprise Integration Patterns
LES DIFFÉRENTS STYLES D’INTÉGRATION
12
+ File transfer
+ Shared dataBase
+ Remote procedural invocation
+ Asynchronous messaging style
Apache Camel et les Entreprise Integration Patterns
FILE TRANSFER
LES DIFFÉRENTS STYLES D’INTÉGRATION
13
+ L’application A exporte ses données dans un format de données commun
+ Le fichier est ensuite lu par l’application B
+ Pratique est facile à mettre en place.
+ Découplage physique, logique et temporel
+ Peu fiable – Sécurité - Accés concurrent - Pas de
transaction - Difficulté d’exploitation.
Apache Camel et les Entreprise Integration Patterns
SHARED DATABASE
LES DIFFÉRENTS STYLES D’INTÉGRATION
14
+ Les données sont centralisées dans une base de données partagée par toutes les
applications
+ Transactions - Centralisation + Applications liées au schéma - Impossible a mettre
en place si on a un partenaire externs – Lent -
Évolution difficile
Apache Camel et les Entreprise Integration Patterns
REMOTE PROCEDURE INVOCATION
LES DIFFÉRENTS STYLES D’INTÉGRATION
15
+ Appel des services à la demande pour réaliser des opérations
+ Object Oriented - Découplage phsique + Pas de découplage logique - Fragile - Pas scalable
(Thread d’envoi reste bloqué) - Difficilement
interopérable - Point to Point
Apache Camel et les Entreprise Integration Patterns
REMOTE PROCEDURE INVOCATION
LES DIFFÉRENTS STYLES D’INTÉGRATION
16
+ Les systèmes envoient des données (Event queue)
+ L’envoie d’un message dans un channel est rapide
+ Le channel assure le découplage des systèmes.
+ Communication asynchrone « Fire And Forget »
Apache Camel et les Entreprise Integration Patterns
ATTENTION AU DÉVELOPPEMENT D’APPLICATION ASYNCHRONE
17
+ Contexte transactionnel
+ Contexte de sécurité
+ Gestion des erreurs
Apache Camel et les Entreprise Integration Patterns
LE BESOIN D’UN « MESSAGING PATTERN LANGUAGE»
18
+ Normaliser les échanges de messages dans un système asynchrone
+ Transporter les messages [Channel Patterns]
+ Designer les messages [Message Patterns]
+ Transfert des messages vers sa destination [Router Patterns]
+ Transformer les messages dans le bon format [Transformation Pattenrs]
+ Evoyer et réceptionner des messages [Endpoint Patterns]
+ Gérer et tester le système [Manegement Patterns]
Apache Camel et les Entreprise Integration Patterns
EIP (ENTREPRISE INTEGRATION PATTERNS)
ENTREPRISE INTEGRATION PATTERNS, C’EST QUOI ?
20
+ Design Patterns, 1994
+ Des solutions génériques pour des problèmes spécifiques
+ Entreprise Integration Patterns, écrit en 2003 et toujours d’actualité
+ Catalogue de référence sur les EIP
Apache Camel et les Entreprise Integration Patterns
65 PATTERNS
CATALOGUE DES EIP
21Apache Camel et les Entreprise Integration Patterns
PIPES AND FILTERS
22Apache Camel et les Entreprise Integration Patterns
POINT-TO-POINT CHANNEL
23Apache Camel et les Entreprise Integration Patterns
PUBLISH-SUBSCRIBE CHANNEL
24Apache Camel et les Entreprise Integration Patterns
MESSAGE ROUTER
25Apache Camel et les Entreprise Integration Patterns
SPLITTER
26Apache Camel et les Entreprise Integration Patterns
AGGREGATOR
27Apache Camel et les Entreprise Integration Patterns
FRAMWORKS D’INTÉGRATION JAVA
28
+ Apche CAMEL + Spring Integration
Apache Camel et les Entreprise Integration Patterns
FRAMWORKS D’INTÉGRATION JAVA
29
James Strachan
Write
Apache Camel et les Entreprise Integration Patterns
APACHE CAMEL
30
+ Implémentation des EIP
+ Framwork Java OpenSource basé sur des échanges de messages
+ Architecture événementielle et transactionnelle
+ Très bonne intégration avec spring
+ DSL (Domain Specific Language):
Java DSL - Spring XML - Groovy DSL - Scala DSL - Annotation DSL
CONCISE APPLICATION MESSAGING EXCHANGE LANGUAGE
Apache Camel et les Entreprise Integration Patterns
APACHE CAMEL
31
CONCISE APPLICATION MESSAGING EXCHANGE LANGUAGE
Apache Camel et les Entreprise Integration Patterns
APACHE CAMEL
32
CONCISE APPLICATION MESSAGING EXCHANGE LANGUAGE
Apache Camel et les Entreprise Integration Patterns
APACHE CAMEL
33
+ Constituent les canaux de communication entre deux endpoints ou plus
+ Chacune possède un seul point d’entrée (from) et une ou plusieurs sorties (to)
LES ROUTES
Apache Camel et les Entreprise Integration Patterns
APACHE CAMEL
34
+ Les messages transitent sur les routes
LES MESSAGES
Exchanges
Apache Camel et les Entreprise Integration Patterns
APACHE CAMEL
35
+ Une Route est le chemin qu’emprunte le message d’un bout à l’autre de la chaîne de
médiation, Ce chemin pouvant être entrecoupé par ce qu’on appelle des processeurs
(Processor)
LES PROCESSORS
Apache Camel et les Entreprise Integration Patterns
FUSE IDE
36Apache Camel et les Entreprise Integration Patterns
ET LES ESB ?
37
+ Un ESB est une offre Middleware complète
+ Apache Camel est une boite à outils basée sur les EIP
+ Apache Camel est dis LightWeight (ESB Light)
Apache Camel et les Entreprise Integration Patterns
TAKING APACHE CAMEL FOR A RIDE
+ Mise en place d’un HotFolder
+ Composants :
Servlet
Scheduler
FTP
Direct
HTTP
Source : www.last-video.com
MERCI POUR VOTRE ATTENTION
+ Documentation officielle d’apache Camel : www.camel.apache.org/documentation.html
+ Livres :
- EIP: Designing, Building, and Deploying Messaging Solutions
- Camel In Action
+ N'ayez pas peur des Entreprise Integration Patterns (EIP)

Weitere ähnliche Inhalte

Was ist angesagt?

Le pattern View Model avec Symfony2
Le pattern View Model avec Symfony2Le pattern View Model avec Symfony2
Le pattern View Model avec Symfony2RomainKuzniak
 
Principes De Base De Asp .Net
Principes De Base De Asp .NetPrincipes De Base De Asp .Net
Principes De Base De Asp .NetGregory Renard
 
Deployment of a multi-site platform
Deployment of a multi-site platformDeployment of a multi-site platform
Deployment of a multi-site platformKaliop-slide
 
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)Fabien Potencier
 
Dev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenuDev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenuBertrand Dunogier
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
symfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les Professionnelssymfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les ProfessionnelsFabien Potencier
 
2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference
2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference
2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon ConferenceNicolas Pastorino
 
eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductionRoland Benedetti
 
S43 passer à php 7 sous IBM i
S43   passer à php 7 sous IBM iS43   passer à php 7 sous IBM i
S43 passer à php 7 sous IBM iGautier DUMAS
 
Symfony live Paris 2014 - Symfony2 sur Azure
Symfony live Paris 2014 - Symfony2 sur AzureSymfony live Paris 2014 - Symfony2 sur Azure
Symfony live Paris 2014 - Symfony2 sur AzureStéphane ESCANDELL
 
eZ publish - Publication instantanée et fort trafic web
eZ publish - Publication instantanée et fort trafic webeZ publish - Publication instantanée et fort trafic web
eZ publish - Publication instantanée et fort trafic webGauthier Garnier
 
Introduction au Framework Laravel
Introduction au Framework LaravelIntroduction au Framework Laravel
Introduction au Framework LaravelHoucem Hedhly
 
wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3Nicolas Lœuillet
 
Déploiement d'applications Java EE
Déploiement d'applications Java EEDéploiement d'applications Java EE
Déploiement d'applications Java EEjavalabsf
 

Was ist angesagt? (16)

Le pattern View Model avec Symfony2
Le pattern View Model avec Symfony2Le pattern View Model avec Symfony2
Le pattern View Model avec Symfony2
 
Principes De Base De Asp .Net
Principes De Base De Asp .NetPrincipes De Base De Asp .Net
Principes De Base De Asp .Net
 
Deployment of a multi-site platform
Deployment of a multi-site platformDeployment of a multi-site platform
Deployment of a multi-site platform
 
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
symfony: Un Framework Open-Source pour les Entreprises (Solutions Linux 2008)
 
Dev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenuDev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenu
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"
 
symfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les Professionnelssymfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les Professionnels
 
2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference
2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference
2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference
 
eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introduction
 
S43 passer à php 7 sous IBM i
S43   passer à php 7 sous IBM iS43   passer à php 7 sous IBM i
S43 passer à php 7 sous IBM i
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
Symfony live Paris 2014 - Symfony2 sur Azure
Symfony live Paris 2014 - Symfony2 sur AzureSymfony live Paris 2014 - Symfony2 sur Azure
Symfony live Paris 2014 - Symfony2 sur Azure
 
eZ publish - Publication instantanée et fort trafic web
eZ publish - Publication instantanée et fort trafic webeZ publish - Publication instantanée et fort trafic web
eZ publish - Publication instantanée et fort trafic web
 
Introduction au Framework Laravel
Introduction au Framework LaravelIntroduction au Framework Laravel
Introduction au Framework Laravel
 
wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3
 
Déploiement d'applications Java EE
Déploiement d'applications Java EEDéploiement d'applications Java EE
Déploiement d'applications Java EE
 

Andere mochten auch

Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Ouadie LAHDIOUI
 
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIREST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIOuadie LAHDIOUI
 
Cloud native Microservices using Spring Boot
Cloud native Microservices using Spring BootCloud native Microservices using Spring Boot
Cloud native Microservices using Spring BootSufyaan Kazi
 
Hello AngularJS - Back to the future
Hello AngularJS - Back to the futureHello AngularJS - Back to the future
Hello AngularJS - Back to the futureOuadie LAHDIOUI
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache CamelFuseSource.com
 
Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Claus Ibsen
 
Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013Claus Ibsen
 
Enterprise Integration Patterns with Spring integration!
Enterprise Integration Patterns with Spring integration!Enterprise Integration Patterns with Spring integration!
Enterprise Integration Patterns with Spring integration!hegdekiranr
 
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014Claus Ibsen
 
Integration patterns and practices for cloud and mobile computing
Integration patterns and practices for cloud and mobile computingIntegration patterns and practices for cloud and mobile computing
Integration patterns and practices for cloud and mobile computingSHAKIL AKHTAR
 
Lessons Learned: Using Spark and Microservices
Lessons Learned: Using Spark and MicroservicesLessons Learned: Using Spark and Microservices
Lessons Learned: Using Spark and MicroservicesAlexis Seigneurin
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesLilia Sfaxi
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services WebLilia Sfaxi
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementLilia Sfaxi
 
Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration libraryClaus Ibsen
 
AngularJS - Présentation (french)
AngularJS - Présentation (french)AngularJS - Présentation (french)
AngularJS - Présentation (french)Yacine Rezgui
 

Andere mochten auch (20)

Debug like a doctor
Debug like a doctorDebug like a doctor
Debug like a doctor
 
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
 
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIREST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
 
AngularJS
AngularJSAngularJS
AngularJS
 
Cloud native Microservices using Spring Boot
Cloud native Microservices using Spring BootCloud native Microservices using Spring Boot
Cloud native Microservices using Spring Boot
 
Hello AngularJS - Back to the future
Hello AngularJS - Back to the futureHello AngularJS - Back to the future
Hello AngularJS - Back to the future
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache Camel
 
Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014
 
Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013Getting started with Apache Camel - May 2013
Getting started with Apache Camel - May 2013
 
Enterprise Integration Patterns with Spring integration!
Enterprise Integration Patterns with Spring integration!Enterprise Integration Patterns with Spring integration!
Enterprise Integration Patterns with Spring integration!
 
Spring integration
Spring integrationSpring integration
Spring integration
 
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
Getting started with Apache Camel presentation at BarcelonaJUG, january 2014
 
Integration patterns and practices for cloud and mobile computing
Integration patterns and practices for cloud and mobile computingIntegration patterns and practices for cloud and mobile computing
Integration patterns and practices for cloud and mobile computing
 
Lessons Learned: Using Spark and Microservices
Lessons Learned: Using Spark and MicroservicesLessons Learned: Using Spark and Microservices
Lessons Learned: Using Spark and Microservices
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API Management
 
Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration library
 
AngularJS - Présentation (french)
AngularJS - Présentation (french)AngularJS - Présentation (french)
AngularJS - Présentation (french)
 

Ähnlich wie Apache camel et les entreprise integration patterns

Webinar Smile et Talend : Faites communiquer vos applications en temps réel
Webinar Smile et Talend  : Faites communiquer vos applications en temps réelWebinar Smile et Talend  : Faites communiquer vos applications en temps réel
Webinar Smile et Talend : Faites communiquer vos applications en temps réelSmile I.T is open
 
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsIntegration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsCellenza
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiAZUG FR
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiSamir Arezki ☁
 
Le Middleware, element cle pour lintegration de services M2M
Le Middleware, element cle pour lintegration de services M2MLe Middleware, element cle pour lintegration de services M2M
Le Middleware, element cle pour lintegration de services M2Msimon_anyware
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Alexandre Touret
 
Keynote change 2013
Keynote change 2013Keynote change 2013
Keynote change 2013rbschange
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
 
Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Arnaud Auroux
 
Soirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB PetalsSoirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB PetalsNormandy JUG
 
Alfresco Meetup - ETL Connector & Talend
Alfresco Meetup - ETL Connector & TalendAlfresco Meetup - ETL Connector & Talend
Alfresco Meetup - ETL Connector & TalendMarc Dutoo
 
2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédiblePatrick Guimonet
 
Progicielde gestationintégré SAP
Progicielde gestationintégré SAPProgicielde gestationintégré SAP
Progicielde gestationintégré SAPkk kk
 
Km402 g formation-ibm-infosphere-advanced-datastage-parallel-framework-v9-1
Km402 g formation-ibm-infosphere-advanced-datastage-parallel-framework-v9-1Km402 g formation-ibm-infosphere-advanced-datastage-parallel-framework-v9-1
Km402 g formation-ibm-infosphere-advanced-datastage-parallel-framework-v9-1CERTyou Formation
 
Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Microsoft
 
Déploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsDéploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsNicolas Herbaut
 
L’intégration, facteur clef de succès d’une transformation digitale
L’intégration, facteur clef de succès d’une transformation digitaleL’intégration, facteur clef de succès d’une transformation digitale
L’intégration, facteur clef de succès d’une transformation digitaleManon PERNIN
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsNeil Armstrong
 

Ähnlich wie Apache camel et les entreprise integration patterns (20)

Webinar Smile et Talend : Faites communiquer vos applications en temps réel
Webinar Smile et Talend  : Faites communiquer vos applications en temps réelWebinar Smile et Talend  : Faites communiquer vos applications en temps réel
Webinar Smile et Talend : Faites communiquer vos applications en temps réel
 
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsIntegration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
Le Middleware, element cle pour lintegration de services M2M
Le Middleware, element cle pour lintegration de services M2MLe Middleware, element cle pour lintegration de services M2M
Le Middleware, element cle pour lintegration de services M2M
 
REX Ansible
REX AnsibleREX Ansible
REX Ansible
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
 
Keynote change 2013
Keynote change 2013Keynote change 2013
Keynote change 2013
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8
 
MERAZKA Messaoud
MERAZKA MessaoudMERAZKA Messaoud
MERAZKA Messaoud
 
Soirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB PetalsSoirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB Petals
 
Alfresco Meetup - ETL Connector & Talend
Alfresco Meetup - ETL Connector & TalendAlfresco Meetup - ETL Connector & Talend
Alfresco Meetup - ETL Connector & Talend
 
2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible
 
Progicielde gestationintégré SAP
Progicielde gestationintégré SAPProgicielde gestationintégré SAP
Progicielde gestationintégré SAP
 
Km402 g formation-ibm-infosphere-advanced-datastage-parallel-framework-v9-1
Km402 g formation-ibm-infosphere-advanced-datastage-parallel-framework-v9-1Km402 g formation-ibm-infosphere-advanced-datastage-parallel-framework-v9-1
Km402 g formation-ibm-infosphere-advanced-datastage-parallel-framework-v9-1
 
Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.
 
Déploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsDéploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIs
 
L’intégration, facteur clef de succès d’une transformation digitale
L’intégration, facteur clef de succès d’une transformation digitaleL’intégration, facteur clef de succès d’une transformation digitale
L’intégration, facteur clef de succès d’une transformation digitale
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server Internals
 

Apache camel et les entreprise integration patterns

  • 1. APACHE CAMEL ET LES « ENTREPRISE INTEGRATION PATTERNS » Par : Ouadie LAHDIOUI
  • 2. PRÉREQUIS 2 + Java 7 + Maven + Fuse IDE + Apache CAMEL Apache Camel et les Entreprise Integration Patterns
  • 4. POURQUOI LE BESOIN D’INTÉGRATION 4 + Très peu d’applications vivent en isolation + SI complexe, Sous systèmes hétérogènes + Les fonctionnalités voulues par un utilisateur résident dans différents systèmes et dans différentes applications Apache Camel et les Entreprise Integration Patterns
  • 5. EXEMPLE D’INTÉGRATION D’UN SYSTÈME D’INFORMATION D’ENTREPRISE 5Apache Camel et les Entreprise Integration Patterns
  • 6. LE PROBLÈME DES APPLICATIONS INTÉGRÉES POINT À POINT 6Apache Camel et les Entreprise Integration Patterns
  • 7. CHALLENGES D’INTÉGRATION 7 + Fiabilité des réseaux + Lenteur des réseaux + Les données échangées ainsi que le nombre d’application à intégrer augment + Changement continu Métier Technique Humain … Apache Camel et les Entreprise Integration Patterns
  • 8. OBJECTIF DE L’INTÉGRATION 8 + Trouver un modèle d’intégration standard et efficace !! Application BApplication A + Protocole A + Technologie A + Format de données A + Protocole B + Technologie B + Format de données B Apache Camel et les Entreprise Integration Patterns
  • 9. REPRESENTATIONAL STATE TRANSFERT INTÉGRATION VS APPLICATIONS DISTRIBUÉES 9 + Couches dépendantes + Communication typiquement synchrone + Découplage + Intra-départemental + Applications autonomes + Communication typiquement asynchrone + Inter-départemental et inter-organisationnel Apache Camel et les Entreprise Integration Patterns
  • 10. REPRESENTATIONAL STATE TRANSFERT NIVEAUX D'INTÉGRATION D'APPLICATIONS 10 + Framework d’intégration : Permet de mettre en place un Pattern d’Intégration d'Entreprise Utilise des APIs standards et diminue nettement les efforts d'implémentations Le code source est plus facile à comprendre pour les autres développeurs + ESB : Enterprise Service Bus Il est basé implicitement sur un framework Un produit beaucoup plus puissant pour le déploiement, l'administration et le monitoring Un meilleur outillage, qui réduit la complexité + Suite d'intégration Offre toutes les fonctionnalités d'un ESB Business Process Management (BPM), le Business Activity Monitoring, le Master Data Management Apache Camel et les Entreprise Integration Patterns
  • 11. NIVEAUX D'INTÉGRATION D'APPLICATIONS 11Apache Camel et les Entreprise Integration Patterns
  • 12. LES DIFFÉRENTS STYLES D’INTÉGRATION 12 + File transfer + Shared dataBase + Remote procedural invocation + Asynchronous messaging style Apache Camel et les Entreprise Integration Patterns
  • 13. FILE TRANSFER LES DIFFÉRENTS STYLES D’INTÉGRATION 13 + L’application A exporte ses données dans un format de données commun + Le fichier est ensuite lu par l’application B + Pratique est facile à mettre en place. + Découplage physique, logique et temporel + Peu fiable – Sécurité - Accés concurrent - Pas de transaction - Difficulté d’exploitation. Apache Camel et les Entreprise Integration Patterns
  • 14. SHARED DATABASE LES DIFFÉRENTS STYLES D’INTÉGRATION 14 + Les données sont centralisées dans une base de données partagée par toutes les applications + Transactions - Centralisation + Applications liées au schéma - Impossible a mettre en place si on a un partenaire externs – Lent - Évolution difficile Apache Camel et les Entreprise Integration Patterns
  • 15. REMOTE PROCEDURE INVOCATION LES DIFFÉRENTS STYLES D’INTÉGRATION 15 + Appel des services à la demande pour réaliser des opérations + Object Oriented - Découplage phsique + Pas de découplage logique - Fragile - Pas scalable (Thread d’envoi reste bloqué) - Difficilement interopérable - Point to Point Apache Camel et les Entreprise Integration Patterns
  • 16. REMOTE PROCEDURE INVOCATION LES DIFFÉRENTS STYLES D’INTÉGRATION 16 + Les systèmes envoient des données (Event queue) + L’envoie d’un message dans un channel est rapide + Le channel assure le découplage des systèmes. + Communication asynchrone « Fire And Forget » Apache Camel et les Entreprise Integration Patterns
  • 17. ATTENTION AU DÉVELOPPEMENT D’APPLICATION ASYNCHRONE 17 + Contexte transactionnel + Contexte de sécurité + Gestion des erreurs Apache Camel et les Entreprise Integration Patterns
  • 18. LE BESOIN D’UN « MESSAGING PATTERN LANGUAGE» 18 + Normaliser les échanges de messages dans un système asynchrone + Transporter les messages [Channel Patterns] + Designer les messages [Message Patterns] + Transfert des messages vers sa destination [Router Patterns] + Transformer les messages dans le bon format [Transformation Pattenrs] + Evoyer et réceptionner des messages [Endpoint Patterns] + Gérer et tester le système [Manegement Patterns] Apache Camel et les Entreprise Integration Patterns
  • 20. ENTREPRISE INTEGRATION PATTERNS, C’EST QUOI ? 20 + Design Patterns, 1994 + Des solutions génériques pour des problèmes spécifiques + Entreprise Integration Patterns, écrit en 2003 et toujours d’actualité + Catalogue de référence sur les EIP Apache Camel et les Entreprise Integration Patterns
  • 21. 65 PATTERNS CATALOGUE DES EIP 21Apache Camel et les Entreprise Integration Patterns
  • 22. PIPES AND FILTERS 22Apache Camel et les Entreprise Integration Patterns
  • 23. POINT-TO-POINT CHANNEL 23Apache Camel et les Entreprise Integration Patterns
  • 24. PUBLISH-SUBSCRIBE CHANNEL 24Apache Camel et les Entreprise Integration Patterns
  • 25. MESSAGE ROUTER 25Apache Camel et les Entreprise Integration Patterns
  • 26. SPLITTER 26Apache Camel et les Entreprise Integration Patterns
  • 27. AGGREGATOR 27Apache Camel et les Entreprise Integration Patterns
  • 28. FRAMWORKS D’INTÉGRATION JAVA 28 + Apche CAMEL + Spring Integration Apache Camel et les Entreprise Integration Patterns
  • 29. FRAMWORKS D’INTÉGRATION JAVA 29 James Strachan Write Apache Camel et les Entreprise Integration Patterns
  • 30. APACHE CAMEL 30 + Implémentation des EIP + Framwork Java OpenSource basé sur des échanges de messages + Architecture événementielle et transactionnelle + Très bonne intégration avec spring + DSL (Domain Specific Language): Java DSL - Spring XML - Groovy DSL - Scala DSL - Annotation DSL CONCISE APPLICATION MESSAGING EXCHANGE LANGUAGE Apache Camel et les Entreprise Integration Patterns
  • 31. APACHE CAMEL 31 CONCISE APPLICATION MESSAGING EXCHANGE LANGUAGE Apache Camel et les Entreprise Integration Patterns
  • 32. APACHE CAMEL 32 CONCISE APPLICATION MESSAGING EXCHANGE LANGUAGE Apache Camel et les Entreprise Integration Patterns
  • 33. APACHE CAMEL 33 + Constituent les canaux de communication entre deux endpoints ou plus + Chacune possède un seul point d’entrée (from) et une ou plusieurs sorties (to) LES ROUTES Apache Camel et les Entreprise Integration Patterns
  • 34. APACHE CAMEL 34 + Les messages transitent sur les routes LES MESSAGES Exchanges Apache Camel et les Entreprise Integration Patterns
  • 35. APACHE CAMEL 35 + Une Route est le chemin qu’emprunte le message d’un bout à l’autre de la chaîne de médiation, Ce chemin pouvant être entrecoupé par ce qu’on appelle des processeurs (Processor) LES PROCESSORS Apache Camel et les Entreprise Integration Patterns
  • 36. FUSE IDE 36Apache Camel et les Entreprise Integration Patterns
  • 37. ET LES ESB ? 37 + Un ESB est une offre Middleware complète + Apache Camel est une boite à outils basée sur les EIP + Apache Camel est dis LightWeight (ESB Light) Apache Camel et les Entreprise Integration Patterns
  • 38. TAKING APACHE CAMEL FOR A RIDE + Mise en place d’un HotFolder + Composants : Servlet Scheduler FTP Direct HTTP Source : www.last-video.com
  • 39. MERCI POUR VOTRE ATTENTION + Documentation officielle d’apache Camel : www.camel.apache.org/documentation.html + Livres : - EIP: Designing, Building, and Deploying Messaging Solutions - Camel In Action + N'ayez pas peur des Entreprise Integration Patterns (EIP)