Intégration d`applications d`entreprise (INTA)

Transcription

Intégration d`applications d`entreprise (INTA)
Master 2 SITW - Recherche
Intégration d'applications
d'entreprise (INTA)
Dr. Djamel Benmerzoug
Email : [email protected]
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
Métier 1
Service
Métier 2
Service
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
Métier 1
Service
Métier 2
Service
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
Entreprise B
BtoB
IAI
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
Intégration
Intégration
Intégration
d’applications
d’applications
d’applications
d’applications
par
par
par
par
les
les
les
les
INTA - Master 2 - Recherche
données
traitements
interfaces
processus
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.
Entreprise
fusionnée
Domaines
métier
Traitement
Données
communes
Modèle des
échanges
Modèle des
échanges B to B
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
de données 29
Recherche
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

1.
2.
3.
4.
Démarche à suivre:
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.
Identification et sélection des services : selon les
fonctionnalités attendues, on détermine les services les plus
adaptés à la composition.
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.
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
A21
A13
INTA - Master 2 - Recherche
A22
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>
<partner name="Customer"/>
<partner name="Broker"/>
<partner name="GoogleCustomSearch"/>
</partners>
<sequence>
<invoke name="Keywords"
partner="Broker"
</invoke>
<invoke name=« keywords"
partner="GoogleCustomSearch"
<switch>
<reply name=”failure”>
……….
</reply>
<reply name=”propose”>
………….
</reply>
</switch>
</sequence>
</process>
……….
</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
INTA - Master 2 - Recherche
50
services.
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.
……………….
……………….
Customsearch.Cse.List list =
customsearch.cse().list(keyword);
A
P
I
......................
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.
Entreprise
fusionnée
Domaines
métier
Traitement
Données
communes
Modèle des
échanges
Modèle des
échanges B to B
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

Documents pareils