290 likes | 406 Views
Java et les Services Web : la Deuxième Phase a Déjà Débuté. Philippe Mougin Orchestra Networks. L’auteur. Philippe Mougin Orchestra Networks Architecte logiciel – R&D EBX philippe.mougin@orchestranetworks.com. Sommaire. Les services web: originalité et bénéfices La seconde vague
E N D
Java et les Services Web : la Deuxième Phase a Déjà Débuté... Philippe Mougin Orchestra Networks Scope 2002 - L'événement Java
L’auteur • Philippe Mougin • Orchestra Networks • Architecte logiciel – R&D EBX • philippe.mougin@orchestranetworks.com Scope 2002 - L'événement Java
Sommaire • Les services web: originalité et bénéfices • La seconde vague • Orchestration • Interactivité • Adaptation • Administration Scope 2002 - L'événement Java
Les années « services web » • Implication totale des grands acteurs. • Apparition de nombreux acteurs dédiés, principalement dans le monde Java (CapeClear, The Mind Electric, Systinet, Bowstreet, Shinka etc.) • Virage des ASP, des éditeur d’EAI et de middleware classique. • Support multi-plate formes, multi-langages (C, Perl , Smalltalk , Python, Cobol, PL1, Ada etc.) • Explosion des séminaires, revues etc. Scope 2002 - L'événement Java
Les utilisateurs • Il ne manquent qu’eux! • Adoption massive (ou rejet) durant les années 2002-2005. • Fin 2002, 75 % des entreprises ayant un revenu supérieur à 100 millions de dollars utiliseront les services web, d’après le Gartner. • Aujourd’hui, les early-adopters sont déjà en production, avec des applications complexes, multi-entreprises, sécurisés, transactionnelles. Scope 2002 - L'événement Java
Rappel technique sur les services web • Les services web constituent une solution, parmi d’autres, à un problème ancien: comment faire communiquer des programmes (potentiellement distants) entre eux ? • Services web, RPC, objets distribués (Corba, RMI, DCOM, .NET Remoting etc.), MOM etc. => Variations sur un même thème. Scope 2002 - L'événement Java
D’où viens le succès ? • Utilisation d'XML pour représenter les échanges entre applications et les interfaces des services Web. • Émergence des architectures « orientées services » • Accord, pour la première fois, de toute l’industrie, y compris Microsoft, autour d’un standard d’interopérabilité (SOAP). • Annuaires mondiaux de services. Bien que ces éléments soient importants, ils ne fondent pas aujourd’hui le succès de l’approche service web. Scope 2002 - L'événement Java
Une idée simple et astucieuse • Utiliser l’infrastructure web existante, c.a.d. tout ce qui tourne autour d’HTTP, comme support des interactions entre applications distribuées. Scope 2002 - L'événement Java
Services web: interactions programmatiques sur HTTP Web classique interactif : interaction utilisateur/serveur HTTP Request HTTP Response : HTML Services Web = Appels programmatiques sur le Web Communication « Application to Application » (A2A ) HTTP Request HTTP Response : Données Scope 2002 - L'événement Java
Bénéfice: réduction radicale des coûts • Réutilisation des outils actuels, qu’il soient basés sur un serveur d’application, du scripting à la PHP, des programmes cgi etc. • Réutilisation des compétences. • Seuls les éléments touchant directement à la génération du HTML ou à la gestion d’une interaction utilisateur ne sont pas réutilisés. • Coté client, il suffit de savoir émettre une requête HTTP ! Scope 2002 - L'événement Java
Réutilisation de l’infrastructure web • Mise en ligne d’un service web • Authentification • Cryptage • Firewalls • Scalabilité • Load-balancing, clustering, fault-tolerance • Environnement d’exécution • Administration / Logs • Semantic web & nouveaux standards du web: approche REST Scope 2002 - L'événement Java
2001 2000 1998 2002 Mi-2002 SUN se rallie à SOAP et annonce sa stratégie services web. La plupart des acteurs s’impliquent. Microsoft, UserLand et Developmentor développent XML-RPC et SOAP Les initiatives technologiques, les propositions de standard se multiplient Coup de tonnerre: Microsoft annonce que SOAP est au cœur de .NET SUN finalise les API Java pour les services web (notamment JAX-RPC) et publie une implémentation de référence SUN qualifie SOAP de « technologie sans aucune valeur » et de « hype » Dynamique industrielle 1996 Premiers services web via de simples POST HTTP Scope 2002 - L'événement Java
La première phase: expérimentation JAXP (SAX, DOM) Systinet WASP The Mind Electric GLUE BowStreet Factory • Multiplication des technologies. • Éclosions d’éditeurs dédiés. • APIs non standards. • Interopérabilité limitée. • Pas de support natif de SOAP dans les serveurs d’application, ou support très médiocre. • Nombreuses expérimentations chez les utilisateurs. Shinka IBM Toolkit CapeClear IONA XML-BUS Apache SOAP Scope 2002 - L'événement Java
La deuxième phase JAX-RPC JAXM Systinet WASP JAXP SAAJ The Mind Electric GLUE JAXR BowStreet Factory JDOM Shinka IBM Toolkit WebLogic CapeClear • Standardisation via le JCP. • Consolidations. • Support natif de SOAP par les serveurs d’application. • Amélioration de l’interopérabilité. • Rapprochement avec d’autres initiatives: ebXML, REST etc. • Industrialisation chez les early-adopters. IONA XML-BUS Oracle Apache SOAP Apache AXIS Scope 2002 - L'événement Java
JAX-RPC: standard mais lourd import java.net.*; import javax.xml.namespace.*; import javax.xml.rpc.*; ... URLWSDLLocation=newURL("http://test.on.com/h/s1?WSDL"); QNameserviceName=newQName("http://www.on.com/Message.xsd", "ONWS"); QnameportName=newQName("http://www.on.com/Message.xsd", "ONWS"); ServiceFactoryserviceFactory=ServiceFactory.newInstance(); Serviceservice=serviceFactory.createService(WSDLLocation,serviceName); Callcall=service.createCall(portName,"HelloWorld"); call.invoke(newObject[]{}); import electric.registry.*;... Registry.bind("http://test.on.com/h/s1?WSDL").invoke("HelloWorld",new Object[]{}); Scope 2002 - L'événement Java
Types d’utilisation Orchestration - Adaptation - Administration Services web pour la communication au sein de l’entreprise Services web pour la communication avec des partenaires Services web dans les applications grand public Scope 2002 - L'événement Java
Exemple API SOAP, XML-RPC etc. Scope 2002 - L'événement Java
Orchestration API SOAP, XML-RPC, etc. 1 2 3 • Définition des enchaînements. • Approche workflow ? • Appels synchrones/asynchrones. • Langage d’orchestration (WSFL etc.)? • Outils (WebLogic Workshop, etc.) ? Scope 2002 - L'événement Java
Orchestration API SOAP, XML-RPC etc. 1 2 3 • Exprimer les appels en Java. • Rejeter les approches « web service only ». Scope 2002 - L'événement Java
Granularité API SOAP (granularité fine) Scope 2002 - L'événement Java
Services Web Interactifs Granularité API SOAP + Gestion de l’IHM (granularité large) Scope 2002 - L'événement Java
Données Flux IHM Données Services web interactifs SW non interactif Appels programmatiques SW interactif Evènements IHM Appels programmatiques Scope 2002 - L'événement Java
Services web interactifs • Groupe de travail OASIS: WSIA (Web Services for Interactive Applications) • WSRP (Web Services for Remote Portals) • BowStreet • Orchestra Networks • WebCollage Scope 2002 - L'événement Java
Partenariats multiples • Les services web permettent d’envisager de nouveaux modèles de partenariat. • Comment assurer la mise en place et la gestion de nombreux partenaires ? • Comment permettre la mise en œuvre de partenariats tactiques ? Scope 2002 - L'événement Java
Adaptation • Les services web peuvent intégrer une technologie d’adaptation. • Le comportement des services web est configuré différemment selon les différents contextes d’appels (partenaires). • Les outils d’adaptation doivent êtres utilisables par des hommes métiers. • Tests. • Adaptation en masse. • Impact méthodologique. Scope 2002 - L'événement Java
Adaptation • Deux types d'adaptation • Adaptation graphique (uniquement pertinente pour les services web interactifs). • Adaptation métier. • L’adaptation implique les différents partenaires. • Délégation de certains droits d’adaptation par le propriétaire du service web. • Plateforme commune d’adaptation. Scope 2002 - L'événement Java
Administration • Mise en ligne d’un nouveau service web ou d’une nouvelle version d’un service web existant. • Collaboration Protocol Profiles (ebXML). • Collaboration Protocol Agreement (ebXML). • Validation par les divers acteurs. • Gestion des droits d’adaptation. • Définition et attribution de niveaux de services (WSEL, CPA…). • Reporting. • Calcul d’impacts. Scope 2002 - L'événement Java
Standards • ebXML (note: JAXM supporte le service d’échange de message d’ebXML). • WSIA (Web Services for Interactive Application). • WSRP (Web Services for Remote Portals) Scope 2002 - L'événement Java
Questions ? Scope 2002 - L'événement Java