Business Integration
Intégration de données (EII)
Intégration d'applications (EAI)Vers l'architecture SOA …
Commerce électronique B2B
2
1. Introduction
• L’existant• Nombre croissant de données dispersées dans une
grande variété de sources de données hétérogènes• Données internes à l’entreprise (protégées par un
firewall) et externes, chez des fournisseurs, des partenaires ou des clients
• Le besoin • Les applications doivent accéder et combiner ces
données efficacement, facilement et en toute sécurité
• Le B2B nécessite l’intégration lâche des systèmes d’information par les données
Introduction
3
Les niveaux d'intégration
Systèmes Réseaux SGBD
Intégration de plate-formes
Intégration de données
Intégration d'applications
Business Process
EAI
BD FédéréesEII
StandardsJ2EE
Web Services
Introduction
4
Intégration données et d'applications (EIS)
• Intégration de données (EII)• 1 serveur d'applications• N sources de données• Accès unifié par vues et requêtes
• Intégration d'applications (EAI)• N serveurs d'applications• 1 serveur d'intégration• Échange de données inter-applications• Pilotage par workflows
Introduction
5
Enjeux de l’intégration
• Selon études IBM: • pour 1$ dépensé pour une application packagée, de
5 à 9$ sont dépensés pour assurer son intégration
• Selon l’IDC: • l’intégration d’information aura une croissance de
22% jusqu’en 2007, soit 3,5 B$
• Selon le Gartner: • 40% des budgets IT sont dépensés en intégration
• Selon Morgan Stanley: • l’intégration de données est devenue la priorité N°1
des entreprises avant le e-business et le CRM
Introduction
6
2. Intégration de données (EII et XML)
• Base de données intégrée virtuelle• approche où les données intégrées ne sont pas
matérialisées dans un SGBD• intégration à la demande pour répondre aux requêtes
• Seules les données utiles sont manipulées• L’utilisation d’un cache augmente les performances
• Limitations• performance
• calculs d’intégration complexes, sources lentes ou indisponibles
• Pas d’historique des données
Intégration de données
7
CLIENT
SERVEUR
Site 5
Systèmes classiques
Commandes, Clients, Factures
Données textuelles
Descriptions des produits
Données géographiques
Localisation des clients
Données techniques
Opérations des produits
Réseau de communication
Site 4
Site 3Site 2
Site 1
Exemple de scénario
Intégration de données
8
Hétérogénéité des modèles
Source 1: SGBDR
NV Cru Mill Degre Vins
Nom DateN Pays Type Buveurs
Source 2: Repository XML
<!ELEMENT Vin (Cru, Degre, Description+)><!ATTLIST Vin nv CDATA #IMPLIED><!ELEMENT Buveur (Nom, Place,Date, Type)><!ATTLIST Buveur nb CDATA #IMPLIED><!ELEMENT Catalogue (Vin, Offre, Publicité?)+> ...
Personne Boissonboire
Source 3: WEB
vins
Description
Région
personne
service
chef
buveur
employé
Source 4: LDAP
Intégration de données
9
Architecture de schémas
Schéma de médiation
Schéma source Schéma source
Source 1 Source 2
mappings
• Méthodes de mapping• Descendante (le schéma de médiation est une vue) - GAV• Ascendante (le schéma source est une vue) - LAV• Mixte (la combinaison de schémas sources est une vue)
Intégration de données
10
Hétérogénéité des langages
ODBC/JDBCSQL
SOAPXQuery
GoogleText Queries
LDAPQUERY
Source 1: RDBMS Source 2: XML Repository
Source 3: WEBSource 4: LDAP
WEB Services
Intégration de données
11
Traitement d’une requête
Dans tous les cas, le médiateur génère des sous-requêtes optimisées à partir de Q
Q
Traduction
Traduction
Source 1
Source 2
Vue utilisateur
DécompositionIntégration
q1
q2
Intégration de données
Schéma de médiation
12
Architecture DARPA I3
ServicesAccès
Services Coordination
ServicesInteraction
Services Translation
Services Integration
Applications objet
Médiateur 1
Wrapper
Source 2
...
Source 1 Source N
Wrapper Wrapper
Facilitateur 1
Applications client
Browserweb
Médiateur N
Facilitateur 2
NiveauMédiation
NiveauSource
NiveauClient
Intégration de données
13
Schéma de médiation XML
• Atouts• Un modèle complet (XML Schema) plus riche que le
relationnel• Permet de mixer documents et données structurées• Langages de requêtes normalisé: XQuery, SQL/XML• Bien adapté aux échanges B2B: Unification des
noms possible, mécanisme de "namespaces"
• Difficultés : • Technologie complexe à maîtriser• Performance de XML (texte)
Intégration de données
14
Une réalité industrielle
• Enosys• Médiateur XQuery• Librairie de wrappers
• Nimble.com• Racheté par Actuate• Base d'intégration
sémantique• Correspondance entre
Xpath• IBM Xperanto
• XQuery au-dessus de SGBDR
• Compilation en SQL• Médience (INRIABO)
• Relationnel + API XML
• Liquid Data (BEA)• Dérivé de Enosys• Vues XML/XQuery
• IBM Information Integrator• Système hybride SQL et XML• Basé sur SQL/XML
• OLE/DB.NET• Extension de OLE/DB à XML• Interrogation SQL for XML
• DENODO• Plate-forme d'intégration SQL• Extension à XQuery en cours
Intégration de données
16
BO Data Integrator
• Intégré à BO XI• Solution mixte Relationnel/XML
• Architecture récursive
Site #2Site #2
Site #1Site #1
ServerServer
ServerServer
Application#1
Application#2
Site #3Site #3
ServerServer
Application#3
Données CD
Données DR
Données NP
Intégration de données
17
Liquid Data de BEA
• Schéma de médiation XML• Intégration de données par vues XML• Interrogation uniforme en XQuery
• Sources de données • Sources de données J2EE JCA, fichiers, XML• Applications patrimoniales• Adaptateurs intégrés au médiateur
• Interfaces applicatives• JDBC orienté XML
• Méthode de mapping descendante
Intégration de données
18
Liquid Data de BEA
• Architecture intégrée à WebLogic/AquaLogic
Intégration de données
19
XQuare Fusion (Open Source)
• Schéma de médiation XML• Sources de données:
• BDs, XML, fichiers, services Web
• Interfaces applicatives :• XDBC, insertion dans des sources
• Méthode de mapping descendante• Version Open source disponible
• Industrialisée par start up fermée début 2003• Seul médiateur en Open Source (www.xquark.org)
Intégration de données
20
Bilan
• Les bases fédérées s'orientent vers XML
• XQuery distribué est en marche
• Technologie idéale pour• Portails BD• Interrogation multi-sources• Services données dans SOA
• Exemples d'applications• Le dossier patient virtuel• Le portail touristique
• Problèmes• Architecture complexe• Performance
Intégration de données
21
3. Intégration d'applications (EAI et XML)
• Enterprise Application Integrator• Échange de données entre applications• Transformation et fusion des sources• Stockage intermédiaire en BD• Diffusion vers les cibles• Pilotage des flots (Workflow)• Connexion avec bus applicatif (CORBA, DCOM)• De plus en plus souvent basés sur XML
EAI et XML
22
Intérêt d'un modèle pivot
• L'intégration d'information nécessite un modèle pivot (global, fédérateur, d'échange)
• XML est conçu pour cela• Les Services Web
peuvent être invoqués pour produire/consommer du XML
• SOAP est de plus en plus présent
n+m versus n*m
EAI et XML
23
Structure d'un EAI
• Hub and Spoke
• Bus (ESB)
ApplicationJ2EE
ApplicationSiebel
Application.NET
ApplicationSAPHub
EAI
ApplicationJ2EE
ApplicationSiebel
Application.NET
ApplicationSAP
Bus EAI
EAI et XML
24
Les couches
• Couche transport• Transport des messages depuis l'EAI aux
applications et vice-versa• Peut ou non intégrer Intranet/Internet
• Couche transformation et routage• Transformation et intégration des messages• Routage vers les applications
• Couche modélisation métier• Modélisation des flux (workflow)• Définition des objets métiers• De plus en plus basée sur BPM (Web services)
EAI et XML
25
Le transport
Request Queue
Application
Serveur EAIResponse
Queue
• Connectivité du réseau• Gestion des messages et files d'attentes• Sécurité et cryptage• Logging et répétition des messages• Routage des messages • Utilisation TCPIP, HTTP, SOAP, SMTP, IIOP, …• Message-Oriented Middleware (MOM)
EAI et XML
26
La transformation
• De l'application au modèle d'échange (XML)• Connecteur, Adaptateur, Extracteur• Transforme une source en XML
• De XML à XML• Utilisation de XSL• Intégration de N flots en 1
• Du modèle d'échange à l'application• Connecteur, Adaptateur, Publisher• Présente les données aux applications
• La gestion des méta-données• Formats et règles• Annuaire des applications et utilisateurs
EAI et XML
27
Les processus métiers
• Modélisation de processus métiers• Enchaînement d'activités• Echange de messages XML• Transactions courtes et longues
• Intégration des Services Web• API standards décrites en WSDL• Langages d'orchestration (WFSL, XLANG, BPEL, ...)
• Interpréteur des workflows• Généralement centralisé• Pilote les processus et échanges
EAI et XML
28
TRANSPORT
Architecture fonctionnelle
CONFIGURATION
CONFIGURATION
SUPERVISION
SUPERVISION
Processus Métier
Routage Messages
Transformation
Progiciels ApplicationSGBD Fichiers
Dévelop. Admin.
EAI et XML
… … …
Connecteurs
Workflows
Chemins
Règles
Formats
ADMINISTRATION
ADMINISTRATION
29
Types d'échanges
Y
X
Y
X
1)
• Fire and Forget
• No Response required
2)
• Request / Reply
• System makes request
and gets response
3)
• Needs ability to cache response from multiple requests to respond to one message
Y
XEAIEAI
EAI
B
X
4A/B)
• Multiple Applications needed to satisfy request
• 4A: XREF Look-up
• 4B: XREF Update
A C
XREF
EAI
A
X
5)
• Publish Subscribe
• A, B and C subscribe to message
B
CEAI
6A)
• Needs data from Z to be
able to update Y
Y
X EAI
Z
EAI et XML
30
Exemple: MS BizTalkServer
• BizTalk Server offre un moyen sophistiqué de créer une activité commerciale avec échanges de documents XML
• BizTalk Serveur est basé sur .NET, SQL Server et les Web Services
• Possibilité de création automatique des documents XML suivant une base de donnée existante (vues XML)
• Bibliothèque de schémas extensibles (Editor)• Définition graphiques des mappings (Mapper)• Support du Business Process Management et de
transactions longues avec XLang (bientôt BPEL?)
EAI et XML
31
Exemple de scénario
• Modélisation d'une activité commerciale• Process Buyer• Process Supplier
• Génération et échange de message XML
• Tests et contrôles• Total < $1000
EAI et XML
32
Architecture
AdapterAdapter
HostHostO
rch
estr
atio
n #
1O
rch
estr
atio
n #
1
Orc
hes
trat
ion
#2
Orc
hes
trat
ion
#2
Receive PortReceive Port Send PortSend Port
TrackingTrackingDBDB
Config DBConfig DBDBDB
AdapterAdapter
Receive PipelineReceive Pipeline
Business Business RulesRules
Send PipelineSend Pipeline
Publish and SubscribePublish and SubscribeMessage Box (SQL)Message Box (SQL)
Message Format 1Message Format 1Message Format 2Message Format 2
EAI et XML
33
Sun One
• Caractéristiques• Totalement basé sur XML• Transformations spécifiées
en XSL• Accès à de multiples
sources (connecteurs Java, C++, ...)
• Intégration de services web via des "application proxies"
• Capacité de BPM spécifié via interface graphique
• Multiples plate-formes
EAI et XML
34
Evolution des produits IBM
• WebSphere Interchange Server • Anciennement nommé Crossworlds Interchange Server, ce serveur
d'intégration est exploité dans le contexte d'une approche top-down, centrée donc sur l'intégration par les processus.
• WebSphere MQ Integrator Broker• Anciennement nommé MQSeries Integrator, ce moteur prend en
charge la logique d'intégration par les données.• WebSphere MQ Workflow
• Comme son nom l'indique, ce moteur exécute la logique des processus qui incluent potentiellement des activités humaines.
• WebSphere Business Integrator• Intégration des trois produits avec des composants:
• Modeler (Design)• Adapters (Bibliothèque)• Collaborations (Packages métiers télécom, distribution,
assurance)• Intégration dans architecture SOA
EAI et XML
35
Evolution du marché des EAI
• Intégration des services web
• Intégration du « business process management »
• Architectures en bus ESB• Vers les architectures
SOA• L'évolution d'IBM est
typique ... • Fusion avec les serveurs
d'applications ?
• Autres "key-players" :• Tibco
• www.tibco.com• BEA WebLogic Integration
• www.bea.com• Oracle Integration Server
• www.oracle.com• WebMethods
• www.webmethods.com • Seebeyond
• www.seebeyond.com• Vitria
• www.vitria.com• Mercator
• www.mercator.com• Axway (Sopra)
EAI et XML
36
4. L’architecture SOA pour le SI
• Service Oriented Architecture = Architecture Orientée Services
• Système d’information structuré de manière à ce que les différentes ressources (données, traitements, processus, infrastructure) soient accessibles uniquement par envoi de messages normalisés vers leurs interfaces.
Modèles objets
Composants distribués
Modèles de services
procedures
Agilité
SOA
37
Briques de base
• Modélisation des processus métiers• A partir des Uses Cases avec UML
• Bibliothèque de service déclenchés messages• Définis par des documents XML stables et
homogènes
• Implémentation sur de multiples plate-formes• Hétérogènes, encapsulation de l'existant
SOA
38
Niveaux de composition: de la technique au métier
• Des services gros grains composés en BP
SOA
39
Bénéfices
• S'appuie sur les standards• Encapsule la complexité• Favorise la réutilisation• Facilite le développement de business process• Fiabilise les business process• Simplifie des échanges inter-entreprises• Sécurise les échanges• Choix de plate-formes inter-opérables
• .NET• J2EE
SOA
40
Architecture Fonctionnelle
Services Métiers et Données
Messages XML Fiables et Sécurisés
Applications CompositesOutils de
Conception
Moteur
BPEL
Plateformes hétérogènes
Bus Logiciel d’Entreprise (ESB)
SOA
Processus métiers
41
Enterprise Service Bus (ESB)
• EAI à prises Web services• Bus de services distribués• Backbone pour messagerie fiable• Routage intelligent basé contenu• Coordination des processus• Cadre sécurisé• Transformation XML
• Exemples: SONIC, TIBCO• IBM, WebMethods, …
SOA
42
Un modèle multi-niveaux
D’après IBMSOA
43
Exemple de Produits: IBM WebSphere +
• Business Modeler : • Modélisation des processus
• Rational Architect : • Modélisation des composants (WS) et messages
• Integration Developer :• Développement du code
• ESB, Process Server :• Déploiement et exécution
• Business Monitor• Monitoring et surveillance
SOA
44
5. Le Commerce B2B avec XML
• Reprise des objectifs de l'EDI• Rationaliser les flux d'information de l'entreprise• Optimiser les approvisionnements• Supprimer les doubles saisies manuelles• Améliorer la traçabilité des produits• Permettre une réactivité plus forte des organisations• Assurer une meilleure flexibilité et qualité de service
• Utiliser Internet et les échanges XML• Réduction des coûts• Support de standards• Démocratisation de l'EDI
B2B
45
Marché du B2B sur Internet
• Monde• $ 800 milliards en 2002• $ 12 trillons en 2006
• Europe• € 150 milliards en 2002• € 2,2 trillons en 2006• 22% du business
• D'après Forrester Research.
B2B
46
Scénario Donneur d'ordre (EDI-XML)
FournisseurRéseauDonneur d'ordre FournisseurRéseauDonneur d'ordre
EAI
SYS.INFO.
Serveur d'échange
Navigateur
EDIXML
Sécurité Formulaires
Message XML
B2B
47
Scénario Place de marché
FournisseurRéseauDonneur d'ordre FournisseurRéseauDonneur d'ordre
BD
Gestion des offres et demandes
Serveur
EAI
SYS.INFO.
Adaptation et échange
Navigateur
EDIXML
Sécurité
Formulaires
Service Web
B2B
48
Apports de XML
• Prise en compte de messages « standardisés »• Transactions sur catalogue (cXML, xCBL, UBL …)• Cadres pour la composition (Rosettanet, ebXML,
….)
• Description des partenaires et artifacts• Références des partenaires (annuaires)• Description des messages et processus (registres)
• Gestion des processus d’échanges• Modélisation par workflows (BPEL, BPSS …)• Orchestration des messages (EAI)
• Garantie de sécurité• Utilisation de messages cryptés, signés, …
B2B
49
Quelques dialectes B2B
Nom Description Organisation
cXML Catalogue électronique et transactions Ariba
xCBL Business components Pour commerce sur catalogue(product,catalog,...)
Commerce One, ...http://www.xcbl.org
UBL Librairie de business documents (purchase orders, invoices, etc.)
OASIS
RosettaNet Cadre XML pour l'industrie et référentiel de formatsPIP = Partner Interface Process
Consortium CommerceNet
OAGIS Formats de messages pour les contenus (catalogues,livraison,.)
OAG (Open Application group)
FIX Formats de messages pour données financières (trading)
De facto standardhttp://www.fixprotocol.org
B2B
50
Exemple: FIX (Finance)
51
Autres Protocoles
• Santé• HL7 – Gestion du Patient: diagnosics, traitements, prescriptions, etc.• http://www.hl7.org
• Banque et Marchés Financiers• IFX - Interactive Financial Exchange : trades, banque, transactions
client, etc.• http://www.ifxforum.org • SWIFT• http://www.swift.com
• Assurance• ACORD – Gestion des Polices – Indemnités, réclamations, etc.• http://www.acord.org
• Distribution• IXRetail – Inventaire, transactions client, et gestion des employés• http://www.nrf-arts.org
• Business to Business cross-industrie (y compris Gouvernement)• UBL – Transactions B2B – Factures, Commandes, statut inventaire,
etc.
52
UBL de l'OASIS
• Order, LineItem, Party, Item, Deliverery, ...
53
Nécessité d'ouvrir les protocoles
• Beaucoup de protocoles sont disponibles• DTDs XML et schemas XML, Business Process
• Tout business doit pouvoir commercer avec tout autre business• Nécessité d'étendre ou spécialiser des messages• Nécessité de définir des nouveaux messages• Respecter un guideline (comme EDIFACT)
• Intitiative ebXML• Protocoles ouverts• Architecture de référence
54
XML for e-business : ebXML
• Mission• "To provide an open XML-based infrastructure
enabling the global use of electronic business information in an interoperable, secure and consistent manner by all parties."
• Supporté par UN/CEFACT (EDIFACT) et OASIS
• Résultats• Architecture patronnée par 850.000 entreprises• Groupes de travail et spécifications associées:
• OASIS = Infrastructure• UN/CEFACT = Sémantique
• Quelques applications et outils « conformes ».
ebXML
55
Les groupes de travail
• La pile de travail
• OASIS• Infrastructure de communication (Messaging)• Référentiel et annuaires de documents (Registry) • Recherche d'agréments entre partenaires (CPA)
• UN/CEFACT• Librairie de vocabulaires XML (Components)• Business Process Modeling Language (BPSS)
ebXML
56
Architecture fonctionnelle
ebXML
IMPLEMENTATION
DECOUVERTEet ECHANGES
57
Des dialectes ouverts
• Spécifications de composants de base• Exemples : Adresse, Référence client, etc.• Peuvent être spécifique d’un domaine (santé, etc.)• Stockés en « core library »
• Assemblage pour un business• Définition des objets et processus du business• Stockage en référentiel (repository)
• Possibilité d’utiliser UML• Pour assembler les « core components »• Pour générer les schémas XML
ebXML
58
Exemples de « Core Components »
• Amount• Binary Object (plus Graphic,
Picture, Sound, and Video)• Code• Date Time (plus Date and
Time)
• Identifier• Indicator• Measure• Numeric (plus Value, Rate,
and Percent)• Quantity• Text (plus Name)
Address
Street: textTown: textCountry: identifierPost code: text
Person
Name: textBirth: dateResidence address: AddressOfficial address: Address
ebXML
59
Où va ebXML ?
• Des comités productifs• Business Process• Core Components• Collaboration Protocol• Messaging• Registry / Repository• Implementation
• Quelques outils open source• Repository
• Quelques protocoles de base• UBL
ebXML
60
6. Bilan Business Integration
• Intégration de données• BD fédérées via XML• Support de XQuery et/ou
SQL/XML
• Intégration d’applications• EAI XML et Web Services• Business Process et SOA• Support de BPML
• B2B• Protocoles ouverts
standards • Plate-forme ouverte B2B en
perspective• Intégration des web
services (UDDI, SOAP et BPEL)
• Questions ?
Bilan