SOA - Architecture Orientée Service
: Démystification
A quels besoins répond le SOA ?
• Quels sont les principes de base du SOA ?
• Quels sont les éléments clé d’une architecture
orientée services ?
SOA - Architecture Orientée Service : Démystification Khaled Ben Driss 17 Avril 2008 V1.2.1
1. SOA - Architecture Orientée Service
: Démystification
Khaled BEN DRISS
Khaled.bendriss@oxiasoft.com
Rabat le jeudi 17 avril 2008
2. Khaled BEN DRISS
Consultant / Formateur
Ingénieur de l'Ecole Centrale de Lyon (ECL 1991)
Docteur de l'Université Paris 6 ( 1994)
Ancien Maître Assistant à l'Ecole Polytechnique
de Tunisie
Fondateur Net-Progress
OXIA Excecutive Partner
Architecte de Système d'Information
khaled.Bendriss@oxiasoft.com 2
3. Plan
• A quels besoins répond le SOA ?
• Quels sont les principes de base du SOA ?
• Quels sont les éléments clé d’une architecture
orientée services ?
khaled.Bendriss@oxiasoft.com 3
4. Où en est SOA par rapport à ce Cycle
Cycle du
Gartner
khaled.Bendriss@oxiasoft.com 4
5. Le problème c'est les silos
• Entreprises découpées en départements fonctionnels y
compris le système d'information (SI)
• Processus métiers des entreprises de + en + multi-
départementaux
Des Silos sans communication
khaled.Bendriss@oxiasoft.com 5
6. Objectifs des Systèmes d'information
• Accès rapide, intégré et généralisé à
l’information pertinente
− en interne (Intranet) et en externe (Extranet, Internet)
• Système ouvert réduisant les coûts
− capable d'inter-opérer avec les applications existantes
− capable d'inter-opérer avec le monde extérieur (Extranet,
Internet)
• Développement rapide d’applications (RAD)
− utilisation de composants distribués
− réduction des coûts de développement
• Administration simplifiée du système
− depuis le Web avec des outils d'assistance
khaled.Bendriss@oxiasoft.com 6
Introduction
7. SI = un plat de spaghettis
• 70% des budgets IT sont
depensés pour mainteir
ou créer des connexions
entre les systémes
• Développements coûteux
• Interconnexions redondantes (point à
point)
• Grande complexité
• Maintenance difficile
khaled.Bendriss@oxiasoft.com 7
8. Problématique de l’intégration
intra-entreprise
•Entreprises découpées en départements fonctionnels y compris le
système d'information (SI)
•Processus métiers des entreprises de + en + multi-départementaux
Les entreprises
changent en
permanence : le SI
ne doivent pas être
un frein à ces
changements
Coûts considérables dans la gestion des flux entre départements
et dans l’intégration de leurs SI
khaled.Bendriss@oxiasoft.com 8
10. ERP: les acteurs majeurs migrent
vers SOA
IBM Oracle SAP
WebSphere Microsoft Fusion “NetWeaver”
Vendor “J2EE” “.NET” J2EE J2EE
SAP
Oracle
The Sage Group
MBS
Lawson-Intentia
SSA Global
Infor
Unit 4 Agresso
2006
IBS
Epicor
IFS (open source: JBoss)
Exact
khaled.Bendriss@oxiasoft.com 10
11. SOA, différents points de vue
ROI,
réactivité,
souplesse
virtualization des
Business Couches,
Services, visibilité, contrat,
sécurité, granularité
configuration,
interopéarbilité
IT Architecte
Ingénieur Système
Classes, objets,
webservice, WSDL,
UDDI, BPEL,
Java, C#
Développeur
khaled.Bendriss@oxiasoft.com 11
12. Quels sont les principes de base du SOA ?
khaled.Bendriss@oxiasoft.com 12
13. SOA = Service Oriented Architecure
• SOA est une évolution des plate-forme
passées,
• tout en préservant les caractéristiques réussies des
architectures traditionnelles,
• tout en y ajoutant quelques principes nouveaux.
• SOA est un paradigme abstrait, base de
l’architecture distribuée sans aucune
référence à une implémentation technique
(souvent implémentés sous forme de Web Services, mais pas
obligatoirement)
khaled.Bendriss@oxiasoft.com 13
14. Notre définition de la SOA
• La SOA c’est structurer
− une application,
− un bloc applicatif,
− voire le SI,
en services contractualisés
• Afin d’adresser les enjeux de
− Politique d’interopérabilité
• mise en œuvre de services globaux entre blocs applicatifs
− Politique de réutilisation
• recherche de la réutilisation à l’intérieur d’un bloc applicatif
− Assurer la pérennité des applications
• quot;Faire du nouveau avec de l'ancienquot;
khaled.Bendriss@oxiasoft.com 14
15. Dans SOA il y a Service ?
khaled.Bendriss@oxiasoft.com 15
16. Dans SOA il y a Service ?
• SOA est une histoire de conception pas de technologie :
penser Architecture et Service.
• Avant tout : un service doit être quot;abstraitquot; : il n’est pas lié
à une implémentation.
Une vue métier
• Exemple
− Service d'enregistrement d'un abonnée GSM
− Service de réservation d'un train
− Service de diffusion d'information
− Service de demande de l'état d'une commande
− Service de demande d'une facture ….
khaled.Bendriss@oxiasoft.com 16
17. 4 propriétés du service à retenir
•Un Service est Autonome •Un Service expose un Contrat
Conditions Générales de Vente
Règlement Intérieur
in Vos droits/Vos devoirs
out
•Les Frontières entre •Les services communiquent par
services sont Explicites messages
khaled.Bendriss@oxiasoft.com 17
18. 4 propriétés : conséquences
• Le consommateur (client) est découplé de
l’architecture technique du service qu’il invoque
• Le consommateur et le fournisseur n'ont pas
forcément les mêmes technologies
• Importance de l'Architecture
Fournisseurs Consommateurs
de Services De Service
Courtier
de
Services
khaled.Bendriss@oxiasoft.com 18
19. Cycle de vie d’un service
• 4 grandes phases :
− Identification
− Spécification
− Développement
− Gestion
• 1 aspect transversal : la Gouvernance
− Les architectures orientées service impliquent
une vision globale
− La gouvernance permet de casser les silos de
l’entreprise
khaled.Bendriss@oxiasoft.com 19
20. Et les Web Services dans tout cela?
khaled.Bendriss@oxiasoft.com 20
21. SOA n'est pas Web Services
• SOA est un paradigme abstrait, base de
l’architecture distribuée sans aucune
référence à une implémentation
technique
• L'accent est mis sur
• Les standards
• L'interopéarbilité
• Le couplage faible
• Les Web Services offrent une
implémentation possible mais pas
nécessaire
khaled.Bendriss@oxiasoft.com 21
22. Qu'est ce qu'un Web Service ?
• Définition [W3C]
− Un Web service est un système logiciel identifié par une URI, dont
les interfaces publiques et les liens sont définis et décrits en XML.
− Sa définition peut être découverte par d'autres systèmes logiciels.
− Ces systèmes peuvent interagir avec le service Web d'une manière
prescrite par sa définition, en utilisant des messages XML portés par
les protocoles Internet.
• Services Web au service du SOA
− Une technologie quot;enablingquot;
• facilite l'interopérabilité et la connaissance
− Capacité d'exposer des programmes existants
• Exposer des services écrits en Cobol!!!
khaled.Bendriss@oxiasoft.com 22
23. Services Web ~ quatre spécifications XML
• SOAP : pour le transport des données et
l’infrastructure de communication
• WSDL : pour la description des services offerts
• UDDI : annuaire pour le référencement des
services par les fournisseurs et leur découverte
par les utilisateurs.
• BPEL : décrit le processus métier
• BPMN : modélisation des processus
khaled.Bendriss@oxiasoft.com 23
24. SOAP : Simple Object Access Protocol
•Intégration de XML au-dessus de HTTP (le plus souvent):
•Pour accéder services, objets et serveurs
•Indépendant de toute plate-forme
Port de connexion (URL)
Pare-feu Pare-feu
Messages
Procuration Appel Translateur
SOAP
d'interface SOAP
Application
HTTP
Cliente
RPC
local
Réponse
Parser Parser
XML Serveur
XML
d'application
XML-RPC et SOAP
khaled.Bendriss@oxiasoft.com 24
25. WSDL (Web Service Description Language)
- Proposition jointe IBM, Microsoft, Ariba - septembre 2000.
- Permet de décrire le service Web, en précisant :
- Les méthodes qu'il rend disponible;
- Les paramètres d'entrée et de sortie;
- et comment y accéder.
- Grammaire XML (schéma XML ) : Modulaire
- Offre une interface qui est le point d’entrée du service.
khaled.Bendriss@oxiasoft.com 25
26. UDDI : Annuaire des services
•Universal Description,
Discovery and Integration Annuaire
UDDI Annuaire
UDDI
•Annuaire des services
− décrit par un document
− WSDL, autre …
Gérant de
•Accessible en SOAP requêtes
•Fonctions
−Enregistrer votre société
Enveloppe
−Enregistrer des services +
Document
Service
−Enregistrer des opérations
−Découvrir des services Programme
−… 26
khaled.Bendriss@oxiasoft.com
27. Le langage BPEL : Business Process
Execution Language
•Standard de l’OASIS : décrire
des processus en XML
•Propose les fonctions basiques:
−sequence, flow, loop, switch…
•Identification des Instances de
Process
•Gestion des transactions
longue durée (scope,
compensation)
•Gestion des erreurs
khaled.Bendriss@oxiasoft.com 27
XML-RPC et SOAP
28. BPMN 1.0 : Mai, 2004
• BPMN (Business Process Modeling Notation) est une
initiative d'un un consortium d'entreprises nommé BPMI
(Business Process Management Initiative) visant à définir
une notation graphique commune permettant de
modéliser les processus métier.
• BPMN peut être vu comme une quot;notation UMLquot; appliquée à
la gestion des processus métier.
• BPMN supporte l'export vers le langage BPEL (processus
Exécutable)
khaled.Bendriss@oxiasoft.com 28
29. Ne plus penser en terme d'application
monolitique
Une application basée sur SOA
doit exposer d'une façon
standard des services métiers et
doit être capable de consommer
d'une façon standards d'autres
services métiers
khaled.Bendriss@oxiasoft.com 29
30. D'où un besoin d'infrastructure !
Portail
ESB (Enterprise Service Bus)
khaled.Bendriss@oxiasoft.com 30
31. L'ESB (bus de service d’entreprise) est un
composant d’infrastructure central d’une SOA
Services de médiation Services d’événement
•Acheminement •Publier et abonner
•Transformation
•Règles
Services de transport
•Synchrone / asynchrone
•Couplage lâche/couplage
étroit
Axé sur les normes
•HTTP/HTTPS
•JMS, JAX-RPC, SOAP
•Sécurité Web, politique Web, adressage Web
khaled.Bendriss@oxiasoft.com 31
32. Principes fondamentaux de
l’architecture SOA
Il n’existe pas une recette pour garantir le succès
de la mise en place d’une SOA mais des principes
à respecter :
− Discussion entre métier et IT
− Utilisation des use case métier
− Utilisation de standards
− Pas de remise en cause de l’existant lors
d’évolutions technologiques
− Découplage entre fournisseur et consommateur de
services
− Indépendance des ressources vis à vis de ceux qui les
utilisent
•Quelques méthodologies encours : Praxeme, SOMA
khaled.Bendriss@oxiasoft.com 32
33. Synthèse
Depuis… …Vers…
• Orienté fonctionnalités • Orienté processus
• Conçu pour durer • Conçu pour changer
• Cycle de développement • Développement et
long déploiement interactif
• Silos applicatifs • Orchestration de Services
• Couplage fort • Couplage faible
• Orienté Objet • Orienté message
khaled.Bendriss@oxiasoft.com 33
34. y a-t-il une vie après le SOA ?
khaled.Bendriss@oxiasoft.com 34
35. L'architecture SOA génère un besoin
de gestion des événements !
D’où l'émergence d'une nouvelle
tendance l'Event Driven
Architecture (EDA)
khaled.Bendriss@oxiasoft.com 35
36. Le future de SOA :
Mixer EDA + SOA +BPM
Découplé
EDA
Couplage
SOA
Fortement
couplé
Synchrone Asynchrone
Asynchronisme
khaled.Bendriss@oxiasoft.com 36
37. SOA : Simple, Opérationnel et Accessible !
Un dernier conseil :
Optimiser les performances de votre S.I.
en fonction de vos besoins métiers
C’est l’activité qui pilote la technologie
et non l’inverse
khaled.Bendriss@oxiasoft.com 37
38. Merci
Khaled BEN DRISS
Executive Partner
OXIA is ISO 9001 V2000 certified company – AFAQ QUAL/2005/25140
GSM : (216) 98 33 46 17
email : Khaled.bendriss@Oxiasoft.com
khaled.Bendriss@oxiasoft.com 38
39. Sources
• Présentations IBM sur SOA
• Forrester
• Gartner
• Weblogic
• Autres ressources sur le web
khaled.Bendriss@oxiasoft.com 39