Issuu on Google+

SOA : pour une interopérabilité intrinsèque du Système d’Information

Khaled BEN DRISS

Khaled.bendriss@oxiasoft.com

Tozeur le 25 novembre 2008


 Ingénieur de l'Ecole Centrale de Lyon (ECL’1991)  Docteur de l'Université Paris 6 ( P&MC ‘ 1994)  Ancien Maître Assistant à l'Ecole Polytechnique de Tunisie

SOA– OXIA – 2008

 Directeur Technique OXIA  Consultant Senior : Architecte de Système d'Information  www.oxiasoft.com

WIA: SOA pour une interopérabilité intrinsèque du SI

1

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


SOA– OXIA – 2008

Objectif de la séquence

WIA: SOA pour une interopérabilité intrinsèque du SI

2

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

3

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


Technologie Réseaux globaux

Ordinateur personnel

1990

Terminal

1980

Mainframe

WIA: SOA pour une interopérabilité intrinsèque du SI

SOA– OXIA – 2008

1970

4

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Activités Travail coopératif

Informatique personnelle

1990

Transactionnel

1980

Batchs

WIA: SOA pour une interopérabilité intrinsèque du SI

SOA– OXIA – 2008

1970

5

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Services offerts

Information à la place de travail

1990

Industrialisation 1980

Gestion intégrée SOA– OXIA – 2008

1970 Automatisation des processus administratifs WIA: SOA pour une interopérabilité intrinsèque du SI

6

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Enjeux

1990

Vivant Objectif 1980

Réactif

Mécanique Cahier des charges Prévisible

WIA: SOA pour une interopérabilité intrinsèque du SI

SOA– OXIA – 2008

1970

7

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Besoin d’automatisation

1990

1980

WIA: SOA pour une interopérabilité intrinsèque du SI

SOA– OXIA – 2008

1970

8

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Contexte économique

• Mondialisation • Actionnaires • Fusion/acquisition

S.I.

Business Model

Eco-système

WIA: SOA pour une interopérabilité intrinsèque du SI

9

• Publicité • Open source • • • •

Compétition Compétition Compétition Compétition

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Marché

khaled.bendriss@oxiasoft.com


Environnement d’aujourd’hui Résolument Hétérogène

Client/Server réseaux

Mainframe

Net-Progress OXIA

WIA: SOA pour une interopérabilité intrinsèque du SI

SOA– OXIA – 2008

Internet et Web

10

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Architectures informatiques Types et contraintes Serveur Internet

Web Client-Serveur Distribuée

SOA– OXIA – 2008

Partage de fichiers

WIA: SOA pour une interopérabilité intrinsèque du SI

11

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Evolution de l'architecture des applications : De la centralisation vers la centralisation Centralisé

kkwkj kkwkj kkwkj kkwkj kkwkj kkwkj kkwkj

Client-serveur deux niveaux

Client-serveur trois niveaux

aaaawwwww aaaawwwww aaaawwwww aaaawwwww aaaawwwww aaaawwwww aaaawwwww

Interface utilisateur Services d'entreprise

Interface utilisateur

Services d'entreprise

Interface utilisateur Services d'entreprise Services de données

Services de données

WIA: SOA pour une interopérabilité intrinsèque du SI

12

Services de données

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Services d'entreprise

khaled.bendriss@oxiasoft.com


SOA– OXIA – 2008

Contexte architectures informatiques

WIA: SOA pour une interopérabilité intrinsèque du SI

13

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  S.I. : Problématiques de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

14

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


SOA– OXIA – 2008

Objectifs des S.I. récapitulatif.

WIA: SOA pour une interopérabilité intrinsèque du SI Introduction

15

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Problématique de l’intégration en entreprise 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

L’information ou les données sont difficiles à trouver et à relier Division B • Problèmes au moment de l’échange des données

Division A

Division C

L’Intégration doit être le mot d’ordre! CRM

ERP

SOA– OXIA – 2008

Résultat : l’information et les données coûtent cher

DB

WIA: SOA pour une interopérabilité intrinsèque du SI

16

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Problématique de l’intégration en entreprise Entreprises découpées en départements fonctionnels y compris le système d'information (SI)

Coûts considérables dans la gestion des flux entre départements et dans l’intégration de leurs SI WIA: SOA pour une interopérabilité intrinsèque du SI

17

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Processus métiers des entreprises de + en + multi-départementaux

khaled.bendriss@oxiasoft.com


Problématique de l’intégration inter-entreprises

Application web

Tozeur) Agence de voyages (plateforme technique2)

Réservation

Client (plateforme technique6)

Compagnie aérienne (plateforme technique1)

Réservation Réservation, Tarifs

Chaîne hôtelière (plateforme technique4)

Tarifs, promotion

Assurance voyage (plateforme technique5)

SOA– OXIA – 2008

Location de voitures (plateforme technique3)

D’après : J-M Chauvet WIA: SOA pour une interopérabilité intrinsèque du SI

18

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


SOA– OXIA – 2008

Applications distribuées & l’Interopérabilité

WIA: SOA pour une interopérabilité intrinsèque du SI

19

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Définition générale de l’Interopérabilité

L'interopérabilité connecte Les personnes : cet aspect de l'interopérabilité concerne les workflows et la collaboration qui ont lieu au sein et entre les entreprises au niveau des personnes. C'est l'aspect social du travail qui est ici concerné.

Les systèmes variés : ce point concerne les processus techniques et les processus d'exploitation au sein et entre les entreprises. Les besoins allant d'une simple connectivité entre des systèmes internes à des cadres de travail de l’industrie qui facilitent la mise en oeuvre de workflows de création de chaîne de valeur.

WIA: SOA pour une interopérabilité intrinsèque du SI

20

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Les données : il s'agit là de répondre au besoin d'accéder à différentes sources de données, d'optimiser les flux d'informations et d'intégrer des données structurées (des bases de données par exemple) et des données non-structurées (des fichiers par exemple).

khaled.bendriss@oxiasoft.com


Architectures d’interopérabilité

avec middleware

sans middleware)

Mise en œuvre systématique dans un cadre d’urbanisation

Deux modes de communication

Sans connexion (asynchrone, couplage faible) Avec connexion (synchrone, couplage fort)

Formats d’échange : XML (eXtended Markup Language)

Intégration de systèmes complexes: EAI (Enterprise Application Integration)

Modèle d’architecture cible: SOA ( Service Oriented Architecture)

WIA: SOA pour une interopérabilité intrinsèque du SI

21

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Intégration et communication entre composants applicatifs

khaled.bendriss@oxiasoft.com


SOA– OXIA – 2008

Les types de middleware classiques

WIA: SOA pour une interopérabilité intrinsèque du SI

22

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


La réalité dans les SI: SOA (Spaghettis Orientée Service) Interconnexions redondantes (point à point)

Développements coûteux

Maintenance difficile

SOA– OXIA – 2008

Grande complexité

WIA: SOA pour une interopérabilité intrinsèque du SI

23

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

24

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


SOA– OXIA – 2008

Interopérabilité : différents points de vue

WIA: SOA pour une interopérabilité intrinsèque du SI

25

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Interopérabilité : différents points de vue Indépendance , intégration

métier

Responsable IT Architecte

virtualization des Services, visibilité, sécurité

Ingénieur Système Développeur WIA: SOA pour une interopérabilité intrinsèque du SI

26

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

#$%! , java C#, bugs…I…

khaled.bendriss@oxiasoft.com


Intégration & interopérabilité , différents points de vue : le « nécessaire changement » de paradigme

on ne peut résoudre, définitivement, un problème en utilisant le mode de pensée à l’origine de ce problème.

SOA– OXIA – 2008

On a besoin d’une nouvelle approche !

WIA: SOA pour une interopérabilité intrinsèque du SI

27

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

28

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


Service Oriented Architecture SOA, qu’est-ce? (1/3)

Une nouvelle plate-forme architecturale pour le développement de solutions distribuées WIA: SOA pour une interopérabilité intrinsèque du SI

29

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

SOA est un paradigme abstrait, base de l’architecture distribuée sans aucune référence à une implémentation technique

khaled.bendriss@oxiasoft.com


SOA– OXIA – 2008

Service Oriented Architecture SOA, qu’est-ce ? (2/3)

WIA: SOA pour une interopérabilité intrinsèque du SI

30

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


SOA est une évolution des plateformes passées, tout en préservant les caractéristiques réussies des architectures traditionnelles, tout en y ajoutant quelques principes nouveaux.

WIA: SOA pour une interopérabilité intrinsèque du SI

31

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Service Oriented Architecture SOA, qu’est-ce ? (3/3)

khaled.bendriss@oxiasoft.com


Une définition de la SOA La SOA c’est structurer en services contractualisés

une application

un bloc applicatif

Voire tout le S.I.

Afin d’adresser les enjeux de

mise en œuvre de services globaux entre blocs applicatifs

Politique de réutilisation

Pérennité des applications

recherche de la réutilisation à l’intérieur d’un bloc applicatif

WIA: SOA pour une interopérabilité intrinsèque du SI

32

Tunisie -Tozeur – 25/11/2008

"Faire du nouveau avec de l'ancien"

SOA– OXIA – 2008

Politique d’interopérabilité

khaled.bendriss@oxiasoft.com


SOA– OXIA – 2008

Les Composants

WIA: SOA pour une interopérabilité intrinsèque du SI

33

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Service Oriented Architecture : une architecture Consommateur/Fournisseur

Fournisseurs

Consommateurs

de Services

De Service

Courtier de Services

Transformation

Sécurité

SLA

Monitoring

SOA– OXIA – 2008

Annuaire

WIA: SOA pour une interopérabilité intrinsèque du SI

34

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

35

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


Dans SOA il y a Service ?

SOA est une histoire de conception pas de technologie penser Architecture & Service.

Avant tout : un service doit être "abstrait"

Exemple Service d'enregistrement d'un abonnée

Un service n’est pas lié à une implémentation.

Service de réservation d'un train

Service de demande de l'état d'une commande

WIA: SOA pour une interopérabilité intrinsèque du SI

36

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Service de diffusion d'information

khaled.bendriss@oxiasoft.com


Qu’est ce qu’un Service (au sens SOA) ? Partage la caractéristique suivante d’un objet • Modulaire (ensemble de fonctionnalités qui font sens)

Partage les caractéristiques d’un composant

Correspond à un périmètre fonctionnel exposé à des consommateurs (une granularité plus forte qu’un composant) • Expose un petit nombre d’opérations offrant un traitement de bout en bout • Est faiblement couplé • Sans état WIA: SOA pour une interopérabilité intrinsèque du SI

37

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

• Boite noire (séparation interface/implémentation) • Indépendant de la localisation • Neutralité vis-à-vis des protocoles de transport

khaled.bendriss@oxiasoft.com


Avant l’approche service: couplage fort - Gestion de prêts

Entités AgentDeCrédit

ApprobationCrédit

Compte

Crédit

SMSGateway

calculerRisque vérifierCrédit creerCrédit

 AgentDeCrédit est lié à ApprobationCrédit et Crédit  ApprobationCrédit est lié à Compte  Crédit est lié à SMSGateway

WIA: SOA pour une interopérabilité intrinsèque du SI

38

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

EnvoyerConfirmation

khaled.bendriss@oxiasoft.com


Après l’approche service : Gestion de prêts en couplage faible

VérifierBalanceCpt

Calculer RisqueCérdit

créerCrédit

 ProcessusCrédit Un processus métier ! Il permet d’orchestrer les services => couplage lâche WIA: SOA pour une interopérabilité intrinsèque du SI

39

Tunisie -Tozeur – 25/11/2008

Notifier ViaSMS

SOA– OXIA – 2008

ProcessusCrédit

khaled.bendriss@oxiasoft.com


Zoom sur la phase de spécification

Chaque service a un coût et un risque

Challenge :

Un service peut être

trouver les “bons” services à exposer

Il faut éviter la prolifération des services

WIA: SOA pour une interopérabilité intrinsèque du SI

synchrone

Asynchrone

40

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Les services identifiés ne doivent pas être tous publiés :

khaled.bendriss@oxiasoft.com


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 services communiquent par messages

SOA– OXIA – 2008

Les Frontières entre services sont Explicites

WIA: SOA pour une interopérabilité intrinsèque du SI

41

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


SOA véhicule des Messages et non des objets

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 Importance des standards

WIA: SOA pour une interopérabilité intrinsèque du SI

42

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

4 propriétés : conséquences

khaled.bendriss@oxiasoft.com


SOA– OXIA – 2008

4 propriétés : conséquences

WIA: SOA pour une interopérabilité intrinsèque du SI

43

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

44

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


Cycle de vie d’un service

4 grandes phases :

1 aspect transversal : la gouvernance

Identification

Les architectures orientées service impliquent une vision globale

Spécification

La gouvernance permet de casser les silos de l’entreprise

SOA– OXIA – 2008

Développement Gestion (versionning, …) WIA: SOA pour une interopérabilité intrinsèque du SI

45

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Un service n’est pas un composant Évolution naturelle et certaine • Fonction  Composant  Service

Service

Les services gèrent messages, données et composants • Les données privées sont totalement encapsulées par le service • Les messages sont le seul moyen d’échanges entre services

Composants

Les services permettent des relations faiblement couplées; les composants des relations fortement couplées

Fonctions WIA: SOA pour une interopérabilité intrinsèque du SI

46

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Données privées

khaled.bendriss@oxiasoft.com


exemples de services en fonction de la granularité Exemple

Service métier applicatif

Très forte

Génération bulletins de paie

Service métier fonctionnel

Moyenne

Transaction bancaire

Service métier CRUD

Faible

Enregistrement nouvel inscrit

Service technique

Moyenne/forte

Archivage

SOA– OXIA – 2008

Granularité

WIA: SOA pour une interopérabilité intrinsèque du SI

47

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

48

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


Deux approches d’identification des services Approche Bottom-up

Pour réutiliser l’existant (non SOA)

Pour démarrer un nouveau projet

On part des morceaux, on rassemble les bouts

Dans le cadre d’une vision globale très claire

Quelques méthodologies (nouvelles): Praxeme, SOMA (IBM) …

WIA: SOA pour une interopérabilité intrinsèque du SI

49

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Approche Top-down

khaled.bendriss@oxiasoft.com


On utilise rarement une unique approche :Approche “Meet in the Middle”

Dans la pratique Faire l’analyse Top-down sans se préoccuper de l’existant Faire l’analyse Buttom-up en ne considérant que l’existant Comparer les services “remontés” avec ceux déduits des Uses case Penser réutilisation

SOA– OXIA – 2008

Penser métier Penser interopérabilité & standards WIA: SOA pour une interopérabilité intrinsèque du SI

50

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

51

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


Implémentations des Services

SOA– OXIA – 2008

Maximiser l’interopérabilité par l’usage systématique des standards?

WIA: SOA pour une interopérabilité intrinsèque du SI

52

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


SOA et web services Attention à ne pas confondre SOA et web services

SOA est un paradigme abstrait, base de l’architecture distribuée sans aucune référence à une implémentation technique Une SOA peut se mettre en œuvre sans Web Services

Les WS sont de l’ordre de la technologie :

Un service métier = un webservice

On peut utiliser les Web Services sans faire de SOA (architecture point à point sans réutilisation)

Les Web Services offrent une implémentation possible mais pas nécessaire

WIA: SOA pour une interopérabilité intrinsèque du SI

53

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

SOA est un ensemble de concepts :

Les WS constituent une bonne solution standardisée disponible

khaled.bendriss@oxiasoft.com


Points clés de l’architecture 1.a rechrcehr un service

Consommateur Service

Repository

1.b Returner le contract 2.a Creer une intsance du processus

Mediation layer/Service bus 2.c determiner le point de contact du service

2.d enjoyer la requêtte

Fournisseur Service

Registry Description “Business process”

WIA: SOA pour une interopérabilité intrinsèque du SI

54

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

2.b Executer processus

khaled.bendriss@oxiasoft.com


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. WIA: SOA pour une interopérabilité intrinsèque du SI

BPEL : décrit le processus métier

55

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

XML

khaled.bendriss@oxiasoft.com


Standards de l’architecture WS Les standards sont un élément clé d’une SOA, ils assurent l’interopérabilité

SOAP

WSDL

UDDI

BPEL

Simple Object Access Protocol

Web Services Description Language

Universal Description Discovery and Integration

Business Process Execution Language

Transporte

Décrit le contrat

Microsoft, IBM, HP, …

Spec pour Repository/Registry

Les trois piliers des Services Web WIA: SOA pour une interopérabilité intrinsèque du SI

56

Tunisie -Tozeur – 25/11/2008

Décrit les processus métier

Lien avec BPMN

SOA– OXIA – 2008

W3C

W3C

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

57

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


Qu'est ce qu'un Web Service ?

Définition [W3C]

Exposition

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.

Langage WSDL (Web Service Description Language) utilisé pour décrire le service

Protocole Web audessus de HTTP (RPC XML, SOAP)

Similaire à IDL mais basé sur XML

Autres protocoles possibles …

SOA– OXIA – 2008

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.

WIA: SOA pour une interopérabilité intrinsèque du SI

Activation

58

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Contents Plan du workshop  Quels sont les éléments clé d’une architecture orientée services ?  Services Web : les spécifications XML de base    

SOAP WSDL UDDI BPEL

 Besoins d'interopérabilités : WS-I et Basic Profiles  SOA : quelles infrastructures?  ESB : un bus au service de SOA  Notion de SLA et les besoins non fonctionnels

 Le besoin de supervision dans une architecture SOA  De nouvelles notions s'ajoutent à SOA:  le BAM  Le MDM

 La relation entre SOA & EDA  Les 8 péchés capitaux de la SOA (anti-patterns SOA)  SOA : 7 bonnes pratiques

WIA: SOA pour une interopérabilité intrinsèque du SI

59

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 La notion de maturité SOA

khaled.bendriss@oxiasoft.com


SOAP : Simple Object Access Protocol Intégration de XML audessus de HTTP :

• Pour accéder services, objets et serveurs • Indépendant de toute plate-forme

Port de connexion (URL) Pare-feu Procuration

Messages

d'interface

SOAP

Application Cliente

Pare-feu

Appel

Translateur SOAP

HTTP RPC

Parseur XML

Parseur XML

Application Serveur

WIA: SOA pour une interopérabilité intrinsèque du SI

60

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

local

Réponse

khaled.bendriss@oxiasoft.com


Structure d'un message

Protocol Headers

Entête de protocoles (HTTP, SMTP, …)

<Envelope>

SOAP Envelope

<Header> SOAP Header

<Body>

SOA– OXIA – 2008

SOAP Body

WIA:SOAP SOA pour une interopérabilité intrinsèque du SI XML-RPC et

61

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


SOAP : implémentation .Net Web Services Axis 1.x & Axis2 Xfire 1.2.2 SpringWS

SOA– OXIA – 2008

WebSphere ...

WIA: SOA pour une interopérabilité intrinsèque du SI

62

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

63

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


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

SOA– OXIA – 2008

- Offre une interface qui est le point d’entrée du service.

WIA: SOA pour une interopérabilité intrinsèque du SI

64

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


WSDL Éléments d’une définition <types> • Contient les définitions de types utilisant un système de typage (comme XSD).

<message> • Décrit les noms et types d’un ensemble de champs à transmettre • Paramètres d’une invocation, valeur du retour, …

<porttype> • Décrit un ensemble d’opérations. Chaque opération a zéro ou un message en entrée, zéro ou plusieurs messages de sortie ou de fautes

<binding> • Spécifie une liaison d’un <porttype> à un protocole concret (SOAP1.1, HTTP1.1, <porttype> peut avoir plusieurs liaisons !

MIME, …). Un

<port> SOA– OXIA – 2008

• Spécifie un point d’entrée (endpoint) comme la combinaison d’un <binding> et d’une adresse réseau.

<service> • Une collection de points d’entrée (endpoint) relatifs.

WIA: SOA pour une interopérabilité intrinsèque du SI

65

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Contrat dans les web services : Contract -First pour une meilleure interopérabilité

Web Service deux approches

Contract-Last

créer les types de données, le messages envoyés puis associer le code source

créer le code source (classes java ou c#) puis définir (ou générer) le web service, wsdl, les types …

WIA: SOA pour une interopérabilité intrinsèque du SI

66

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Contract-First :

khaled.bendriss@oxiasoft.com


Contrat dans les web services Privilégier l'approche contract-first et Définir vos schéma XML (et gérer vos XSD )

Anticipe les problèmes d'interopérabilités

Les clients se concentrent sur le message XML

SOA– OXIA – 2008

Définir les interfaces XML des messages

Commencer par les types (XSD) et WSDL

WIA: SOA pour une interopérabilité intrinsèque du SI

67

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

68

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


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

décrit par un document

Enregistrer votre société

WSDL, autre …

Enregistrer des services

Accessible en SOAP

Enregistrer des opérations Découvrir des services

Annuaire UDDI

Gérant de requêtes

Enveloppe + Document

Service

Programme WIA: SOA pour une interopérabilité intrinsèque du SI

69

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Annuaire des services

khaled.bendriss@oxiasoft.com


Scénario classique d'utilisation d'UDDI WIA: SOA pour une interopérabilité intrinsèque du SI

70

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

UDDI : utilité d’un annuaire de service

khaled.bendriss@oxiasoft.com


UDDI : implémentation

Microsoft, IBM, Oracle ( et aussi BEA )…

SOA– OXIA – 2008

open source : jUDDI

WIA: SOA pour une interopérabilité intrinsèque du SI

71

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

72

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


Le langage BPEL Business Process Execution Language Standard de l’OASIS (10+ ans de recherche Microsoft (XLANG) et IBM (WSFL, FDML) ) Norme permettant de décrire des processus en XML Propose les fonctions basiques d’un langage de programmation: • sequence, flow, loop, switch…

Identification des Instances de Process Gestion des transactions longue durée (scope, compensation)

Gartner believes that BPEL will emerge as the leading industry standard for Web service orchestration and coordination of business processes.

BPEL is the future of the integration space in my view…Why? Because the value is so much higher when you provide not only a way to integrate applications, but also a way to create services from them and put them into business processes - John Rymer, Vice President, Forrester Research, Inc.

- David Smith, Research Vice President and fellow, Gartner

WIA:SOAP SOA pour une interopérabilité intrinsèque du SI XML-RPC et

73

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Gestion des erreurs

khaled.bendriss@oxiasoft.com


BPEL le chef d’orchestre : créer de nouveaux services par composition de services existants

Web Service

PORTAL

Java Service Biztalk, .Net

? J2EE

ERP SAP, Oracle, etc. User Tasks

Biztalk

WIA: SOA pour une interopérabilité intrinsèque du SI

74

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

BPEL

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

75

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


Se conformer aux standards WS-I BP : Privilégier le couplage faible Fournisseur du Service : Serveur

SOA– OXIA – 2008

Consommateur du Service : Client

WIA: SOA pour une interopérabilité intrinsèque du SI

76

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Profiles WS-I Ensemble de spécifications ou standards à des niveaux de versions spécifiques Directives et conventions pour pouvoir connecter ces spécifications ensemble Web Services-Interoperability Organization Group (www.ws-i.org)

 SOAP 1.1  WSDL 1.1  UDDI 2.0  XML Schema  XML 1.0 (Second Edition)  HTTP 1.1

+

• Restrictions, • Integration Guidance • Best Practices

=

 SSL 3.0 WIA: SOA pour une interopérabilité intrinsèque du SI

77

Tunisie -Tozeur – 25/11/2008

Basic Profile 1.1

SOA– OXIA – 2008

Profiles: Basic, Attachments et Basic Security

khaled.bendriss@oxiasoft.com


WS-I Basic Profile La WS-I Organisation a été créée pour promouvoir des schémas d’utilisation interopérable des WS Plus de 200 problèmes d'interopérabilité résolus avec WS-I Basic Profile 1.0 Conventions autour du messaging, description et découverte (discovery)

• • • •

“Un message doit être arrangé en série avec UTF-8 ou UTF-16” “Un message doit être envoyé avec HTTP/1.1 ou HTTP/1.0” “Un message ne doit pas contenir d'élément enfant de soap:Envelope après l'élément soap:Body” “Le service doit utiliser le code HTTP “500 Internal Server Error” si la réponse est un message SOAP fault” • “Une description [WSDL] peux utiliser tous les composants de XML Schema 1.0”

WIA: SOA pour une interopérabilité intrinsèque du SI

78

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Exemple de conditions pour la conformité WS-Basic:

khaled.bendriss@oxiasoft.com


WS-I Profiles

Profiles WS-I

• WS-ReliableMessaging1.1 • WS-SecureConv

• WS-S 1.1 • SAML

 SOAP 1.1

Reliable Secure Profile 1.0

 WSDL 1.1  XML Schema  XML 1.0  HTTP 1.1  SSL 3.0

Basic Profile 1.1, 1.2 SOA– OXIA – 2008

Basic Security Profile 1.1

 UDDI 2.0

79

 WS-Addressing

WIA: SOA pour une interopérabilité intrinsèque du SI

79

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


SOA– OXIA – 2008

WS-I et Basic Profiles

WIA: SOA pour une interopérabilité intrinsèque du SI

80

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


WSDL et format des messages Styles s'applique au mécanisme de traduction d'un binding WSDL lors de la construction d'un message SOAP

Format RPC

Format Document

Structure imposée (nom de méthode contenant les paramètres)

Structure libre (n’importe quel arbre est transporté dans l’enveloppe)

WIA: SOA pour une interopérabilité intrinsèque du SI

81

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Deux styles d’encodage :

khaled.bendriss@oxiasoft.com


WSDL et format des messages Deux styles d’encodage : Format RPC

Structure imposée (nom de méthode contenant les paramètres)

Avantages et inconvénients :

Format Document

Structure libre (n’importe quel arbre est transporté dans l’enveloppe)

RPC

Document

Facile à valider : respecte le schéma imposé par SOAP

Uniquement appel de méthode (nom de méthode + paramètres)

(celui que je recommande

Plus difficile à valider (schéma non vérifiable un niveau SOAP)

Optimisations possibles (évite de passer la nom de la méthode par exp)

Bien sûr utilisable pour faire de l’appel de méthode!!!!

WIA: SOA pour une interopérabilité intrinsèque du SI

82

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Passage de messages purs (un arbre)

khaled.bendriss@oxiasoft.com


Modes des Services Web Un message SOAP contient des données typées (paramètres des services) Il faut définir un moyen d’encoder et de décoder ces données Vocabulaire SOAP :  Value (valeur d’une donnée)  Simple value (primtifs : string, integers, etc..)  Compound value (composées à partir des primitifs : array, struct, …)  • Type (d’une value) (Simple Type/Compond type)  Encodage : représentation de valeurs sous forme XML.  Décodage : construction de valeurs à partir d’XML  L’arbre XML représentant des valeurs a une structure qui dépend du type des SOA– OXIA – 2008

valeurs…

WIA: SOA pour une interopérabilité intrinsèque du SI

83

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Modes des Services Web

Les types sont placés dans le message (encoding)

Avantages et inconvénients

Les types sont définis par un schéma via wsdl (literal)

WIA: SOA pour une interopérabilité intrinsèque du SI

Encoding :

84

Literal (celui que je recommande) :

Messages courts

Messages longs

Client et serveur doivent posséder le schéma pour valider le message

Client ou serveur n’ont pas besoin de connaître le schéma i.e. messages auto-validants

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Deux façon d’encoder les données

khaled.bendriss@oxiasoft.com


Modes des Services Web

SOA– OXIA – 2008

Style : RPC vs. Document Encodage : Encoded vs. Literal

WIA: SOA pour une interopérabilité intrinsèque du SI

85

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Modes des Services Web

SOA– OXIA – 2008

Style : RPC vs. Document Encodage : Encoded vs. Literal

WIA: SOA pour une interopérabilité intrinsèque du SI

86

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


SOAP Fault

Balise permettant de signaler des cas d’erreur.

La balise Fault contient les balises suivantes faultcode : un code permettant d’identifier le type d’erreur • Client, Server, VersionMismatch, MustUnderstand

faultstring : une explication en langage naturel

detail : définition précise de l’erreur.

WIA: SOA pour une interopérabilité intrinsèque du SI

87

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

faultactor : une information identifiant l’initiateur de l’erreur

khaled.bendriss@oxiasoft.com


Conseil pour une meilleur interopérabilité Utiliser les Schémas XML Utiliser l’approche Contract-First • garantit une interopérabilité dès la conception Toujours utiliser des schémas XML • Obligatoire pour les WS Document/Literal Tout type de message défini dans le WSDL devrait être défini dans un Schéma • – Messages In/Out des opérations • – Fautes Découple la sémantique de la signature des WS

Créer votre grammaire propre via XML Schema (s'inspirer de GS1, ebXML, …), fixer les espaces de nomages Possibilité d'utiliser les framework de mapping objet/XML (JAXB, …)

WIA: SOA pour une interopérabilité intrinsèque du SI

88

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

• – Les opérations peuvent être stables au cours du temps • – Seuls les schémas évoluent

khaled.bendriss@oxiasoft.com


Penser à concevoir des services web asynchrones

Selon les uses cases, identifier les besoins aux web service asynchrone • Les WS asynchrones sont adaptés aux processus longs et coûteux

Penser à mettre en place un mécanisme de notification

WIA: SOA pour une interopérabilité intrinsèque du SI

89

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Les meilleurs résultats sont obtenus en les couplant avec des MOM (JMS en Java EE)

khaled.bendriss@oxiasoft.com


Exemple de projet réalisé dans le monde des télecom Tunisiana (Tunisie) & Nedjma (Algérie) : approche contract First consumers

CRM

IVR

USSD

Content

Applications Applications Applications

Xpert

WSDL

SMS/MMS

Java

SOA Plate-form Plate

Policy Access SOA-plateofrme Engine Control

Portlet

Personal

Portal

.Net

notification

application Management

Monitoring

KHAS© (OXIA-Service-Framework) Application Server SQL

Java

CMS

BSCS

IN

WIA: SOA pour une interopérabilité intrinsèque du SI

VoMS / VAD

90

DMC

Tunisie -Tozeur – 25/11/2008

Applications Applications Applications

SOA– OXIA – 2008

Services providers

CORBA

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

91

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


SOA– OXIA – 2008

Besoin d'infrastructure ?

WIA: SOA pour une interopérabilité intrinsèque du SI

92

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Standards Importants pour SOA

ERP/ Legacy Apps

Portal

Web Application

WS

Process Flow Logic

API MONITOR & OPTIMIZE BAM JMX

INTERACT/ACCESS PORTAL JSR-168 Struts/JSF

Custom Apps & Services

Web services

ORCHESTRATE

GATEWAY WS-Security WS-Policy, SAML

BPEL XSLT/XQuery

Web Services Mgmt

BUSINESS SERVICES XML/XML Schema WSDL/WSIF SOAP JCA JMS SCA

WIA: SOA pour une interopérabilité intrinsèque du SI

93

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Monitoring Optimization

Security Reliability Logging Failover Dynamic Routing

khaled.bendriss@oxiasoft.com


Besoin d'infrastructure ? BAM

System GOVERNANCE Monitoring

ROUTING &Business ORCHESTRATION Events Analytics Monitoring Rules

BPEL Process

Framework

Human Workflow

BPEL Engine App Dev Framework

Enterprise Manager

BI

Web Services Manager

Business Rules

Management

Enterprise Service Bus DATA SERVICES & (ESB) CONNECTIVITY Multi Protocol

XSLT Transform

Routing

Adapters

DI

B2B

B2B

Apps DB

ETL

Partners

Partners

Security Registry

MOM ActiveMQ, Mqseries, MSMQ WIA: SOA pour une interopérabilité intrinsèque du SI

Application Server J2EE / Windows .Net 94

Tunisie -Tozeur – 25/11/2008

Discovery Policies SOA– OXIA – 2008

IDE MANAGEMENT & Eclipse MONITORING V.S.

khaled.bendriss@oxiasoft.com


Contents Plan du workshop  Quels sont les éléments clé d’une architecture orientée services ?  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI  BPEL

 Besoins d'interopérabilités : WS-I et Basic Profiles  SOA : quelles infrastructures?  ESB : un bus au service de SOA  Notion de SLA et les besoins non fonctionnels  Le besoin de supervision dans une architecture SOA  De nouvelles notions s'ajoutent à SOA:  le BAM

 La notion de maturité SOA  La relation entre SOA & EDA  Les 8 péchés capitaux de la SOA (anti-patterns SOA)  SOA : 7 bonnes pratiques WIA: SOA pour une interopérabilité intrinsèque du SI

95

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 Le MDM

khaled.bendriss@oxiasoft.com


ESB (Enterprise Service Bus) infrastructure SOA au service de l’interopérabilité Middleware d’intégration fournissant des fonctionnalités comme l’acheminement le routage des messages, la connexion des applications/progiciels (via des adaptateurs dédiés ou des technologies standards – services web,..),

et au-delà l’ensemble des médiations nécessaires aux échanges dynamiques entre consommateurs et fournisseurs de services

WIA: SOA pour une interopérabilité intrinsèque du SI

96

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

la transformation des données,

khaled.bendriss@oxiasoft.com


L'ESB (bus de service d’entreprise) : composant d’infrastructure central d’une SOA Le but d’un ESB est de permettre de communiquer de manière simple et standardisée entre des applications hétérogènes

Services de médiation • Acheminement • Transformation

Services d’événement • Publier et abonner

Services de transport

Axé sur les normes • HTTP/HTTPS avec possibilité de messagerie fiable SW • MOM, JMS, JAX-RPC, SOAP • Sécurité Web, politique Web, adressage Web WIA: SOA pour une interopérabilité intrinsèque du SI

C’est le point d’entrée vers un service 97

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

• Synchrone / asynchrone • Constant / non constant • Couplage lâche / couplage étroit

khaled.bendriss@oxiasoft.com


ESB une maturité croissante de l’offre Infrastructure qui optimise les échanges entre consommateurs et fournisseurs de services

ESB

Plate-forme d’intégration IBM Websphere Process Server

Microsoft Biztalk

Microsoft Biztalk

IBM Websphere ESB

BEA Weblogic Acqualogic

Mule

Oracle fusion

Sonic ESB

SAP “Netweaver”

Petals de ObjectWeb OpenESB (Sun) serviceMix

WIA: SOA pour une interopérabilité intrinsèque du SI

98

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Standards

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

99

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


SLA : Service Level Agreement Une architecture orientée service (SOA) repose sur la définition et la publication de services Définit de manière explicite l’interface du service sans préjuger de la technologie utilisée par le consommateur ni de l’implémentation de ce service par le fournisseur

SOA– OXIA – 2008

Imposer l’interopérabilité dans le SLA

WIA: SOA pour une interopérabilité intrinsèque du SI

100

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Les contrats de services définissent les exigences opérationnelles d’exploitation des services exposés Producteurs et consommateurs définissent de objectifs de niveaux de services (SLO) • Par exemple: • Temps de réponse <2s • Disponibilité de 99,9% • Trafic maximum de 100 requêtes/h

Un engagement de services (SLA) est défini par • Le ou les consommateurs pour lesquels il s’applique • Le ou les services sur lesquels il s’applique • Un ensemble de SLO • La période de temps sur laquelle il s’applique

• Ils sont associé à un services • Ils correspondent à un critère de finalité ou de performance du service • Ils peuvent être mesurés de façon quantitative ou qualitative, afin d’être comparés au résultat attendu. • Leur étude doit permettre l’optimisation de la qualité de service.

WIA: SOA pour une interopérabilité intrinsèque du SI

101

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Des indicateurs de performances (KPI) seront utilisés pour gérer la qualité du service rendu

khaled.bendriss@oxiasoft.com


Plan Plan de la présentation  Evolution des architectures informatiques : applications & Système d’information  SI : Problématique de l’intégration en entreprise et intra-entreprises  Interopérabilité : différents points de vue  Présentation du concept SOA  La notion de service (au sens SOA)  Cycle de vie d’un service  Approches d’identification des services  Services Web : les spécifications XML de base  SOAP  WSDL  UDDI

 Web service pas forcément interopérable : WS-I et Basic Profiles  SOA : quelles infrastructures?  Notion de SLA et les besoins non fonctionnels  Best Practices : SOA & interopérabilité WIA: SOA pour une interopérabilité intrinsèque du SI

102

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

 BPEL

khaled.bendriss@oxiasoft.com


Inter-opérabilité & SOA Services d'infrastructure réutilisables Méta-information

Services métier réutilisables Services métier

Architecture orientée services

Bon niveau d'isolation vis-àvis des API

Protocole de communication à faible couplage

Gestion des versions

WIA: SOA pour une interopérabilité intrinsèque du SI

103

Tunisie -Tozeur – 25/11/2008

Modélisation métier

SOA– OXIA – 2008

Interopérabilité

Services métier technologiques

khaled.bendriss@oxiasoft.com


Best Practices : SOA & interopérabilité Gestion du portefeuille de service Modèle de maturité : Benchmarking

Cadre Commun d’interopérabilité

Sécurité et gestion

WIA: SOA pour une interopérabilité intrinsèque du SI

l'Industrialisation du développement des logiciels

104

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Orchestration de Processus, Workflow et Règles métiers

montée en charge à la demande

khaled.bendriss@oxiasoft.com


gérer le portefeuille de services

Bonnes pratiques Contract- First & Interface-First Documents à gros Grain Interactions Asynchrones Opérations d'annulation (Undo/Cancel)

WS-I, Wrapped Document Style Penser à SCA

WIA: SOA pour une interopérabilité intrinsèque du SI

105

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Versioning

khaled.bendriss@oxiasoft.com


SOA– OXIA – 2008

Cadre Commun d’interopérabilité : Connectivité et Message

WIA: SOA pour une interopérabilité intrinsèque du SI

106

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Orchestrer les processus Bonnes pratiques BPEL & BPMN XSLT Transformation Service Workflow humain Service Moteur de règles Service de Notification Service de gestion des Erreurs

Trace et débogage Développement Itératif Test Unitaire WIA: SOA pour une interopérabilité intrinsèque du SI

107

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Lien vers l'ESB

khaled.bendriss@oxiasoft.com


Etablir une politique de sécurité

Bonnes pratiques

WS-Policy, WS-Security

Intégration avec un ESB (Multi-binding Support) WIA: SOA pour une interopérabilité intrinsèque du SI

108

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Capacité à changer la politique de sécurité sans changer les services

khaled.bendriss@oxiasoft.com


Industrialiser Avant l'Industrialisation du développement des logiciels Activité du développeur Concevoir le contrat & service Coder l’interface du contrat Coder le contrat des classes Coder le « Endpoint » du service

109

SOA– OXIA – 2008

Coder la configuration

WIA: SOA pour une interopérabilité intrinsèque du SI

109

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Industrialiser Après l'Industrialisation du développement des logiciels

Cadre commun d’interopérabilité

Encadrement en contexte

Usine logicielle

Cadres architecturaux

Générer le contrat & service Générer l’interface du contrat Développement selon un modèle

Générer le contrat des classes

SOA– OXIA – 2008

Générer le « Endpoint » du service

110

Générer la configuration

WIA: SOA pour une interopérabilité intrinsèque du SI

110

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


montée en charge à la demande

Bonnes pratiques Prévoir des Interactions Asynchrones Traiter judicieusement le cas des documents XML de grande taille “Stateless Architecture”

Prévoir le mode Batch (API batch) Réaliser des “POC performance” pour valider tous les choix techniques

WIA: SOA pour une interopérabilité intrinsèque du SI

111

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

JCA and Java Binding

khaled.bendriss@oxiasoft.com


Pourquoi un modèle de maturité: Benchmarking Pour planifier les étapes à suivre pour améliorer la maturité de la pratique SOA

Where do you want to go?

WIA: SOA pour une interopérabilité intrinsèque du SI

Définir une vision SOA

Objectifs

Ressources requises

Pratiques

Gains obtenus (ROI)

112

Tunisie -Tozeur – 25/11/2008

SOA– OXIA – 2008

Pour se positionner dans le chemin d'adoption d'une démarche SOA

khaled.bendriss@oxiasoft.com


Technology

Organization

Process

5

BP Modeling Standards

Bus. Process Modeling Tools

SOA Organizational Structure

Continuous Improvement

4

BAM, SCA WS-* Standards

BAM Tool EPM Standard Dashboard

Business Service Depts

Capacity Planning, Ent. Ref. Arch.

3

BPEL, BPMN WS-Security, JSR 168

BPEL Engine, Portal/Portlets

Enterprise SOA Education

SOA Best Practices, Int. Ref. Arch

SOM, UDDI Registry, Rules, Message Bus

EA Dept., Tech. Service Dept.

Governance, Operational Model

2

1

WSDL, UDDI Standards JMS SOAP, XML

Architect’s Collective

Web Services

App. Ref. Architecture

SOA– OXIA – 2008

Standards

ROI Maturity Automated Tools

The Hartford’s SOA Maturity Model

Question : Where we are ? WIA: SOA pour une interopérabilité intrinsèque du SI

113

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


SOA– OXIA – 2008

Modèle de référence de SOA de l’OASIS : des sujets de recherche, toujours d’actualité

Source : Norme du modèle de référence de SOA de l’OASIS, 12 octobre 2006 WIA: SOA pour une interopérabilité intrinsèque du SI

114

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


La suite …

SOA– OXIA – 2008

SaaS (Software as a Service

WIA: SOA pour une interopérabilité intrinsèque du SI

115

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


Khaled BEN DRISS Directeur Technique Tel : +216 71 28 27 00 Mob.: +216 25 23 45 30 khaled.bendriss@oxiasoft.com

11 rue Claude Bernard 1002 Le Belvédère Tunis, Tunisia Tél : +216 71 28 27 00 Fax : +216 71 28 27 05

www.oxiasoft.com


L’organisation du SI en couches & Urbanisation une couche service à inventer

Description et structuration fonctionnelle du système d’information Définition de services contractualisés (contrat de Services)

Description et structuration du système informatique en composants logiciels (Implémentation des Services)

Fonctionnelle

Services métiers

Applicative

Technique Infrastructure de fonctionnement du système d'information et des composants logiciels et applicatifs

: : ::

: :

SOA– OXIA – 2008

Description du métier compréhensible par les acteurs du métier

Métier

Exemple d’une représentation adaptée : source CIGREF

WIA: SOA pour une interopérabilité intrinsèque du SI

117

Tunisie -Tozeur – 25/11/2008

khaled.bendriss@oxiasoft.com


SOA : pour une interopérabilitéintrinsèque du Système d’Information