Architecture Orientée Service (Service-Oriented Architecture)



Documents pareils
Problématiques de recherche. Figure Research Agenda for service-oriented computing

Urbanisme du Système d Information et EAI

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Les nouvelles architectures des SI : Etat de l Art

Le cadre des Web Services Partie 1 : Introduction

JOnAS 5. Serveur d application d

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Introduction aux «Services Web»

FOSS Enterprise Integration Plattaform

Vers des intergiciels M2M

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Les Architectures Orientées Services (SOA)

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Programmation Web Avancée Introduction aux services Web

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG

4. SERVICES WEB REST 46

GRIDKIT: Pluggable Overlay Networks for Grid Computing

Urbanisation des Systèmes d'information

Sécurité des Web Services (SOAP vs REST)

NFP111 Systèmes et Applications Réparties

VMware : De la Virtualisation. au Cloud Computing

SOA Open Source Intégration des services et business process dans une architecture SOA Open Source. Bruno Georges JBoss, a Division of Red Hat

Business Process Modeling (BPM)

La démarche SOA et l interopérabilité applicative

Software Engineering and Middleware A Roadmap

Systèmes d'informations historique et mutations

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

L intégration d applications unifiée par les Services Web et XML Réconcilier J2EE.NET EIS et mainframes

Architecture Orientée Service, JSON et API REST

Java et les bases de données

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion

Composants Logiciels. Le modèle de composant de CORBA. Plan

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Nouvelles technologies pour l intégration : les ESB

Architectures d'intégration de données

Intégration de systèmes

Fusion : l interopérabilité chez Oracle

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Elasticité logicielle pour optimiser l empreinte énergétique

Architecture SOA Un Système d'information agile au service des entreprises et administrations

Hébergement MMI SEMESTRE 4

Workflow et Service Oriented Architecture (SOA)

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

Description de la formation

Exécution de processus

Les Services Web. Jean-Pierre BORG EFORT

Applications et Services WEB: Architecture REST

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France

Conception des systèmes répartis

BPEL Orchestration de Web Services

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Gestion des Identités : 5 règles d'or. Patrice Kiotsekian Directeur Evidian France

SCOM 2012 (System Center Operations Manager) De l'installation à l'exploitation, mise en oeuvre et bonnes pratiques

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

GPC Computer Science

Business Process Execution Language

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

L EAI. par la pratique. François Rivard. Thomas Plantain. Groupe Eyrolles, 2003 ISBN :

Vos outils de messagerie dans le Cloud avec LotusLive Notes. Session LOT12 Xavier Défossez - Lotus Technical Sales

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

HÉBERGEMENT CLOUD & SERVICES MANAGÉS

Le 09 et 10 Décembre 09

Exécution de processus

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

Messagerie asynchrone et Services Web

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

SHAREPOINT PORTAL SERVER 2013

Déploiement de l infrastructure SOA. Retour d expérience Août 2013

Projet ESB - Retour d expérience

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Environnements de Développement

Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA?

Petite définition : Présentation :

La tête dans les nuages

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Introduction au projet ebxml. Alain Dechamps

RFID: Middleware et intégration avec le système d'information Olivier Liechti

Open Source Job Scheduler. Installation(s)

GLOSSAIRE. On premise (sur site)

Mettez les évolutions technologiques au service de vos objectifs métier

Sécurisation des architectures traditionnelles et des SOA

Mineure Architectures Orientées Services SOA Exécution de processus. Mineure SOA. Exécution de processus

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

e need L un des premiers intégrateurs opérateurs Cloud Computing indépendants en France

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Configuration Interface for MEssage ROuting

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Jean-Marc Langé. Gestion de processus métier : la place du BPM dans une architecture d entreprise

Séminaire Partenaires Esri France 7-8 juin Paris Cloud Computing Stratégie Esri

ez Publish Cloud Edition Présentation

Architectures informatiques dans les nuages

Prise en compte des ressources dans les composants logiciels parallèles

12 décembre Mineure SOA Cours 6. Olivier BESNARD Consultant sénior Practice Architecture des Systèmes d Information

Introduction aux applications réparties

Transcription:

http://membres-liglab.imag.fr/donsez/cours Architecture Orientée (-Oriented Architecture) Didier Donsez Université Joseph Fourier PolyTech Grenoble LIG/ADELE Didier.Donsez@imag.fr Didier.Donsez@ieee.org

Sommaire Un peu d histoire Notion de contrats 3 entités SOA Composant versus Domaine d administration et cycles de vie Canevas 2

Un petit rappel Racoon [1997] 10 to 15 years Interest Innovation Convention Growth Maturity Time 3

Un petit rappel Racoon [1997] 4

Racoon revisité HTTP HTML CORBA XML EJB SOAP WSDL instruction module objet composant service? 1980 1990 2000 2005 2010 Premiere Vague du e-business: Le B2C Deuxieme Vague du e-business: Le B2B Trosième Vague du e-business: Le M2M 5

Revisited Racoon HTTP HTML CORBA XML EJB SOAP WSDL REST statement module object component service? 1980 1990 2000 2005 2010 e-business 1st wave: B2C e-business 2nd wave: B2B e-business 3rd wave: M2M 6

Web 1.0 Première vague du e-business Le B2C Business to Consumer (8 milliards de pages Web indexés (cachées parfois) ) (+ 5 Gobjets mis en vente début 2006) Web 2.0 (133 millions de comptes fin 2006) Google/Yahoo Maps Google AdSense You Tube (http://www.youtube.com/results?search_query=* returns 66,200,000 in Jan 2008) Top 1 video viewed 72,426,074 times Tweeter Facebook (le 8eme pays du Monde) Web 3.0 (+5 500 000 résidents en avril 2007 +11 000 000 résidents en novembre 2007) 7

Deuxième vague du e-business Exemple de Scénario de B2B et B2Gov Achat de benzène par un producteur sur le Web + requiert des services additionnels fournit par des tiers Achat benzene Paiement avec credit ebxml/http espeak/smtp Producteur Finance Acheteur B2B Expédition avec delai de livraison Assurrance sur le transport Autorisation gouvernemental pour un transport sécurisé ebxml/smtp BizTalk/DotNet EDI/SMTP Transporteur Assureur Gouvernement 9

Deuxième vague virgule cinq du e-business Informatique en Nuage (Cloud) Informatique «à la demande» Synonymes : Edge computing, Utility computing, Elastic computing, Des acronymes «tendances» SaaS : Software as as PaaS : Platform as as IaaS : Infrastructure as as Quelques acteurs Akamai, Amazon, Google, Quelques pré-requis Virtualisation, Autonomic Computing Conséquences Green computing, 10

Troisième vague du e-business Exemple de Scénario de M2M Serveur Fournisseur de service (société gardiennage) Serveur Fournisseur de service (hôpital) Serveur Fournisseur de service (distributeur électricité) Usager/Agent hors foyer Contrôle climatisation Compteur électrique Bundles Adele, 2002 WEB Console Usager Camera surveillance Centrale alarme Réseau Domotique Moniteur cardiaque Passerelle OSGi Déploiement Interactions Serveur Opérateur de la Passerelle 11

Exemple de Scénario M2M Le photocopieur en location Le photocopieur est installé en location chez le client Le loueur (est une organisme financier) facture mensuellement à la consommation Fixe mensuel + tarif par feuille Le loueur sous-traite la maintenance simple à une société spécialisée La société de maintenance réalise un diagnostic à distance avant d envoyer un agent L agent de maintenance interroge sur place le logiciel de diagnostic Le fabricant peut mettre à jour le logiciel embarqué Pour info RICOH (26% copier market share) inclut une passerelle OSGi dans ses photocopieurs (en 2006). http://www2.osgi.org/wiki/uploads/conference/osgicommunitybushnaq.pdf 12

Exemple de Scénario M2M Le photocopieur en location (c) Didier Donsez, 2004 Customer install and start the new version of the diagnotic tools Manufacturer update the version on the panel GUI core add a custom tab (ie plugin) to the panel GUI start the scanner function and the mail function of the copier Renter subscribe ($ ) to the scanner function and the mail function of my copier 13

Le mass market (Electronic Consumer) Taken from the JES book 14

Besoins Intégration (EAI) Entreprise B Entreprise A Entreprise C Langage commun Protocole commun Division Filiale A1 A1 Usine A1a 15

Besoins Contrat (B2B) Entreprise B Annuaire (pages blanches, jaunes, vertes) Entreprise A Entreprise G Entreprise F Entreprise C Division A1 Contrat Usine A1a 16

Définition «un service est un comportement défini par contrat, qui peut être réalisé et fourni par tout composant pour être utilisé par tout composant, sur la base unique du contrat» [Bieber and Carpenter 2002]. Consumer interact Provider 17

Définition Pas forcement de consensus des dizaines de définition 18

A Big Picture ;-( http://conferences.computer.org/scc/2010/images/pic/sc-confs-landscape.jpg 19

Les 3 acteurs dans le SOA lookup Registry register Consumer interact interact Provider Provider 20

Propriétés du SOA Couplage faible Substituabilité Liaison retardée Reconfiguration dynamique (durant l exécution) 21

Courtage et Liaison rétardée infrastructure or adhoc search Registry register Consumer interact Provider synchronous or asynchronous 22

Reconfiguration en cours d exécution Dynamic arrival of new services push and/or poll notify Registry register Consumer interact interact service contract not matched Provider Provider Acme.com Provider Acme.com 23

Reconfiguration en cours d exécution Dynamic removal of in-use services notify Registry unregister Consumer bind/invoke interact Provider Provider Acme.com 24

Types d interaction (Elément <operation> de WSDL) One-way Consumer Didier Donsez bind (1) input msg Provider servant Request-Response Didier Donsez Consumer bind (1) input msg Provider (2) output msg servant Solicit-Response Didier Donsez Consumer bind (1) output msg Provider (2) input msg servant Notification Didier Donsez Consumer bind (1) output msg Provider (2,3, ) output msg servant 25

Formes Notion de contrat Variées (langage, ) Décrit la syntaxe (L1), le comportement (L2), la synchronisation (L3), la qualité de services (L4) du service Conformité d un service aux termes du contrat Level Agreement (SLA) Accord sur contrat legal entre le fournisseur et le client d'un service Engagement le contrat s'applique dans les deux sens : il engage le fournisseur comme le demandeur. 26

Exemple de service OSGi/Java Une interface «published» (L1) Interface org.device.print.print package org.device.print; public interface Print { } public int print(outputstream out, String[] printparams) throws PrintException; public void kill(int jobnumber) throws PrintException; public Job[] list() throws PrintException; public Job status(int jobnumber) throws PrintException; 27

Exemple de service OSGi/Java Une interface Java «published» (L1) Qualifiée par des propriétés (½ L4). Indépendant de la réalisation (ie implémentation) Interface org.device.print.print org.device.print.dpimax=1200 org.device.print.color=256 org.device.print.type=laser geo.location=4th floor Classe d implémentation com.hp.printer.laserjet.impl.driver Interface org.device.print.print org.device.print.dpimax=2400 org.device.print.color=2 org.device.print.type=laser geo.location=1st floor Classe d implémentation com.lexmark.printer.laser.impl.driver 28

Exemple de recherche de services OSGi/Java (Expression LDAP) L1 Tous les services d impression (objectclass=org.device.print.print) (objectclass=org.device.print.*print) Tous les services de org.device L1+L4 ½ (objectclass=org.device.*) Certains services d impression (& (objectclass=org.device.print.print) (&(type=laser)(capability=double-sided)(!(dpi<=300))(location=*)) Le service d impression et de fax au 3ième étage (&(objectclass=org.device.print.print)(objectclass=org.device.fax.fax) (location=4th floor)) 29

TODO Exemple avec WSDL 30

Contrat logiciel 4 niveaux de contrat [Beugnard 99] Syntaxique CORBA IDL2, Interface Java Comportemental Conception orientée contrat [Meyer 96] Invariants pré et post conditions Eiffel, Assertion Java 1.4 Synchronisation Ordre d'éxécution des services: concurrente, parallèle... Qualité de service liste de propriétés d un service OSGi Non-negociable (Re)Négociable dynamiquement

Composition structurelle SCA ( Component Architecture) P Propriétés s P P Composant 2 T T A A Composant 1 P Références Q Q Composant 3 U U ipojo Wire Promotion Thanks to Gabriel Pedraza 33

Composition par procédés Orchestration versus Chorégraphie BPEL, XPDL, FOCAS Provider Provider Orchestrateur (Process) A1 A1 A2 A2 A3 A3 Avantages A4 A4 Expression facile Monitoring, gestion facile Inconvénients Goulot d étranglement La performance de l application Passage à l échelle Provider Provider Provider Avantages Passage à l échelle Performance de la composition Inconvénients Difficile expression Non-exécutable (top-down) Thanks to Gabriel Pedraza Provider 34

Pyramide de Papazouglu Management & Monitoring Metrics State management Load balancing Change management Managed services operator Composition Composite services Coordination Conformance Transactions Basic services Foundation Capability Interface Behaviour Publication Discovery Selection Binding provider customer aggregator Uses Publishes Role Actions Performs Becomes Semantics Non-functional Characteristics QOS Thanks to Eric Simon, inspired by Papazouglu 37

Propriétés Couplage faible Substituabilité Courtage, Négociation Liaison retardée (Late binding) Accord de niveau de service (SLA) Domaines d administration disjoints 44

Rappel du cycle de vie d une application à composant [Cervantes 04] 45

Cycle de vie d une application à services Administration indépendante Entreprise B Entreprise C Cycle de vie indépendant Entreprise D 46

Accords de niveau de service Définitions Définition Contrat souscrit entre le fournisseur d'un service et un usager de ce service définissant les engagements de ces deux parties. Ces engagements, contenant le niveau de service fourni ainsi que les pénalités encourrues en cas de manquement de part et d'autre, sont définis par des critères objectifs de qualité de service pouvant être évalués par les deux parties. Thanks to Lionel Touseau

Accords de niveau de service Concepts Parties contractantes Description du service Admission Termes de l accord Volume (réseaux) Disponibilité (hébergement) Fiabilité Compensation Pénalités En cas de non-respect ou de rupture Vérifications évaluation du respect du contrat Auditeur tiers (objectif et précis) Mesures de qualité Négociation et renégociation signed Thanks to Lionel Touseau

Formalismes pour les accords de niveau de service Peu de standard ou de formalisme générique Souvent papier, langue naturelle Solutions ad-hoc Domaines très différents Représentations existantes Web Level Agreement (WSLA) Rule-Based Level Agreements (RBSLA) ContractLog [Paschke03] WS-Agreement Pourtant fondamental Contexte Multi-organisations Thanks to Lionel Touseau

WS-Agreement Formalisation des termes d un accord Formalisation du processus de négociation Meta Modèle http://www-unix.mcs.anl.gov/~keahey/meetings/graap/ws-agreement%20structure.pdf Thanks to Lionel Touseau 50

Exemples de SLA Réseau (système autonome) Latence, débit, gigue Prix par Mb par heure Prix de la pénalité en cas de débit dépassé dépassement du forfait Différents niveaux de service (DiffServ) Premium, Gold, Silver, Best-effort Multimédia-on-demand (VOD, ) Streaming et qualité de l'image Durée Prix Ex: location pour 24h Thanks to Lionel Touseau

SOA et Accord de niveau de service search Registry register Requester interact Accord de niveau de service Provider Thanks to Lionel Touseau

SOA et Accord de niveau de service recherche Annuaire de publication Usager du interaction Accord de niveau de service Gestionnaire d accord Fournisseur du signed Thanks to Lionel Touseau

SOA et Accord de niveau Serv1 de - SLAservice Scénario - réseau Requirements - SLA (1) Uptime > 1h (2) Délai < 100 ms (3) Prix < 7 Euros / Gbit (4) Débit > 90 Mbits/s (5) Gigue < 20 ms search notify Registry Serv1 Serv2 Débit: 100 Mbits/s Délai_max: 80 ms Gigue_max: 10 ms Uptime: 2h Prix: 4 Euros / Gbit Serv2 - SLA Débit: 1 Gbits/s Délai_max: 100 ms Gigue_max: 10 ms Uptime: 2h register register Prix: 5 Euros / Gbit Provider 2 Requester interact SLA Débit: 100 Gbits/s Mbits/s Délai_max: 80 100 ms ms Gigue_max: 10 ms Uptime: 2h Prix: 45 Euros / Gbit ROMP U Provider 21 Thanks to Lionel Touseau 54

Les points durs Décrire Rechercher, Localiser Composer Orchestrer ou Coordonner Substituer Négocier et Courter Conformément au SLA 55

Les (principaux) représentants Distribués Web s (W3C, OASIS, ) UPnP (Universal Plug and Play), DPWS DNS-SD SLP JINI Centralisés OSGi (pour Java) Un peu à part REST ESB 56

Web s Global picture Business Process BPEL, WSFL Advanced Extended Core Base Security SAML, XACML, XKMS Management WSP, Discovery UDDI Description WSDL Exchange SOAP Transport HTTP, MIME, JMS... Transactions BTP, WTP 57

Remarque REST - Representational State Transfer Fielding, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures. Doctoral dissertation, University of California, Irvine, 2000. KIS (Keep It Simple) for RIA, mashups, Web 2.0 Vision CRUD de ce que doit être un service Retour au client-serveur SQL (années 90) Technologies Web Transport HTTP/HTTPS Sans état (stateless) encore moins transactionnel Requêtes: POST/GET/PUT/DELETE for CRUD Réponses: what you want (XML, HTML, JSON, ) + status code 58

Remarque Enterprise Bus [Chappell] Event-driven SOA Couplage faible Piloté par la réception d événements interaction asynchrone de type publish-subscribe routage des événements (Médiation) Exemple d API JBI (Java Business Integration (JSR 208, ) Composants ESB pouvant s ajouter (pluggable) Contrat fonctionnel : WSDL Administration : JMX 59

60

Bibliographie Conférences & Journaux Les premières: ICSOC, SCC, ICWS, IEEE Trans. on SOC Cependant chaque grande conférence a sa track ou son workshop SOA/SOC Livres x*100 now Zoran Stojanovic, Ajantha Dahanayake, «-Oriented Software System Engineering: Challenges and Practices», IDEA Group, 2005, ISBN 1-59140-426-6 David Chappell, Enterprise Bus, O'Reilly, (June 1, 2004), ISBN 0-59600-675-6 61

La semaine prochaine Les plateformes dynamiques de services Motivations Sensibilité au contexte Comportement autonomique Exécution sans interruption de service (Non-Stop) Définition Deux représentants OSGi UPnP 63

Dynamic Platform (DSP) Execution environnement for DSOA based applications Application : set (orchestration:choregraphy) of services : contractually defined Requires service trading and late-binding Supports partial installation, update, uninstallation centralized platforms / distributed platforms Non-stop runtime Dynamism must be taken into account by developers Not easy since not the primary concern 64

Dynamic Platform Zoo Invocation Removal Registry Type Programming Language JINI Remote (RMI) Lease Distributed (ad-hoc) Java OpenWings Remote (RMI IIOP ) Connector Distributed (?) Java CORBA CosTrading Remote (IIOP) No Distributed (?) all UPnP V1 DPWS Remote (HTTP/SOAP) Message Bye Distributed (ad-hoc) all Web s Remote (HTTP/SOAP) No Centralized (replicated ) all SLP / DNSSD / Message Bye Distributed all OSGi Locale (Référence) Java Event Centralized Java 65

Annexe Quelques modèles SOA 66

SeCSE Description Model 67

SeCSE Discovery Model 68

SeCSE Monitoring Model 69

Baresi, Heckel, Thone, Varro Structural types for SOA (2005) 70

Baresi, Heckel, Thone, Varro Staticarchitectural service model (2003) 71

B. Benatallah,R. M. Dijkman - Interaction (2005) 72

B. Benatallah,R. M. Dijkman - Interaction (2005) 73

Bart Orriens, Jian Yang, and Mike. P. Papazoglou Composition (2003) 74

SLA : Modèle d accord WSLA http://www.research.ibm.com/wsla/wslaspecv1-20030128.pdf 75