SOA - Architecture Orientée Service : Démystification Khaled Ben Driss 21 Nov 2007 V1.2.1

Post on 18-Dec-2014

1.361 views 3 download

description

A quels besoins répond le SOA ?• Quels sont les principes de base du SOA ?• Quels sont les éléments clé d’une architectureorientée services ?

Transcript of SOA - Architecture Orientée Service : Démystification Khaled Ben Driss 21 Nov 2007 V1.2.1

Khaled BEN DRISS

SOA - Architecture Orientée Service : Démystification

Khaled.bendriss@oxia-group.com

le Mercredi 21 novembre 2007

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

khaled.Bendriss@oxia-group.com 22

� 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

khaled.Bendriss@oxia-group.com 33

Où en est SOA par rapport à ce Cycle

Cycle duCycle duGartnerGartnerCycle duCycle duGartnerGartner

khaled.Bendriss@oxia-group.com 44

What's the Problem?

IT is Limiting the Business

• 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

khaled.Bendriss@oxia-group.com 55Des Silos sans communicationDes Silos sans communication

Objectifs des Systèmes d'informtion

• 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)

khaled.Bendriss@oxia-group.com 66

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

khaled.Bendriss@oxia-group.com 77

• 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

khaled.Bendriss@oxia-group.com 88

�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

khaled.Bendriss@oxia-group.com 99

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

khaled.Bendriss@oxia-group.com 1010

MBS

Lawson-Intentia

SSA Global

Infor

Unit 4 Agresso

IBS

Epicor

IFS

Exact

(open source: JBoss)

2006 Forrester Research

SOA, différents points de vue

ROI, réactivité, souplesse

BusinessCouches, contrat,

granularité

virtualization des Services, visibilité,

sécurité, configuration, interopéarbilité

khaled.Bendriss@oxia-group.com 1111

IT Ingénieur Système

Architecte

Développeur

Classes, objets, webservice, WSDL,

UDDI, BPEL,Java, C#

Quels sont les principes de base du SOA ?

khaled.Bendriss@oxia-group.com 1212

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

khaled.Bendriss@oxia-group.com 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)

IT’s Architectural Evolution: Making IT More Responsive

ServicesMonolithic

Pre 1950’sTo 1960’s

1970’s to mid 1980’s

Mid 1990’s toearly 2000’s

Today Late 1990’s

Sub-routines/Remote Remote

Object MessageEnterprise Application

1980’s tomid 1990’s

khaled.Bendriss@oxia-group.com 1414

Services(SOA)

MonolithicArchitectures

/RemoteProcedure

Calls

ObjectInvocation

MessageProcessing

Application Integration

(EAI)

Increasing Modularity to Achieve Flexibility

Notre définition de la SOA

• La SOA c’est structurer− une application,

− un bloc applicatif,

− voire le SI,

�en services contractualisés

khaled.Bendriss@oxia-group.com 1515

• 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@oxia-group.com 1616

Dans SOA il y a Service ?

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.

khaled.Bendriss@oxia-group.com 1717

Une vue métier

• Exemple− Service d'enregistrement d'un abonnée Carta+ (Tunisiana)

− Service de réservation d'un train

− Service de diffusion d'information

− Service de demande de l'état d'une commande (Tunicommerce : Gs1 Tunisie)

•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

khaled.Bendriss@oxia-group.com 1818

•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 ++

khaled.Bendriss@oxia-group.com 1919

• 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

khaled.Bendriss@oxia-group.com 2020

− Gestion

• 1 aspect tranversal : la Gouvernance− Les architectures orientées service

impliquent une vision globale

− La gouvernance permet de casser les silos de l’entreprise

Et les Web Services dans tout cela?

khaled.Bendriss@oxia-group.com 2121

Et les Web Services dans tout cela?

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

khaled.Bendriss@oxia-group.com 2222

• 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.

khaled.Bendriss@oxia-group.com 2323

• 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

khaled.Bendriss@oxia-group.com 2424

• BPEL : décrit le processus métier

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

khaled.Bendriss@oxia-group.com 2525

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

khaled.Bendriss@oxia-group.com 2626

- 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

khaled.Bendriss@oxia-group.com 2727

− 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

• Norme permettant de décrire des processus en XML

• Propose les fonctions basiques d’un langage de

programmation:

khaled.Bendriss@oxia-group.com 2828XML-RPC et SOAP

programmation:− sequence, flow, loop, switch…

• Identification des Instances de Process

• Gestion des transactions longue durée (scope,

compensation)

• Gestion des erreurs

BPEL le chef d’orchestre

khaled.Bendriss@oxia-group.com 2929

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

khaled.Bendriss@oxia-group.com 3030

− 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

khaled.Bendriss@oxia-group.com 3131

• Cycle de développement

long

• Développement et

déploiement interactif

• Silos applicatifs

• Couplage fort

• Orienté Objet

• Orchestration de Services

• Couplage faible

• Orienté message

Un dernier conseil :

SOA : Simple, Opérationnel et Accessible !

khaled.Bendriss@oxia-group.com 3232

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

Merci

khaled.Bendriss@oxia-group.com 3333

OXIA is ISO 9001 V2000 certified company – AFAQ QUAL/2005/25140

GSM : (216) 98 33 46 17

email : Khaled.bendriss@Oxiasoft.com