La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Architectures Orientées Services Module 5 Les expressions de processus.

Présentations similaires


Présentation au sujet: "Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Architectures Orientées Services Module 5 Les expressions de processus."— Transcription de la présentation:

1 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Architectures Orientées Services Module 5 Les expressions de processus d’orchestration BPEL L’initiative SCA

2 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Plan du module La problématique de « l’orchestration » des services sur le Web –Les langages d’expression de processus SOA L’initiative des composants standards d’architecture des services

3 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod BPEL : Business Process Execution Language BPEL est un langage XML standard pour l’expression de procédures d’appel à des services Il se décline en deux standards complémentaires –BPEL4WebServices Définit le langage pour l’organisation des appels aux web services –BPEL4People Définit le langage pour spécifier l’organisation des gestes des acteurs humains dans une architecture de web services

4 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Rappel sur la notion de services Un « web service » n’est que la description d’un service ; il ne spécifie en rien où et comment il fonctionne. Pour qu’il soit utilisable la description d’un web service doit spécifier un « binding » qui définit l’implémentation de l’appel à ce service. Le « binding » le plus fréquent est SOAP/HTTP pour appeler des services via le Web ; une autre forme de « binding » est celui de Java qui permet de définir des implémentations locales d’appel à des services. Par exemple si vous voulez écrire un web service permettant à des clients d’écrire quelque chose d’original, comme « hello world ! » vous pouvez l’écrire en java, et l’exposer comme un web service

5 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Option d’architecture Ordinairement BPEL est un langage de programmation coté serveur: –déployé pour servir et suivre une requête venue coté client –Déployé comme une sorte de Proxy commode pour un ensemble d’applications anciennes Dans les deux cas l’enchaînement typiquement des événements : –Le web service client demande quelque chose au serveur, via un navigateur ou un autre serveur –La requête du client est reçue par le serveur de processus BPEL –La requête du client est identifiée comme une nouvelle instance du processus BPEL invoqué pour le servir –Le client continue à interagir avec le processus en cours avec des échanges mutuels de messages selon l’organisation du processus, jusqu’à achèvement de celui-ci –L’instance du processus disparaît alors que le client achève son activité

6 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod BPEL : un langage XML de programmation Comme tout langage BPEL comporte : –Des déclaration de variables (typées) Utilisant le typage de données de XML-Schema (XSD) –Des entrées sorties Faisant appel à des descriptions de web services WSDL –Une logique d’exécution BPEL soi même L’exemple didactique qui suit montre un appel élémentaire pour un web service aussi élémentaire

7 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod La structure d’une expression BPEL entrées sorties Déclaration de Variables logique d’exécution

8 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod <process xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:print="http://www.eclipse.org/tptp/choreography/2004/engine/Print" <import importType="http://schemas.xmlsoap.org/wsdl/" location="http://blah.wsdl" namespace="http://www.eclipse.org/tptp/choreography/2004/engine/Print" /> <partnerLink name="printService" partnerLinkType="print:printLink" partnerRole="printService"/> Hello World $MaVariable.value Approche par l’exemple : « hello world »

9 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod <process xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:print="http://www.eclipse.org/tptp/choreography/2004/engine/Print" <import importType="http://schemas.xmlsoap.org/wsdl/" location="http://blah.wsdl" namespace="http://www.eclipse.org/tptp/choreography/2004/engine/Print" /> <partnerLink name="printService" partnerLinkType="print:printLink" partnerRole="printService"/> Hello World $MaVariable.value Les PartnerLinks peuvent être vus comme les emplacements pour les objets auxquels vous vous adressez effectivement Si un web service est décrit par une ressource WSDL, un PartnerLink définit une instance du web service invoqué. Il se mappe vers un « portType » WSDL de sorte qu’à un partnerLink correspond un seul web service. Approche par l’exemple L’adresse du web service invoqué

10 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod <process xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:print="http://www.eclipse.org/tptp/choreography/2004/engine/Print" <import importType="http://schemas.xmlsoap.org/wsdl/" location="http://blah.wsdl" namespace="http://www.eclipse.org/tptp/choreography/2004/engine/Print" /> <partnerLink name="printService" partnerLinkType="print:printLink" partnerRole="printService"/> Hello World $MaVariable.value Approche par l’exemple La description d’un web service est semblable à la description de la façon dont on procède pour se faire livrer une pizza : vous appelez, donnez votre adresse, et spécifiez la ou les sortes de pizzas que vous voulez. L’élément « Partnerlink » est semblable aux Post-It ® sur lequel vous avez reporté le noms et les n° de teléphone de différents marchands de pizza… vous vous servez d’un de ces Post-It pour appeler un marchand particulier (sorte de Web Service). au numéro appelé correspond l’élément d’addresse 'endpoint ' défini dans la description WSDL ou dans la spécification BPEL, où il peut être placé dans un élément partnerLink pour appeler un autre fournisseur. Un « partnerlinks » spécifie aussi la façon dont d’autres web services s’adressent à vous. Le partner link définit ici le rôle du web service appelé. De façon symétrique, cette définition du « partnerlink » pourrait avoir un attribut ‘myRole' qui définirait le web service que cette expression BPEL implémenterait.

11 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod <process xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:print="http://www.eclipse.org/tptp/choreography/2004/engine/Print" <import importType="http://schemas.xmlsoap.org/wsdl/" location="http://blah.wsdl" namespace="http://www.eclipse.org/tptp/choreography/2004/engine/Print" /> <partnerLink name="printService" partnerLinkType="print:printLink" partnerRole="printService"/> Hello World $MaVariable.value Approche par l’exemple Les Variables sont traitées in BPEL soit au travers des « endpoints » des web service ou par assignation. Cet exemple montre l’assignation d’une valeur littérale à la variable nommée 'MaVariable'. Dans ce cas cette variable est un message WSDL avec une partie nommée 'value‘ de type 'xsd:string' type. Il peut donc il y avoir d’autres contenus de type 'xsd:string‘ assignée à cette variable. La syntaxe '$varname' utilisée pour référencer la variable obéit au standard XPATH. Le séparateur '.' est utilisé pour spécifier la partie WSDL du message. Si cette variable ou cette partie était un complexType XSD un séparateur '/' pourrait être utilisé pour spécifier un sous élément (e.g. '$MaVariable.value/subvalue'). Les Variables contiennent des données en BPEL. peuvent contenir des valeurs selon un type XSD ou un message WSDL. Dans cet exemple, la variable nommée 'MaVariable' est declarée comme un conteneur de messages WSDL de type 'print:PrintMessage'. Au lieu d’un attribut 'messageType', la variable aurait pu avoir un attribut 'type' qui aurait defini un type XSD simple ou complexe tel que 'xsd:string' ou 'xsd:integer'. Les Variables sont utilisées pour passer des paramètres en entrée et en sortie des « endpoints » de web service.

12 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod <process xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:print="http://www.eclipse.org/tptp/choreography/2004/engine/Print" <import importType="http://schemas.xmlsoap.org/wsdl/" location="http://blah.wsdl" namespace="http://www.eclipse.org/tptp/choreography/2004/engine/Print" /> <partnerLink name="printService" partnerLinkType="print:printLink" partnerRole="printService"/> Hello World $MaVariable.value Approche par l’exemple Analogie (en Programmation) invoquer un web service est semblable à l’appel d’une fonction ou une méthode via un API ou un objet. Une différence importante est que BPEL ne contient aucune référence explicite à cet API ou cet objet. Il ne connaît que la façon de lui « parler » et un moyen d’accéder à une d’implémentation. (Dans la vraie vie) l’appel du web service est semblable à l’appel téléphonique au marchand de pizza (dont vous ne connaissez que le numéro, et dont l’adresse effective vous indiffère de même que la marque du scooter du livreur. Les éléments variables que vous transmettez sont le nombre et les sortes de pizza voulues. Le seul lien que vous avez est ce numéro qui établit la relation partnerLink is. BPEL lit ce numéro fait l’appel et passe la commande. L’élément 'invoke' en BPEL s’adresse à un endpoint de web service. C’est à cet endroit que le processus passe la valeur 'Hello World' (placée dans la variable 'MaVariable') au web service 'print'. Le lien spécifié dans l’élement partnerLink indique au moteur BPEL l’adresse du web service à appeler. L’operation 'print' indique ce que vous attendez de lui et l’attribut 'inputVariable' indique que le message WSDL d’entrée vient de la variable 'MaVariable'. Ce que fait effectivement le Web service est spécifié dans le contrat WSDL..

13 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.eclipse.org/tptp/choreography/2004/engine/Print" xmlns:tns="http://www.eclipse.org/tptp/choreography/2004/engine/Print" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:format="http://schemas.xmlsoap.org/wsdl/formatbinding/" xmlns:java="http://schemas.xmlsoap.org/wsdl/java/" > contrat WSDL du service invoqué

14 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod BPEL 4 People Les humains doivent être pris en compte dans des interactions longues

15 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod BPEL 4 People : vocabulaire Business Administrator. A person with an interest in the smooth running of all process instances of a particular process type. Generic human role. A descriptor identifying how a person interacts with the process. It includes the specific human roles such as potential owners, owners, and process initiator. Inline task. A task defined within a BPEL process either as part of a people activity or within the scope of a BPEL process so that it can be reused in different parts of the same BPEL process. Owner. A potential owner of a task becomes the owner when he or she claims the activity. People activity. A new BPEL activity that assumes that people are involved in the execution of the process activity. People links. A people link represents the group of people associated with a process or a people activity. It is evaluated at runtime using a people query.

16 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod BPEL 4 People : vocabulaire People query. An expression based on an organizational model used to resolve users who take on the responsibility for a particular generic human role. People resolution. The act of identifying the people who take on the responsibility for a particular generic human role. Potential owners. People who are entitled to claim and complete an activity. This is one type of generic human role. Process initiator. A person that creates an instance of a process, either directly or indirectly. This is one type of generic human role. Process stakeholder. A person with an interest in the outcome of the process instance. This is one type of generic human role. Standalone task. A task defined outside the scope of a BPEL process, but it can be referenced and invoked from different BPEL processes. Task. An indivisible unit of work performed by a human being.

17 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Approche ergonomique BPEL n’est qu’un nouvel avatar des multiples formalisation de processus opérationnel, –( Petri, Grafcet etc…) –Adapté à la problématique de l’appel des web services –Nécessaire et suffisant pour les adeptes du web commercial, –Exigeant un minimum de culture informatique. –Nécessitant une modalité d’expression graphique BPMN (Business Process Model Notation) –Est une notation d’expression graphique homologue d’une expression BPEL –Se veut intuitif pour être adapté à la culture des adeptes du commerce électronique

18 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Bibliothèque des représentations graphique des entités BPMN

19 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod BPMN : Événements et activités

20 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod BPMN : Tests et connexions

21 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod BPMN : Artefacts et « lignes de nage »

22 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod BPMN : Exemple de Workflow ordinaire Exemple de processus simple de rappel, par un web service, des questions à traiter par un groupe de travail

23 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod BPMN : discussion

24 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod BPMN : vote par e-mail

25 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod BPMN : dépouillement des votes

26 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod L’initiative SCA L’initiative SCA vise à une redéfinition logique de ce que devrait être l’architecture d’application orientée service Qu’est-ce qu’une application –un ensemble de composants logiciels travaillant ensemble –fondés sur des technologies homogènes ou non –tournant sur un ou plusieurs systèmes d’exploitation Pour qu’une application s’organise deux choses sont nécessaires : –un moyen de créer des composants –un moyen de décrire comment ils travaillent ensemble L’objet de SCA est une approche générale pour répondre à ces deux nécessités –Elle encapsule les technologies existantes (BPEL, UDDI, WSDL, SOAP) –Elles étend son modèle à toute technologie capable de l’implémenter

27 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA : Composants et Composites Concepts de base –Intérieur et extérieur de domaine SCA –Composites et composants, –Langage de description d’une configuration de composite Client SCA composite SCA Component SCA Component SCA Component DBMS SCDL Configuration XML Service Component Definition Language “skiddle” Extérieur Intérieur

28 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Syntaxe XML de Service Component Description SCDL.........

29 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod schéma XML de composition SCA

30 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA : Component

31 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA : Service et Binding

32 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA Domain SCA : Notion de domaine, Notion de Domaine –périmètre d’une offre de solution (i.e. par un vendeur (!)) SCA composite SCA Component SCA Component SCA Component SCA composite SCA Component SCA Component SCA Component SCA composite SCA Component Ordinateur Processus

33 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA : ouverture multi domaines SCA Domain SCA composite SCA Component SCA Component SCA Component SCA composite SCA Component SCA Component SCA Component SCA composite SCA Component SCA Domain SCA composite SCA Component SCA Component SCA Component Non SCA application Non SCA application

34 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Composant typiqueSCA Un composant SCA est une instance d’implémentation d’une fonction –Telles qu’un processus BPEL –Telles qu’une classe Java –… Une configuration SCDL définit comment un composant interagit avec son entourage Quelle que soit sa technologie un composant SCA se caractérise par –Des services, excusant des opérations –Des propriétés variables valorisées à l’instanciation du composant –Des références éventuelles à d’autres services SCA ne préjuge pas de la technologie sous jacente au composant –BPEL et WSDL –Classe Java –… SCA Component QB PA référence service propriété

35 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Communication La communication s’effectue par des « bindings » explicites hors des domaines circonscrits SCA Component QB PA SCA Component SCA Component Non SCA application SCA Component

36 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Exemple d’implémentation Java Pour autoriser l’appel par des procédures distantes en Java, SCA utilise un mécanisme d’annotation, plutôt qu’un mécanisme d’appel d’ API Cet exemple commence par l’import d’une annotation d’un package standard SCA. Il utilise ensuite cette annotation @Remotable pour indiquer que le service fourni par l’interface AS peut être accessible à des clients distants. Les autres informations nécessaires pour accéder à ce service sont reportées dans la spécification SCDL Ici l’interface AS est donc accessible par un processus externe, alors que l’interface MD n’est accessible que par un processus interne comme instance de la classe Calculator import org.osoa.sca.annotations.Remotable; @Remotable public interface AS { int add(int a, int b); int subtract(int a, int b); } public interface MD { int multiply(int a, int b); int divide(int a, int b); } public class Calculator implements AS, MD{ public int add(int a, int b) { return a + b; } public int subtract(int a, int b) { return a - b; } public int multiply(int a, int b) { return a * b; } public int divide(int a, int b) { if (b == 0) { throw new IllegalArgumentException(); } else { return a / b; }}}

37 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA pour JAVA : référence SCA prévoit qu’un service puisse faire appel à un autre service en le référençant; pour l’implémentation Java, SCA spécifie ce référencement par l’annotation @Reference. Par exemple pour un interface nommé MonitoringService: @Reference protected MonitoringService monitorService; Ainsi spécifié l’accès à au service monitorService ne nécessite pas d’instancier la classe MonitoringService. Il appartient au « runtime »SCA de localiser et de valoriser l’accès aux méthodes du service monitorservice. monitorService.usageCount(x); La façon dont un runtime trouve l’instance d’un service qui satisfasse une référence est spécifié au niveau du Domaine, (cependant cela ne fonctionne pas pour l’invocation de service dans un autre domaine)

38 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA pour Java : Propriétés Comme pour les références, SCA pour Java utilise le même mécanisme pour les propriétés avec l’annotation @Property @Property protected String region; Cette annotation peut être assignée à un champ d’une classe Java, ou d’une méthode pour assigner une valeur. Elle indique que cette valeur devra être lue selon les prescriptions de la spécification SCDL du composite auquel le composant appartient. Les propriétés peuvent être plus complexes, le principe reste le même : fournir le moyen de configurer un composant par des valeurs lues par le runtime

39 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Architecture classique vs. Architecture SCA Application Jax-WS SOAP JMS Queed messaging protocol EJB IIOP RMI Binary protocol SCA Component SCA Component architecture SOAP Queed messaging protocol IIOP Binary protocol Web service binding JMS binding EJP Session Bean binding SCA binding Une application classique implique la programmation de connecteurs spécifiques à chaque protocole employé Plutôt que d’introduire des connecteurs par des API vers différents protocoles SCA permet à tout service distant et toute référence de spécifier le protocole qu’il supporte au moyen de bindings Le modèle de programmation reste semblable quel que soit le protocole utilisé.

40 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA : spécification d’un binding Indique à la fois le type « web service » de l’association et son adresse SCA spécifie d’autres bindings, pour chaque technologie Java Message Service binding, EJB session bean binding. SCA permet ainsi d’associer toutes sortes de technologies distantes écrites en C, C++, Cobol etc.

41 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA pour Java : autres conventions En plus de l’annotation @Remotable précédente, le modèle de composant SCA pour Java en définit d’autres : – @OneWay, indique qu’une opération ne renvoie pas de réponse, et donc ne bloque pas un processus. –@Scope, contrôle l’existence de l’instance du comosant; il peut par exemple être « conversational », ce qui implique de maintenir son état entre des appels ou « stateless », ne maintenant rien au contraire entre deux appels. –@Callback, permet de définir un interface callback pour supporter une communication bidirectionnelle, ce que SCA nomme bi-directional interfaces. Tous les atributs ne sont pas utilisables par tous les bindings. –Par exemple @Scope avec l’option « conversational »ne peut être utilisé que par les protocoles pouvant passer des informations de session tels qu’un binding SOAP utilisant WS-ReliableMessaging.

42 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Configuration SCDL d’un composant Exemple de composant exploitant les ressources Java précédentes : Europe Exemple de composant exploitant une ressource BPEL Europe

43 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA : Composite ; le modèle d’assemblage de SCA SCA composite SCA Component D CA SCA Component PC SCA Component QB D A Q P B Promotion Wire

44 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA : spécification SCDL d’un composite Signifie au runtime SCA de tenter de connecter automatiquement les services et références entre composants du composite, en comparant leurs intitulés. Il est aussi possible de définir des liens explicites entre composants avec des éléments « wire » Les services et références promues définissent l’interface entre un composite et l’extérieur

45 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA : policies Les interactions entre les différentes parties d’une architecture peuvent être complexes SCA intègre des notions de « policy » pour exprimer les intentions relatives à ces interactions indépendamment de leur réalisation effective SCA définit deux grandes sortes de policies : –Interaction policies Modifie la façon dont les composants interagissent, par exemple pour prendre en compte des contraintes de sécurité ou de fiabilité. Elles concernent typiquement les bindings –Implementation policies Modifie la façon dont les composants se comportent localement. Les policies sont des éléments optionnels du langage SCDL –Dans son modèle pour Java SCDL prévoit aussi des annotations à associer aux interfaces, méthodes, telles que @Confidentiality, @Authentication, … <operation name="xs:string" service="xs:string"? policySets="listOfQNames"? requires="listOfQNames"?/>* … …

46 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA Domain SCA : assemblage des notions SCA composite SCA Component D CA SCA Component PC SCA Component QB D A Q P B SCA Domain SCA composite SCA Component D A SCA Component QB D A QB Client DBMS SCDL Configuration SCDL Configuration Not SCA Windows Communication Fondation Service

47 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Technologies d’implémentation de SCA Solutions Libres : –Tuscany –Fabric3 –Eclipse ? Architecture typique d’un runtime SCA: –Chaque technologie est encapsulée dans un conteneur recevant les composants SCA runtime Java binding Web service binding EJB binding JMS binding Java SCA ContainerWS SCA ContainerCobol SCA Container SCA Component SCA Component SCA Component SCA Component SCA Component SCA Component SCA binding SCDL Configuration

48 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod SCA : quelques observations en guise de conclusion La technologie SCA est trop récente pour pouvoir faire valoir des retours d’expérience Elle est structurante des architectures orientés services, indépendamment des technologies employées, en associant la mode nouvelle des web services aux plus anciennes (EJB etc.) Elle est destinée à des « vendeurs de solutions logicielles, qui peuvent privilégier tel ou tel aspect de la spécification SCA est extensible… … les vendeurs ne se priveront pas d’en exploiter la possibilité comme avantage concurrentiel

49 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Un avis sur SCA relevé dans la presse (été 2007) Burton Cautiously Optimistic about SCA for SOA Rich Seeley, SearchWebServices.com The analysts who cover service-oriented architecture (SOA) for BurtonGroup Inc. have some reservations about the Service Component Architecture (SCA) specification, but have concluded the vendor backingis so strong "adoption may be inevitable.“ Touted as "a new programming model for SOA" by its vendor sponsors led by IBM and now making its way through the OASIS standards process, SCA is not yet baked into many products beyond IBM's WebSphere, but Burton analysts expect adoption to pick up in 2008. Given its apparent inevitability as a vendor supported standard, Anne Thomas Manes, vice president and research director at Burton, spent more than an hour Tuesday in a Web seminar explaining SCA's potential promise and problems to clients. She said the concerns about SCA at Burton Group include the fact that SCA is made up of more than 14 specifications. Analysts are skeptical that the various technical committees working on those specifications can reach the goal of creating an overall standard to "simplify" service creation and composition. This leads to concern that SCA could suffer the same fate as Common Object Request Broker Architecture (CORBA), which failed to achieve its promise in the 1990s because, as one analyst put it, "too many cooks spoiled the broth." "There is some concern that SCA can hide all the complexities," she said. The good news is that SCA has potential, yet unproven, to be a language-and protocol-independent programming model for SOA. Languages that will be supported in SCA cover most of those a non-Microsoft coder would be working on today, ranging from COBOL to Ruby. Support is planned for Java, including Plan Old Java Objects (POJO), Spring, Enterprise Java Beans, C, C++, BPEL and PHP. http://searchsoa.techtarget.com/originalContent/0,289142,sid26_gci1277423,00.html See also OASIS SCA-TCs: http://xml.coverpages.org/ni2007-07-06-a.html#SCA-TCs

50 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Le Web3 et les architectures SOA Existe-t-il des relations entre ces notions ? À suivre dans un prochain cours…


Télécharger ppt "Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Architectures Orientées Services Module 5 Les expressions de processus."

Présentations similaires


Annonces Google