57
Architecture logicielle GLO-3001 Partie II : Introduction à SOA Félix-Antoine Bourbonnais Département d’informatique et de génie logiciel Université Laval Hiver 2010

Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Architecture logicielleGLO-3001

Partie II : Introduction à SOA

Félix-Antoine Bourbonnais

Département d’informatique et de génie logicielUniversité Laval

Hiver 2010

Page 2: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction

Partie II : Introduction à SOAPlan

1 IntroductionIntroductionMotivations

2 SOA

3 Architecture SO

4 Conclusion

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 2 / 56

Page 3: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction

Définitions

Définitions

• SOA : Service-oriented architecture

• SO : Service-orientation

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 3 / 56

Page 4: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction

SOA

Définition générale :

• Paradigme

• Dans le but d’augmenter la flexibilité

• Faiblement couplé

• Basé sur des standards

• Hétérogène

• Plusieurs propriétaires *

• Distribué *

La définition peut varier en fonction du point de vue :client, TI, direction, fonctionnel, architecture, ...

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 4 / 56

Page 5: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction

Avertissement

• Ceci est une trop courte introduction à SOA...

• Il existe plusieurs définitions de SOA

• SOA est à la mode...• Chaque vendeur a sa définition pour vendre ses produits

« SOA »• Même les organismes de normalisation impliqués ne partagent

pas tous la même définition

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 5 / 56

Page 6: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction

SOA, une philosophie...

SOA est un paradigme, une philosophie...

SOA n’est pas une architecture concrète...

SOA n’est pas une technologie...

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 6 / 56

Page 7: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction

SOA, une philosophie...

SOA 6= WS

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 7 / 56

Page 8: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction

Désillusion...

On ne peut pas acheter SOA !

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 8 / 56

Page 9: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction

Désillusion...

Il n’y a pas de miracle SOA !

SOA n’est pas simple !

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 9 / 56

Page 10: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction → Motivations

Partie II : Introduction à SOAPlan

1 IntroductionIntroductionMotivations

2 SOA

3 Architecture SO

4 Conclusion

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 10 / 56

Page 11: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction → Motivations

Architecture distribuée

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 11 / 56

Page 12: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction → Motivations

Architecture distribuée

Pour mieux répondre aux besoins de nos clients, le processus defacturation sera amélioré...

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 12 / 56

Page 13: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction → Motivations

Architecture distribuée

Pour mieux répondre aux besoins de nos clients, le processus defacturation sera amélioré...

NNNOOONNnn ! ! !Pas le composant de facturation ! !

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 12 / 56

Page 14: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction → Motivations

Avec SOA (idéal)

Service

registryBD

Oracle

BD

MySQLService

repository

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 13 / 56

Page 15: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction → Motivations

Avec SOA (idéal)

[3]

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 14 / 56

Page 16: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction → Motivations

Motivations

• Les besoins des entreprises changent de plus en plusrapidement

• Adaptabilité de l’entreprise aux marchés• De nouveaux services doivent pouvoir être développés

rapidement et pouvoir durer• L’intégration des services est traditionnellement un goulot• Nécessité de réutiliser et éviter les doublons• Pouvoir répondre aux besoins d’affaires plus rapidement en

utilisant l’existant

• Monde inter-connecté

• Entre les départements• Connexion entre les entreprises• Utilisation de services globaux

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 15 / 56

Page 17: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Introduction → Motivations

Architectures traditionnelles

• Programmation en silo

• Conception centrée sur une application (un projet)

• Conception cloisonnée dans un département (un client)

• Intégration une à une des applications (cas par cas)

• Point à point• Connecteurs spécifiques

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 16 / 56

Page 18: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Le paradigme SOA

Partie II : Introduction à SOAPlan

1 Introduction

2 SOALe paradigme SOAConcepts clésIngrédients

3 Architecture SO

4 Conclusion

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 17 / 56

Page 19: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Le paradigme SOA

Fondements

[3]

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 18 / 56

Page 20: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Le paradigme SOA

Postulats

• Les logiciels s’adaptent aux besoins d’affaires pas l’inverse !

• Difficile de prévoir les besoins logiciels à l’avance• Le besoins changent rapidement (en cours de route)

• Interopérabilité et généralisation des services

• Éviter les cloisonnements• Accepter l’hétérogénéité

• Flexibilité

• Évolution graduelle et agilité

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 19 / 56

Page 21: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Le paradigme SOA

SOA Manifesto

We have been applying service orientation to help organizations consistentlydeliver sustainable business value, with increased agility and cost effectiveness, inline with changing business needs.

Through our work we have come to prioritize :

• Business value over technical strategy

• Strategic goals over project-specific benefits

• Intrinsic interoperability over custom integration

• Shared services over specific-purpose implementations

• Flexibility over optimization

• Evolutionary refinement over pursuit of initial perfection

That is, while we value the items on the right, we value the items on the left more.

ALI ARSANJANI GRADY BOOCH TOUFIC BOUBEZ PAUL C. BROWN DAVID CHAPPELL JOHN DEVADOSS THOMAS ERLNICOLAI JOSUTTIS DIRK KRAFZIG MARK LITTLE BRIAN LOESGEN ANNE THOMAS MANES JOE MCKENDRICK STEVEROSS-TALBOT STEFAN TILKOV CLEMENS UTSCHIG-UTSCHIG HERBJÖRN WILHELMSEN

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 20 / 56

Page 22: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Le paradigme SOA

Orienté services

• Unité : le service

• SOA est une autre manière de penser

• Conception OO 6= conception SOA• Centré sur les services !• Besoin d’affaires découpé en services• Plus haut niveau que l’OO

• Implique un changement de mentalité

• À tous les niveaux (direction, architecture, ...)

• On peut utiliser les technologies et standards sans SOA

• SOAP, WSDL, ...

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 21 / 56

Page 23: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Le paradigme SOA

Orienté servicesIdée de base

Il est plus simple de gérer et construire un système avec despièces détachées.

Chaque pièce ayant une préoccupation propre etindépendante des autres.

Exemple

Ceci ne suit PAS la philosophie SOA !

1 Concevoir en OO

2 Exposer certaines fonctionnalités

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 22 / 56

Page 24: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Le paradigme SOA

Processus d’affaires

[1]

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 23 / 56

Page 25: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Le paradigme SOA

Haut niveau

• OO se focalise sur l’objet (ex. : classe Personne)SOA se focalise sur le processus d’affaires

• Indépendant de la technologie

• Systèmes hétérogènes• Peut utiliser WS, REST, CORBA (OBV), ...

• Le processus d’affaire est indépendant de

• l’infrastructure• l’architecture

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 24 / 56

Page 26: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Le paradigme SOA

Avertissement !

Le diable est dans les détails !Ne pas sous-estimer les difficultés d’implémentation...

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 25 / 56

Page 27: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Concepts clés

Partie II : Introduction à SOAPlan

1 Introduction

2 SOALe paradigme SOAConcepts clésIngrédients

3 Architecture SO

4 Conclusion

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 26 / 56

Page 28: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Concepts clés

Concepts clés [5]

• Services

• Interopérabilité

• Couplage lâche (loose coupling)

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 27 / 56

Page 29: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Concepts clés

Services

• Niveau d’abstraction : Processus/fonctionnalités d’affaires

• Représentation TI d’une fonctionnalité d’affaires

• Cache les détails techniques au monde extérieur

• Les gens d’affaires devraient pouvoir comprendre la raison d’êtred’un service

• Indépendant de la plateforme, des technologies, etc.

• Permet l’hétérogénéité

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 28 / 56

Page 30: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Concepts clés

Services (suite)

Exemples

• Créer un client

• Produire une facture

• Générer les T4

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 29 / 56

Page 31: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Concepts clés

Couplage lâche

• Postulat : Prédire les intégrations futures est impossible

• Solution : Indépendance !

• Facilite l’intégration• Augmente la robustesse

• Couplage lâche : Réduire les dépendances

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 30 / 56

Page 32: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Concepts clés

Couplage lâcheObjectifs

• Minimiser les effets des modifications

• Augmenter la tolérence aux fautes

• Réduire les goulots d’étranglement (bottleneck)

• Augmenter la flexibilité et l’extensibilité

Niveau de couplage

• La quantité de couplage lâche doit être déterminée en fonctiondes besoins et du contexte

• Peut varier entre les inventaires

• Doit être décidé, analysé et encadré (SOA)

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 31 / 56

Page 33: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Ingrédients

Partie II : Introduction à SOAPlan

1 Introduction

2 SOALe paradigme SOAConcepts clésIngrédients

3 Architecture SO

4 Conclusion

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 32 / 56

Page 34: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Ingrédients

Ingrédients [5]

• Infrastructure

• Architecture

• Processus

• Gouvernance

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 33 / 56

Page 35: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Ingrédients

Infrastructure

• Donne l’interopérabilité

• Technologies :

• ESB,• ...

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 34 / 56

Page 36: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Ingrédients

Architecture

• Implémentation de « SOA »

• Décisions et choix

• Des règles et politiques• Des standards• Des façons de faire• Des technologies• Des rôles et responsabilités• Etc.

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 35 / 56

Page 37: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Ingrédients

ArchitectureExemples de décisions

Exemples

• Quantité de couplage lâche

• Classement des services

• Patrons à utiliser (inventaires, couches, ...)

• WS ou REST

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 36 / 56

Page 38: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Ingrédients

Processus

• Permet de traduire la fonctionnalité d’affaires en terme deservices

• BPM

• Diviser un processu d’affaires en tâches (services)

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 37 / 56

Page 39: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → SOA → Ingrédients

Gouvernance

• Niveau : Organisation

• Méta-processus + stratégie

• Gestion des équipes

• Relations avec les services• Trouver les « bonnes personnes »• Équipe centrale, distribuée, ...

• Politiques et gestion

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 38 / 56

Page 40: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Architecture SO → Principes

Partie II : Introduction à SOAPlan

1 Introduction

2 SOA

3 Architecture SOPrincipesPatrons et styles

4 Conclusion

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 39 / 56

Page 41: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Architecture SO → Principes

Principes de design [2]

• Couplage lâche

• Contrats de service

• Exposition standardisée des capacités et de l’objectif

• Autonomie

• Chaque service contrôle sa logique

• Abstraction

• Cache la logique au monde extérieur• Le niveau d’abstraction doit être choisi

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 40 / 56

Page 42: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Architecture SO → Principes

Principes de design [2] (suite)

• Réutilisabilité

• Composabilité

• Les services sont conçus de manière à pouvoir être coordonnéset assemblés pour former facilement des composites

• Sans état (stateless)

• Le niveau peut être choisi• Indépendance !

• Découvrable (discoverability)

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 41 / 56

Page 43: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Architecture SO → Patrons et styles

Partie II : Introduction à SOAPlan

1 Introduction

2 SOA

3 Architecture SOPrincipesPatrons et styles

4 Conclusion

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 42 / 56

Page 44: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Architecture SO → Patrons et styles

Service [3]

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 43 / 56

Page 45: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Architecture SO → Patrons et styles

Centralisation

• Le degré de centralisation doit être décidé

• Attention ! Ne pas essayer de généraliser ce qui est spécifiquepar définition... [5]

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 44 / 56

Page 46: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Architecture SO → Patrons et styles

Inventaires [4]Service Inventories

• Design et règles communs

• « Pool » de services

• Souvent une gestion commune

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 45 / 56

Page 47: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Architecture SO → Patrons et styles

Couches [4]Service Layers

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 46 / 56

Page 48: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Architecture SO → Patrons et styles

Couches [4] (suite)Service Layers

Notifications

CommissionFacture

Rapport

annuel

Processus

d’affaires

Entités

d’affaires

Utilitaires

Non-agnostique

Agnostique

(neutre)

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 47 / 56

Page 49: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Architecture SO → Patrons et styles

Couches [4] (suite)Service Layers

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 48 / 56

Page 50: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Architecture SO → Patrons et styles

MEP

• Message Exchange Patterns (MEP)

• MEPs courants :

• « Request-Response »• « One-Way »• « Request-Callback »• « Publish-Subscribe »

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 49 / 56

Page 51: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Conclusion

Partie II : Introduction à SOAPlan

1 Introduction

2 SOA

3 Architecture SO

4 Conclusion

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 50 / 56

Page 52: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Conclusion

Autres sujets

• Tests

• Sécurité

• Versionnage

• Gouvernance

• Processus

• Etc.

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 51 / 56

Page 53: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Conclusion

Migration vers SOA

• Long terme !

• Assurer le financement

• Avoir le réel appui de la direction à long terme

• SOA donne une stratégie

• Migration incrémentale et itérative

• « Interfacer » les systèmes existants

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 52 / 56

Page 54: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Conclusion

Mythes [2]

• SOA = WS

• SOA est un terme de vente

• SOA simplifie les architecture distribuées

• Si je comprends les WS alors l’implémentation de SOA serafacile

• SOA⇒ interropérabilité naturelle

NON ! FAUX !

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 53 / 56

Page 55: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Conclusion

Attention !

SOA est un paradigme qui s’étend sur plusieurs niveaux :

• La direction doit être dans le coup

• Beaucoup de « départements » sont impactés (infrastructure,développement, clients, direction, etc.)

• Tous doivent être impliqués

• Nécessite de comprendre et de considérer les impacts surchacun

• Devra entraîner des changements organisationnels

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 54 / 56

Page 56: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Conclusion

Dangers [2]

• Concevoir une architecture SOA comme une architecturedistribuée

• Mauvais découpage• Services difficiles à composer• Pas de consistance entre les services

• Ne pas établir de standards et de normes

• Toujours établir des règles, conventions, etc... comme en OOd’ailleurs !

• Ne pas avoir de plan de transition

• Ne pas considérer la performance

• Ne pas comprendre les aspects sécuritaires liés aux services

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 55 / 56

Page 57: Partie II : Introduction à SOAlamontagne/glo3001/partie2-introsoa.pdf · Avec SOA (idéal) Service registry BD Oracle BD My SQL S ervic rep osit Félix-Antoine Bourbonnais Architecture

Introduction SOA Architecture SO Conclusion Annexes

Partie II : Introduction à SOA → Annexes

Références

[1] Ali Arsanjani, Liang-Jie Zhang, Michael Ellis, Abdul Allam, et KishoreChannabasavaiah, Design an SOA solution using a reference architecture,Mars 2007.http://www.ibm.com/developerworks/architecture/library/ar-archtemp/.

[2] Thomas Erl. Service-Oriented Architecture : Concepts, Technology, andDesign. Prentice Hall PTR, 1 edition, Août 2005.

[3] Thomas Erl. SOA Principles of Service Design. Prentice Hall, 1 edition, Juillet2007.

[4] Thomas Erl. SOA Design Patterns. Prentice Hall PTR, 1 edition, 2009.

[5] Nicolai M. Josuttis. Soa in Practice : The Art of Distributed System Design.O’Reilly Media, 1 edition, Août 2007.

Félix-Antoine Bourbonnais Architecture logicielle GLO-3001 Hiver 2010 56 / 56