Date post: | 06-Dec-2014 |
Category: |
Business |
Upload: | khaled-ben-driss |
View: | 4,089 times |
Download: | 0 times |
Khaled BEN DRISS
SOA - Architecture Orientée Service : Démystification
Rabat le jeudi 17 avril 2008
Khaled BEN DRISSConsultant / 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
� Ancien Maître Assistant à l'Ecole Polytechnique de Tunisie
�Fondateur Net-Progress
�OXIA Excecutive Partner
�Architecte de Système d'Information
• 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 ?
Plan
Où en est SOA par rapport à ce Cycle
Cycle duCycle duGartnerGartnerCycle duCycle duGartnerGartner
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
[email protected] 55Des Silos sans communicationDes Silos sans communication
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)
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
Introduction
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
•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
Problématique de l’intégration intra-entreprise
Les entreprises changent en
�Coûts considérables dans la gestion des flux entre départements
et dans l’intégration de leurs SI
changent en permanence : le SI ne doivent pas être un frein à ces changements
Compagnie aérienne(plateforme technique1)
Agence de voyages(plateforme technique2)
Application web
ClientReservation
Problématique de l’intégration inter-entreprises
Location de voitures(plateforme technique3)
Chaîne hotelière(plateforme technique4)
Assurance voyage(plateforme technique5)
Reservation
Reservation, Tarifs Tarifs, promotion
D’après : J-M Chauvet
ERP: les acteurs majeurs migrent vers SOA
Vendor
IBM
WebSphere
“J2EE”
Microsoft
“.NET”
Oracle
Fusion
J2EE
SAP
“NetWeaver”
J2EE
SAP
Oracle
The Sage Group
MBS
[email protected] 1010
MBS
Lawson-Intentia
SSA Global
Infor
Unit 4 Agresso
IBS
Epicor
IFS
Exact
(open source: JBoss)
2006
SOA, différents points de vue
ROI, réactivité, souplesse
BusinessCouches, contrat,
granularité
virtualization des Services, visibilité,
sécurité, configuration, interopéarbilité
[email protected] 1111
IT Ingénieur Système
Architecte
Développeur
Classes, objets, webservice, WSDL,
UDDI, BPEL,Java, C#
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
[email protected] 1313
• 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)
Notre définition de la SOA
• La SOA c’est structurer− une application,
− un bloc applicatif,
− voire le SI,
�en services contractualisés
[email protected] 1414
• 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• "Faire du nouveau avec de l'ancien"
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 "abstrait" : il n’est pas lié
à une implémentation.
[email protected] 1616
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 ….
•Un Service expose un Contrat
Conditions Générales de VenteRèglement Intérieur
Vos droits/Vos devoirsin
out
•Un Service est Autonome
4 propriétés du service à retenir
[email protected] 1717
•Les services communiquent par
messages
out
•Les Frontières entre
services sont Explicites
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
[email protected] 1818
• Importance de l'Architecture
Courtier de
Services
Consommateurs
De Service
Fournisseurs
de Services
Cycle de vie d’un service
• 4 grandes phases :− Identification
− Spécification
− Développement
− Gestion
[email protected] 1919
− 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
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
[email protected] 2121
• 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
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.
[email protected] 2222
• Services Web au service du SOA
− Une technologie "enabling"
• facilite l'interopérabilité et la connaissance
− Capacité d'exposer des programmes existants
• Exposer des services écrits en Cobol!!!
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
[email protected] 2323
• BPEL : décrit le processus métier
• BPMN : modélisation des processus
SOAP : Simple Object Access Protocol
Procuration TranslateurMessages
SOAPAppel
Port de connexion (URL)
Pare-feu Pare-feu
•Intégration de XML au-dessus de HTTP (le plus souvent):•Pour accéder services, objets et serveurs •Indépendant de toute plate-forme
[email protected] 2424
Application Cliente
Parser XML
Procuration
d'interface
Translateur
SOAP
Parser XML Serveur
d'application
SOAPAppel
Réponse
HTTP
RPC
local
XML-RPC et SOAP
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
[email protected] 2525
- Offre une interface qui est le point d’entrée du service.
UDDI : Annuaire des services
•Universal Description,
Discovery and Integration
•Annuaire des services− décrit par un document
− WSDL, autre …
Annuaire UDDI
Annuaire UDDI
[email protected] 2626
− WSDL, autre …
•Accessible en SOAP
•Fonctions−Enregistrer votre société
−Enregistrer des services
−Enregistrer des opérations
−Découvrir des services
−…
Gérant de requêtes
Enveloppe+
Document
Programme
Service
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
[email protected] 2727
•Identification des Instances de
Process
•Gestion des transactions
longue durée (scope,
compensation)
•Gestion des erreurs
XML-RPC et SOAP
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 "notation UML" appliquée à la gestion des processus métier.
• BPMN supporte l'export vers le langage BPEL (processus
[email protected] 2828
• BPMN supporte l'export vers le langage BPEL (processus Exécutable)
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
[email protected] 2929
Services de transport•Synchrone / asynchrone
Services d’événement•Publier et abonner
Services de médiation•Acheminement •Transformation•Règles
L'ESB (bus de service d’entreprise) est un composant d’infrastructure central d’une SOA
[email protected] 3131
•Synchrone / asynchrone•Couplage lâche/couplage étroit
Axé sur les normes•HTTP/HTTPS•JMS, JAX-RPC, SOAP•Sécurité Web, politique Web, adressage Web
Principes fondamentaux de l’architecture SOAIl 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
[email protected] 3232
− 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
Synthèse
• Orienté fonctionnalités
• Conçu pour durer
• Cycle de développement
Depuis…Depuis… …Vers……Vers…
• Orienté processus
• Conçu pour changer
• Développement et
[email protected] 3333
• Cycle de développement
long
• Développement et
déploiement interactif
• Silos applicatifs
• Couplage fort
• Orienté Objet
• Orchestration de Services
• Couplage faible
• Orienté message
L'architecture SOA génère un besoin de gestion des événements !
[email protected] 3535
D’où l'émergence d'une nouvelle tendance l'Event Driven
Architecture (EDA)
Le future de SOA :
EDA
Découplé
Mixer EDA + SOA +BPM
[email protected] 3636
Asynchronisme
SOA
Fortementcouplé
Cou
plag
e
AsynchroneSynchrone
Un dernier conseil :
SOA : Simple, Opérationnel et Accessible !
[email protected] 3737
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 BEN DRISS
Executive PartnerOXIA is ISO 9001 V2000 certified company – AFAQ QUAL/2005/25140
GSM : (216) 98 33 46 17
Merci
[email protected] 3838
GSM : (216) 98 33 46 17
email : [email protected]
Sources
• Présentations IBM sur SOA
• Forrester
• Gartner
[email protected] 3939
• Gartner
• Weblogic
• Autres ressources sur le web