Le Middlewar

Transcription

Le Middlewar
Cours Middleware
Equipe pédagogique
Introduction
Corba
J2EE/RMI
Servlet/JSP
Web Services
Grid, temps -réel, surprise
Cours Middleware
Introduction au middleware ou intergiciel
Bart Lamiroy
Laurent Ciarletta
Rémi Badonnel
Vincent Cridlig
…
Pré[email protected]
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
1
Middleware : définitions (1)
Écoledes Mines de Nancy – SI151- 2005-2006
2
Middleware : définitions (2)
L'intergiciel (middleware en anglais) est un ensemble de logiciels
ou de technologies informatiques qui servent d'intermédiaire
entre les applications et le transport des données via le réseau.
Ils offrent des services de haut niveau liés aux besoins de
communication des applications (temps réel, sécurisation,
sérialisation, transaction informatique, etc.).
fr.wikipedia.org/wiki /Middleware
Couche logicielle interm édiaire entre les applications et le réseau,
permettant le dialogue entre des applications hétérogènes.
Synonyme : Intergiciel.
lexicom .free.fr/lexicommo .htm
Écoledes Mines de Nancy – SI151- 2005-2006
Le Middleware
Logiciel standard qui permet à deux autres logiciels de
communiquer en utilisant un protocole applicatif. Dans un Centre
d'appels, prend en charge les communications entre les différents
constituants : ACD, SVI, applicatif...
www.digiway.fr/html/glossairejm.htm
Un middleware permet la communication entre des clients et des
serveurs ayant des structures et une implémentation différentes.
Il permet l'échange d'informations dans tous les cas et pour
toutes les architectures. Enfin, le middleware doit fournir un
moyen aux clients de trouver leurs serveurs, aux serveurs de
trouver leurs clients et en g énéral de trouver n'importe quel objet
atteignable.
cynode.projet-enoch.net/resource/xml/doc/memoire /generatedhtml/memoire _g1107.html
Écoledes Mines de Nancy – SI151- 2005-2006
4
3
Applications
Applications
Middleware
Middleware
Système de
O.S
Machine
communication
Communication physique
O.S
Machine
Écoledes Mines de Nancy – SI151- 2005-2006
5
6
1
Pour quoi faire?
Faciliter la programmation répartie
Interface de haut-niveau (API) pour le développement
d’applications
Cacher hétérogénéité du système sous -jacent (matériel
et logiciel)
Cacher les problèmes de la répartition au maximum
Fournir des services répartis d’usage courant
Développement, évolution, réutilisation des applications
Aspects importants
Applications en constante évolution (besoins, architectures,
ressources etc…)
QoS
Capacité d ’évolution
Portabilité des applications
Mobilité, dynamisme des environnements/utilisateurs
Interopérabilité d’applications hétérogènes
Adaptation
Découverte de service
Reconfiguration
Comportement
Faciliter la programmation répartie
Dynamique/adaptable
Réutilisation, simplicité etc ..
Composants
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
7
Applications réparties :
Système et Application
Écoledes Mines de Nancy – SI151- 2005-2006
8
9
Applications réparties :
Système et Application
Système :
Application :
gestion
Réponse à un probl ème spécifique
Fournir des services à des utilisateurs (personnes, autres
applications)
des ressource communes
De l’infrastructure
Lié au mat ériel et logiciels sous -jacents
Utilisant les services généraux offerts par le système
Système
D’exploitation
De communication
Cacher la complexité du matériel, des communications :
fourniture de services d’un haut niveau
Écoledes Mines de Nancy – SI151- 2005-2006
Certaines applications travaillent directement sur le
matériel (systèmes embarqués, réseaux de capteurs
etc…
Écoledes Mines de Nancy – SI151- 2005-2006
10
Panorama des
architectures et
technologies
Écoledes Mines de Nancy – SI151- 2005-2006
11
12
2
Plan
Contexte
Contexte
L’informatique d’entreprise est répartie
Contexte
Vision OMG
Vision .NET
Vision Sun
Les Services Web/Web Services
Applications distribuées
Objets répartis
Client
Serveur
Objet
Objet
Passage du Web des utilisateurs/clients à un Web
inter-système
Client, B2C, B2B, EAI etc…
Modèles qui évoluent :
Middleware
Client/serveur -> Grid, P2P
Divers moyens d’accès en mode « client-serveur »
Mobile, Internet, Minitel, Téléphone
Besoin d ’architecture ouverte et adaptative
Vers « l’entreprise étendue »
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
13
Architecture orientée service
Écoledes Mines de Nancy – SI151- 2005-2006
14
3 principales approches
SOA (Service-Oriented Architecture)
Pas nouveau
Permet l ’interopérabilité de systèmes hétérogènes
Couplage « lâche » ou mou entre les composants logiciels
Service = action exécutée par un « fournisseur » pour un
« client »
Différence avec l ’orienté objet :
15
CORBA
Autour de Corba : informatique d’entreprise, intégration
d’applications ‘legacy’
Autour de Java : Internet et Web
Application et Web Serveurs
COM+ , .NET : position forte de MS sur les postes de
travail
Découplage données – mode de traitement
Ce n’est plus le « technique » qui dicte l ’architecture, mais le
« métier »
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
16
Écoledes Mines de Nancy – SI151- 2005-2006
17
18
3
L’OMG
Object Management Group
Common Object Request Broker Architecture
Objet Corba
Une architecture d’interopérabilité distribuée et orientée objet selon un
modèle client -serveur ouvert
Créé en 1989
But non lucratif
Plus de 850 membres
Création et maintenance de spécifications:
Client
Serveur
Objet
Objet
IDL
(C++, Python …)
Skeleton
Stub
Object
Adapter
IIOP
ORB
Écoledes Mines de Nancy – SI151- 2005-2006
ORB
BOA (Basic)
(**)
(*)
(*) marshalling
www.omg.org
(Java, Cobol …)
(**) unmarshalling
CORBA
UML
Eléments :
Stub et skeleton g énérés
automatiquement
Object Adapter :
enregistrement des objets,
invocation, contr ôle
Servant
GIOP ( General)
IIOP (Internet)
Écoledes Mines de Nancy – SI151- 2005-2006
20
Interface d’invocation statique
21
OMA (Object Management Architecture)
l’architecture globale
Adaptateur d’objet
Interface du bus
Interface de squelettes statiques
Interface de squelettes dynamiques
Interfaces
de domaine
Objets
applicatifs
Utilitaires communs
Workflow
Télécoms
Spécifiques
Interface d’invocation dynamique
Santé
Finance
DataWare
Administration
IHM
Bus d’objets répartis
SSI
SII
DSI
DII
Nommage
ORB
OA
Bus de communication
IR
Référentiel
des interfaces
ImplR
Vendeur
Interrogations
Référentiel
des implantations
Écoledes Mines de Nancy – SI151- 2005-2006
22
Interface Implémentation (C++,
IDL
Java, Cobol..)
IDL : Interface Definition
Language
CORBA : les composantes du bus
Écoledes Mines de Nancy – SI151- 2005-2006
Interoperable Object Reference
ORB : Object Request
Broker (messages)
IOP : Inter -ORB Protocol
Écoledes Mines de Nancy – SI151- 2005-2006
Un « référentiel des interfaces » stocke sous forme
d’objets les descriptions d’interfaces OMG-IDL.
Une API (DII: Dynamic Invocation Interface) permet de
construire des requêtes à l’exécution.
Objet
CORBA
POA (Portable)
19
CORBA : le mode dynamique
Serveur
Sécurité
Cycle
de vie
Relations Collections Temps
Transactions Propriétés Persistance
Licences Externalisation
Events Changements Concurrence
Services objet communs
Écoledes Mines de Nancy – SI151- 2005-2006
23
24
4
CCM (Corba Component Model)
Implémentations
Vers CORBA 3
Extension logique des EJB (interopérabilité avec les EJB)
Composant « emballés »
CORBA 2.2
Description XML du contenu
Binaires (différentes plateformes)
client/serveur orient é objet, les interfaces de base et le POA,
les mécanismes dynamiques, GIOP, OMG-IDL et ses
projections vers C, C++, SmallTalk, COBOL, ADA et Java.
4 cat égories de composants
Service
Session
BEA WebLogic
IBM WebSphere
IONA Orbix
Borland Enterprise Edition
CORBA 3.0
interfaces multiples, passage par valeur,
Entity
Process
modèle de composant, langage de script,
minimumCORBA, realtimeCORBA, CORBA/COM/DCE
CIF ( Component Implementation Framework)
Utilise CIDL (Component Implementation Description Language) pour
générer le code compl émentaire au code du composant
Chaque composant est plac é dans un « container »
Écoledes Mines de Nancy – SI151- 2005-2006
messaging, printing, fault tolerance, firewall
Écoledes Mines de Nancy – SI151- 2005-2006
25
CORBA, UML, XML et MDA
MICO
OmniORB
ORBit
Écoledes Mines de Nancy – SI151- 2005-2006
26
27
Sun’s Java 2 Enterprise Edition
Architecture générale
J2EE
UML = standard OMG
W3C DOM (Document Object Model) :
Client tier
Navigateur Web
et Applet
Accéder à XML via des interfaces
Se fonde sur l’IDL OMG
Clients évolués
Types Corba passés par valeurs mappés sur du XML
CCM : encodage, configuration et déploiement décrits en XML
Etc…
Evolution vers le MDA (Model Driven Architecture)
Composants
d’application
cliente
Serveur
Web tier
Serveur
d’applications
tier
JSP
Conteneurs EJB
PIM (Pateform-Independent Model)
BD
Entity Beans
Stateful et
stateless Beans
Servlets
Web Services
Clients
Spécifications écrites à 2 niveaux
Backend
tier
Applications
« legacy »
Message Driven
Beans
PSM (Plateform- Specific Model)
Mapping PIM vers PSM
Processus business et entit é s modelé s au niveau PIM
Gén ération automatique avec les mappings
Nommage et répertoire (JNDI)
Messaging (JMS)
« englober CORBA, J2EE, XML, .NET et les autres technologies »
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
28
Écoledes Mines de Nancy – SI151- 2005-2006
29
30
5
Composants dans l’univers Java
Applets et JavaBeans
Applets (J2SE)
JavaBeans (J2SE)
Enterprise Java Beans (J2EE)
Servlets/JSP (J2EE)
Composants d’application cliente (J2EE)
Servlets/JSP
Applets :
Servlet :
Composants légers
Téléchargeables pour les clients (navigateurs Web)
Modèle de sécurité fort
Esprit des applets, côté serveur
Composants légers instanci és par les serveurs Web
Exécuté
JSP :
JavaBeans :
Programmation « connection-oriented » (« wiring »)
Flux d’év ènements entre des sources et des « listeners »
Clients (le plus souvent) et serveurs
Support pour la conception visuelle d’applications
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
31
EJB
Écoledes Mines de Nancy – SI151- 2005-2006
32
EJB
Services intégrés dans des conteneurs d’EJB Beans
Nécessité de déclarer leurs attributs
Besoin de « descripteurs de déploiement »
Différent des Java Beans ! :
33
Application client components
4 types de E-Beans
Applications non contraintes côté client
Utilisant JNDI pour accéder aux propriétés de
l’environnement, aux EJB, et ressources sur les
serveurs
Stateless Session
Traitement, workflow
Sans état
Stateful Session
Traitement, workflow
Composition « orient ée objet »
« code Java et HTML entrelacés »
Pour la présentation
Définition d éclarative : génération automatique de pages Web
(et des servlets correspondantes)
Interprété
Avec état
Création d’instances, appels de méthodes
Entity
Pas très adapté au « wiring »
Mémoriser un composant métier
Partage entre plusieurs utilisateurs
Point fort : composition contextuelle
Message Driven (depuis EJB 2.0)
(MOM) Middleware orientés message : point à point ou publication/souscription
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
34
Écoledes Mines de Nancy – SI151- 2005-2006
35
36
6
Directions explorées par Sun
Les composants selon Microsoft
Jini
Fédérations de clients et de services Java (protocole de
découverte de services)
Service de noms, transactions réparties, év ènements
COM
Chemin choisi : construire ses propres applications et
plateformes, et les modifier continuellement (pas de standard
global)
Composants s’améliorent au fur et à mesure
VBX (non orienté-objet!), OLE (Object Linking and Embedding), …
ActiveX, ASP (Active Server Page).
JXTA
« juxtaposition »
P2P
Focus sur l’Internet et le Web (IETF, W3C)
Standards ECMA pour les spécifications .NET (CLI et C#)
Écoledes Mines de Nancy – SI151- 2005-2006
37
DCOM, OLE/ActiveX, COM+
Mapping des types simples de données vers et depuis des flux d’octets
Standard binaire
OLE
Object Linking and Embedding
Combiner les applications « legacy »
Paradigme « document -centric »
Collection prédéfinie d’interfaces COM
OCX : très lourds
ActiveX : certaines interfaces sont optionnelles, interfaces
« sortantes » et propri étés (modifiables par l ’application ou
l’utilisateur : Look and Feel)
transactions, messages asynchrones, clustering, équilibrage
de charge
Écoledes Mines de Nancy – SI151- 2005-2006
40
A influencé d’autres modèles (XPCOM de Mozilla,
CCM de l’OMG)
Standard « binaire »
39
CLR (Common Language Runtime )
COM+
Écoledes Mines de Nancy – SI151- 2005-2006
Op n
Composant
.NET
VBX, OCX puis ActiveX
Composants COM implantant une des interfaces prédéfinies
(serveurs de documents et évènements essentiellement)
interprocessus dans COM, inter - machine
Op 2
Écoledes Mines de Nancy – SI151- 2005-2006
OLE Control
Distributed COM
Client -Side Proxy et Server-Side Stub :
Microsoft et Macintosh
Tierces parties (HP)
Op 1
38
DCOM, OLE/ActiveX, COM+
DCOM
Modèle initial : COM
vtable
Interface
Node
Pas de description de la liaison avec des langages de
programmation particuliers
Objets : ni favorisés ni déniés
Seule d éfinition : l’interface
Récemment :
Écoledes Mines de Nancy – SI151- 2005-2006
Variable du
Client
Implantation de :
CLI (Common Language Infrastructure) : spécification ECMA
Continuation/interopérabilité de/avec COM
Chargement/d échargement dynamique, ramasse- miette, reflection ,
persistance etc… indépendamment du langage
C#, Jscript , Managed C++, VB .NET
Modules en CIL (Common Intermediate Language)
Sorte de bytecode
Assemblies : unités de déploiement (sorte de fichiers jar)
Écoledes Mines de Nancy – SI151- 2005-2006
41
42
7
.NET, Composants
.NET
Evolution
Application
Flux XML
Application cliente Windows
Service Web
WebForm
WinForm
SOAP
Cible à 3 niveaux
ASP.
NET
Page HTML
Code Behind (code compilé)
Interopérabilité 2 à 2 des différentes visions
Services Web
Plateformes de d éploiement (côtés clients et serveurs)
Plateforme de d éveloppement
Composants « tout XML »
Assembly
Composants fonctionnels
ADO.NET
CLR
Base de Données
ADO
Enterprise Services (ex COM+)
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
43
Quelques chiffres
Écoledes Mines de Nancy – SI151- 2005-2006
44
XML
45
L’émergence d’XML
Gartner (USA Août 2004)
eXtensible Markup Language, W3C (1998)
Représentation de données (partiellement) structurées
BD :
40% Java/J2EE, 41% .NET
Outils : 24/25% Microsoft/IBM … Open Source 5%
Travail sur les Web Services : 50%
Travail sur le SOA : 30%
.NET perç u comme « solution pour Web Services » par 70%
organisation plutôt autour de tables
Comparé à XML :
49% : solution complète et intégrée
IDEO (France sept 2004)
plutôt arbres, mais autres structures aussi
>60% Java/J2EE / <40% .NET
Frameworks J2EE
Si on a des données non–structurées : y faire référence
depuis le document XML
Utilisés par 56%
68% Open Source, 1/3 interne, 17% commerciaux
Web Services :
50% int éressés, 18% projet pilote
40% prometteur, 38% manque de recul
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
46
Écoledes Mines de Nancy – SI151- 2005-2006
47
48
8
XML
Principes
Représentation de données
Messages
Pages Web
Documents traditionnels
Données de configuration
<cours>
<titre> XML Web Services </titre>
<chapitre>
<numero > 1 </numero >
<titre> Bases du XML </titre>
<contenu> quelques informations </contenu>
</chapitre>
<chapitre>
…
</chapitre>
</cours>
Contraintes sur la validit é d ’un document
Définition de grammaires : XML est un Meta-Langage
Expression faible (type, structure)
XML Schéma
Langage XML de définition de grammaire XML
MathML, NewsML, XMI, Doc, Slides, …
Extensible
Séparation de la forme et du fond
Racine unique du document
Non extensible
Largement utilisé
L’utilisateur peut créer de nouvelles balises
éléments, attributs XML, texte non structuré
Deux fa çons de d éfinir une grammaire XML :
DTD (Document Type Description)
Langage de définition de grammaire XML
Ensemble non fini de balises
Langage commun (syntaxe)
Éléments XML
Grammaire
Interaction avec autres standards XML (XML Namespace et Xpath)
Un document XML peut être constitué de deux entités (le fond
et la forme)
De + en + utilisé
Expression puissante (type, structure, héritage)
Un document XML est dit valide lorsqu’il est conforme à une grammaire
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
49
XML Namespace : Espaces de
noms
Écoledes Mines de Nancy – SI151- 2005-2006
50
XML-Web Services :
un nouveau Middleware
Pourquoi XML?
Mécanismes permettant de partitionner les balises XML (permet
d’avoir deux fois le même nom de balise)
Un espace de nom est défini dans n’importe quelle balise par
l’attribut xmlns et par une URI.
Dans un document XML, un espace de noms est identifi é par un
nom logique, les balises appartenant à cet espace doivent alors
être préfixées par ce nom logique.
Ex :
<meta:body xmlns:meta="http://meta.lip6.fr/meta/"
Écoledes Mines de Nancy – SI151- 2005-2006
Standard W3C
La syntaxe XML ne contient que peu de mots clefs : Simplicité
XML est indépendant des plates -formes : Portabilité
XML est un m éta-langage, il est possible de créer ses propres balises :
Extensibilité
Outils disponibles (et gratuits)
« les Web Services »
Largement utilisé pour les échanges
inter -applications
Écoledes Mines de Nancy – SI151- 2005-2006
52
51
Écoledes Mines de Nancy – SI151- 2005-2006
53
54
9
Limitations des middlewares
Limitations des middlewares
Passage à large échelle : Web
Protocoles hétérogènes
Inconvénients intrinsèques
Complexité
IIOP, RMI, DCOM
Firewall
Plates-formes
Compétences
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
55
Plateforme pour les WS
Grid
Business
Process
Reliability
Transaction
Messaging
…
Applications et
infrastructure
applicative
57
Exemple : achat de véhicule en
ligne
Besoin de connectivité, d’interaction, d’interopérabilité,
intra et inter-organisation dans le cadre du Web
Donc ce sont les standards du Web et donc le XML et
le modèle de Web Service qui fournissent une couche
d’intégration prometteuse, pour toutes les technologies
y compris celles des composants
Client
Application
Web
TCP
SMTP
Service « profile
client »
Service « assurance
moins chère »
Fondation
Service « prêt plus
bas »
XML
HTTP
Transformation
Service « voiture
moins chère »
Agrégation
Management
Metadata
Security
B2B
Écoledes Mines de Nancy – SI151- 2005-2006
56
XML
Web Services Platform
Mobile
Portage d’applications existantes difficile
Solutions non standards
Prix
Doit posséder les souches
Difficulté de construire dynamiquement
EAI
CORBA vers DCOM
CORBA, EJB, .Net, …
Trop de contraintes sur le client !
Devices
RMI / IIOP
Passerelles
Pérennité : remise en question
Notion de moteur de recherche inexistante
P2P
Modification du Protocole
CORBA : IDL, Mapping, …
EJB : Container, JNDI, …
Pas d’ouverture des services
Connected
Applications
Solutions existantes
Transport
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
58
Écoledes Mines de Nancy – SI151- 2005-2006
59
60
10
les Web-Services
Approche Envisagée
Applications modulaires, autodescriptives , publiables, invoquées
par des protocoles du Web.
Acteurs
•Client (invoque)
•Fournisseur (service)
3 spécifications associées basées sur
XML
•SOAP : invocation des services (transport
des données)
•WSDL : description des services offerts
(méthodes invocables)
•UDDI : annuaire permettant la découverte
des services par le client
•Annuaire (informations)
2: Découverte
Annuaire
UDDI
SOAP
Remote Object Invocation
XML-RPC
SOAP (Simple Object Access Protocol)
Basé sur XML
Portabilité, H étérogénéité
Porté par des protocoles large échelle existants
HTTP, SMTP, …
Paradigme orienté service : WSDL
Découverte automatique des services (dynamicité) :
UDDI
Middleware
2: Invocation
Un nouveau protocole : SOAP
Définition de services offerts (en XML)
1: Inscription
Web Service
Client
Vers SOAP
Interface
WSDL
Application
métier
L’adresse de l ’invocation
Embarque une large gamme de types de donn ées dans les
messages d’invocation
Décrit les parties obligatoires et optionnelles
Référentiel de Web Service (Pages Jaunes, Vertes, Blanches)
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
61
XML Web services
62
SOAP
WSDL, UDDI, WSFL, XLANG
Reposent sur SOAP
Services offerts par des serveurs Web
SOAP (exemple)
Protocole d’échange de messages (client / serveur)
Basé entièrement sur XML
Standard W3C (Initiative IBM et Microsoft)
Actuellement SOAP 1.1/1.2
Pas pour les individus
Mais pour d’autres systèmes
enveloppe
( Header + Body )
Corps
Porté sur HTTP, SMTP, FTP…
POST / InStock HTTP/1.1
Host: www.stock. org
Content -Type: application/ soap+xml; charset=utf-8
<soap:Envelope
xmlns:soap=http://www.w3. org/2001/12/soap-envelope
Message = Enveloppe
En-tête
Extensibilité
Requête
Content -Length: nnn <?xml version="1.0"?>
Concepts
WS-I Web Service Interoperability (WS-I Organisation)
63
soap:encodingStyle="http://www.w3. org/2001/12/soap-encoding">
<soap:Body
xmlns:m="http://www.stock. org/stock">
Faute
<m: GetStockPrice>
Contenu
</m:GetStockPrice>
<m: StockName>IBM</m:StockName>
</soap:Body>
</soap:Envelope>
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
64
Écoledes Mines de Nancy – SI151- 2005-2006
65
66
11
SOAP (exemple)
Description des Services Web
Réponse
Découverte de Web Service
WSDL : Web Service Description Language
Langage de définition de Web Services
Basé entièrement sur XML
Standard W3C (Initiative IBM et Microsoft)
HTTP/1.1 200 OK
Content -Type: application/ soap; charset=utf-8
Content -Length: nnn
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap=http://www.w3. org/2001/12/soap-envelope
Actuellement WSDL 1.1
soap:encodingStyle="http://www.w3. org/2001/12/soap-encoding">
<soap:Body
Définition de l’interface, de l’URL et du port du Web
Service.
Utilise le système de typage de XML Schéma
xmlns:m="http://www.stock. org/stock">
<m: GetStockPriceResponse>
<m: Price>34.5</m:Price>
</m:GetStockPriceResponse>
UDDI : Universal Description, Discovery and Integration
Référentiel de définitions Web Service
Permet de construire dynamiquement des clients
Recommandation OASIS
Référentiel défini lui-même en WSDL
Référentiel Public / Privé
</soap:Body>
</soap:Envelope>
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
67
Orchestration/Chorégraphie
Moteur
WS1
orchestration
requête
1
Client
requête
A partir du
réponse
Moteur
d’orchestration
(centralisé)
Business Process Modeling (BPM)
68
WS2 WS3
2
Exemple : achat de véhicule en
ligne (suite)
Client
3
4
1
3
2 visions :
Orchestration : vision centralisée
6
5
2
Application
Web
4
WS2
WS3
réponse
requête
Chorégraphie : vision globale des
interactions
réponse
WS
WS1 WS2 WS3
chorégraphié
requête
1
3
4
1
5
2
Service « assurance
moins chère »
Sécurité dans/pour les Web
Services
! Tout est
Web Service
Authentification
Autorisation
Confidentialité
Intégrité
Garage 1
Garage 2
Modèles propos és
Garage 3
Agence 1
Service « prêt plus
bas »
Banque 1
Banque 2
Banque 3
3
réponse
WS1
Services de sécurité
Service « profile
client »
Agence 2
2
Web Service
(« chorégraphié »)
W3C WS-CDL
Pas de produits
Agrégation
Client
Transformation
Service « voiture
moins chère »
5
6
WS1
BPEL (Business Process
Execution Language) d’ OASIS
Produits
69
WS2
4
Pour XML
XML Signature
XML Encryption
SAML -XML (Security Assertions Markup Language)
XACML (Extensible Access Control Markup Language)
XKMS (XML Key Management Specification
Pour WS
WS-Security : messages SOAP ( et WSDL) sécurisés
WS3
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
70
Écoledes Mines de Nancy – SI151- 2005-2006
71
72
12
Niveaux de service
Service Level Agreement
SLA / SLS : vue réseau
ØUn SLA est établi entre un
client et un fournisseur de
service.
SLA : Service Level Agreement
SLA
ØSLA intra-domaine
SLS : Service Level Specification
Un SLA est un contrat entre un fournisseur et un client
garantissant des niveaux de performance et de fiabilité
à un certain coût.
Les SLA peuvent être utilisés pour établir les besoins
en disponibilité, fiabilité, temps de réponse, etc.
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
73
Structure d’un SLA :
application aux Web Services
Désignation des parties
Période de validité
Services fournis
Service Level
Specifications
Pénalités
Reporting
Informations
juridiques
SLS
ØSLA inter-domaine
ØUn SLS est la partie technique
du SLA.
ØUn SLS est utilisé par un
fournisseur de réseau pour
configurer les éléments de son
réseau afin de ne pas violer le
SLA.
Écoledes Mines de Nancy – SI151- 2005-2006
74
Indicateurs de niveau de service
pour les Services Web
75
Problèmes
WSLA
Participants
Négociation des paramètres
Définitions de service
Obligations
Temps de réponse
Disponibilité
Vérifications de la validité/ du respect des contrats
Bande passante
Niveau de sécurité
Pénalités / compensation
Fréquence de pannes
Temps de résolution d’une panne
Sécurisation
Temps d’enregistrement
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
76
Écoledes Mines de Nancy – SI151- 2005-2006
77
78
13
Produits sur le marché
Et l’Open Source
BEA WebLogic 8 et 9, framework Beehive
IBM WebSphere (6.0) et Atlantic
Microsoft .NET , WSE (Web Service Enhancement)
HP Netaction
Borland
Compuware
WebMethod …
Sun One
Apache Software Foundation
Concepts :
BEA a offert Beehive à Apache
Et l’Open Source
Pas d’administration ou de monitoring
Jonas (Java Open Application Server - ObjectWeb) Serveur
d’application « middleware opensource »
Axis
JaxMe (Java XML binding )
XML-RPC
jUDDI (Java UDDI)
SOAP
WSFX (Web Service Functionality Extension)
Mono .NET
WSS4J (WS Security)
Etc …
WSIF (Web Service Invocation Framework), WSIL (Web Service Inspection
Language), WSRP4J (Web Service 4 Remote Portlet)
« On Demand » d’IBM
« Agile » de Microsoft
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
79
Business Process
Écoledes Mines de Nancy – SI151- 2005-2006
80
Directions et conclusion
Références
Int égration des architectures existantes parallèlement aux Web Services
Mise en œuvre de la logique métier
Clustering :
Commercial
Amberpoint, Actional, Blue Titan
Equilibrage de charge
JBPM (définitions de processus basé s sur UML/J2EE)
Open Business Engine (norme WfMC workflow management
coalition), J2EE
« Component Software, Beyond Object Oriented
programming »
« J2EE et les Design Patterns »
Prometteur mais encore immature
Standard
Interopérabilit é
Xavier Blanc (transparents de cours)
Christophe Bouthier (transparents de cours)
Francine Krief (transparents)
Réutilisation
Assemblage souple de composants
Werflow (BPML et BPELWS)
Etc…
Clemens Szypersky
Sacha Krakowiak
Deepak Alur et al.
Réplication de session
Open Source
81
Mais la diff érentiation se fait par des « services » non standards
Écoledes Mines de Nancy – SI151- 2005-2006
Écoledes Mines de Nancy – SI151- 2005-2006
82
Écoledes Mines de Nancy – SI151- 2005-2006
83
84
14

Documents pareils