Passer au contenu

Les web services : des middle-ware façonnés pour internet

Les web services relient des composants logiciels hétérogènes via HTTP. Ils représentent à la fois un puissant outil d’unification de l’existant (pont entre les modèles Com, Corba et Java) avec la plate-forme de développement des composants internet de demain.

C’est exactement cette vision qui sous-tend l’offre de Bowstreet, le pionnier des services web. Baptisé Business Web Factory, son outil assemble en effet à la volée et en temps réel plusieurs services web selon un “modèle” afin de donner naissance à un business web (application internet composée de plusieurs services web). Les applications concrètes de cette approche sont légion. Deux PME échangent leurs données à moindre frais par ce biais, sans avoir recours à des outils EDI traditionnels. De son côté, un web marchand a la possibilité de proposer en toute transparence l’offre de partenaire sur son site. Une opportunité d’ores et déjà saisie par Ineas (assurance) et la SBE (banque). Au final, le nombre d’applications autorisées par cette technologie est incalculable. Elle permet en effet aux systèmes d’information de passer en douceur d’une organisation monolithique refermée sur elle-même à un réseau de services administrés par plusieurs entreprises, mais tournés vers les mêmes clients.
, DCom (Distributed Component Object Model) ou EJB (Enterprise javaBeans) devaient, en théorie, apporter une solution fiable à cette problématique. Mais deux difficultés se posent dans la pratique. D’une part, il est difficile de faire communiquer un objet Corba avec un objet Com ; d’autre part, les coupe-feu des entreprises bloquent les protocoles de communication utilisés par ces objets, compliquant terriblement leur déploiement. Chacun y va donc de sa solution. Les “gros” partenaires déploient leur système d’information dans une logique one-to-one qui devient vite très coûteuse. Les petits sites, quant à eux, utilisent des composants spécialisés dans le parsing des sites partenaires. Cette méthode, aussi inélégante qu’inefficace, consiste à récupérer la page web du site partenaire, à la déshabiller pour finalement réinjecter les données intéressantes dans son propre site.

Pour un meilleur service client

Lorsque l’entreprise possède des dizaines de partenaires, la situation devient vite intenable, le service rendu au client n’étant pas à la hauteur de ses attentes. Celui-ci doit sans cesse ressaisir les mêmes informations et assurer la coordination des différents services auxquels il fait appel puisque ces derniers ne sont pas pris en compte.C’est l’essor des architectures objet, ou tout au moins d’une approche par composants, qui a donné naissance au concept de service web. Les entreprises sont en effet de plus en plus nombreuses à assembler des composants à la volée pour fournir des pages sur mesure aux internautes. Il ne restait plus qu’à pousser ce modèle un peu plus loin, de façon à ce que les serveurs d’application soient capables de pren-dre en compte les composants des partenaires directement via HTTP.

Services web = HTTP + Soap + WSDL + composant

Ensuite, aux différents éditeurs de logiciels à coopérer pour concrétiser cette vision. Microsoft, Sun, IBM, Hewlett-Packard ou Bowstreet ont donc décidé de bâtir une solution technologique commune, capable d’étendre leurs modèles respectifs au monde d’internet. C’est ce que proposent les services web. Il s’agit d’applications propriétaires auxquelles on ajoute une interface de description (WSDL pour Web Services Description Language), ainsi que des protocoles de communication standard (HTTP et Soap [Simple Object Access Protocol]). “Un service web ne possède pas d’interface utilisateur au sens classique du terme. Il se contente de dialoguer via HTTP avec d’autres services web à l’aide d’un contrat, c’est-à-dire une liste de méthodes”, précise Pablo Sanders, consultant stratégique chez HP. La description de l’interface suit exactement la même démarche qu’un IDL (Interface Definition Language) Corba. Elle est assurée par WSDL, un langage de description qui s’appuie sur XML (eXtensible Markup Language). Le fichier WSDL expose les méthodes de l’objet Com, Java, C++, Cobol…, de façon à ce que n’importe quel autre service web puisse comprendre cette interface. Typiquement, un programmeur qui utilise Visual Studio.Net de Microsoft analysera les propriétés d’un service web comme il le fait actuellement pour un objet Com. Une fois les méthodes découvertes, il pourra y recourir dans ses développements, sans se soucier de ce qui se passe au niveau internet, même si le service web obtenu est écrit en Java. Le protocole Soap se charge du transport des données sur HTTP. Le message Soap transitant sur internet est lui-même codé en XML. Il transporte à la fois les données métier échangées entre les 2 objets distants et les données techniques nécessaires à la bonne exécution de l’appel : nom de la méthode appelée, types des données métier transportées, etc. Les plates-formes de développement et d’exploitation de services web ont donc essentiellement deux objectifs.Le premier consiste à créer le fichier de description au format WSDL à partir d’un composant existant. Il s’agit en fait de décrire les différentes méthodes de l’objet en XML, ainsi que diverses autres propriétés. L’outil de développement doit être capable de lire un fichier WSDL en sens inverse afin d’exposer l’interface des objets distants au développeur. Le second objectif concerne la génération des proxies et des listeners Soap. Ces modules traduisent les requêtes des plates-formes d’exécution (Com, Java ou autre) au format Soap et vice versa. Ils jouent le rôle de traducteur et de passerelle entre le monde internet et le système d’information de l’entreprise. La génération de ces composants (fichier WSDL, proxy Soap) est statique ou dynamique. “Mais concrètement, la génération dynamique, qui existait déjà en Corba, reste trop complexe à mettre en ?”uvre ; les développeurs préfèrent créer le proxy Soap et le fichier WSDL à la main”, précise Pablo Sanders de HP.

Sélectionner en permanence les fournisseurs les moins chers

Un système d’annuaire automatise la découverte des services répondant à des critères précis. Ainsi, et même si cela reste théorique, un marchand en ligne comme Amazon pourrait sélectionner en permanence l’entreprise de livraison la moins chère et inclure ses services dynamiquement dans son site. Le tout en temps réel. Si Fedex vient à augmenter ses tarifs ou si son service web est en maintenance, il serait automatiquement remplacé par celui d’UPS. C’est UDDI (Universal Description, Discovery and Integration) qui autorise la découverte dynamique de services web. Défini conjointement par Microsoft, Ariba et IBM, ce standard sert à créer des annuaires à multiples facettes. Les “pages blanches” recensent les entreprises, les “jaunes” la description, au format WSDL, des services web associés.Face à la réorganisation des entreprises autour de leurs clients et à une problématique croissante d’intégration, tant au niveau des partenaires qu’en interne, le système d’information s’oriente peu à peu vers un modèle de composants, assemblés selon des processus métier en perpétuelle évolution.

Des applications toujours plus centrées sur l’utilisateur final

C’est exactement cette vision qui sous-tend l’offre de Bowstreet, le pionnier des services web. Baptisé Business Web Factory, son outil assemble en effet à la volée et en temps réel plusieurs services web selon un “modèle” afin de donner naissance à un business web (application internet composée de plusieurs services web). Les applications concrètes de cette approche sont légion. Deux PME échangent leurs données à moindre frais par ce biais, sans avoir recours à des outils EDI traditionnels. De son côté, un web marchand a la possibilité de proposer en toute transparence l’offre de partenaire sur son site. Une opportunité d’ores et déjà saisie par Ineas (assurance) et la SBE (banque). Au final, le nombre d’applications autorisées par cette technologie est incalculable. Elle permet en effet aux systèmes d’information de passer en douceur d’une organisation monolithique refermée sur elle-même à un réseau de services administrés par plusieurs entreprises, mais tournés vers les mêmes clients.

Les composants au c?”ur de la plate-forme d’intégration

Capables de faire communiquer tout composant hétérogène, où qu’ils se trouvent, les services web sont au c?”ur de la problématique d’intégration des entreprises. D’abord perçus comme une technologie de développement de nouveaux services, les analystes s’accordent à dire que c’est avant tout leur capacité à interfacer n’importe quel objet existant qui fera décoller leur utilisation. “Dans un premier temps, les services web apparaîtront en interne pour constituer la base de la stratégie EAI (Enterprise Application Integration) des entreprises. Les technologies Soap, WSDL et UDDI se révèlent en effet rapides à mettre en ?”uvre, peu coûteuses et apportent un premier niveau d’intégration”, estime Jean-Christophe Cimetière, directeur de Techmetrix Research, un cabinet de conseil en technologies situé à Boston. L’intégration des applications en interne demeure essentielle. “Elle favorise l’unification de l’information de l’entreprise autour d’un référentiel commun. Ce point est primordial pour pouvoir ouvrir ses applications à ses partenaires”, explique Jean-Christophe Bernadac, directeur technique de Cosmosbay.L’intégration intervient aux niveaux des données et de l’interface. Les outils d’EAI créent un bus logiciel qui relie l’ensemble des applications autour de différents processus métier. Lors de la passation d’une commande sur un site web par exemple, le serveur d’application interroge l’ERP (Enterprise Ressource Planning) afin de connaître l’état des stocks, récupère les informations client dans l’outil de CRM (Customer Relationship Management), puis se connecte à nouveau à l’ERP pour déclencher la commande, etc. Ces processus sont généralement modélisés sous la forme d’objets Java, C++ ou Visual Basic. Un moteur de workflow assemble les différents objets à chaque processus. Des objets qui ne demandent qu’à être transformés en services web pour permettre aux partenaires d’y accéder.De leur côté, les portails d’entreprise ou EIP (Enterprise Information Portal) rassemblent l’ensemble des applications au sein d’une interface graphique cohérente et personnalisée en fonction de chaque individu. Pour parvenir à créer ce véritable bureau virtuel, les générateurs de portails s’intercalent entre la plate-forme web et les applications (base de données, messagerie, ERP…) dans une démarche proche du web to host. Ils ont donc besoin de nombreux connecteurs (généralement fournis par les solutions d’EAI) de façon à dialoguer et à puiser leurs données dans les diverses applications. Les objets métier destinés à interfacer un ERP dans un portail d’entreprise sont eux aussi très proches des services web.

La normalisation gagne les services web

De là à ce qu’un même composant soit standardisé sous la forme de service web puis inséré dans de nombreuses configurations, il n’y a qu’un pas, que certains éditeurs ont déjà franchi. Quelques outils (Net.Portal de Me-diapps ou IBM Portal Server) donnent déjà accès à des flux d’information externes, mais pas encore sous la forme de services web. D’autres solutions, telle celle d’Epicentric, comprennent des offres ASP, comme la gestion de comptes e-mail, en toute transparence pour l’utilisateur final. Mais c’est à coup sûr la plate-forme Business Web Factory de Bowstreet qui se révèle la plus avancée. Elle facilite l’assemblage de services web à la volée en fonction d’un contexte donné afin de créer soit une application, soit les pages d’un site web.Les serveurs d’application de dernière génération s’appuient sur des plates-formes objet telles que J2EE (les 2 leaders sont WebSphere d’IBM et WebLogic de BEA) ou .Net de Microsoft. À partir de ce socle, les éditeurs proposent des fonctions de plus haut niveau comme la création de portails ou de sites marchands. Celles-ci sont généralement installées sous forme de composants, qui ne vont pas tarder à devenir des services web. Les acteurs du secteur viennent en effet d’annoncer que leurs produits seraient nativement compatibles Soap, WSDL et UDDI dans les semaines ou les mois à venir. Tous les grands éditeurs de logiciels parient sur cette architecture à base de composants distribués. Ils ont en outre consacré ces derniers mois à renforcer leurs plates-formes à base de composants par des offres de connecteurs, d’EAI ou des fonctions de portails. Toutes ces nouvelles technologies ont été prises en compte sous la forme d’EJB ou de composants. Leur vision est claire : une plate-forme d’intégration généraliste et des composants internet normalisés.IBM se montre extrêmement actif dans le domaine des services web. Son offre WebSphere supportera nativement Soap, WSDL et UDDI. Même approche chez BEA avec WebLogic Commerce Server et eLink, sa technologie d’EAI. Chez HP, le trio BlueStone/Process Manager/ e-Speak se positionne comme concurrent des solutions de BEA et d’IBM.

La clé de la stratégie de Microsoft

De son côté, Sun a racheté Forte, et surtout son produit Fusion, de façon à disposer d’une plate-forme EAI digne de ce nom. Open Network Environment, la nouvelle stratégie de Sun, encourage les entreprises à développer leurs applications sous forme de services web et à les assembler ensuite à l’aide des outils de la gamme iPlanet. Idem pour Microsoft avec BizTalk Server, .Net et sa participation plus qu’active aux travaux qui ont donné naissance à Soap, WSDL et UDDI. “Les services web sont la clé de la stratégie de Microsoft. C’est le seul moyen de faire interopérer des applications hétérogènes au travers d’internet”, confirme Pascal Belaud, évangéliste chez Microsoft. Enfin, “les e-services sont au c?”ur de la stratégie d’HP, affirme Olivier Sicot, responsable du marketing des infrastructures e-services chez le constructeur. La famille HP Netaction constitue la nouvelle génération de middleware destiné au développement, à l’intégration et au déploiement rapides de services internet.”

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Frédéric Bordage