8. Schéma général Service consumer Service provider Registry Mediation layer/Service bus Repository Contract Business service orchestrator 2.c Retrieve service end-point 1.a Search for service 1.b Return contract 2.a Create a process instance 2.b Execute process 2.d Send request Business process description
18. Web services SOAP : Simple Object Access Protocol
19.
20.
21.
22. Structure d’un message SOAP Method Call & Data Headers HTTP Headers SOAP Message SOAP Envelope SOAP Header SOAP Body Appel de méthode et description en XML de données Corps qui contient les appels de méthodes SOAP Entête individuelle Entête Enveloppe Entête standard HTTP et entête SOAP HTTP Le message SOAP Complet
Dans le sens ou on obtient des application fonctionnant sous plates formes différentes qui doivent coopérer entre elles pour maintenir la cohérence du système d’information.
La solution est de mettre en place une architecture bien définie permettant d’interconnecter les différentes application de l’entreprise afin de remedier au grand problème d’héterogénité du système d’information de l’entreprise. L’architecture orientée service met en œuvre cette solution Définition ( http://encyclopedie.journaldunet.com) Web Services : Application web pouvant interagir dynamiquement avec d'autres programmes en utilisant des protocoles d'échanges basé sur XML comme SOAP, XML-RPC ou XMLP. Des procédures de description et de recherche de ces services ont pour nom ebXML (electronic business XML), UDDI (Universal Discovery, Description and Integration) et WSDL (Web Services Description Language). Le but est de permettre à une application de trouver automatiquement sur Internet le service dont elle a besoin et d'échanger des données avec lui. Si le service est payant, la procédure de règlement sera comprise dans la description du service.
SOA est une architecture logicielle se basant sur le concept de service, on ne parle plus de fonction ou de méthode, là tout est considéré comme un service, on monte encore un petit peu au niveau de l’abstraction. Il y a un demandeur de service et un fournisseur de services. Le demandeur ne se soucis pas de la manière dont le fournisseur offre son service, dans notre cas le demandeur et le fournisseur sont deux applications informatiques, donc si j’essaye de reformuler, l’application demandeuse est totalement indifférente des outils et du langage avec lesquels le fournisseur a implémenté le service. SOA offre donc la possibilité à différentes applications fonctionnant sous différentes plateformes d’échanger des données et des services. Donc grâce à SOA les applications deviennent facilement maintenables, réutilisables et interopérables. Il suffit d’implémenter le service et de le publier afin de le rendre accessible par les autres applications.
… .., cette architecture a été mise en œuvre par différents constructeurs mondiaux dans le domaine, à savoir Oracle, IBM, SAP qui ont proposés des solutions impliquant la technologie des web services. Donc les web services sont une technologie parmi d’autres qui permettent de construire une architecture SOA, à savoir CORBA, RPC, JMS, mais l’avantage des web services c’est qu’il utilisent le protocole http , c’est le protocole le plus universel, pour connecter les applications, les services Web peuvent fonctionner au travers de nombreux pare-feux sans nécessiter des changements sur les règles de filtrage .
Définition ( http://encyclopedie.journaldunet.com) Web Services : Application web pouvant interagir dynamiquement avec d'autres programmes en utilisant des protocoles d'échanges basé sur XML comme SOAP, XML-RPC ou XMLP. Des procédures de description et de recherche de ces services ont pour nom ebXML (electronic business XML), UDDI (Universal Discovery, Description and Integration) et WSDL (Web Services Description Language). Le but est de permettre à une application de trouver automatiquement sur Internet le service dont elle a besoin et d'échanger des données avec lui. Si le service est payant, la procédure de règlement sera comprise dans la description du service.
.NET Dot Net : Lancée en juin 2000 lors d'une conférence donnée par Bill Gates et Steve Ballmer, .NET ("dot Net" en anglais) dessine la stratégie 'tout Internet' de Microsoft. Objectif affiché : faire évoluer les solutions Windows vers un modèle ASP (applications hébergées) et proposer une plate-forme logicielle sur laquelle les entreprises pourront s'appuyer pour échanger et mettre à disposition des données et des services applicatifs. En quelque sorte, après s'être imposé dans le domaine des systèmes d'exploitation pour les PC, Microsoft prépare avec .NET le système d'exploitation du Web: une architecture logicielle au sein de laquelle des services applicatifs pourront collaborer via Internet. En ce sens, .NET représente l'adaptation « Microsoftienne » de ce que d'autres éditeurs nomment les services Web. .NET ne renvoie pas à un produit précis; il s'agit avant tout d'une initiative stratégique qui va être portée par l'ensemble des produits de la firme. On peut toutefois distinguer: 1/ Les applications traditionnelles de Microsoft : Windows XP et Office XP, nouvelles éditions du système d'exploitation et de la suite bureautique de Microsoft, qui s'appuient d'ores et déjà sur un système d'enregistrement en ligne. 2/ Les logiciels serveurs : une gamme de solutions (verticales pour certaines, horizontales pour d'autres) destinées à déployer et à administrer les composants logiciels dans le cadre de l'architecture .NET. Entre autres: Application Center distribue les applicatifs en mode hébergé à des machines clientes; Mobile Information Server déploie les Web Services sur des appareils mobiles; SQL Server stocke, retrouve et analyse les données XML structurées; BizTalk gère les processus métiers et les échanges de données à l'intérieur ou à l'extérieur de l'entreprise. 3/ Et les outils de développement, Visual Studio .NET en tête. C'est dans cet environnement qu'un composant pourra recevoir son enveloppe de service Web. Dans le cadre de sa stratégie .NET, Microsoft entend aussi promouvoir C# (prononcez "Ci charp"), un langage clairement conçu pour présenter aux développeurs une alternative à Java. J2EE Java 2 Platform Enterprise Edition: Ensemble de normes concernant les plates-formes e-business pour entreprises (serveurs d'application), basé sur le langage Java.
B2B : Se dit d'une activité professionnelle (échanges ou transactions commerciales) effectuée d'entreprise à entreprise. Le commerce B to B désigne par exemple les échanges entre un fournisseur de produits intermédiaires et un producteur distribuant au consommateur final. Services B to B : services aux entreprises. EAI : Enterprise Application Integration . Intégration des applications dans l'entreprise . L'objectif est de faire fonctionner ensemble les programmes existant dans une entreprise, en vérifiant leur interopérabilité, et gérer l'hétérogénéité générale . P2P : Relation d'échanges réciproques qui unit directement deux acteurs de même statut (des pairs, donc). A l'origine désigne une technologie d'échange de fichiers entre internautes, permettant à deux ordinateurs reliés à Internet de communiquer directement l'un avec l'autre sans passer par un serveur central. Au-delà, désigne le modèle économique qui y est associé qui permet une mise en commun à une vaste échelle de données ou de capacités, débouchant sur une réduction spectaculaire des coûts. Napster a été le modèle le plus spectaculaire de la réussite technologique du P2P... et de son échec économique.
SOAP Simple Object Access Protocol : Protocole standard destiné au services web. Lancé par IBM et Microsoft, il permet d'utiliser des applications invoquées à distance par Internet. RPC Remote procedure call : Un protocole permettant la mise en place simple d'applications client serveur. Initialement développé par Sun dans le monde TCP-IP
WSDL Web Service Description Language Dialecte XML dédié à la description de tous les éléments nécessaires pour interagir avec un service réseau (ou service web). Soutenu principalement par Ariba, IBM et Microsoft, WSDL est en 2002 proposé au W3C pour standardisation.
UDDI Universal Discovery, Description and Integration : Spécification en langage XML d'un catalogue des services offerts par les entreprises sur leurs sites Web. Lancée par Ariba, IBM et Microsoft, l'initiative UDDI doit permettre à un logiciel de reconnaître automatiquement les services dont il a besoin et de s'interfacer avec eux. Le catalogue comprendra les adresses et les contacts des entreprises, une classification sectorielle et une description des services proposés. Toutes les spécifications techniques sont fournies sur le site officiel de l'initiative UDDI.