Académique Documents
Professionnel Documents
Culture Documents
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
1 2 3
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
4 5 6
1
Pour quoi faire? Faciliter la programmation rpartie Aspects importants
Interface de haut-niveau (API) pour le dveloppement Dveloppement, volution, rutilisation des applications Applications en constante volution (besoins, architectures,
ressources etc)
dapplications
QoS
Cacher htrognit du systme sous -jacent (matriel Portabilit des applications Capacit d volution
et logiciel) Mobilit, dynamisme des environnements/utilisateurs
Cacher les problmes de la rpartition au maximum
Interoprabilit dapplications htrognes Adaptation
Fournir des services rpartis dusage courant
Dcouverte de service
Reconfiguration Dynamique/adaptable
Faciliter la programmation rpartie Comportement
Rutilisation, simplicit etc ..
Composants
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
7 8 9
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
10 11 12
2
Plan Contexte Contexte
Contexte Linformatique dentreprise est rpartie Passage du Web des utilisateurs/clients un Web
Applications distribues
Vision OMG Client Serveur inter-systme
Objets rpartis
Vision .NET Client, B2C, B2B, EAI etc
Objet Objet
Vision Sun
Middleware Modles qui voluent :
Les Services Web/Web Services
Client/serveur -> Grid, P2P
Divers moyens daccs en mode client-serveur
Mobile, Internet, Minitel, Tlphone
Besoin d architecture ouverte et adaptative
Vers lentreprise tendue
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
13 14 15
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
16 17 18
3
LOMG
Common Object Request Broker Architecture Objet Corba
Object Management Group Une architecture dinteroprabilit distribue et oriente objet selon un
modle client -serveur ouvert
Cr en 1989 Elments :
Stub et skeleton g nrs
But non lucratif Client Serveur automatiquement Serveur
Plus de 850 membres Object Adapter :
Objet IDL Objet enregistrement des objets,
Cration et maintenance de spcifications: (C++, Python ) (Java, Cobol ) invocation, contr le Objet
BOA (Basic) CORBA Interoperable Object Reference
(**) unmarshalling
(*) marshalling
(*)
(**)
CORBA POA (Portable) Interface Implmentation (C++,
UML Skeleton ORB : Object Request IDL Java, Cobol..)
Broker (messages) Servant
www.omg.org Object IOP : Inter -ORB Protocol
Stub Adapter GIOP ( General)
IIOP IIOP (Internet)
ORB ORB
IDL : Interface Definition
Language
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
19 20 21
Rfrentiel Rfrentiel
IR des interfaces
ImplR des implantations Services objet communs
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
22 23 24
4
CCM (Corba Component Model) Vers CORBA 3 Implmentations
Extension logique des EJB (interoprabilit avec les EJB) BEA WebLogic
Composant emballs
CORBA 2.2 IBM WebSphere
Description XML du contenu
client/serveur orient objet, les interfaces de base et le POA,
Binaires (diffrentes plateformes)
les mcanismes dynamiques, GIOP, OMG-IDL et ses
IONA Orbix
4 cat gories de composants
Service
projections vers C, C++, SmallTalk, COBOL, ADA et Java. Borland Enterprise Edition
Session CORBA 3.0
Entity interfaces multiples, passage par valeur,
Process modle de composant, langage de script,
MICO
CIF ( Component Implementation Framework) minimumCORBA, realtimeCORBA, CORBA/COM/DCE OmniORB
Utilise CIDL (Component Implementation Description Language) pour messaging, printing, fault tolerance, firewall
gnrer le code compl mentaire au code du composant ORBit
Chaque composant est plac dans un container
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
25 26 27
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
28 29 30
5
Composants dans lunivers Java Applets et JavaBeans Servlets/JSP
Applets (J2SE) Applets : Servlet :
Composants lgers Esprit des applets, ct serveur
JavaBeans (J2SE)
Tlchargeables pour les clients (navigateurs Web) Composants lgers instanci s par les serveurs Web
Enterprise Java Beans (J2EE)
Modle de scurit fort Excut
Servlets/JSP (J2EE) JSP :
Composants dapplication cliente (J2EE) JavaBeans : code Java et HTML entrelacs
Programmation connection-oriented ( wiring ) Pour la prsentation
Flux dv nements entre des sources et des listeners Dfinition d clarative : gnration automatique de pages Web
Clients (le plus souvent) et serveurs (et des servlets correspondantes)
Support pour la conception visuelle dapplications Interprt
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
31 32 33
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
34 35 36
6
Directions explores par Sun Les composants selon Microsoft COM Variable du
Client vtable
Op 1
Interface Op 2
Node
Jini Chemin choisi : construire ses propres applications et Modle initial : COM Op n
plateformes, et les modifier continuellement (pas de standard Microsoft et Macintosh
Fdrations de clients et de services Java (protocole de global) Composant
dcouverte de services) Tierces parties (HP)
Service de noms, transactions rparties, v nements
Composants samliorent au fur et mesure A influenc dautres modles (XPCOM de Mozilla,
VBX (non orient-objet!), OLE (Object Linking and Embedding),
CCM de lOMG)
JXTA ActiveX, ASP (Active Server Page). Standard binaire
Pas de description de la liaison avec des langages de
juxtaposition
Rcemment : programmation particuliers
P2P Focus sur lInternet et le Web (IETF, W3C) Objets : ni favoriss ni dnis
Standards ECMA pour les spcifications .NET (CLI et C#) Seule d finition : linterface
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
37 38 39
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
40 41 42
7
.NET, Composants .NET Evolution
Application
Flux XML
NET
ASP.
WebForm WinForm SOAP
Plateformes de d ploiement (cts clients et serveurs) Composants tout XML
Code Behind (code compil)
Plateforme de d veloppement
Assembly
Composants fonctionnels
ADO.NET
CLR
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
43 44 45
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
46 47 48
8
XML Principes <cours>
<titre> XML Web Services </titre>
<chapitre>
Grammaire
<numero > 1 </numero >
<titre> Bases du XML </titre>
<contenu> quelques informations </contenu>
Reprsentation de donnes
</chapitre>
<chapitre> Deux fa ons de d finir une grammaire XML :
</chapitre> DTD (Document Type Description)
Messages </cours>
Non extensible
Pages Web Langage de dfinition de grammaire XML
Documents traditionnels Ensemble non fini de balises Contraintes sur la validit d un document
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
49 50 51
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
52 53 54
9
Limitations des middlewares Limitations des middlewares Solutions existantes
Passage large chelle : Web Inconvnients intrinsques Modification du Protocole
Protocoles htrognes Complexit RMI / IIOP
IIOP, RMI, DCOM CORBA : IDL, Mapping, Passerelles
Firewall EJB : Container, JNDI, CORBA vers DCOM
Pas douverture des services Prennit : remise en question
Notion de moteur de recherche inexistante CORBA, EJB, .Net,
Portage dapplications existantes difficile
Trop de contraintes sur le client ! Prix
Doit possder les souches Plates-formes Solutions non standards
Difficult de construire dynamiquement Comptences
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
55 56 57
Agrgation
dintgration prometteuse, pour toutes les technologies
Metadata
Service assurance
Security Reliability Transaction
moins chre
y compris celles des composants
Messaging Fondation
Service prt plus
XML bas
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
58 59 60
10
les Web-Services Approche Envisage Vers SOAP
Applications modulaires, autodescriptives , publiables, invoques
par des protocoles du Web.
Un nouveau protocole : SOAP Remote Object Invocation
Acteurs 3 spcifications associes bases sur
Bas sur XML
Client (invoque) XML XML-RPC
SOAP : invocation des services (transport Portabilit, H trognit
Fournisseur (service) des donnes) Port par des protocoles large chelle existants SOAP (Simple Object Access Protocol)
Annuaire (informations) WSDL : description des services offerts
(mthodes invocables) HTTP, SMTP, Ladresse de l invocation
UDDI : annuaire permettant la dcouverte
Paradigme orient service : WSDL Embarque une large gamme de types de donn es dans les
des services par le client
Annuaire Dfinition de services offerts (en XML) messages dinvocation
UDDI 1: Inscription
2: Dcouverte
Dcrit les parties obligatoires et optionnelles
Dcouverte automatique des services (dynamicit) :
Web Service UDDI
Middleware
Application
Client 2: Invocation Interface mtier
Rfrentiel de Web Service (Pages Jaunes, Vertes, Blanches)
WSDL
SOAP
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
61 62 63
Services offerts par des serveurs Web Standard W3C (Initiative IBM et Microsoft) Content -Type: application/ soap+xml; charset=utf-8
Content -Length: nnn <?xml version="1.0"?>
Actuellement SOAP 1.1/1.2
Pas pour les individus enveloppe <soap:Envelope
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
64 65 66
11
SOAP (exemple) Description des Services Web Dcouverte de Web Service
Rponse WSDL : Web Service Description Language UDDI : Universal Description, Discovery and Integration
HTTP/1.1 200 OK
Content -Type: application/ soap; charset=utf-8
Langage de dfinition de Web Services Rfrentiel de dfinitions Web Service
Content -Length: nnn
Bas entirement sur XML Permet de construire dynamiquement des clients
<?xml version="1.0"?>
<soap:Envelope Standard W3C (Initiative IBM et Microsoft) Recommandation OASIS
xmlns:soap=http://www.w3. org/2001/12/soap-envelope
soap:encodingStyle="http://www.w3. org/2001/12/soap-encoding"> Actuellement WSDL 1.1 Rfrentiel dfini lui-mme en WSDL
<soap:Body
xmlns:m="http://www.stock. org/stock">
Dfinition de linterface, de lURL et du port du Web Rfrentiel Public / Priv
<m: GetStockPriceResponse> Service.
<m: Price>34.5</m:Price>
</m:GetStockPriceResponse>
Utilise le systme de typage de XML Schma
</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 68 69
Modles propos s
Agrgation
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
70 71 72
12
Niveaux de service Service Level Agreement SLA / SLS : vue rseau
Un SLA est tabli entre un
SLA : Service Level Agreement client et un fournisseur de
SLA service.
SLS : Service Level Specification SLA intra-domaine
SLA inter-domaine
Un SLA est un contrat entre un fournisseur et un client Informations
garantissant des niveaux de performance et de fiabilit juridiques Un SLS est la partie technique
un certain cot. du SLA.
Les SLA peuvent tre utiliss pour tablir les besoins SLS Un SLS est utilis par un
en disponibilit, fiabilit, temps de rponse, etc. fournisseur de rseau pour
configurer les lments de son
rseau afin de ne pas violer le
SLA.
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
73 74 75
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
76 77 78
13
Produits sur le march Et lOpen Source Et lOpen Source
BEA WebLogic 8 et 9, framework Beehive Apache Software Foundation Pas dadministration ou de monitoring
IBM WebSphere (6.0) et Atlantic Axis
Jonas (Java Open Application Server - ObjectWeb) Serveur
JaxMe (Java XML binding )
Microsoft .NET , WSE (Web Service Enhancement) XML-RPC
dapplication middleware opensource
HP Netaction jUDDI (Java UDDI)
Borland SOAP
Compuware WSFX (Web Service Functionality Extension)
Mono .NET
WSS4J (WS Security)
WebMethod
Etc
Sun One WSIF (Web Service Invocation Framework), WSIL (Web Service Inspection
Language), WSRP4J (Web Service 4 Remote Portlet)
BEA a offert Beehive Apache
Concepts :
On Demand dIBM
Agile de Microsoft
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
79 80 81
coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006 coledes Mines de Nancy SI151- 2005-2006
82 83 84
14