Les services Web dans les systèmes distribués spécification
ETAT DE L’ART DES SERVICES WEB
Les services web et les technologies associées sont très présents dans l’informatique d’aujourd’hui. Les services web sont à l’heure actuelle de plus en plus incontournables. La preuve en est que ce sujet est de plus en plus abordé dans les publications scientifiques, les conférences, les magasins techniques mais aussi au sein de brochures commerciales. Nous allons dans la suite essayer de présenter les services Web, mais auparavant, revenons quelques années en arrière pour comprendre d’où ils sont issus.
Historique
L’historique des services Web est bien relaté dans la littérature [1, 4], mais, l’historique que nous présentons ne représente qu’un choix restreint et d’autres théories peuvent s’appliquer.Il faut remonter à la fin des années quatre-vingt-dix, une période où de nombreuses nouvelles technologies font leur apparition, comme par exemple XML (eXtended Markup Language). C’est aussi à cette période que l’on assiste à une véritable explosion du marché du Web où les acteurs économiques annoncent que la majeure partie des consommateurs américains sera bientôt connectée à Internet. L’un des facteurs majeurs, si ce n’est le principal facteur, de l’avènement des services web sur les ordinateurs de tous les jours est la démocratisation des réseaux et d’Internet en particulier. En effet, alors qu’avant 1995-1998, un or dinateur était principalement destiné à fonctionner de façon autonome. Aujourd’hui, un ordinateur sans accès au réseau des réseaux (Internet) se trouve limité au niveau de ses fonctionnalités et de l’accès aux informations. Ce facteur est, de plus, présent au niveau des entreprises, mais également des particuliers, d’où une évolution et un changement totalement radical de l’utilisation de l’ordinateur.
Ce changement radical de l’utilisation des ordinateurs va entraîner : – Un problème de gestion du parc d’ordinateurs hétérogène, – Une sous utilisation des ressources (ordinateurs de bureau) et une répartition des calculs et des données, – Un problème d’interopérabilité et de connectivité des utilisateurs, systèmes, applications, périphériques se t rouvant dans le périmètre de l’entreprise, mais aussi chez les constituants externes : partenaires, clients et fournisseurs. De nombreuses méthodes et technologies ont été utilisées pour résoudre ces problèmes. En effet, grâce à l’avènement des architectures distribuées à base de composants, CORBA, RMI Les services Web dans les systèmes distribués : spécification et études de performances DEA d’Informatique Youssou KASSE 6 et DCOM, qualifiés d’ORB (Object Request Broker) ont rencontré un certain succès, surtout à l’intérieur d’une entreprise. Mais aucune n’a vraiment réussi à s’imposer et à être adoptée de manière universelle. D’une part, elles nécessitaient généralement un investissement en compétences et un temps de développement important pour connecter une application métier à une application métier. D’autre part, ils n’ont jamais réussi à remplir tous les critères indispensables à u ne large adoption. Ils nécessitent le même runtime de chaque côté et fonctionnent difficilement au travers des pare-feux, entre autres.
Object Management Group (OMG) a défini le Common Object Request Broker Architecture (CORBA) qui, avec son protocole Internet-Inter-ORB (IIOP) dispose de plusieurs mises en œuvre commerciales ou gratuites, mais malheureusement elle souffre d’un déploiement limité et est très complexe. CORBA exige de compiler et distribuer des stubs client pour chaque type de clients que vous avez. Ce n’est pas toujours pratique, particulièrement quand vous avez un grand nombre de combinaisons de plates-formes et de langages ou quand vous voulez offrir des services à des clients anonymes au travers d’Internet. S a version 3.0 est une spécification de 560 pages! L’OMG a d écidé aussi d’intégrer le modèle EJB comme middleware plutôt que de rester neutre par rapport au langage, ce qui pose un problème d’interopérabilité.
Présentation des services Web
Architecture orientée services (SOA) On ne peut parler des services Web sans évoquer SOA. L’architecture orientée services est une réponse très efficace aux problématiques que rencontrent les entreprises en termes de réutilisabilité, d’interopérabilité et de réduction de couplage entre les différents systèmes qui implémentent leurs systèmes d’information. Pour rendre interopérables les différentes plateformes basées sur l’architecture orientée service, il faut principalement : – utiliser une API standard et normalisée de communication, aussi bien au niveau protocole de communication que de la mise à disposition des informations sur le réseau. – coder les données de manières compatibles. Bien souvent les nouvelles architectures utilisent aujourd’hui le métalangage XML pour coder leurs informations : il existe de nombreux analyseurs XML, disponibles pour un grand Les services Web dans les systèmes distribués : spécification et études de performances DEA d’Informatique Youssou KASSE 9 nombre de langages et de plateformes, permettant ainsi le choix de cette technologie sans risquer de se retrouver incompatible.
Définition des services Web
Plusieurs définitions existent dans la littérature [1, 2, 3, 4]. Un service web est un logiciel identifié par une URI [RFC 2396] (Uniform Resource Identifier), dont l’interface est publique et les liaisons sont définies et décrites en utilisant XML. Un service Web est aussi défini comme un ensemble de protocoles et de normes utilisés pour échanger des données entre les applications. Un service web est aussi vu comme un service utilisable sur le Web, par des applications ou d’autres services. Mais pour résumer on peut simplement dire qu’un service Web est un moyen d’accéder à un service par l’intermédiaire du Web.
Cela signifie, plus clairement, la capacité pour deux applications d’échanger des informations via le Web [1]. Pour permettre cet échange d’informations, il est indispensable de spécifier plusieurs éléments techniques. Tout d’abord, il faut créer une liaison entre les applications afin qu’elles puissent échanger des messages. L’établissement de cette liaison est de la responsabilité d’un protocole de communication. Ensuite, il va falloir véhiculer des informations via ce protocole, informations qui devront respecter un format précis de façon à pouvoir être interprétées par les diverses participants. Enfin, il faut un moyen à la fois pour décrire le format à respecter par les données à échanger, mais aussi une méthode pour trouver le service Web souhaité.