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