Intégration applicative via messagerieJames Lapalme1
ObjectifsIntroduire le concept d’intégration applicativePrésenter les styles architecturaux pour aborder l’intégration applicativeApprofondir le style architectural « Messagerie » afin introduire les concepts de base2
Mise en contexte3EAIObject BrokerETL/EIIMiddlewareSOA/ESBWeb ServicesDTPServicesRéseautiquesLDAPNFSAuthentificationSystèmed’ExploitationRPCSemaphoreFifoSocketMutexMém. Part.
AgendaProblématiqueConceptsStyles ArchitecturauxMessagerieFormalismeUtilisation4
Écosystème TI = Système distribué5
La réalité = complexitéLes organisations ont des écosystèmes TI avec des 100s-1000s applications;La migration du développement vers l’acquisition d’applications;La migration d’une approche fonctionnelle (verticale) vers une approche par processus (horizontale);L’expansion des frontières organisationnelles afin d’incorporer les partenaires.6ProblématiqueL’intégration applicative est nécessaire au support des processus d’affaires utilisant plusieurs applications
Investissement7ProblématiqueBourseConformitéComptabilitéConseiller« Trader »
Santé8ProblématiqueÉtablissement ALaboratoireLaboratoireLaboratoireImagerieImagerieImagerieAdmissionAdmissionAdmissionÉtablissement BÉtablissement C
Transport9ProblématiqueSurveillancePublicitésSupervisionInstrumentsMaintenanceContrats
Beaucoup d’enjeuxProblématiqueTechnologiquesConception applicative en silosModèle de données enfouiesHétérogénéité  technologiqueAbsence d’interfaceDésalignement sémantiqueProcessus ambiguë/méconnuSécuritéManagériauxNouvelles collaborations interdépartementales« Scope de projets »Coûts et tempsMigrationAbsence de surintendance des donnéesFaible expertise10
Intégration vs N-TiersIntégration ApplicativeApplication N-TiersApplications autonomesCommunication typiquement asynchroneSéparation intrinsèqueInterdépartemental et inter-organisationnelCouches dépendantesCommunication typiquement synchroneSéparation pour « scalability » ou « agility » Intra-départemental11
Divers dimensionsFrontière organisationnelleEnterprise Application Integration (EAI)Business-to-Business Integration (B2B, B2G)Niveaude la Présentation (e.g. Portail) – N1des Données (e.g. échange de données) – N2des Fonctionnalités (e.g. appels d’API) – N3des Services (e.g. SOA) – N4des Processus (e.g. chorégraphies B2B) – N5TemporelSynchroneAsynchrone12Concepts
Objectif – Couplage faibleDimensions du couplageTemporel(e.g. asynchrone, queue)LocalisationCanal - Adresses logique (e.g. uri)Plateforme technologiqueStandard (e.g. XML)FormatTransformation13Concepts
4 ApprochesTransfert de fichiersProduction et consommation via fichierPartage SGBDPlusieurs applications utilisant la même base de donnéesAppels de fonctions distribuéesPartage de fonctionnalitésMessagerieInterconnexion via système de messagerie14Styles
Transfert de fichiersCaractéristiquesBatchAsynchronePoint-à-Point ou NormaliséN2EnjeuxSynchronisationCoordination15StylesSource : Hophe et al. 2003
Partage SGBDCaractéristiquesTemps-RéelSynchroneNormaliséN2EnjeuxAchatEncapsulation16StylesSource : Hophe et al. 2003
Appels de fonctions distribuéesCaractéristiquesTemps-RéelSynchronePoint-à-PointN3EnjeuxN(N-1)Latence17StylesSource : Hophe et al. 2003
MessagerieCaractéristiquesTemps-réel ou BatchAsynchronePoint-à-Point ou NormaliséN2 à N5Enjeux« Débogage »Batch18StylesSource : Hophe et al. 2003
Messagerie10119MessagerieSource : Hophe et al. 2003
AvantagesCommunication distribuéeCommunication robusteCommunication asynchroneIntégration de plateforme/langage“Timing” variable“Throttling”Opérations déconnectéesMédiationPeu de “thread” bloqué20Messagerie
InconvénientsModèle de programmation complexeEnjeux de séquenceScénarios synchronesPerformancePeu de plateforme“Vendorlock-in”21Messagerie
Formalisme de Gregor HohpeCanaux (9)P2P, Pub/Sub, etc.Messages (8)Corrélation, Commande, Data, etc.Transformation (6)Normalisation, Enrichissement, etc.Routage (10)Filtre,  Aggrégateur, Reséquenceur, etc.Connexion (10)Compétition, « Polling », etc.22Formalisme
Symbolisme Hohpe23FormalismeSource : Hophe et al. 2003
Exemple – Gestion d’ordres24FormalismeSource : Hophe et al. 2003
Exemple - Réception25Formalisme
Exemple - Inventaire26Formalisme
Exemple - Traitement27Formalisme
Mapping des patrons28UtilisationSource : Hophe et al. 2003
Outils d’EAIFonctionnalitésTransformationAdaptateurOrchestrationSurveillance d’activités d’Affaires (BAM) ProduitsMicrosoft - Biztalk ServerVitria - BusinessWareSoftware AG  - WebMethodTibco - ActiveMatrixBusinessWorksIBM - Websphere Message Broker29Utilisation
RéférencesGregor Hohpe & Bobby Woolf (2003). Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions.  Addison-Wesley ProfessionalIrimiaRoxana-Adina (2008).  An Overview of Application Integration Concepts.DNCOCO '08Joachim Schelp & Alexander Schwinn (2005). Extending the Business Engineering Framework for Application Integration Purposes.  ACM Symposium on Applied ComputingIan Gorton &b Anna Liu (2004).  Architectures and Technologies for Enterprise Application Integration. IEEE International Conference on Software EngineeringChen Zhigang & Cheng Huiping (2009). Research on Enterprise Application Integration Categories and Strategies. IEEE International Forum on Computer Science-Technology and ApplicationsRodney Gleghorn (2005). Enterprise Application Integration:  A Manager’s Perspective. IEEE IT Pro30

EAI