37
SOA et services web INSAT 2015-2016 Mariem Chaabouni

SOA et services web - Généralités

Embed Size (px)

Citation preview

Page 1: SOA et services web - Généralités

SOA et services web

INSAT 2015-2016

Mariem Chaabouni

Page 2: SOA et services web - Généralités

1. Ingénierie orientée services : Généralités

Ingénierie orientée services

Page 3: SOA et services web - Généralités

Ingénierie orientée services

• Un paradigme pour développer des logiciels distribués et collaboratifs

• Un tel logiciel se compose de plusieurs entités, appelés services• Des services généralement développés indépendamment et sont composés

pour atteindre des exigences

• Les chorégraphies de services définissent ces exigences avec une perspective globale, basée sur les interactions entre des participants • Les services communiquent entre eux pour atteindre des exigences

communes

Ingénierie orientée services Généralités

Page 4: SOA et services web - Généralités

2 Approches de construction d’un système basé sur les services• Approche top-down (descendante)• Basée sur la décomposition du système en services qui peuvent être mis en

place selon les spécifications du système

• Approche bottom-up (ascendante)• Basée sur la composition de services existants pour atteindre les exigences du

système

Ingénierie orientée services Généralités

System

Service 1 Service 2 Service 3

System

Service 1 Service 2 Service 3

Page 5: SOA et services web - Généralités

Service-Oriented Computing (SOC)

• Un terme générique utilisé pour représenter une plate-forme informatique distribuée de nouvelle génération. Il englobe:• Les principes de conception, • les catalogues de patrons de conception, • les langages de patrons, • le modèle architectural,• les concepts, les technologies et les frameworks associés.

• « Un paradigme informatique qui utilise les services comme brique de base pour supporter le développement d'applications distribuées rapide, de faible coût et facile à composer, même dans des environnements hétérogènes. »

Ingénierie orientée services Généralités

Page 6: SOA et services web - Généralités

Service-Oriented Computing (SOC)

• Promesses du SOC • un monde de services

coopératifs où les composants de l'application sont assemblés avec peu d'effort dans un réseau de services faiblement couplés pour créer des « business process » dynamiques et flexibles et des applications agiles

Ingénierie orientée services Généralités

Page 7: SOA et services web - Généralités

Service-Oriented Computing (SOC)

• Comment mettre en place une plateforme informatique orientée services – Principaux éléments:

• service-oriented architecture (SOA)• service-orientation• service-oriented solution logic• services• service compositions• service inventory

Ingénierie orientée services Généralités

Page 8: SOA et services web - Généralités

Service-Oriented Computing (SOC)Ingénierie orientée services Généralités

Page 9: SOA et services web - Généralités

9

• Service-Oriented Architecture (SOA) – Niveau architecture• Un modèle architectural pour les solutions orientées services ayant comme

caractéristique de supporter la réalisation de l’aspect « service-orientation » et les objectifs stratégiques • Une forme d’architecture technologique• Une implémentation SOA peut consister en une combinaison de :

• Technologies• Produits• APIs• Ressources, repositories• ...

Ingénierie orientée services Généralités

Page 10: SOA et services web - Généralités

Service-Oriented Computing (SOC)Ingénierie orientée services Généralités

Page 11: SOA et services web - Généralités

• Service-orientation (design paradigm)• Service-orientation est le paradigme de conception destiné à la création d’unités logiques

(services) formées individuellement pour être utilisées collectivement et de manière répétitive• est généralement considéré comme une approche qui régit la conception de logique de solutions.

Il se compose d'un ensemble de règles ou de principes complémentaires qui définissent collectivement l'approche globale.

• Une manière de penser…

Ingénierie orientée services Généralités

1. Standardized Service Contract (Standardisation)2. Service Loose Coupling (Faible couplage)3. Service Abstraction (Abstraction)4. Service Reusability (réutilisabilité)5. Service Autonomy (autonomie)6. Service Statelessness (sans état)7. Service Discoverability (découverte)8. Service Composability (composabilité)

• 8 principes de conception

Page 12: SOA et services web - Généralités

Ingénierie orientée services Généralités

• Service-orientation (design paradigm)

Service orientation

Object-orientation

Web services

BPM (Business Process

Management)

EAI (Enterprise Application Integration)

Others…

Page 13: SOA et services web - Généralités

• Service-oriented solution logic • Tout corps d’une logique de solution pour laquelle le paradigme de « service-

orientation » a été appliqué

Ingénierie orientée services Généralités

Exemples de 3 conceptions d’applications distinctes :

Chaque conception dispose d’une liste de caractéristiques de conception « design characteristics »

Unité d’une logique de solution

Réutilisation au accès partagé

Transfert de données

Page 14: SOA et services web - Généralités

• Services• Un service = un contrat, une ou plusieurs interfaces et une implémentation• Un service = une aptitude métier ou IT, exposée par un fournisseur de services• Un service = un mécanisme pour donner l'accès à une ou plusieurs capacités l'accès est fourni en utilisant une interface prescrite et est exercé en accord avec les

contraintes et les politiques comme spécifié par la description du service• Les services = des logiciels physiquement indépendants avec

• des caractéristiques de conception distinctes • prennent en charge la réalisation des objectifs stratégiques liés à l'informatique orientée services.

• Chaque service est affecté à son propre contexte fonctionnel distinct et est composé d'un ensemble de capacités liées à ce contexte.

Ingénierie orientée services Généralités

Billing CRM

getNextInvoiceDate updateCustomerAdress

Page 15: SOA et services web - Généralités

Service-Oriented Computing (SOC)Ingénierie orientée services Généralités

Page 16: SOA et services web - Généralités

Ingénierie orientée services Généralités

• Service Composition• Une composition de service est un agrégat de services

composés pour automatiser une tâche ou un processus métier particuliers.

• Pour être considéré comme une composition, il faut avoir au moins deux services participants + un initiateur de composition. Sinon l'interaction de service représente seulement un échange point-to-point.

• Les compositions de services peuvent être classés en variations complexes et primitives.

• Plusieurs processus métiers peuvent être automatisées par la création de compositions de services disponibles à partir d'un pool de services existants qui résident dans un inventaire de service (service inventory).

Page 17: SOA et services web - Généralités

Service-Oriented Computing (SOC)Ingénierie orientée services Généralités

Page 18: SOA et services web - Généralités

Ingénierie orientée services Généralités

• Service inventory• Un inventaire de services est une collection standardisée de services complémentaires représentant

une entreprise ou un segment significatif de l'entreprise. Quand une organisation a plusieurs inventaires de services nous parlons d’ « inventaire des services de domaine ».

• Une collection de services standardisés, formant la base d'un inventaire de service, peut être administrée de façon indépendante dans son propre environnement de déploiement physique.

• Un inventaire de service établit un pool de services qui sont conçus pour être réutilisés dans les compositions de services multiples.

Page 19: SOA et services web - Généralités

Service-Oriented Computing (SOC)Ingénierie orientée services Généralités

Page 20: SOA et services web - Généralités

Modèles de service (Service Models)Ingénierie orientée services Généralités

• Les services diffèrent selon• Le type de logique qu’ils encapsulent• Le degré de réutilisation de cette logique• Comment cette logique est reliée aux domaines dans l’entreprise

• 3 types de services• Entity Services• Task services• Utility services

Page 21: SOA et services web - Généralités

Modèles de service (Service Models)Ingénierie orientée services Généralités

• Entity Services• Généralement dans une entreprise, il y a des

modèles de documents métiers qui définissent les entités métiers pertinentes de l'organisation

-> Services entités• Exemples d'entités métiers (clients, employés,

facture, demande) • Le modèle de l’entity service représente un service

centré métier. • Il est considéré comme un service hautement

réutilisable parce qu'il est commun à la plupart des processus métiers : un service peut être mis à profit pour automatiser de multiples processus métiers.

Entity Service

Utility Service

Task Service

Page 22: SOA et services web - Généralités

Modèles de service (Service Models)Ingénierie orientée services Généralités

• Task Services• Un service métier (entity service) ayant un champs

fonctionnel bien défini, et qui est directement associé à une tâche ou un processus métier, est basé sur le modèle de « task service ».

• Ce type de service a tendance à avoir moins de potentiel de réutilisation et est généralement positionné comme le contrôleur d'une composition /responsable de la composition d'autres services.

Entity Service

Utility Service

Task Service

Page 23: SOA et services web - Généralités

Modèles de service (Service Models)Ingénierie orientée services Généralités

• Utility Services• la représentation de la logique NON-métier. • une couche distincte de services axée sur la

technologie. • Le modèle du service utilitaire "utility service" est

dédié à fournir des fonctionnalités utilitaires réutilisables, transversales

• Exemples : la journalisation des événements, la notification et la gestion des exceptions.

• Egalement appelés : application services, infrastructure services, technology services.

Entity Service

Utility Service

Task Service

Page 24: SOA et services web - Généralités

Modèles de service (Service Models)Ingénierie orientée services Généralités

Page 25: SOA et services web - Généralités

SOA et services webIngénierie orientée services Généralités

• Dans le marché actuel, la plateforme technologique la plus associée à la réalisation d’une SOA sont les services WEB• L’une des solutions technologiques possibles pour implémenter une SOA, y’en a

d’autres…• Les web services : C’est une série de protocoles, langages et standards émergents, qui

permettent à des applications informatiques d’exposer leurs fonctionnalités et/ou leurs données via le web. • l’infrastructure permettant d’invoquer un objet ou d’échanger des données à distance• WSDL, SOAP, v

• SOA est un ensemble de concepts : Elle peut être implémenter sans Web ServicesOn peut utiliser les Web services sans SOA

Page 26: SOA et services web - Généralités

SOA et OSGI (Open Services Gateway Initiative)

Ingénierie orientée services Généralités

• Framework OSGi (environnement d’exécution)+ services OSGI (Log, XML Parser, JMX, JNDI, …)

• Une autres solution technologique pour une implémentation du SOA• Open Services Gateway Initiative (OSGi) est une

spécification ouverte pour la définition d'une plate-forme de déploiement et d'exécution des services administrés à distance• Initialement utilisé dans des environnements

embarqués tels que des passerelles résidentiels et industriels de véhicules, ...

Page 27: SOA et services web - Généralités

SOA et OSGI (Open Services Gateway Initiative)

Ingénierie orientée services Généralités

OSGI définit une multitude de services :• Logs• Gestion de configuration• Préférences• Services HTTP (e.g :servlets)• Gestion des utilisateurs• Parseurs XML• Gestion de droits,• Politique de sécurité• Monitoring• Gestion de périphériques• Connecteurs d'entrés-sorties…

Page 28: SOA et services web - Généralités

Ingénierie orientée services Généralités

1. Standardized Service Contract (Standardisation)2. Service Loose Coupling (Faible couplage)3. Service Abstraction (Abstraction)4. Service Reusability (réutilisabilité)5. Service Autonomy (autonomie)6. Service Statelessness (sans état)7. Service Discoverability (découverte)8. Service Composability (composabilité)

• 8 principes de conception

Page 29: SOA et services web - Généralités

Ingénierie orientée services Généralités

1. Standardized Service Contract (Standardisation du contrat)

• 8 principes de conception

Service 1 Service 2

Contrat

Page 30: SOA et services web - Généralités

Ingénierie orientée services Généralités

2. Service Loose Coupling (Faible couplage)

• 8 principes de conception

Service 1

Service 2 Service 3

Service 1

Service 2 Service 3

Minimiser la dépendance

Consumer

Consumer

Page 31: SOA et services web - Généralités

Ingénierie orientée services Généralités

3. Service Abstraction (Abstraction)

• 8 principes de conception

Consumer InterfaceTraitement

Service 1

La logique du service doit être invisible par le client

Page 32: SOA et services web - Généralités

Ingénierie orientée services Généralités

4. Service Reusability (réutilisabilité)

• 8 principes de conception

ServiceConsumer 2

Consumer 1

Consumer 3

Page 33: SOA et services web - Généralités

Ingénierie orientée services Généralités

5. Service Autonomy (autonomie)

• 8 principes de conception

Service Logic and ressources

Le service devrait avoir le control de ressources et logique métier qu’il encapsuleIl doit pouvoir fonctionner avec autonomie

Page 34: SOA et services web - Généralités

Ingénierie orientée services Généralités

6. Service Statelessness (sans état)

• 8 principes de conception

• Ne garde pas des états d’une utilisation a une autre• La gestion de beaucoup d’informations sur l’état peut compromettre l’accessibilité du service et

affecte son potentiel de scalabilité service inadapté à la réutilisation

Page 35: SOA et services web - Généralités

Ingénierie orientée services Généralités

7. Service Discoverability (découverte)

• 8 principes de conception

Service

Consumer 1

Registry (Annuaire)

Page 36: SOA et services web - Généralités

Ingénierie orientée services Généralités

8. Service Composability (composabilité)

• 8 principes de conception

BIG ServiceConsumer 1

Service

Service

Service

• La conception de services doit permettre la composition de nouveaux services (service composite) à partir de services existants pour gérer des problèmes de grands tailles

Page 37: SOA et services web - Généralités

Ingénierie orientée services Généralités

Références ERL, Thomas. Soa: principles of service design. Upper Saddle River : Prentice Hall, 2008.