SOA - Architecture Orientée Service: Démystification

Page 1

SOA - Architecture Orientée Service : Démystification

Khaled BEN DRISS

Khaled.bendriss@oxiasoft.com Rabat le jeudi 17 avril 2008


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


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


Où en est SOA par rapport à ce Cycle Cycle du Gartner

khaled.Bendriss@oxiasoft.com

4


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 + multidépartementaux

Des Silos sans communication

khaled.Bendriss@oxiasoft.com

5


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

Introduction

khaled.Bendriss@oxiasoft.com

6


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


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


Problématique de l’intégration inter-entreprises Application web Agence de voyages (plateforme technique2)

Reservation

Client

Compagnie aérienne (plateforme technique1)

Reservation Location de voitures (plateforme technique3) D’après : J-M Chauvet

Reservation, Tarifs

Chaîne hotelière (plateforme technique4)

Tarifs, promotion

Assurance voyage (plateforme technique5)

khaled.Bendriss@oxiasoft.com

9


ERP: les acteurs majeurs migrent vers SOA IBM WebSphere Vendor

“J2EE”

Oracle Microsoft “.NET”

Fusion

SAP “NetWeaver”

J2EE

J2EE

SAP Oracle The Sage Group MBS Lawson-Intentia SSA Global Infor Unit 4 Agresso

2006

IBS Epicor IFS Exact

(open source: JBoss)

khaled.Bendriss@oxiasoft.com

10


SOA, différents points de vue ROI, réactivité, souplesse

Business

virtualization des Services, visibilité, sécurité, configuration, interopéarbilité

Couches, contrat, granularité

Architecte

IT Ingénieur Système Classes, objets, webservice, WSDL, UDDI, BPEL, Java, C#

Développeur

khaled.Bendriss@oxiasoft.com

11


Quels sont les principes de base du SOA ?

khaled.Bendriss@oxiasoft.com

12


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


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 • "Faire du nouveau avec de l'ancien" khaled.Bendriss@oxiasoft.com

14


Dans SOA il y a Service ?

khaled.Bendriss@oxiasoft.com

15


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.

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


4 propriétés du service à retenir •Un Service est Autonome

•Un Service expose un Contrat

in

Conditions Générales de Vente Règlement Intérieur Vos droits/Vos devoirs

out

•Les Frontières entre services sont Explicites

•Les services communiquent par messages

khaled.Bendriss@oxiasoft.com

17


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


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


Et les Web Services dans tout cela?

khaled.Bendriss@oxiasoft.com

20


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


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 "enabling" • facilite l'interopérabilité et la connaissance

− Capacité d'exposer des programmes existants • Exposer des services écrits en Cobol!!! khaled.Bendriss@oxiasoft.com

22


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


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 d'interface

Application Cliente

Appel

SOAP

Translateur SOAP

HTTP RPC local

Réponse Parser XML

Parser XML

Serveur d'application

XML-RPC et SOAP

khaled.Bendriss@oxiasoft.com

24


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


UDDI : Annuaire des services •Universal Description, Discovery and Integration

Annuaire UDDI

Annuaire UDDI

•Annuaire des services − décrit par un document − WSDL, autre …

•Accessible en SOAP

Gérant de requêtes

•Fonctions −Enregistrer votre société Enveloppe + −Enregistrer des services Document Service −Enregistrer des opérations Programme −Découvrir des services −… khaled.Bendriss@oxiasoft.com

26


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 XML-RPC et SOAP

khaled.Bendriss@oxiasoft.com

27


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 Exécutable)

khaled.Bendriss@oxiasoft.com

28


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


D'o첫 un besoin d'infrastructure ! Portail

ESB (Enterprise Service Bus)

khaled.Bendriss@oxiasoft.com

30


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 •Transformation •Règles

•Publier et abonner

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


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


Synthèse …Vers…

Depuis… • Orienté fonctionnalités

• Orienté processus

• Conçu pour durer

• Conçu pour changer

• Cycle de développement long

• Développement et déploiement interactif

• Silos applicatifs

• Orchestration de Services

• Couplage fort

• Couplage faible

• Orienté Objet

• Orienté message

khaled.Bendriss@oxiasoft.com

33


y a-t-il une vie après le SOA ?

khaled.Bendriss@oxiasoft.com

34


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


Le future de SOA :

Mixer EDA + SOA +BPM

Découplé

Couplage

EDA

SOA

Fortement couplé Synchrone

Asynchronisme

Asynchrone

khaled.Bendriss@oxiasoft.com

36


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


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


Sources

• Présentations IBM sur SOA • Forrester • Gartner • Weblogic • Autres ressources sur le web

khaled.Bendriss@oxiasoft.com

39


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.