STANDARDS ET PROTOCOLES DES SERVICES WEB
Il existe aujourd’hui un certain nombre de plates-formes pour crรฉer des applications. Chacune d’entre elles utilise gรฉnรฉralement ses propres protocoles, le plus souvent de type binaire, pour l’intรฉgration de machine ร machine. En consรฉquence, les applications fonctionnant sur des plates-formes diffรฉrentes n’ont qu’une faible capacitรฉ de partage de donnรฉes. La prise de conscience de ces limites a entraรฎnรฉ un gros effort de standardisation des formats de donnรฉes et d’รฉchange de donnรฉes. En effet, les regards se tournent de plus en plus vers un nouveau paradigme informatique : une intรฉgration transparente des services Web qui dรฉpasse les barriรจres logicielles et matรฉrielles traditionnelles.
Au cลur de cette vision se trouve le concept d’interopรฉrabilitรฉ, c’est-ร -dire la capacitรฉ pour des systรจmes disparates de communiquer et de partager des donnรฉes de faรงon transparente. C’est l’objectif des services Web. Un service Web est une logique d’application programmable accessible ร l’aide des protocoles Internet standard, que l’on peut aussi dรฉcrire comme l’implรฉmentation de standards Web pour une communication transparente entre les machines et entre les applications.
Un certain nombre de technologies des services Web, telles que le protocole SOAP (Simple Object Access Protocol), le langage WSDL (Web Service Description Language) et le protocole HTTP (HyperText Transfer Protocol), sont actuellement utilisรฉes pour transfรฉrer les messages entre les machines. La complexitรฉ de ces messages est trรจs variable, pouvant aller de l’appel de mรฉthode ร la soumission d’un bon de commande. Une fonction courante – de niveau plus รฉlevรฉ – d’un service Web consiste ร implรฉmenter la communication de type RPC (Remote Procedure Call, appel de procรฉdure ร distance permettant ร un programme sur un ordinateur d’exรฉcuter un programme sur un autre ordinateur). Ce mรฉmoire prรฉsente une introduction pratique aux questions courantes d’interopรฉrabilitรฉ, notamment celles relatives ร la communication de type RPC utilisant le protocole SOAP.
MIDDLEWARE
En architecture informatique, un middleware (anglicisme) est un logiciel tiers qui crรฉe un rรฉseau d’รฉchange d’informations entre diffรฉrentes applications informatiques. Le rรฉseau est mis en ลuvre par l’utilisation d’une mรชme technique d’รฉchange d’informations dans toutes les applications impliquรฉes ร l’aide de composants logiciels.
Dรฉfinition
Un middleware(en franรงais intergiciel) est un logiciel de connexion qui se compose dโun ensemble de service et/ou de milieu De dรฉveloppement dโapplications distribuรฉs qui permettent ร plusieurs entitรฉs (processus, Objet,โฆetc..) rรฉsidents sur un ou plusieurs ordinateurs, dโinteragir a travers un rรฉseau dโinterconnexion en dรฉpit des diffรฉrences dans les protocoles de communication, architecture des systรจmes locaux, systรจmes opรฉrationnels etc… .
Les systรจmes distribuรฉsย
Dรฉfinition
Un systรจme distribuรฉ est une collection de postes qui sont connectรฉs ร lโaide dโun rรฉseau de communication.
Chaque poste exรฉcute des composantes et utilise un intergiciel qui sโoccupe dโactiver les composantes et de coordonner leurs activitรฉs de telle sorte quโun utilisateur perรงoive le systรจme comme un unique systรจme intรฉgrรฉ.
Lโรฉvolution des middlewares
RPC (Remote Procedure Call)ย
Dรฉfinition
Un appel aux procรฉdures distant, RPC transforme lโinteraction client / serveur dans un appel ร la procรฉdure, semblable ร celle locale, en cachant au programmateur la plus grande partie des mรฉcanismes implรฉmentรฉes qui la composent, comme :
โLโรฉchange de message
โLa localisation du serveur qui fournit le service
โLes diffรฉrentes reprรฉsentations possibles des donnรฉes des machines impliquรฉes dans lโinteraction .
Ce dรฉguisement arrive en quatre phases :
โA temps dโรฉcriture du code. Les RPC employรฉs/ fournis devront รชtre dรฉclarรฉe par le programmateur explicitement ร travers lโimport / export des dรฉfinitions des interfaces
โA temps dโexรฉcution. chaque machine sur laquelle il est en exรฉcution un programme client et / ou serveur devra avoir un support ร temps dโexรฉcution pour les RPC, RPC run-time support, apte ร exรฉcuter quelques opรฉration des RPC comme par exemple la localisation de serveur ou lโenregistrement dโun nouveau service offert par un nouveau serveur
โA temps de compilation. Pendant la compilation pour chaque appelle ร la procรฉdure distante, des lignes de code sont accrochรฉes au programme originaire (stub). Ces lignes permettent des opรฉrations standards sur les donnรฉes (empaquetage et codage reconnue universellement) et les appelles au RPC run-time support
โA temps de liaison. Pendant la liaison le programme source est mis en communication avec les RPC run-time support pour obtenir le code exรฉcutable.
CORBAย
Dรฉfinition
CORBA ou Common Object Request Broker Architecture est nรฉ dans les annรฉes 1990 du besoin de faire communiquer ensemble des applications en environnement hรฉtรฉrogรจne (plusieurs systรจmes et plusieurs langages).
CORBA n’est qu’un sous ensemble du projet ODP-RM ou Open Distributed Processing Reference Model vise ร mettre en place une norme d’architectures distribuรฉes ouvertes.
L’ OMG (Object Management Group), crรฉรฉ en 1989 et regroupant plus de 750 membres (vendeurs de logiciels, dรฉveloppeurs et utilisateurs), collabore avec l’ODP pour la mise en place d’une norme sur le middleware, et a crรฉรฉ ร cet effet la norme CORBA. .
Les composantes
Le bus CORBA fournit les composantes suivantes :
โ ORB (Object Request Broker) : est le noyau de transport des requรชtes aux objets. Il intรจgre au minimum les protocoles GIOP et IIOP. Lโinterface au bus fournit les primitives de base comme lโinitialisation de lโORB.
โ SII (Static Invocation Interface) : est lโinterface dโinvocations statiques permettant de soumettre des requรชtes contrรดlรฉes ร la compilation des programmes. Cette interface est gรฉnรฉrรฉe ร partir de dรฉfinitions OMG-IDL.
โ DII (Dynamic Invocation Interface) : est lโinterface dโinvocations dynamiques permettant de construire dynamiquement des requรชtes vers nโimporte quel objet CORBA sans gรฉnรฉrer/utiliser une interface SII.
โ IFR (Interface Repository) : est le rรฉfรฉrentiel des interfaces contenant une reprรฉsentation des interfaces OMGIDL accessible par les applications durant lโexรฉcution.
โ SSI (Skelton Static Interface) : est lโinterface de squelettes statiques qui permet ร lโimplantation des objets de recevoir les requรชtes leur รฉtant destinรฉes. Cette interface est gรฉnรฉrรฉe comme lโinterface SII.
โ DSI (Dynamic Skeleton Interface) : est lโinterface de squelettes dynamiques qui permet dโintercepter dynamiquement toute requรชte sans gรฉnรฉrer une interface SSI. Cโest le pendant de DII pour un serveur.
โ OA (Object Adapter) : est lโadaptateur dโobjets qui sโoccupe de crรฉer les objets CORBA, de maintenir les associations entre objets CORBA et implantations et de rรฉaliser lโactivation automatique si nรฉcessaire.
โ ImplR (Implementation Repository) : est le rรฉfรฉrentiel des implantations qui contient lโinformation nรฉcessaire ร lโactivation. Ce rรฉfรฉrentiel est spรฉcifique ร chaque produit CORBA.
Le langage OMG-IDLย
Le langage OMG-IDL est la base de la force de CORBA. Il a รฉtรฉ crรฉรฉ pour rendre compatible lโutilisation de plusieurs applications รฉcrites dans diffรฉrents langages de programmation, ceci sโappelle lโinteropรฉrabilitรฉ. Il cherche ร masquer lโhรฉtรฉrogรฉnรฉitรฉ des applications. Pour ceci, il a รฉtรฉ dรฉfini pour dรฉcrire uniquement les interfaces indรฉpendamment du langage dโimplantation.
RMIย
RMI (Remote Method Invocation) est une API java permettant de manipuler des objets distants (un objet instanciรฉ sur une autre machine virtuelle (rรฉseau)) de maniรจre transparente pour lโutilisateur cโest-ร -dire de la mรชme faรงon que si lโobjet รฉtait sur la machine virtuelle de la machine locale. Ainsi un serveur permet ร un client dโinvoquer des mรฉthodes ร distance sur un objet quโil instancie. Deux machines virtuelles sont donc nรฉcessaire (une sur le client et lโautre sur le serveur) et lโensemble des communications se fait en java.
DCOM
DCOM (Distributed Component Object Model) le systรจme d’objets distribuรฉs de Microsoft. Le modรจle DCOM offre รฉgalement une transparence au niveau du rรฉseau et une automatisation des communications, de sorte que les communications peuvent intervenir entre des objets sans qu’un objet connaisse nรฉcessairement l’emplacement de l’autre objet. Les objets peuvent se situer dans des processus diffรฉrents sur la mรชme machine ou sur des machines distinctes. La technologie des objets distribuรฉs peut รฉgalement รชtre utilisรฉe pour faire apparaรฎtre des rรฉseaux et des ressources d’information globaux comme locaux, facilitant et accรฉlรฉrant pour les utilisateurs l’accรจs aux informations stratรฉgiques de l’entreprise. Par l’intermรฉdiaire du DCOM et de l’Automation ร distance, les utilisateurs peuvent situer et exรฉcuter des composants sur des rรฉseaux globaux, sans mรชme รชtre conscients que les informations sont ร des milliers de kilomรจtres.
Le middleware est au cลur de toute solution de traรงabilitรฉ. Il joue le rรดle dโintermรฉdiaire et dโinterprรจte entre la couche mรฉtier et la couche matรฉriel de la solution de traรงabilitรฉ. Ces deux couches sont en effet gรฉrรฉes de maniรจre bien diffรฉrente : lโune relรจve du domaine de lโinformatique de gestion, utilisant des donnรฉes ยซ mรฉtier ยป, lโautre, de lโinformatique industrielle, traitant des donnรฉes ยซ terrain ยป en provenance de diffรฉrents capteurs.
CONCLUSION GENERALEย
En conclusion, il est nรฉcessaire de faire le point sur la technologie des services Web. Les services Web est un terme qui dรฉcrit un ensemble de protocoles standards utilisรฉs pour รฉtablir un domaine d’intรฉgration des applications.
L’un des facteurs ayant contribuรฉ au succรจs des services Web est sans doute l’utilisation des standards Internet tels que XML et HTTP. En consรฉquence, tout systรจme capable d’analyser du texte et de communiquer via un protocole de transport Internet standard peut communiquer avec un service Web. XML a engendrรฉ l’apparition de nouveaux protocoles tels que SOAP pour l’รฉchange de messages, WSDL pour la description de services et UDDI pour la publication et la dรฉcouverte de services.
Notre application concerne la rรฉservation dโun biais : tout dโabord le passager va chercher des vols disponibles, ensuite il choisie le vol qui correspond ร ses besoins et remplir ses informations (nom, prรฉnom, email,โฆ), il doit prรฉciser le mode de paiement convenable. Si tout passe bien alors votre rรฉservation est valide et maintenant je vous souhaite un bon voyage.
|
Table des matiรจres
INTRODUCTION GENERALE
CHAPITRE I: MIDDLEWARE
1 INTRODUCTION
2 DEFINITION
3 LES SYSTEMES DISTRIBUES
3.1 DEFINITION
3.2 LE MODELE CLIENT / SERVEUR
3.2.1 Dรฉfinition
3.3 LES ARCHITECTURES BASEE SUR LE MODELE CLIENT / SERVEUR
3.3.1 Lโarchitecture 1 tiers
3.3.2 Lโarchitecture 2 tiers
3.3.3 Lโarchitecture 3 tiers
3.3.4 Lโarchitecture n-tiers
4 LโEVOLUTION DES MIDDLEWARES
4.1 RPC (REMOTE PROCEDURE CALL)
4.1.1 Dรฉfinition
4.2 CORBA
4.2.1 Dรฉfinition
4.2.2 Le bus dโobjets rรฉpartis (ORB)
4.2.3 Les composantes
4.2.4 Le langage OMG-IDL
4.3 RMI
4.4 DCOM
5 CONCLUSION
CHAPITRE II : LE LANGAGE XML
1 INTRODUCTION
2 QUโEST CE QUE XML ?
3 LA SYNTAXE XML
4 STRUCTURE D’UN DOCUMENT XML
5 ESPACE DE NOMMAGE (SPACENAME)
6 GRAMMAIRE XML
6.1 DTD (DOCUMENT TYPE DEFINITION)
6.1.1 Definition
6.1.2 Dรฉclarer un รฉlรฉment
6.1.3 Dรฉclarer des attributs
6.1.4 Les limites des DTD
6.2 LES SCHEMAS XML
7 MANIPULATION DES DOCUMENTS XML
7.1 LโANALYSEUR XML
7.2 DOM (DOCUMENT OBJECT MODEL)
7.3 SAX(SIMPLE API FOR XML) :
7.4 COMPARAISON ENTRE DOM ET SAX
8 CONCLUSION
CHAPITRE III: LES SERVICES WEB
1 INTRODUCTION
2 DEFINITION DโUN SERVICE WEB
3 CARACTERISTIQUE DโUN SERVICE WEB
3.1 WEB BASED
3.2 SELF-DESCRIBED, SELF-CONTAINED
3.3 MODULAR
4 ARCHITECTURE DES WEB SERVICES
5 STANDARDS ET PROTOCOLES DES SERVICES WEB
6 LA PILE DE PROTOCOLE DES SERVICES WEB
6.1 LE PROTOCOLE HTTP
6.2 LE PROTOCOLE SOAP (SIMPLE OBJECT ACCESS PROTOCOL)
6.2.1 Structure dโun message SOAP
6.3 WSDL (WEB SERVICES DESCRIPTION LANGUAGE)
6.3.1 STRUCTURE DโUN DOCUMENT WSDL
6.4 UDDI (UNIVERSAL DESCRIPTION, DISCOVERY AND INTEGRATION)
6.4.1 LA STRUCTURE DโUN UDDI
7 CONCLUSION
CHAPITRE IV : LA CONCEPTION ET REALISATION DE L’APPLCATION
1 INTRODUCTION :
1.1 LES DIAGRAMMES EN UML
1.1.1 LES DIAGRAMMES STATIQUES
1.1.2 LES DIAGRAMMES DYNAMIQUES :
1.2 MODELISATION DE LโAPPLICATION
1.2.1 DIAGRAMME CAS DโUTILISATION :
1.2.2 DIAGRAMME DES CLASSES :
1.2.3 DIAGRAMME DE SEQUENCE :
2 IMPLEMENTATION
2.1 รCLIPSE
2.1.1 Apache Tomcat
2.1.2 Apache Axis
2.1.3 JDK
2.2 MS ACESS
2.3 VISUAL STUDIO (.NET)
3 REALISATION DE LโAPPLICATION
3.1 PARTIE SERVICE WEB
3.2 PARTIE CLIENT
CONCLUSION GENERAL
Tรฉlรฉcharger le rapport complet