Vous êtes sur la page 1sur 65

Master 2 SITW - Recherche

Intégration d'applications
d'entreprise (INTA)
Dr. Djamel Benmerzoug
Email : djamel.benmerzoug@univ-constantine2.dz

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 com.google.api. A
………………. P
……………….
Customsearch.Cse.List list = I
customsearch.cse().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

Vous aimerez peut-être aussi