Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Module Linitiative SCA.

Slides:



Advertisements
Présentations similaires
Un environnement de développement éducatif
Advertisements

La programmation orientée objet avec Java L3-MIAGE Plan
Xavier Blanc Web Services Xavier Blanc
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Gestion des événements (suite)
Architectures Orientées Services
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Urbanisation des Systèmes d'Information - Henry Boccon-Gibod1 Urbanisation de système d'information PLM 4 (Product Lifecycle Management) Préoccupation.
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Urbanisation de Système d'Information
L’architecture .net et ASP.net
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Cours 6 : Les Web Services et UDDI Mars Version 1.0 -
Cours 5 : Les Web Services et WSDL Mars Version 1.0 -
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
Cours 2 : Les Web Services Concepts Généraux
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
Plan de formation Chapitre 1 : Présentation de SAP
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
Introduction à la POO: Les classes vs les objets
Copyright © 2004, SAS Institute Inc. All rights reserved. Processus Stockés SAS une perspective analytique Sylvain Tremblay SAS Canada 25 avril 2006.
Introduction aux services WEB
Les Enterprise Service Bus
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Développement d’applications web
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Etude des Technologies du Web services
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
XML-Family Web Services Description Language W.S.D.L.
le profil UML en temps réel MARTE
Sommaire Objectif de Peakup Principes de fonctionnement
Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.
Rennes, le 18 septembre 2006 Support du paradigme maître-travailleur dans les applications à base de composants Tâche 2.2 Hinde Bouziane Réunion LEGO.
Gestion des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
5.1 URDL22005 Systèmes dexploitation Threads Vue dEnsemble Modèles de Multithreading Problèmes des Threads Pthreads Threads Windows XP Threads Linux Threads.
OIL & UPML DREVET - HUMBERT Introduction OIL : un langage de description dontologies UPML : un langage de description de systèmes à base.
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Programmation concurrente
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Séminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Davide Bazzi IIUF Etude de larticle: Service Interoperability.
Projet de Master première année 2007 / 2008
99 Réutilisation du code grâce à l'héritage. 9-2 Objectifs À la fin de ce cours, vous serez capables de : Définir l'héritage Utiliser l'héritage pour.
Chapitre 3 Les bibliothèques de balises JSP et la JSTL
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Patrons de conceptions de créations
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
INTRODUCTION.
Supports de formation au SQ Unifié
22 Visual Studio Tools et Office 2010 Thomas LEBRUN Architecte Access It Sebastien BOVO Application Dev Consultant Microsoft France
Algorithmique et programmation (1)‏
Créer des packages.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
Dyalog.Net Peter Donnelly Managing Director Dyadic Systems Toronto 30/10/2002.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Architectures Orientées Services Module 5 Les expressions de processus.
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Transcription de la présentation:

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Module Linitiative SCA

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 2 Sommaire du module Linitiative des composants standards darchitecture des services SCA –Principes –Modèles XML –Notion de domaines –Propriétés, références et services –Exemples d'implémentation –Notion de « runtime » SCA

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 3 Objectif de linitiative Service Component Architecture Linitiative SCA vise à une redéfinition logique de ce que devrait être larchitecture dapplication orientée service Quest-ce quune application –un ensemble de composants logiciels travaillant ensemble –fondés sur des technologies homogènes ou non –tournant sur un ou plusieurs systèmes dexploitation Pour quune application sorganise deux choses sont nécessaires : –un moyen de créer des composants –un moyen de décrire comment ils travaillent ensemble Lobjet 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 limplémenter

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 4 SCA : Composants et Composites Concepts de base –Intérieur et extérieur de domaine SCA –Composites et composants, –Langage de description dune 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

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 5 Syntaxe XML de Service Component Description SCDL

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 6 schéma XML de composition SCA

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 7 SCA : Component

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 8 SCA : Service et Binding

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 9 SCA Domain SCA : Notion de domaine, Notion de Domaine –périmètre dune 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

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 10 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

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 11 Composant typique SCA Un composant SCA est une instance dimplémentation dune fonction –Telles quun processus BPEL –Telles quune 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, exécutant des opérations –Des propriétés variables valorisées à linstanciation du composant –Des références éventuelles à dautres 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é

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 12 Communication La communication seffectue par des « bindings » explicites hors des domaines circonscrits SCA Component QB PA SCA Component SCA Component Non SCA application SCA Component

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 13 Exemple dimplémentation Java Pour autoriser lappel par des procédures distantes en Java, SCA utilise un mécanisme dannotation, plutôt quun mécanisme dappel d API Cet exemple commence par limport dune annotation dun package standard SCA. Il utilise ensuite cette pour indiquer que le service fourni par linterface 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 linterface AS est donc accessible par un processus externe, alors que linterface MD nest accessible que par un processus interne comme instance de la classe Calculator import 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; }}}

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 14 SCA pour JAVA : référence SCA prévoit quun service puisse faire appel à un autre service en le référençant; pour limplémentation Java, SCA spécifie ce référencement par Par exemple pour un interface nommé protected MonitoringService monitorService; Ainsi spécifié laccès à au service monitorService ne nécessite pas dinstancier la classe MonitoringService. Il appartient au « runtime »SCA de localiser et de valoriser laccès aux méthodes du service monitorservice. monitorService.usageCount(x); La façon dont un runtime trouve linstance dun service qui satisfasse une référence est spécifié au niveau du Domaine, (cependant cela ne fonctionne pas pour linvocation de service dans un autre domaine)

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 15 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 protected String region; Cette annotation peut être assignée à un champ dune classe Java, ou dune 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

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 16 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 dintroduire des connecteurs par des API vers différents protocoles SCA permet à tout service distant et toute référence de spécifier le protocole quil supporte au moyen de bindings Le modèle de programmation reste semblable quel que soit le protocole utilisé.

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 17 SCA : spécification dun binding Indique à la fois le type « web service » de lassociation et son adresse SCA spécifie dautres bindings, pour chaque technologie Java Message Service binding, EJB session bean binding. SCA permet ainsi dassocier toutes sortes de technologies distantes écrites en C, C++, Cobol etc.

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 18 SCA pour Java : autres conventions En plus de précédente, le modèle de composant SCA pour Java en définit dautres : indique quune opération ne renvoit pas de réponse, et donc ne bloque pas un processus. contrôle lexistence de linstance 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. permet de définir un interface callback pour supporter une communication bidirectionnelle, ce que SCA nomme bi-directional interfaces. Tous les attributs ne sont pas utilisables par tous les bindings. –Par avec loption « conversational »ne peut être utilisé que par les protocoles pouvant passer des informations de session tels quun binding SOAP utilisant WS-ReliableMessaging.

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 19 Configuration SCDL dun composant Exemple de composant exploitant les ressources Java précédentes : Europe Exemple de composant exploitant une ressource BPEL Europe

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 20 SCA : Composite ; le modèle dassemblage de SCA SCA composite SCA Component D CA SCA Component PC SCA Component QB D A Q P B Promotion Wire

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 21 SCA : spécification SCDL dun 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 linterface entre un composite et lextérieur

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 22 SCA : policies Les interactions entre les différentes parties dune 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, … <operation name="xs:string" service="xs:string"? policySets="listOfQNames"? requires="listOfQNames"?/>* … …

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 23 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

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 24 Technologies dimplémentation de SCA Solutions Libres : –Tuscany –Fabric3 –Eclipse ? Architecture typique dun 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

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 25 SCA : quelques observations en guise de conclusion La technologie SCA est trop récente pour pouvoir faire valoir des retours dexpé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 den exploiter la possibilité comme avantage concurrentiel

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 26 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 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. See also OASIS SCA-TCs:

Cours MIAGE « Architectures 0rientées Services » Henry Boccon-Gibod 27 Fin du module