Le langage de programmation JAVA
De nos jours, les entreprises expriment un grand besoin pour รฉchanger des informations et des services. Ceci nรฉcessite des langages communs de communication. Les efforts dโรฉlaboration de ces langages ont donnรฉ lieu a un nouveau domaine de recherche connu sous le nom de ยซ business protocoles ยป. Une technologie รฉmergeante dans ce domaine a permis de tracer quelques pistes intรฉressantes pour la communication entre entreprises. Cette technologie est celle de web services
Les web services sont un paradigme naissant qui vise ร la transposition des architectures, par composant dans le cadre du Web, d’autres technologies telles que RMI, DCOM et CORBA ont prรฉcรฉdemment adoptรฉ ce style architectural mais ont gรฉnรฉralement รฉchouรฉ en raison de la diversitรฉ des plates-formes utilisรฉes dans les organisations et aussi parce que leur usage n’รฉtait pas adaptรฉ ร Internet (problรจme de passage ร travers des FireWalls, etc.).
Dโoรน la lenteur, voire l’absence de rรฉponses sur ce rรฉseau. Les applications rรฉparties fondรฉes sur ces technologies offrent des solutions caractรฉrisรฉes par un couplage fort entre les objets. Les solutions proposรฉes par les services Web, permettent nรฉanmoins un couplage moins fort. De plus, l’utilisation des technologies standards du Web telles HTTP et XML par les services Web facilite le dรฉveloppement d’applications rรฉparties sur Internet, et permet d’avoir des applications trรจs faiblement couplรฉes. L’intรฉgration est sans doute le facteur essentiel qui favorise l’utilisation des services Web.
Lโarchitecture orientรฉe service SOA
Dรฉfinition
Plusieurs dรฉfinitions sont utilisรฉes pour dรฉfinir et expliquer lโarchitecture SOA. Les dรฉfinitions suivantes illustrent diffรฉrentes vues de la SOA. Cependant, elles convergent toutes vers un seul sens :
Mรฉtier :
ยซ Lโarchitecture orientรฉe service est un ensemble de mรฉthodes techniques, mรฉtiers, procรฉdurales, organisationnelles et gouvernementales pour rรฉduire ou รฉliminer les frustrations avec les technologies dโinformation, et pour mesurer quantitativement la valeur mรฉtier des technologies dโinformation, pendant la crรฉation d โun environnement mรฉtier agile pour un intรฉrรชt concurrentiel. ยป .
Technique :
ยซ Une architecture SOA est une structure dโintรฉgration de processus mรฉtier qui supporte une infrastructure des technologies dโinformation comme รฉtant des composants et services sรฉcurisรฉs, standardisรฉs et qui peuvent รชtre combinรฉs pour sโadresser aux prioritรฉs de changements mรฉtiers. ยป .
Par consรฉquence, un SOA (Services Oriented Architecture ; architecture orientรฉe service) repose sur la rรฉorganisation des applications ร partir dโun ensemble de services รฉlรฉmentaires. Ces applications (visibles) reprรฉsentent les services en question s’appuyant fonctionnellement parlant que des interfaces standards (langages SOAP WSDL ou REST pour Representational State Transfer), connue sous le nom de Web Services, couches d’invocation comprรฉhensibles potentiellement par l’ensemble des systรจmes en prรฉsence, pour peu qu’elles intรจgrent le module d’interprรฉtation nรฉcessaire. Au sein d’un tel environnement, des services (dits ยซย producteursย ยป) sont ainsi exposรฉs ร d’autres services (dits ยซย consommateursย ยป).
Comme la montre la figure ci-dessous, les fournisseurs de services enregistrent et publient leurs services dans un annuaire de services pour respecter lโarchitecture SOA, les clients de services ou les utilisateurs consultent cet annuaire pour trouver des services qui vรฉrifient les critรจres qui correspondent ร certaines descriptions, si cโest vรฉrifiรฉ lโannuaire rรฉpond aux clients en donnant les descriptions de la requรชte avec un contrat dโutilisation. Alors le client fait son choix en sโadressant au fournisseur pour invoquer le service Web.
Les avantages de SOA
Une architecture orientรฉe services permet d’obtenir tous les avantages d’une architecture client-serveur et notamment :
– Une modularitรฉ permettant de remplacer facilement un composant (service) par un autre.
– Une rรฉutilisabilitรฉ possible des composants (par opposition ร un systรจme touten-un fait sur mesure pour une organisation).
– De meilleures possibilitรฉs d’รฉvolution (il suffit de faire รฉvoluer un service ou d’ajouter un nouveau service).
– Une plus grande tolรฉrance aux pannes.
– Une maintenance facilitรฉe .
Les services web
Plusieurs dยดdรฉfinitions des services Web ont รฉtรฉ mises en avant par diffรฉrents auteurs.
Dรฉfinition 1
Le consortium W3C (World Wide Web Consortium) dรฉfinit un service Web comme รฉtant: ยซA Web service is a software system designed to support interoperable machineto machine interaction over a network. It has an interface described in a machineprocessable format (specifically WSDL). Other systems interacact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. ยป :
– Il est identifiรฉ par un URI (Uniform Resource Identifier) [8].
– Ses interfaces et ses liens peuvent รชtre dรฉcrits en XML.
– Sa dรฉfinition peut รชtre dรฉcouverte par dโautres services Web.
– Il peut interagir directement avec dโautres services Web ร travers le langage XML en utilisant des protocoles Internet standards.
Dรฉfinition 2
Les services web reprรฉsentent un domaine de recherche jeune. IBM donne dans un tutorial la definition suivante des services web: ยซ Web services are a set of emerging standards that enable interoperable integration between heterogeneous IT processes and systems. You can think of them as a new breed of web application that is self-contained and self-describing, and that can provide functionality and interoperation ranging from the basic to the most complicated business and scientific processes. In short, web services hold the promise for providing a common standard mechanism for interoperable integration among disparate systems, and the key to their utility is their standardization. This common mechanism for delivering a ยซย serviceย ยป makes them ideal for implementing a service-oriented architecture (SOA). ยป
Lโintรฉrรชt des services Web
Les services Web fournissent un lien entre applications. Ainsi, des applications utilisant des technologies diffรฉrentes peuvent envoyer et recevoir des donnรฉes au travers de protocoles comprรฉhensibles par tout le monde. Les services Web sont normalisรฉs car ils sollicitent les standards XML et gรฉnรฉralement HTTP pour transfรฉrer des donnรฉes et ils sont en affinitรฉ avec de nombreux autres environnements de dรฉveloppement. Ils sont donc exploitables ร distance via n’importe quel type de plate-forme. C’est dans ce contexte qu’un intรฉrรชt trรจs spรฉcial a รฉtรฉ attribuรฉ ร la conception des services Web puisqu’ils permettent aux entreprises de dรฉlivrer des applications profitables ร distance par d’autres entreprises.
Les caractรฉristiques des services Web
Cette technologie est devenue la base de l’informatique distribuรฉe sur Internet et offre beaucoup d’opportunitรฉs au dรฉveloppeur Web qui possรจde les caractรฉristiques suivantes:
– Il est accessible via le rรฉseau.
– Il dispose d’une interface publique (ensemble d’opรฉrations) dรฉcrite en XML.
– Web based : les Web services sont basรฉs sur les protocoles et les langages du Web, en particulier HTTP et XML.
– Self-described, self-contained : le cadre des Web services contient en lui-mรชme toutes les Informations nรฉcessaires ร lโutilisation des applications, sous la forme de trois fonctions : trouver, Dรฉcrire et exรฉcuter.
– Modular : les Web services fonctionnent de maniรจre modulaire et non pas intรฉgrรฉe. Cela signifie quโau lieu dโintรฉgrer dans une seule application globale toutes les fonctionnalitรฉs, on crรฉe (ou on rรฉcupรจre) plusieurs applications spรฉcifiques quโon fait inter-opรฉrer entre elles, et qui remplissent chacune une de ces fonctionnalitรฉs. Une fonctionnalitรฉ dรฉveloppรฉe sous forme de Web services peut dorรฉnavant รชtre rรฉutilisรฉe et recombinรฉe ร une suite d’autres fonctionnalitรฉs pour composer une Nouvelle application.
– Ses descriptions (fonctionnalitรฉs, comment l’invoquer et oรน le trouver ?) sont stockรฉes dans un annuaire.
Architecture des services web
Couche transportย
Cette couche est responsable du transport des messages XML รฉchangรฉs entre les applications. Actuellement, cette couche inclut HTTP, SMTP (Simple Mail Transfer Protocol), FTP (File Transfer Protocol), Le transport de messages XML-RPC (Remote Procedure Call) ou SOAP (Simple Object Access Protocol) est assurรฉ par le standard HTTP.
Couche communicationย
Cette couche est responsable du formatage des donnรฉes รฉchangรฉes de sorte que les messages peuvent รชtre compris ร chaque extrรฉmitรฉ. Cette couche utilise des protocoles reposants sur le langage XML, car sa syntaxe unique rรฉsout les conflits syntaxiques lors de lโencodage des donnรฉes. Actuellement, SOAP est le protocole le plus utilisรฉ pour cette couche.
Couche description de serviceย
Cette couche est responsable de la description de l’interface publique du service Web. Le langage utilisรฉ pour dรฉcrire un service Web est WSDL (Web Services Description Language)ย qui est la notation standard basรฉe sur XML pour construire la description de l’interface d’un service.
Couche de dรฉcouverte de serviceย
Cette couche est chargรฉe de centraliser les services dans un registre commun, et de simplifier les fonctionnalitรฉs de recherche et de publication des services Web. Actuellement, la dรฉcouverte des services est assurรฉe par un annuaire UDDI (Universal Description, Discrovery, and Integration) .
Conclusion Gรฉnรฉraleย
Ce projet de fin dโรฉtude prรฉsente lโaboutissement dโun travail laborieux, il nous a permis de connaitre beaucoup de choses qui ont amรฉliorรฉ nos connaissances dans le domaine des services web. Nous avons prรฉsentรฉ dans ce mรฉmoire les technologies liรฉes aux services web, en lโoccurrence une application qui a aboutit la crรฉation dโun compte bancaire via services web satisfaisant les besoins de lโutilisateur. Tout travail est amenรฉ ร รชtre amรฉliorรฉ, en ce sens, notre application peut encore รฉvoluer Voire sโamรฉliorer. Comme perspectives au travail rรฉalisรฉ ci dessus, nous proposons les amรฉliorations suivantes : Composer notre application (services web) avec dโautres applications (services web).
|
Table des matiรจres
Introduction Gรฉnรฉrale
1. Introduction
2. Lโarchitecture orientรฉe service SOA
2.1. Dรฉfinition
2.2. Les avantages de SOA
3. Les services web
3.1. Dรฉfinition
3.2. Dรฉfinition
3.3. Lโintรฉrรชt des services Web
3.4. Les caractรฉristiques des services Web
3.5. Architecture des services web
3.6. Les principales technologies de dรฉveloppement de service Web
3.6.1. Communication
3.6.2. Description
3.6.3. Publication
3.7. Les avantages et inconvรฉnients des services Web
3.7.1. Avantages
3.7.2 Inconvรฉnients
4. Conclusion
1. Introduction
2. Modรฉlisation
3. Diagramme de classe.
4 .Le langage de programmation JAVA
4.1. Dรฉfinition
4.2. Objectif
5. Exemple dโImplรฉmentation dโun web service en JAVA
5.1. Lโexemple de la classe crรฉation du compte bancaire
5.2 .lโexemple de la classe client
5.3 .Prรฉsentation des pages de teste
5.3.1.Page de teste ยซ crรฉation un compte ยป selon la figure en dessous
5.3.2.page de teste ยซ ajout dโun soldeยป
6. Le fichier WSDL
7. Conclusions
Conclusion Gรฉnรฉrale
Tรฉlรฉcharger le rapport complet