Des objets aux services : un mariage réussi? Vers le meilleur des deux mondes

Documents pareils
Le cadre des Web Services Partie 1 : Introduction

Architectures n-tiers Intergiciels à objets et services web

NFP111 Systèmes et Applications Réparties

Architectures d'intégration de données

Introduction aux intergiciels

GEI 465 : Systèmes répartis

Introduction aux «Services Web»

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Mise en œuvre des serveurs d application

Systèmes d'informations historique et mutations

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

4. SERVICES WEB REST 46

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

Urbanisation des Systèmes d'information

CQP Développeur Nouvelles Technologies (DNT)

Software Engineering and Middleware A Roadmap

Les Services Web. Jean-Pierre BORG EFORT

Patrons de Conception (Design Patterns)

OPC Factory Server- Réglage des paramètres de communication

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

Description de la formation

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

2 Chapitre 1 Introduction

Contribution à l allocation dynamique de ressources pour les composants expressifs dans les systèmes répartis

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Environnements de Développement

LICENCE PROFESSIONNELLE

Solutions de gestion de la sécurité Livre blanc

Compte Rendu d intégration d application

Java et les bases de données

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Evaluation Idéopass Cahier d analyse technique

CORBA haute performance

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Applications et Services WEB: Architecture REST

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

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Cahier des charges (CDC)

MEAD : temps réel et tolérance aux pannes pour CORBA

Les Architectures Orientées Services (SOA)

Programmer des applications réparties

Programmation Web Avancée Introduction aux services Web

Architectures Web Services RESTful

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

Formation en Logiciels Libres. Fiche d inscription

Le modèle client-serveur

Java - RMI Remote Method Invocation. Java - RMI

Intégration de systèmes

CORBA. (Common Request Broker Architecture)

Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture Orientée Service, JSON et API REST

DotNet. Plan. Les outils de développement

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Module BD et sites WEB

1.2 Genèse. 1.3 Version de Designer utilisée

Projet Active Object

Remote Method Invocation en Java (RMI)

Les cinq raisons majeures pour déployer SDN (Software-Defined Networks) et NFV (Network Functions Virtualization)

Etude critique de mécanismes de sécurité pour l architecture Jini

Business Process Execution Language

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Les nouvelles architectures des SI : Etat de l Art

Conception des systèmes répartis

Solutions informatiques (SI) Semestre 1

Étude et applications de l approche MDA pour des plates-formes de Services Web

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

Messagerie asynchrone et Services Web

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

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Application Web et J2EE

Documentation technique du logiciel Moduleo Version du 03/12/2014

Gestion de tests et tests de performance avec Salomé-TMF & CLIF

Développer avec les technologies ESRI. ESRI Developer Network (EDN) Gaëtan LAVENU ESRI France Jérémie MAJEROWICZ ESRI France

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Guide d installation de ArcGIS server 9.3.1

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Vulgarisation Java EE Java EE, c est quoi?

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

Journée IJD. Moussa Tari Bako Bachir. 25 juin 2012 ARLES/INRIA. Introduction Travail Chez ARLES

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

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

Introduction à la plateforme J2EE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

Dispositif sur budget fédéral

GLOSSAIRE. On premise (sur site)

Modèle d Administration des Systèmes Distribués à Base de Composants.

Utilisation du réseau dans le test et la mesure

OmniVista 2700 Application complémentaires pour l OmniVista 2500 Network Management

Présentation Internet

Urbanisme du Système d Information et EAI

Intergiciel - concepts de base

.NET remoting. Plan. Principes de.net Remoting

Vérifier la qualité de vos applications logicielle de manière continue

Elasticité logicielle pour optimiser l empreinte énergétique

Architecte Logiciel. Unité de formation 1 : Développer en s appuyant sur les modèles et les frameworks 7 semaines

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

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

Transcription:

Des objets aux services : un mariage réussi? Vers le meilleur des deux mondes Hervé Grall (avec Diana Allam et Jean-Claude Royer) Ascola (Mines de Nantes Inria Lina) 7 june 2013

Objets + Services Bugs? Tendance : frameworks à objets pour produire et consommer des services Web Problème : des limitations Les principes «objets» et «services» ne semblent pas se combiner harmonieusement. Origine : la traduction des objets vers les structures sérialisables Solution : une nouvelle spécification Formalisation utilisant la «théorie des catégories» Intuition simple : des diagrammes commutatifs Avantage : meilleure interopérabilité grâce à un couplage faible entre les clients et les serveurs Conclusion : quelles sont les qualités souhaitables d une spécification normalisée? Comment les obtenir? H. Grall (Ascola) Objets/Services 7/VI/2013 2 / 15

Plan Des objets aux services : une rencontre nécessaire 1 Des objets aux services : une rencontre nécessaire 2 Fonctionnement d un framework - Le problème et sa solution H. Grall (Ascola) Objets/Services 7/VI/2013 3 / 15

Des objets aux services : une rencontre nécessaire Les langages à objets : largement dominants Le classement Tiobe H. Grall (Ascola) Objets/Services 7/VI/2013 4 / 15

Des objets aux services : une rencontre nécessaire Les langages à objets : largement dominants Le classement PYPL H. Grall (Ascola) Objets/Services 7/VI/2013 4 / 15

Des objets aux services : une rencontre nécessaire Les langages à objets Le polymorphisme Encapsulation des données et des opérations sur ces données Envoi de messages pour appeler les opérations Création dynamique Objet nantes de type Ville Polymorphisme La règle de subsomption Si Ville sous-type de Lieu, Alors nantes de type Lieu. Raffinement : utiliser Ville à la place de Lieu H. Grall (Ascola) Objets/Services 7/VI/2013 5 / 15

Des objets aux services : une rencontre nécessaire Intégration & Internet Services ( c Chappell) H. Grall (Ascola) Objets/Services 7/VI/2013 6 / 15

Des objets aux services : une rencontre nécessaire Intégration & Internet Services H. Grall (Ascola) Objets/Services 7/VI/2013 6 / 15

Des objets aux services : une rencontre nécessaire Intégration & Internet Services Intégration d applications logicielles Boîtes noires et interfaces Modèle client-serveur Des processus plus transparents : l orchestration de services H. Grall (Ascola) Objets/Services 7/VI/2013 6 / 15

Des objets aux services : une rencontre nécessaire Intégration & Internet Services H. Grall (Ascola) Objets/Services 7/VI/2013 6 / 15

Des objets aux services : une rencontre nécessaire Intégration & Internet Services ( c Berners-Lee) H. Grall (Ascola) Objets/Services 7/VI/2013 6 / 15

Des objets aux services : une rencontre nécessaire Intégration & Internet Services Web = hyperliens + transport de messages + gestion des noms Internet : éther de communication Architecture REST Architecture client-serveur Ressources avec un identifiant universel et des représentations hypermédia Manipulation via une interface uniforme (e.g. put/delete et get/post) H. Grall (Ascola) Objets/Services 7/VI/2013 6 / 15

Des objets aux services : une rencontre nécessaire Deux modèles pour les services Web Google Trends «restful web services, soap web services» H. Grall (Ascola) Objets/Services 7/VI/2013 7 / 15

Des objets aux services : une rencontre nécessaire Deux modèles pour les services Web Modèle «intégration» : les «gros» services web (dits SOAP ou WS*) Rendez-vous ou appel de procédure distante Modèle «Web» (automatisation des interactions avec les serveurs) : services agiles (dits RESTful) Messages asynchrones avec des hyperliens H. Grall (Ascola) Objets/Services 7/VI/2013 7 / 15

Des objets aux services : une rencontre nécessaire Deux modèles pour les services Web Un objectif commun : la découverte de services Principe important : la compatibilité des interfaces Exemple : découverte d un service de météo Recherche du client : météo du jour pour une ville donnée Service découvert : météo du jour pour un lieu donné Cela marche car une ville est aussi un lieu. H. Grall (Ascola) Objets/Services 7/VI/2013 7 / 15

Des objets aux services : une rencontre nécessaire La rencontre Les applications réparties avant les services Web DCOM (Distributed Component Object Model) de Microsoft CORBA (Component Object Request Broker Architecture) de l OMG RMI (Remote Method Invocation) de Sun Problèmes Pas de passages des pare-feux Protocoles de communication non interopérables Solution : les services Web Question : comment les programmer? Les spécifications et frameworks Exemple : Java JAX-WS (2006) et JAX-RS (2007) avec leurs implémentations de références H. Grall (Ascola) Objets/Services 7/VI/2013 8 / 15

Fonctionnement d un framework - Le problème et sa solution Plan 1 Des objets aux services : une rencontre nécessaire 2 Fonctionnement d un framework - Le problème et sa solution H. Grall (Ascola) Objets/Services 7/VI/2013 9 / 15

Fonctionnement d un framework - Le problème et sa solution Consommation et production d un service Une invocation et une réponse ( c Allam) H. Grall (Ascola) Objets/Services 7/VI/2013 10 / 15

Fonctionnement d un framework - Le problème et sa solution Consommation et production d un service Invocation Décomposition en canal et message Sérialisation du message Transmission du message via le canal Désérialisation du message Appel du service H. Grall (Ascola) Objets/Services 7/VI/2013 10 / 15

Fonctionnement d un framework - Le problème et sa solution Possibilité de raffinement? Principe général appliqué en Java : la règle de subsomption Principe général applicable pour les services Web : boîte noire H. Grall (Ascola) Objets/Services 7/VI/2013 11 / 15

Fonctionnement d un framework - Le problème et sa solution Possibilité de raffinement? Exemple : le service météo Client : utilisation d un service de météo lieu météo du jour Client : envoi de nantes Cela devrait marcher car une ville est aussi un lieu. Mais : javax.xml.bind.unmarshalexception dans une version du framework testé, pas d erreur dans une nouvelle version H. Grall (Ascola) Objets/Services 7/VI/2013 11 / 15

Fonctionnement d un framework - Le problème et sa solution Compatibilité des interfaces? Principe général appliqué en Java : la règle de subsomption Principe général non appliqué pour les services Web Idée : le meilleur des deux mondes H. Grall (Ascola) Objets/Services 7/VI/2013 12 / 15

Fonctionnement d un framework - Le problème et sa solution Compatibilité des interfaces? Exemple : le service météo Client : utilisation d un service de météo ville météo du jour Client : basculement vers un nouveau service lieu météo du jour Cela devrait marcher car une ville est aussi un lieu. Mais : javax.xml.bind.unmarshalexception dans toutes les versions testées H. Grall (Ascola) Objets/Services 7/VI/2013 12 / 15

Fonctionnement d un framework - Le problème et sa solution Solution : un diagramme commutatif Ville ι Lieu σ Ville σ Lieu id Ville Serie(Ville) Serie(ι) Serie(Lieu) id Lieu δ Ville δ Lieu Ville ι Lieu Diagnostic : problème avec la flèche Serie(ι) (conversion entre les structures série) Nouvelle spécification souhaitable Les spécifications actuelles sont muettes relativement au polymorphisme. H. Grall (Ascola) Objets/Services 7/VI/2013 13 / 15

Fonctionnement d un framework - Le problème et sa solution Diagramme commutatif? Origine : les mathématiques et la théorie des catégories (surnommée par auto-dérision «abstract nonsense» De nombreuses applications très intuitives en programmation A f B ncopies(10,-) List(A) List(f) List(B) ncopies(10,-) H. Grall (Ascola) Objets/Services 7/VI/2013 14 / 15

Fonctionnement d un framework - Le problème et sa solution Sur les normes, les spécifications Simplicité Profondeur Bon exemple : le langage Java Mauvais exemple : les services Web Solution : sans doute dans le rapport recherche/enseignement/industrie H. Grall (Ascola) Objets/Services 7/VI/2013 15 / 15