Introduction a XML

haltingbarberInternet and Web Development

Aug 15, 2012 (4 years and 10 months ago)

437 views

Business Integration

Intégration de données (EII)


Intégration d'applications (EAI)

Vers l'architecture SOA …


Commerce électronique B2B

‹#›

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

‹#›

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ées

EII

Standards

J2EE

Web Services

Introduction

‹#›

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

‹#›

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

‹#›

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

‹#›

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 3

Site 2

Site 1

Exemple de scénario

Intégration de données

‹#›

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

Boisson

boire

Source 3: WEB


vins



Description



Région



personne



service



chef



buveur



employé


Source 4: LDAP

Intégration de données

‹#›

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

‹#›

Hétérogénéité des langages

ODBC/JDBC

SQL

SOAP

XQuery

Google

Text Queries

LDAP

QUERY

Source 1: RDBMS

Source 2: XML Repository

Source 3: WEB

Source 4: LDAP

WEB


Services

Intégration de données

‹#›

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écomposition

Intégration

q1

q2

Intégration de données

Schéma de

médiation

‹#›

Architecture DARPA I3

Services

Accès

Services
Coordination


Services

Interaction

Services
Translation


Services
Integration


Applications
objet

Médiateur 1

Wrapper

Source 2

...

Source 1

Source N

Wrapper

Wrapper

Facilitateur 1

Applications
client

Browser

web

Médiateur N

Facilitateur 2

Niveau

Médiation

Niveau

Source

Niveau

Client

Intégration de données

‹#›

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

‹#›

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 (INRIA

BO
)


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

‹#›

BO Data Integrator


Intégré à BO XI


Solution mixte Relationnel/XML










Architecture récursive

Site #2

Site #1

Server

Server

Application

#1

Application

#2

Site #3

Server

Application

#3

Données CD

Données DR

Données NP

Intégration de données

‹#›

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

‹#›

Liquid Data de BEA



Architecture intégrée à WebLogic/AquaLogic

Intégration de données

‹#›

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

‹#›

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

‹#›

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

‹#›

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

‹#›

Structure d'un EAI


Hub and Spoke





Bus (ESB)

Application

J2EE

Application

Siebel

Application

.NET

Application

SAP

Hub

EAI

Application

J2EE

Application

Siebel

Application

.NET

Application

SAP

Bus EAI

EAI et XML

‹#›

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

‹#›

Le transport

Request
Queue

Application

Serveur EAI

Response
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

‹#›

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

‹#›

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

‹#›

TRANSPORT

Architecture fonctionnelle


C

O

N

F

I

G

U

R

A

T

I

O

N



S

U

P

E

R

V

I

S

I

O

N





Processus Métier



Routage Messages




Transformation


Progiciels

Application

SGBD


Fichiers

Dévelop
.

Admin.

EAI et XML







Connecteurs

Workflows

Chemins

Règles

Formats

A

D

M

I

N

I

S

T

R

A

T

I

O

N

‹#›

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

X

EAI

EAI

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

C

EAI

6A)




Needs data from Z to be


able to update Y

Y

X

EAI

Z

EAI et XML

‹#›

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

‹#›

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

‹#›

Architecture

Adapter

Host

Orchestration #1

Orchestration #2

Receive Port

Send Port

Tracking

DB

Config DB

DB

Adapter

Receive Pipeline

Business

Rules

Send Pipeline

Publish and Subscribe

Message Box (SQL)

Message Format 1

Message Format 2

EAI et XML

‹#›

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

‹#›

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

‹#›

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

‹#›

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

‹#›

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

‹#›

Niveaux de composition: de la technique au métier


Des services gros grains composés en BP

SOA

‹#›

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

‹#›

Architecture Fonctionnelle

Services Métiers et Données

Messages XML Fiables et Sécurisés

Applications Composites


Outils de

Conception




Moteur

BPEL



Plateformes hétérogènes

Bus Logiciel d’Entreprise (ESB)

SOA

Processus métiers

‹#›

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

‹#›

Un modèle multi
-
niveaux

D’après IBM

SOA

‹#›

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

‹#›

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

‹#›

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

‹#›

Scénario Donneur d'ordre (EDI
-
XML)

Fournisseur

Réseau

Donneur d'ordre

Fournisseur

Réseau

Donneur d'ordre

EAI

SYS.

INFO.

Serveur d'échange

Navigateur

EDIXML

Sécurité

Formulaires

B2B

‹#›

Scénario Place de marché

Fournisseur

Réseau

Donneur d'ordre

Fournisseur

Réseau

Donneur d'ordre

BD

Gestion des

offres et demandes

Serveur

EAI

SYS.

INFO.

Adaptation et échange

Navigateur

EDIXML

Sécurité

Formulaires

Service Web

B2B

‹#›

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

‹#›

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 formats

PIP = 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 standard

http://www.fixprotocol.org

B2B

‹#›

Exemple: FIX (Finance)

‹#›

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.

‹#›

UBL de l'OASIS


Order, LineItem, Party, Item, Deliverery, ...

‹#›

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

‹#›

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

‹#›

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

‹#›

Architecture fonctionnelle

ebXML

I

M

P

L

E

M

E

N

T

A

T

I

O

N

DECOUVERTE

et ECHANGES

‹#›

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

‹#›

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: text

Town: text

Country: identifier

Post code: text

Person

Name: text

Birth: date

Residence address: Address

Official address: Address

ebXML

‹#›

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

‹#›

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