20
Architectures Orientées Services Chapitre 1 – Introduction aux Architectures Orientées Services Dr. Lilia SFAXI LA3 SIL - 2013-2014 Institut National des Sciences Appliquées et de Technologie

Chp1- Introduction aux Technologies Web et SOA

Embed Size (px)

DESCRIPTION

Visitez http://liliasfaxi.wix.com/liliasfaxi

Citation preview

Page 1: Chp1- Introduction aux Technologies Web et SOA

Architectures Orientées Services

Chapitre 1 – Introduction aux Architectures Orientées

Services

Dr. Lilia SFAXI

LA3 SIL - 2013-2014

Institut National des Sciences Appliquées et de Technologie

Page 2: Chp1- Introduction aux Technologies Web et SOA

2

Plan du Chapitre

Besoins de la SOA

Notion de Service

Architecture Orientée Services : Définition et Principes

Page 3: Chp1- Introduction aux Technologies Web et SOA

3

Les Besoins de la SOA

CHAPITRE 1 :

INTRODUCTION AUX TECHNOLOGIES WEB &

ARCHITECTURES ORIENTÉES SERVICES

Page 4: Chp1- Introduction aux Technologies Web et SOA

4Besoins de l’Architecture Orientée Services

Problématique d’intégration en entreprise

o Les entreprises doivent s’adapter et être réactives aux variations des marchés Impact sur les SI des entreprises

o C’est l’activité qui doit piloter la technologie et non l’inverse

Prise en compte de l’évolution des besoins fonctionnels à la conception des application

o La technologie doit apporter la flexibilité

Éviter le décalage entre besoins métiers et leur réalisation

Besoin de réutilisation des fonctionnalités (non fournie par le modèle MVC classique)

Processus métiers de plus en plus inter-départementaux coût considérable dans la gestion de flux entre départements

Page 5: Chp1- Introduction aux Technologies Web et SOA

5

Évolution des Architectures

Hier : Architecture en Spaghetti

Développement coûteux

Interconnexions redondantes

Grande complexité

Réutilisation et maintenance difficile

Demain : Architecture Urbanisée

Organisation du SI à l’image d’une ville Le découper en modules autonomes

Localiser les zones d’échange d’informations

Page 6: Chp1- Introduction aux Technologies Web et SOA

6

De plus en plus d’abstraction

Procédures et fonctions

o sous-programmes réalisant une action

Modules

o groupes de fonctions, de méthodes et de traitement, sous forme de bibliothèques

Objet

o brique de base logicielle, représentant une entité du monde physique, encapsulant un état et des traitements

Composant

o élément logiciel contenant du code compilé (donc opaque)

o séparation des préoccupations techniques et fonctionnelles

o définit une interface pour communiquer avec les autres composants, et une interface de configuration

Service

Page 7: Chp1- Introduction aux Technologies Web et SOA

7

Notion de Service

CHAPITRE 1 :

INTRODUCTION AUX TECHNOLOGIES WEB &

ARCHITECTURES ORIENTÉES SERVICES

Page 8: Chp1- Introduction aux Technologies Web et SOA

8

Service

Périmètre fonctionnel qu’on souhaite exposer à un certain type de consommateurs

Ensemble de fonctionnalités qui ont un sens

Expose un petit nombre d’opérations offrant un traitement de bout en bout

Est implémenté par un fournisseur et utilisé par un consommateur

Page 9: Chp1- Introduction aux Technologies Web et SOA

9

Caractéristiques d’un Service (1/2)

Large Granularité (coarse-grained) 

o Les opérations proposées par un service encapsulent plusieurs fonctions et opèrent sur un périmètre de données large au contraire de la notion de composant technique.

Interface

o Un service peut implémenter plusieurs interfaces, et aussi plusieurs services peuvent implémenter une interface commune.

Localisable 

o Avant d’appeler (bind, invoke) un service, il faudra le trouver (find).

Page 10: Chp1- Introduction aux Technologies Web et SOA

10

Caractéristiques d’un Service (2/2)

Instance unique 

o À la différence des composants qui sont instanciés à la demande et peuvent avoir plusieurs instances en même temps, un service est unique.

o Un service correspond au design pattern Singleton.

Couplage faible (loosely-coupled)

o Les services sont connectés aux clients et autres services via des standards

o Ces standards assurent le découplage, c-à-d la réduction des dépendances.

o Ces standards sont en général des documents XML comme dans les web services

Synchrone ou Asynchrone

Page 11: Chp1- Introduction aux Technologies Web et SOA

11

Couplage Fort vs. Couplage Faible

Couplage Fort

o « Agent » est lié à « Accord de Prêt », qui est lié à « Compte »

o « Prêt » est lié à « SMS Gateway »

Agent Accord de Prêt Compte Prêt SMS Gateway

calculerRisque

vérifierSolde

créerPrêt

envoyerConfirmation

Objets

Page 12: Chp1- Introduction aux Technologies Web et SOA

12

Couplage Fort vs. Couplage Faible

Couplage Faible

o Chaque entité (service) a un fonctionnement indépendant des autres

o Le processus métier « Processus de Prêt » permet d’orchestrer les services Couplage lâche ou faible

Processus de Prêt Vérification de Solde Calcul de Risque Création de Prêt Notification par SMS ServicesProcessus Métier

Page 13: Chp1- Introduction aux Technologies Web et SOA

13

Types de Services

Les services de présentations ou de référencement

o vers les informations affichées et les formulaires de saisies de données.

Les processus métiers

o composés de tâches décrites et faisant appel éventuellement à d’autres services.

Les services de gestion et d’accès aux bases de données

o permettent la gestion des données partagées

Les services d’intégration

o en charge de la messagerie ou l’échange de données tant à l’intérieur que vers l’extérieur comme la gestion des courriers électroniques

Page 14: Chp1- Introduction aux Technologies Web et SOA

14

Architecture Orientée Services

: Définition et Principes

CHAPITRE 1 :

INTRODUCTION AUX TECHNOLOGIES WEB &

ARCHITECTURES ORIENTÉES SERVICES

Page 15: Chp1- Introduction aux Technologies Web et SOA

15

Architecture Orientée Services

SOA (Service Oriented Architecture)

Style d’architecture organisé à partir de services métiers communs mutualisés pour un ensemble de lignes métiers ou d’applications.

Permet d’intégrer et de manipuler les différentes briques et composants applicatifs d’un système informatique et de gérer les liens qu’ils entretiennent

Objectifs

o Décomposer une fonctionnalités en un ensemble de fonctions basiques (services) fournies par des composants

o Décrire finement le schéma d’interaction entre ces services

Page 16: Chp1- Introduction aux Technologies Web et SOA

16

Du point de vue des acteurs…

DirigeantArchitecte

DéveloppeurIntégrateur

Des services que l’entreprise souhaite exposer à ses clients et partenaires, ou à d’autres

parties de l’organisation

Une architecture basée sur un fournisseur, un consommateur et une description de service

Un style de programmation avec ses standards,

paradigmes, technologies et outils associés

Un intergiciel offrant des fonctionnalités en terme

d’assemblage, d’orchestration, de surveillance et de gestion

des services

Page 17: Chp1- Introduction aux Technologies Web et SOA

17

Principes de la SOA (1/2)

Diviser pour régner

o Substituer la découpe strictement applicative par une structuration en composants plus réduits et potentiellement plus simples à faire évoluer.

Alignement métier

o Construire et organiser le système à partir des réalités métiers, qui doivent se retrouver dans ses constituants.

Neutralité technologique

o Assurer une indépendance totale entre les interfaces et les implémentations.

o L’élément qui utilise un service ne doit pas être contraint ni par la technologie d’implémentation, ni par sa localisation (potentiellement distribué).

Page 18: Chp1- Introduction aux Technologies Web et SOA

18

Principes de la SOA (2/2)

Mutualisation

o Favoriser la réutilisation de services métiers par plusieurs lignes métiers ou applications.

o Permettre la construction de services de haut niveau par combinaison de services existants.

Automatisation des processus métier

o Isoler la logique des processus métiers sur des composants dédiés qui prennent en charge les enchainements de tâches et les échanges de flux d’information.

Echanges orientés Document

o Les informations échangées par les services possèdent une structure propre, guidée par les besoins métiers.

o On privilégie la transmission de contenus complets et utilisables au profit d’accès direct aux structures de type objet ou relationnel.

Page 19: Chp1- Introduction aux Technologies Web et SOA

19

Sources

Cours

M. Mecella : A very short Introduction to Web Services, Université de Rome

A. Occello : Module Architecture SOA et Workflow, Polytechnique de Nice

Livre Blanc

Gilbert Raymond, SOA : Architecture Logique - Principes, structures et bonnes pratiques, Softeam, Paris

Page 20: Chp1- Introduction aux Technologies Web et SOA

20

Références

[Casati01] F. Casati, M.C. Shan, D. Georgakopoulos (eds.): Special Issue on e-Services. VLDB Journal, 10(1), 2001, Based on the 1st International Workshop on Technologies for e-Services (VLDB-TES 2001)

[Mecella01] M. Mecella, B. Pernici: Designing Wrapper Components for e-Services in Integrating Heterogeneous Systems. VLDB Journal, 10(1), 2001, Based on the 1st International Workshop on Technologies for e-Services (VLDB-TES 2001)

[W3C04] W3C Working Group Note, Web Services Architecture Requirements, 11 Feb. 2004