Master 2 SITW - Recherche
Intégration d'applications
d'entreprise (INTA)
Dr. Djamel Benmerzoug
Email : [Link]@[Link]
Maitre de Conférences A
Département TLSI
Faculté des NTIC
Université Constantine 2 – Abdelhamid Mehri
INTA - Master 2 - Recherche 1
Plan
Introduction
Intégration d’applications d’entreprise
Généralités
Types d’intégration
Typologie d’intégration « technologique»
Topologies d’intégration
Approches pour l’intégration d’applications
Workflow et serveurs d’application
Applications basées sur un échange des messages
Adaptateurs et Connecteurs
INTA - Master 2 - Recherche 2
Plan
Les services Web
Principe de l’architecture orientée Services
Spécifications des services Web
Apports des services Web dans l’intégration
d’applications
Système Multi-agents (SMA)
Interaction et mode d’interaction
Protocoles d’interaction
Apports des SMA dans l’intégration d’applications
INTA - Master 2 - Recherche 3
Introduction
INTA - Master 2 - Recherche 4
Définition
L'Intégration d'applications d'entreprise ou IAE (en
anglais Enterprise Application Integration, EAI) est
une architecture intergicielle permettant à des
applications hétérogènes de gérer leurs échanges. Sa
particularité est d’échanger les données en pseudo
temps réel.
Par extension, l'acronyme EAI désigne un système
informatique permettant de réaliser cette architecture
en implémentant les flux interapplicatifs du
système d'information.
INTA - Master 2 - Recherche 5
Pourquoi ?
SI = { ensemble d’applications très
différentes (progiciels/ logiciels
spécifiques ) }
Besoin de faire communiquer ces
applications entre elles
=> EAI
INTA - Master 2 - Recherche 6
Exemple de solution EAI
Point à Point
développer des interfaces spécifiques à
chaque application et les connecter
point à point.
Client 1 Client 2 Client 3
Service Service Service
Métier 1 Métier 2 Métier 3
=> réseau complexe de flux difficile à
maintenir et à faire évoluer.
7
Exemple de solution EAI
Médiateur
Maintenant, toutes les interfaces EAI
convergent vers un serveur central
qui traite et redistribue les flux vers les
applications enregistrées.
Client 1 Client 2 Client 3
Couche de Médiation
Service Service Service
Métier 1 Métier 2 Métier 3
INTA - Master 2 - Recherche 8
Exemple de solution EAI
Médiateur
Principes
Découplage
Le client est indépendant du fournisseur de
service
Le fournisseur de service est indépendant des
clients
Routage des appels aux services
Tous les appels aux services métiers
doivent passer par cette couche de
médiation INTA - Master 2 - Recherche 9
Exemple de solution EAI
Médiateur
Avantages
Point d'entrée unique vers les Services
Réutilisabilité des services métiers
Évolutions plus simples
Ajout d'un nouveau service métier
Nouvelle version d'un service métier
INTA - Master 2 - Recherche 10
IAI vs EAI
le développement massif des technologies
Internet et la possibilité d’utiliser ce réseau
et ses protocoles pour y créer de la valeur
ajoutée : Internet Application Integration (IAI)
INTERNET
Entreprise A
Entreprise C BtoB
IAI
Entreprise B
AtoA
EAI
INTA - Master 2 - Recherche 11
IAI vs EAI
une adoption généralisée des solutions
packagées permettant l’émergence de
standards métiers :
Enterprise Ressource Planning (ERP),
Customer Relationship Management (CRM),
Supply Chain Management (SCM)
INTA - Master 2 - Recherche 12
Types d’intégration
Intégration d’applications par les données
Intégration d’applications par les traitements
Intégration d’applications par les interfaces
Intégration d’applications par les processus
INTA - Master 2 - Recherche 13
Types d’intégration
Processus métiers Processus métiers
Présentation
Traitement
Données
S.I. Entreprise 1 S.I. Entreprise 2
?
Ingénierie « itérative »
?
Processus métiers
S.I. Domaines
Entreprise Traitementmétier
Modèle des
fusionnée échanges B to B
Données Modèle des
communes échanges
Types d’intégration
Intégration d’applications par les
données
Elle consiste à déplacer les données entre
les applications, en utilisant, très souvent,
des outils de migration, de réplication ou
de fédération de données.
INTA - Master 2 - Recherche 15
Types d’intégration
Intégration d’applications par les
traitements
Cette approche permet d’intégrer des
applications en partageant des services
offerts par les composants applicatifs
(méthodes, objets, etc.…)
techniques utilisées : API, applications
composites , e-Services
INTA - Master 2 - Recherche 16
Types d’intégration
Intégration d’applications par les
présentations
Intégration simple (niveau de l’interface
utilisateur )
techniques utilisées : Portail Web, …
INTA - Master 2 - Recherche 17
Types d’intégration
Intégration d’applications par les
processus
Combinaison des trois approches de bases
Techniques utilisées: moteur de workflow,
Orchestration des processus.
INTA - Master 2 - Recherche 18
Types d’intégration
Intégration d’applications par les
données
Intégration d’applications par les traitements
Intégration d’applications par les interfaces
Intégration d’applications par les processus
INTA - Master 2 - Recherche 19
Intégration par les données
Gestion de données traditionnelle
Bases de données homogènes
Architecture centralisée ou distribuée,
Évolution vers le "mélange" de données en
provenance de plusieurs sources
Sources d’information nombreuses et variées: SGBD
relationnels/XML, tableurs, fichiers,
Interfaces d’accès variées: Langages d’interrogation: SQL,
XPath, XQuery, …
Modèle de données: relationnel, XML,, tableurs
Protocoles de communication: JDBC, ODBC, SOAP, HTTP
Interfaces d’appel: ligne de commande, API, formulaire,
interface graphique 20
Intégration par les données
Objectif :
utiliser ces données comme si elles
constituaient une seule base de données
homogène
INTA - Master 2 - Recherche 21
Intégration par les données
Plus particulièrement, l’intégration de
données doit fournir
un accès (requêtes, éventuellement mises-à-jour)
uniforme (comme si c’était une seule BD homogène)
à des sources multiples (pas seulement des BD)
autonomes (sans affecter leur comportement)
hétérogènes (différents modèles de données, schémas)
INTA - Master 2 - Recherche 22
Intégration par les données
INTA - Master 2 - Recherche 23
Intégration par les données
qui rendent l’intégration de données
difficile
Distribution
Autonomie
Hétérogénéité
INTA - Master 2 - Recherche 24
Intégration par les données
Architecture générale
INTA - Master 2 - Recherche 25
Intégration par les données
Approches d’intégration
Approche 1 : Intégration matérialisée
génération d’un schéma unificateur par
exploitation de correspondances entre les bases
de données (entrepôt de données).
Approche 2 : Intégration virtuelle
Les données restent dans les sources
Les requêtes sont exprimées sur le schéma global,
puis décomposées en sous-requêtes sur les
sources
Les résultats des sources sont combinés pour
former le résultat final
INTA - Master 2 - Recherche 26
Intégration par les données
Approches d’intégration
Approche 3 :
travaux sur les approches logiques, les
ontologies et les transformations de
modèles,
INTA - Master 2 - Recherche 27
Intégration par les données
Approche 1: intégration matérialisée
INTA - Master 2 - Recherche 28
Intégration par les données
Approche 1: intégration matérialisée
Matérialisation des sources au niveau du
modèle global
Migration de données vers l ’entrepôt
systèmes ETL : Extract, Transform, Load
Avantages : performances,
personnalisation des données (nettoyage,
filtrage), versions
Inconvénients : données pas toujours
fraîches, cohérence, gestion des mises-à-
jour, gestionINTA
de- Master
gros2 - volumes
Recherche
de données 29
Intégration par les données
Approche 2: intégration virtuelle
INTA - Master 2 - Recherche 30
Intégration par les données
Approche 2: intégration virtuelle
Approche « paresseuse », pas de matérialisation
Migration des requêtes vers les sources
Avantages : données toujours fraîches, plus
facile d’ajouter de nouvelles sources, plus
grande échelle, distribution de l’effort
Inconvénients : performances, traduction de
requêtes, capacités différentes des sources
INTA - Master 2 - Recherche 31
Intégration par les données
Schémas d’intégration
Problèmes
Intégration de schéma: comment définir un
schéma (modèle) global d’intégration à
partir des schémas (modèles) des sources?
Fusion de données: comment rendre
compatibles, transformer les données en
provenance des sources?
Mappings/vue d’intégration: comment
décrire le lien entre le schéma global et les
schémas des sources?
INTA - Master 2 - Recherche 32
Intégration par les données
Schémas d’intégration
Le lien entre schéma global et schémas
locaux est défini à travers un mapping
(correspondance structurelle)
Schéma global M
Schéma des sources Si
INTA - Master 2 - Recherche 33
Intégration par les données
Schémas d’intégration
Deux façons principales de définir ce lien
Le schéma global en fonction des schémas
locaux « global as view »
Approche ascendante: on part des sources pour
produire le schéma global
M = V(S1, …, Sn)
Avantages: approche naturelle, traduction des
requêtes simple
INTA - Master 2 - Recherche 34
Intégration par les données
Schémas d’intégration
Les schémas locaux en fonction du schéma
global « local as view »
Approche descendante: on fixe le schéma global et
on décrit les sources par rapport à ce schéma fixé
Si Vi(M)
Avantage: facile à rajouter de nouvelles sources
INTA - Master 2 - Recherche 35
Intégration par les données
Schémas d’intégration
INTA - Master 2 - Recherche 36
Intégration par les données
Schémas d’intégration
En pratique la création du mapping prend > 50%
de l’effort d’intégration!
Il est important d'avoir des outils de génération
Les difficultés de la génération automatique du
mapping
Hétérogénéité des schémas et des modèles
Les schémas ne captent jamais complètement la
sémantique il faut la chercher partout, dans les
données, les commentaires
INTA - Master 2 - Recherche 37
INTA - Master 2 - Recherche 38
Types d’intégration
Intégration d’applications par les données
Intégration d’applications par les
traitements
Intégration d’applications par les interfaces
Intégration d’applications par les processus
INTA - Master 2 - Recherche 39
Intégration d’applications par
les traitements
L’intégration d’applications en utilisant une
approche « par traitements », du point de vue
architectural, repose sur la composition de services.
La composition de services est le mécanisme qui
permet l’intégration des services pour construire
applications à base de services.
Le résultat de la composition de services peut être
un nouveau service, appelé service composite.
INTA - Master 2 - Recherche 40
Intégration d’applications par
les traitements
Problème: Comment passer d’un ensemble de
services à une composition de services
correctement structurée
Solution: Il faut suivre un certain nombre
d’étapes, de la spécification à la composition
concrète qui peut être directement exécutée
INTA - Master 2 - Recherche 41
Intégration d’applications par
les traitements
Démarche à suivre:
1. Définition de l’architecture fonctionnelle : cette phase
est faite pour identifier les fonctionnalités attendues pour
l’application résultant de la composition de service.
2. Identification et sélection des services : selon les
fonctionnalités attendues, on détermine les services les plus
adaptés à la composition.
3. Médiation entre services : même si à l’étape précédente,
les services les plus adaptés ont été sélectionnés, il n’est pas
toujours possible de les composer tels quels. Il faut souvent
ajouter de la médiation, par exemple sémantique ou
syntaxique.
4. Déploiement de la nouvelle application.
INTA - Master 2 - Recherche 42
Intégration d’applications par
les traitements
Méthode de composition
Composition par procédé
Composition structurelle
INTA - Master 2 - Recherche 43
Intégration d’applications par
les traitements
Composition par procédé
La composition de services par procédés
consiste à faire l’assemblage de services selon
un ordre et un flux d’exécution.
L’exécution d’une composition par procédés
est réalisée par un coordinateur de services.
L’utilisation d’un tel coordinateur implique une
composition avec une logique d’exécution qui
sera interprétée par ce coordinateur.
INTA - Master 2 - Recherche 44
Intégration d’applications par
les traitements
Composition par procédé
Entreprise 1 Entreprise 2
Coordinateur
A11 A12 A13 A21 A22
INTA - Master 2 - Recherche 45
Intégration d’applications par
les traitements
La composition par procédés est décrite dans un
langage spécifique qui est interprété par le
coordinateur.
Ce langage permet de décrire la logique
d’exécution de l’application dans un langage de
haut niveau.
Exemple: le langage WS-BPEL
INTA - Master 2 - Recherche 46
Intégration d’applications par
les traitements
WS-BPEL est un langage de procédés basé sur la
technologie XML.
WS-BPEL permet de construire des procédés
interprétables et exécutables par un moteur
d’orchestration.
Un procédé est composé d’activités qui
s’enchaînent grâce à des échanges de données.
INTA - Master 2 - Recherche 47
Intégration d’applications par
les traitements
<process>
<partners> <switch>
<partner name="Customer"/> <reply name=”failure”>
<partner name="Broker"/> ……….
<partner name="GoogleCustomSearch"/> </reply>
</partners> <reply name=”propose”>
<sequence> ………….
<invoke name="Keywords" </reply>
partner="Broker" </switch>
</invoke> </sequence>
<invoke name=« keywords" </process>
partner="GoogleCustomSearch"
……….
</invoke>
INTA - Master 2 - Recherche 48
Intégration d’applications par
les traitements
Composition structurelle
Par opposition à la composition par
procédés, le contrôle dans une composition
structurelle est exprimé à l’intérieur des
applications composants.
La logique d’exécution, ou d’appels des
services, est gérée par chaque composant
qui requiert des services.
INTA - Master 2 - Recherche 49
Intégration d’applications par
les traitements
Ce type de composition est effectué
principalement à partir de l’usage de langages de
description d’architectures formalisés (ADL).
L’ADL est un langage pour décrire des
architectures d’applications.
Dans l’approche d’intégration par les traitements,
l’ADL est utilisée pour décrire les composants
d’une application, les services utilisés et les
liaisons ou méta-informations qui décrivent les
mécanismes de résolution de dépendances de
services. INTA - Master 2 - Recherche 50
Intégration d’applications par
les traitements
Exemple : Intégrer une application Java
avec le moteur de recherche Google via
l’API GoogleCustomSearch
App. Java
import [Link]. A
………………. P
……………….
[Link] list = I
[Link]().list(keyword);
......................
INTA - Master 2 - Recherche 51
Intégration d’applications par
les traitements
Exemple des approches basées sur la
composition structurelle
SCA (Service Composition Architecture)
iPOJO (injected Plain Old Java Objects)
INTA - Master 2 - Recherche 52
Intégration d’applications par
les traitements
Contraintes : Les applications
composants doivent fournir la liste des
fonctions disponibles (API).
Inconvénients : Il faut des compétences
techniques assez avancées.
Les Web services sont la technologie
privilégiée. (chapitre 3 de ce module)
INTA - Master 2 - Recherche 53
Types d’intégration
Intégration d’applications par les données
Intégration d’applications par les traitements
Intégration d’applications par les
interfaces
Intégration d’applications par les processus
INTA - Master 2 - Recherche 54
Intégration d’applications par
les interfaces
Solution: Mettre en œuvre un portail Web qui
sera le point d'entrée à des applications de
l'entreprise.
INTA - Master 2 - Recherche 55
Intégration d’applications par
les interfaces
Principe: Ajouter une couche au-dessus du système
d’information donnant accès, via une interface Web,
aux différents services de l’entreprise (moteur de
recherche, bases de données, messagerie, applications métier, etc.)
INTA - Master 2 - Recherche 56
Intégration d’applications par
les interfaces
Un portail d’entreprise peut être considéré comme son
interface. Il est près des clients, des employés, et des
partenaires.
Les différentes relations business d’une entreprise
considérées comme un facteur important pour classifier
les portails:
B2E: business/employeur,
B2C: business/consommateur,
B2B: business/business,
INTA - Master 2 - Recherche 57
Intégration d’applications par
les interfaces
Les portails B2E sont utilisés pour :
Faciliter le travail collaboratif,
Permettre aux responsables de prendre les
décisions principales
Aider les employeurs dans la conduite des
activités quotidiennes.
58
Intégration d’applications par les
interfaces
Les portails à usage multiple ou B2C (business to
customer) s'adressent aux clients des entreprises.
Un portail B2C doit améliorer la capacité d'une
compagnie d'acquérir, servir et maintenir des clients.
En plus, il permet de fournir aux clients des
informations sur les produits et les prix proposés par
l’entreprise
59
Intégration d’applications par les
interfaces
Les portails professionnels ou B2B sont destinés au
partenariat entre les entreprises.
Par exemple, un ensemble d’entreprises peut créer un
canal de vente commun sur le marché à travers un
portail B2B sur le Web qui offre des informations sur les
différents services fournis par les différents partenaires.
Exemple: Un modèle concret sur les portails B2B est le
portail de voyages qui regroupe une chaîne hôtelière,
60
une compagnie aérienne, une agence de location de
voitures…etc.
Types d’intégration
Intégration d’applications par les données
Intégration d’applications par les traitements
Intégration d’applications par les interfaces
Intégration d’applications par les
processus
INTA - Master 2 - Recherche 61
Intégration d’applications par les processus
Processus métiers Processus métiers
Présentation
Traitement
Données
S.I. Entreprise 1 S.I. Entreprise 2
?
Ingénierie « itérative »
?
Processus métiers
S.I. Domaines
Entreprise Traitementmétier
Modèle des
fusionnée échanges B to B
Données Modèle des
communes échanges
Intégration d’applications par
les processus
Un processus métier est une
chorégraphie d’activités incluant une
interaction entre participants sous la
forme d’échange d’informations.
Les participants peuvent être :
Des applications
Des acteurs humains,
D’autres processus métiers.
INTA - Master 2 - Recherche 63
Intégration d’applications par
les processus
Un processus métier peut être interne à
une entreprise, ou peut mettre en jeu
des entreprises partenaires. Dans ce
dernier cas, on parle alors de processus
public ou collaboratif.
INTA - Master 2 - Recherche 64
Intégration d’applications par
les processus
Quelques solutions pour l’intégration des
processus métiers
Workflow et serveurs d’application
Middleware: RPC, ORB, MOM
Les Web services sont la technologie
privilégiée. (chapitre 3 de ce module)
INTA - Master 2 - Recherche 65