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

      Khaled BEN DRISS



         Khaled.bendriss@o...
Ingénieur de l'Ecole Centrale de Lyon (ECL’1991)
Docteur de l'Université Paris 6 ( P&MC ‘ 1994)

Ancien Maître Assistant à...
Objectif de la séquence




                                                                                              ...
Plan

Plan de la présentation
       Evolution des architectures informatiques : applications & Système d’information
    ...
Technologie
                                                                                                     Réseaux
 ...
Activités

                                                                                                     Travail
  ...
Services offerts



                                                                                     Information
     ...
Enjeux




1990


                                                                                            Vivant
     ...
Besoin d’automatisation




1990




1980




1970




                                                                   ...
Contexte économique


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



...
Architectures informatiques
                                                                            Types et contraint...
Evolution de l'architecture des applications :
                                                    De la centralisation ve...
Contexte
                                                                 architectures informatiques




                ...
Plan

Plan de la présentation
       Evolution des architectures informatiques : applications & Système d’information
    ...
Objectifs des S.I.
                                                                                                  récap...
Problématique de l’intégration en entreprise

 Entreprises découpées en départements fonctionnels y compris le
 système d'...
Problématique de l’intégration en entreprise
Entreprises découpées en départements fonctionnels y compris le système
d'inf...
Problématique de l’intégration inter-entreprises


                                                                       ...
Applications distribuées
                                                                             & l’Interopérabilité...
Définition générale de l’Interopérabilité

L'interopérabilité connecte

   Les personnes : cet aspect de l'interopérabilit...
Architectures d’interopérabilité

   Intégration et
communication entre                                                   ...
Les types de middleware classiques




                                                                                   ...
La réalité dans les SI:
                                                            SOA (Spaghettis Orientée Service)

   ...
Plan

Plan de la présentation
       Evolution des architectures informatiques : applications & Système d’information
    ...
Interopérabilité : différents points de vue




                                                                          ...
Interopérabilité : différents points de vue

Indépendance ,
intégration




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

Plan de la présentation
       Evolution des architectures informatiques : applications & Système d’information
    ...
Service Oriented Architecture
                                                                      SOA, qu’est-ce? (1/3)
...
Service Oriented Architecture
                                                                     SOA, qu’est-ce ? (2/3)
...
Service Oriented Architecture
                                                                     SOA, qu’est-ce ? (3/3)
...
Une définition de la SOA
                La SOA c’est structurer en services contractualisés


                           ...
Les Composants




                                                                                                       ...
Service Oriented Architecture :
                                             une architecture Consommateur/Fournisseur


 ...
Plan

Plan de la présentation
       Evolution des architectures informatiques : applications & Système d’information
    ...
Dans SOA il y a Service ?

   SOA est une                          Avant tout : un                      Exemple
    histoi...
Qu’est ce qu’un Service (au sens SOA) ?


Partage la caractéristique suivante d’un objet

 • Modulaire (ensemble de foncti...
Avant l’approche service:
                                                                    couplage fort - Gestion de p...
Après l’approche service :
                                                              Gestion de prêts en couplage faib...
Zoom sur la phase de spécification


Les services identifiés
                                                       Challe...
4 propriétés du service à retenir

Un Service est Autonome                                       Un Service expose un Cont...
4 propriétés : conséquences


                                                            Le consommateur
                ...
4 propriétés : conséquences




                                                                                          ...
Plan

Plan de la présentation
       Evolution des architectures informatiques : applications & Système d’information
    ...
Cycle de vie d’un service

                                                         1 aspect transversal : la
4 grandes ph...
Un service n’est pas un composant

Évolution naturelle et certaine
• Fonction     Composant            Service
           ...
exemples de services
                                                                     en fonction de la granularité
  ...
Plan

Plan de la présentation
       Evolution des architectures informatiques : applications & Système d’information
    ...
Deux approches d’identification des services


                                                            Approche Bottom...
On utilise rarement une unique approche :Approche “Meet in the
                                                     Middle...
Plan

Plan de la présentation
       Evolution des architectures informatiques : applications & Système d’information
    ...
Implémentations des Services




                                                               Maximiser l’interopérabili...
SOA et web services

     Attention à ne pas confondre SOA et                                            Les WS constituen...
Points clés de l’architecture
                         1.a rechrcehr un service

                                         ...
Services Web ~ quatre spécifications XML



                             SOAP : pour le
                             trans...
Standards de l’architecture WS

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




SOAP     ...
Plan

Plan de la présentation
       Evolution des architectures informatiques : applications & Système d’information
    ...
Qu'est ce qu'un Web Service ?


Définition [W3C]                                           Exposition                     ...
Contents
Plan du workshop
      Quels sont les éléments clé d’une architecture orientée services ?
           Services Web...
SOAP : Simple Object Access Protocol

  Intégration de XML au-                   • Pour accéder services, objets et serveu...
Structure d'un message




              Protocol Headers                                Entête de protocoles (HTTP, SMTP,...
SOAP : implémentation
                      .Net Web Services

                        Axis 1.x & Axis2

                 ...
Plan

Plan de la présentation
       Evolution des architectures informatiques : applications & Système d’information
    ...
WSDL
                                                             Web Service Description Language
- Proposition jointe IB...
WSDL
                                                                      Éléments d’une définition
<types>
 • Contient l...
Contrat dans les web services :
                             Contract -First pour une meilleure interopérabilité


       ...
Contrat dans les web services

                                               Privilégier l'approche
                     ...
Plan

Plan de la présentation
       Evolution des architectures informatiques : applications & Système d’information
    ...
UDDI : Annuaire des services
                                     Universal Description, Discovery and Integration

      ...
UDDI : utilité d’un annuaire de service




                                                                              ...
UDDI : implémentation


Microsoft, IBM, Oracle ( et aussi BEA )…

open source : jUDDI




                                ...
Plan

Plan de la présentation
       Evolution des architectures informatiques : applications & Système d’information
    ...
Le langage BPEL
                                                                      Business Process Execution Language
...
BPEL le chef d’orchestre :
       créer de nouveaux services par composition de services existants


                     ...
Plan

Plan de la présentation
       Evolution des architectures informatiques : applications & Système d’information
    ...
Se conformer aux standards WS-I BP :
                                                                      Privilégier le ...
Profiles WS-I
Ensemble de spécifications ou standards à des niveaux de versions
spécifiques

Directives et conventions pou...
WS-I Basic Profile

La WS-I Organisation a été créée pour promouvoir des schémas d’utilisation
interopérable des WS

Plus ...
Profiles WS-I
                                          WS-I Profiles

                                                   ...
WS-I et Basic Profiles




                                                                                               ...
WSDL et format des messages

 Styles s'applique au mécanisme
de traduction d'un binding WSDL                              ...
WSDL et format des messages
       Deux styles
                                                                  Avantages...
Modes des Services Web

Un message SOAP contient des données typées (paramètres des services)
Il faut définir un moyen d’e...
Modes des Services Web


               Deux façon d’encoder                                                Avantages et
 ...
Modes des Services Web
Style : RPC vs. Document
Encodage : Encoded vs. Literal




                                       ...
Modes des Services Web
Style : RPC vs. Document
Encodage : Encoded vs. Literal




                                       ...
SOAP Fault

                                       La balise Fault contient les balises
   Balise                         ...
Conseil pour une meilleur interopérabilité
                                                                             Ut...
Penser à concevoir des services web asynchrones



Selon les uses cases, identifier les besoins aux
web service asynchrone...
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
Prochain SlideShare
Chargement dans…5
×

01 Soa 25 Nov 2008 Wia 1er Oxia V 1.0.0x

1 417 vues

Publié le

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

Publié dans : Business
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 417
Sur SlideShare
0
Issues des intégrations
0
Intégrations
17
Actions
Partages
0
Téléchargements
150
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

01 Soa 25 Nov 2008 Wia 1er Oxia V 1.0.0x

  1. 1. SOA : pour une interopérabilité intrinsèque du Système d’Information Khaled BEN DRISS Khaled.bendriss@oxiasoft.com Tozeur le 25 novembre 2008
  2. 2. 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 Directeur Technique OXIA Consultant Senior : Architecte de Système d'Information SOA– OXIA – 2008 www.oxiasoft.com 1 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  3. 3. Objectif de la séquence SOA– OXIA – 2008 2 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  4. 4. 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 BPEL Web service pas forcément interopérable : WS-I et Basic Profiles SOA– OXIA – 2008 SOA : quelles infrastructures? Notion de SLA et les besoins non fonctionnels Best Practices : SOA & interopérabilité 3 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  5. 5. Technologie Réseaux globaux Ordinateur 1990 personnel Terminal 1980 Mainframe 1970 SOA– OXIA – 2008 4 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  6. 6. Activités Travail coopératif Informatique 1990 personnelle Transactionnel 1980 Batchs 1970 SOA– OXIA – 2008 5 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  7. 7. Services offerts Information à la place de travail 1990 Industrialisation 1980 Gestion intégrée 1970 SOA– OXIA – 2008 Automatisation des processus administratifs 6 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  8. 8. Enjeux 1990 Vivant Objectif 1980 Réactif Mécanique Cahier des charges Prévisible 1970 SOA– OXIA – 2008 7 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  9. 9. Besoin d’automatisation 1990 1980 1970 SOA– OXIA – 2008 8 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  10. 10. Contexte économique • Mondialisation Marché • Actionnaires • Fusion/acquisition • Publicité Business Model S.I. • Open source • Compétition • Compétition Eco-système • Compétition SOA– OXIA – 2008 • Compétition 9 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  11. 11. Environnement d’aujourd’hui Résolument Hétérogène Client/Server Mainframe réseaux Net-Progress Internet OXIA SOA– OXIA – 2008 et Web 10 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  12. 12. Architectures informatiques Types et contraintes Serveur Internet Web Client-Serveur Distribuée Partage de fichiers SOA– OXIA – 2008 11 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  13. 13. Evolution de l'architecture des applications : De la centralisation vers la centralisation Client-serveur Client-serveur Centralisé deux niveaux trois niveaux kkwkj aaaawwwww kkwkj aaaawwwww kkwkj aaaawwwww kkwkj aaaawwwww kkwkj aaaawwwww kkwkj aaaawwwww kkwkj aaaawwwww Interface utilisateur Interface utilisateur Services d'entreprise Services d'entreprise Services d'entreprise SOA– OXIA – 2008 Interface utilisateur Services d'entreprise Services de données Services de données Services de données 12 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  14. 14. Contexte architectures informatiques SOA– OXIA – 2008 13 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  15. 15. 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 BPEL Web service pas forcément interopérable : WS-I et Basic Profiles SOA– OXIA – 2008 SOA : quelles infrastructures? Notion de SLA et les besoins non fonctionnels Best Practices : SOA & interopérabilité 14 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  16. 16. Objectifs des S.I. récapitulatif. SOA– OXIA – 2008 15 Introduction SOA pour une interopérabilité intrinsèque du SI Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA:
  17. 17. 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 + multi- départementaux Des Silos sans communication L’information ou les données sont difficiles à trouver et à relier Division B Division C Division A • Problèmes au moment de l’échange des données Résultat : l’information et les données coûtent cher SOA– OXIA – 2008 L’Intégration doit être le mot d’ordre! CRM ERP DB 16 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  18. 18. 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 + multi-départementaux SOA– OXIA – 2008 Coûts considérables dans la gestion des flux entre départements et dans l’intégration de leurs SI 17 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  19. 19. Problématique de l’intégration inter-entreprises Application web Tozeur) Agence de voyages Client Réservation (plateforme technique2) (plateforme technique6) Compagnie aérienne (plateforme technique1) Réservation Réservation, Tarifs Tarifs, promotion Location de voitures (plateforme technique3) SOA– OXIA – 2008 Chaîne hôtelière Assurance voyage (plateforme technique4) (plateforme technique5) D’après : J-M Chauvet 18 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  20. 20. Applications distribuées & l’Interopérabilité SOA– OXIA – 2008 19 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  21. 21. 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 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). 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 SOA– OXIA – 2008 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. 20 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  22. 22. Architectures d’interopérabilité Intégration et communication entre Mise en œuvre systématique dans Deux modes de composants un cadre d’urbanisation communication applicatifs Sans connexion Formats d’échange : XML avec (asynchrone, (eXtended Markup middleware Language) couplage faible) Avec connexion Intégration de systèmes sans (synchrone, complexes: EAI (Enterprise middleware) Application Integration) couplage fort) SOA– OXIA – 2008 Modèle d’architecture cible: SOA ( Service Oriented Architecture) 21 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  23. 23. Les types de middleware classiques SOA– OXIA – 2008 22 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  24. 24. La réalité dans les SI: SOA (Spaghettis Orientée Service) Interconnexions Développements redondantes coûteux (point à point) Grande Maintenance complexité difficile SOA– OXIA – 2008 23 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  25. 25. 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 BPEL Web service pas forcément interopérable : WS-I et Basic Profiles SOA– OXIA – 2008 SOA : quelles infrastructures? Notion de SLA et les besoins non fonctionnels Best Practices : SOA & interopérabilité 24 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  26. 26. Interopérabilité : différents points de vue SOA– OXIA – 2008 25 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  27. 27. Interopérabilité : différents points de vue Indépendance , intégration métier Responsable IT Architecte virtualization des Services, visibilité, sécurité #$%! , java C#, bugs…I… SOA– OXIA – 2008 Ingénieur Système Développeur 26 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  28. 28. 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. On a besoin d’une nouvelle approche ! SOA– OXIA – 2008 27 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  29. 29. 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 BPEL Web service pas forcément interopérable : WS-I et Basic Profiles SOA– OXIA – 2008 SOA : quelles infrastructures? Notion de SLA et les besoins non fonctionnels Best Practices : SOA & interopérabilité 28 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  30. 30. Service Oriented Architecture SOA, qu’est-ce? (1/3) SOA est un paradigme abstrait, base de l’architecture distribuée sans aucune référence à une implémentation technique SOA– OXIA – 2008 Une nouvelle plate-forme architecturale pour le développement de solutions distribuées 29 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  31. 31. Service Oriented Architecture SOA, qu’est-ce ? (2/3) SOA– OXIA – 2008 30 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  32. 32. Service Oriented Architecture SOA, qu’est-ce ? (3/3) 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 SOA– OXIA – 2008 principes nouveaux. 31 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  33. 33. Une définition de la SOA La SOA c’est structurer en services contractualisés Voire tout le S.I. une application un bloc applicatif Afin d’adresser les enjeux de Politique d’interopérabilité Pérennité des applications Politique de réutilisation SOA– OXIA – 2008 mise en œuvre de services recherche de la quot;Faire du nouveau globaux entre blocs réutilisation à l’intérieur avec de l'ancienquot; applicatifs d’un bloc applicatif 32 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  34. 34. Les Composants SOA– OXIA – 2008 33 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  35. 35. Service Oriented Architecture : une architecture Consommateur/Fournisseur Consommateurs Fournisseurs de Services De Service Courtier de Services Monitoring Transformation Sécurité SLA Annuaire SOA– OXIA – 2008 34 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  36. 36. 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 BPEL Web service pas forcément interopérable : WS-I et Basic Profiles SOA– OXIA – 2008 SOA : quelles infrastructures? Notion de SLA et les besoins non fonctionnels Best Practices : SOA & interopérabilité 35 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  37. 37. Dans SOA il y a Service ? SOA est une Avant tout : un Exemple histoire de service doit conception pas de être quot;abstraitquot; technologie Service d'enregistrement d'un abonnée Un service n’est penser pas lié à une Service de réservation d'un Architecture & implémentation. train Service. Service de diffusion d'information SOA– OXIA – 2008 Service de demande de l'état d'une commande 36 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  38. 38. 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 • Boite noire (séparation interface/implémentation) • Indépendant de la localisation • Neutralité vis-à-vis des protocoles de transport Correspond à un périmètre fonctionnel exposé à des consommateurs (une granularité plus forte qu’un composant) SOA– OXIA – 2008 • Expose un petit nombre d’opérations offrant un traitement de bout en bout • Est faiblement couplé • Sans état 37 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  39. 39. 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 EnvoyerConfirmation AgentDeCrédit est lié à ApprobationCrédit et Crédit SOA– OXIA – 2008 ApprobationCrédit est lié à Compte Crédit est lié à SMSGateway 38 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  40. 40. Après l’approche service : Gestion de prêts en couplage faible Notifier ProcessusCrédit Calculer VérifierBalanceCpt créerCrédit ViaSMS RisqueCérdit SOA– OXIA – 2008 ProcessusCrédit Un processus métier ! Il permet d’orchestrer les services => couplage lâche 39 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  41. 41. Zoom sur la phase de spécification Les services identifiés Challenge : Un service peut être ne doivent pas être tous publiés : Chaque service trouver les a un coût et un “bons” services synchrone risque à exposer Il faut éviter la prolifération Asynchrone SOA– OXIA – 2008 des services 40 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  42. 42. 4 propriétés du service à retenir Un Service est Autonome Un Service expose un Contrat Conditions Générales de Vente Règlement Intérieur in Vos droits/Vos devoirs out Les Frontières entre services sont Les services communiquent par Explicites messages SOA– OXIA – 2008 41 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  43. 43. 4 propriétés : conséquences Le consommateur SOA véhicule (client) est découplé de des Messages l’architecture et non des technique du objets service qu’il invoque Le consommateur Importance de et le fournisseur l'Architecture n'ont pas forcément les Importance des mêmes SOA– OXIA – 2008 standards technologies 42 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  44. 44. 4 propriétés : conséquences SOA– OXIA – 2008 43 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  45. 45. 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 BPEL Web service pas forcément interopérable : WS-I et Basic Profiles SOA– OXIA – 2008 SOA : quelles infrastructures? Notion de SLA et les besoins non fonctionnels Best Practices : SOA & interopérabilité 44 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  46. 46. Cycle de vie d’un service 1 aspect transversal : la 4 grandes phases : gouvernance Les architectures orientées service Identification impliquent une vision globale La gouvernance permet de casser Spécification les silos de l’entreprise Développement SOA– OXIA – 2008 Gestion (versionning, …) 45 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  47. 47. 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 Données entre services privées Les services permettent des relations faiblement couplées; SOA– OXIA – 2008 Composants les composants des relations fortement couplées Fonctions 46 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  48. 48. exemples de services en fonction de la granularité 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 47 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  49. 49. 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 BPEL Web service pas forcément interopérable : WS-I et Basic Profiles SOA– OXIA – 2008 SOA : quelles infrastructures? Notion de SLA et les besoins non fonctionnels Best Practices : SOA & interopérabilité 48 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  50. 50. Deux approches d’identification des services Approche Bottom-up Approche Top-down Pour réutiliser l’existant Pour démarrer un (non SOA) nouveau projet On part des morceaux, on Dans le cadre d’une rassemble les bouts vision globale très claire SOA– OXIA – 2008 Quelques méthodologies (nouvelles): Praxeme, SOMA (IBM) … 49 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  51. 51. 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 Penser métier SOA– OXIA – 2008 Penser interopérabilité & standards 50 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  52. 52. 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 BPEL Web service pas forcément interopérable : WS-I et Basic Profiles SOA– OXIA – 2008 SOA : quelles infrastructures? Notion de SLA et les besoins non fonctionnels Best Practices : SOA & interopérabilité 51 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  53. 53. Implémentations des Services Maximiser l’interopérabilité par l’usage systématique des standards? SOA– OXIA – 2008 52 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  54. 54. SOA et web services Attention à ne pas confondre SOA et Les WS constituent une web services bonne solution standardisée disponible SOA est un ensemble de Les WS sont de l’ordre de la concepts : technologie : Un service métier = un webservice SOA est un paradigme On peut utiliser les Web abstrait, base de Services sans faire de l’architecture distribuée SOA (architecture point à sans aucune référence à point sans réutilisation) une implémentation technique Les Web Services offrent SOA– OXIA – 2008 une implémentation Une SOA peut se mettre possible mais pas en œuvre sans Web nécessaire Services 53 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  55. 55. Points clés de l’architecture 1.a rechrcehr un service Repository Consommateur 1.b Returner le contract Service 2.a Creer une intsance du processus Mediation layer/Service bus 2.c determiner le point de 2.d enjoyer la requêtte contact du service 2.b Executer processus SOA– OXIA – 2008 Fournisseur Service Registry Description “Business process” 54 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  56. 56. Services Web ~ quatre spécifications XML SOAP : pour le transport des WSDL : pour la données et description des l’infrastructure de services offerts communication XML UDDI : annuaire pour le référencement des BPEL : décrit le services par les SOA– OXIA – 2008 processus métier fournisseurs et leur découverte par les utilisateurs. 55 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  57. 57. 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 Web Services Universal Description Business Process Access Protocol Description Language Discovery and Integration Execution Language W3C W3C Microsoft, IBM, HP, … Décrit le contrat Transporte Décrit les processus Spec pour SOA– OXIA – 2008 métier Repository/Registry Les trois piliers des Services Web Lien avec BPMN 56 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  58. 58. 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 BPEL Web service pas forcément interopérable : WS-I et Basic Profiles SOA– OXIA – 2008 SOA : quelles infrastructures? Notion de SLA et les besoins non fonctionnels Best Practices : SOA & interopérabilité 57 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  59. 59. Qu'est ce qu'un Web Service ? Définition [W3C] Exposition Activation Un Web service est un système logiciel Langage WSDL (Web identifié par une URI, dont les interfaces Protocole Web au- Service Description publiques et les liens sont définis et décrits dessus de HTTP (RPC Language) utilisé pour en XML. XML, SOAP) décrire le service Sa définition peut être découverte par Similaire à IDL mais Autres protocoles d'autres systèmes logiciels. basé sur XML possibles … Ces systèmes peuvent interagir avec le service Web d'une manière prescrite par sa SOA– OXIA – 2008 définition, en utilisant des messages XML portés par les protocoles Internet. 58 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  60. 60. 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 notion de maturité SOA La relation entre SOA & EDA SOA– OXIA – 2008 Les 8 péchés capitaux de la SOA (anti-patterns SOA) SOA : 7 bonnes pratiques 59 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  61. 61. SOAP : Simple Object Access Protocol Intégration de XML au- • Pour accéder services, objets et serveurs dessus de HTTP : • Indépendant de toute plate-forme Port de connexion (URL) Pare-feu Pare-feu Messages Procuration Appel Translateur SOAP d'interface SOAP Application HTTP Cliente RPC local Réponse Parseur Parseur Application SOA– OXIA – 2008 XML XML Serveur 60 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  62. 62. Structure d'un message Protocol Headers Entête de protocoles (HTTP, SMTP, …) <Envelope> SOAP Envelope <Header> SOAP Header <Body> SOAP Body SOA– OXIA – 2008 61 XML-RPC et SOAP une interopérabilité intrinsèque du SI Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour
  63. 63. SOAP : implémentation .Net Web Services Axis 1.x & Axis2 Xfire 1.2.2 SpringWS WebSphere ... SOA– OXIA – 2008 62 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  64. 64. 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 BPEL Web service pas forcément interopérable : WS-I et Basic Profiles SOA– OXIA – 2008 SOA : quelles infrastructures? Notion de SLA et les besoins non fonctionnels Best Practices : SOA & interopérabilité 63 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  65. 65. 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. SOA– OXIA – 2008 64 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  66. 66. 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, MIME, …). Un <porttype> peut avoir plusieurs liaisons ! <port> • Spécifie un point d’entrée (endpoint) comme la combinaison d’un <binding> et d’une adresse réseau. SOA– OXIA – 2008 <service> • Une collection de points d’entrée (endpoint) relatifs. 65 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  67. 67. Contrat dans les web services : Contract -First pour une meilleure interopérabilité Web Service deux approches Contract-Last Contract-First : créer les types de données, SOA– OXIA – 2008 créer le code source le messages envoyés puis (classes java ou c#) puis associer le code source définir (ou générer) le web service, wsdl, les types … 66 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  68. 68. Contrat dans les web services Privilégier l'approche contract-first et Définir vos schéma XML (et gérer vos XSD ) Les clients se Définir les interfaces Anticipe les problèmes concentrent sur le XML des messages d'interopérabilités message XML SOA– OXIA – 2008 Commencer par les types (XSD) et WSDL 67 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  69. 69. 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 BPEL Web service pas forcément interopérable : WS-I et Basic Profiles SOA– OXIA – 2008 SOA : quelles infrastructures? Notion de SLA et les besoins non fonctionnels Best Practices : SOA & interopérabilité 68 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  70. 70. UDDI : Annuaire des services Universal Description, Discovery and Integration Fonctions Annuaire des services Annuaire Annuaire UDDI UDDI Enregistrer décrit par un votre société document Enregistrer des WSDL, autre … services Gérant de requêtes Enregistrer des Accessible en opérations SOAP Enveloppe SOA– OXIA – 2008 Découvrir des + Document Service services Programme 69 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  71. 71. UDDI : utilité d’un annuaire de service SOA– OXIA – 2008 Scénario classique d'utilisation d'UDDI 70 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  72. 72. UDDI : implémentation Microsoft, IBM, Oracle ( et aussi BEA )… open source : jUDDI SOA– OXIA – 2008 71 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  73. 73. 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 BPEL Web service pas forcément interopérable : WS-I et Basic Profiles SOA– OXIA – 2008 SOA : quelles infrastructures? Notion de SLA et les besoins non fonctionnels Best Practices : SOA & interopérabilité 72 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  74. 74. 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) Gestion des erreurs Gartner believes that BPEL will emerge as the BPEL is the future of the integration space in my view…Why? leading industry standard for Web service Because the value is so much higher when you provide not only SOA– OXIA – 2008 orchestration and coordination of business a way to integrate applications, but also a way to create services processes. from them and put them into business processes - John Rymer, Vice President, Forrester Research, Inc. - David Smith, Research Vice President and fellow, Gartner 73 XML-RPC et SOAP une interopérabilité intrinsèque du SI Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour
  75. 75. 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. BPEL SOA– OXIA – 2008 User Tasks Biztalk 74 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  76. 76. 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 BPEL Web service pas forcément interopérable : WS-I et Basic Profiles SOA– OXIA – 2008 SOA : quelles infrastructures? Notion de SLA et les besoins non fonctionnels Best Practices : SOA & interopérabilité 75 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  77. 77. Se conformer aux standards WS-I BP : Privilégier le couplage faible Consommateur du Service : Client Fournisseur du Service : Serveur SOA– OXIA – 2008 76 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  78. 78. 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) Profiles: Basic, Attachments et Basic Security SOAP 1.1 WSDL 1.1 Basic UDDI 2.0 = • Restrictions, + Profile 1.1 • Integration Guidance XML Schema SOA– OXIA – 2008 • Best Practices XML 1.0 (Second Edition) HTTP 1.1 SSL 3.0 77 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  79. 79. 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) Exemple de conditions pour la conformité WS-Basic: • “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” SOA– OXIA – 2008 • “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” 78 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  80. 80. Profiles WS-I WS-I Profiles • WS-ReliableMessaging1.1 • WS-S 1.1 • WS-SecureConv • SAML WS-Addressing SOAP 1.1 Reliable WSDL 1.1 Secure UDDI 2.0 79 Basic Profile 1.0 XML Schema XML 1.0 Security HTTP 1.1 Profile 1.1 SSL 3.0 Basic Profile 1.1, 1.2 SOA– OXIA – 2008 79 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  81. 81. WS-I et Basic Profiles SOA– OXIA – 2008 80 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  82. 82. WSDL et format des messages Styles s'applique au mécanisme de traduction d'un binding WSDL Deux styles lors de la construction d'un d’encodage : message SOAP Format RPC Format Document SOA– OXIA – 2008 Structure imposée (nom Structure libre (n’importe de méthode contenant quel arbre est transporté les paramètres) dans l’enveloppe) 81 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  83. 83. WSDL et format des messages Deux styles Avantages et inconvénients : d’encodage : Format Format RPC Document (celui que je recommande RPC Document Facile à valider : Plus difficile à valider (schéma non respecte le schéma Structure vérifiable un niveau SOAP) imposé par SOAP Structure libre imposée (nom de (n’importe quel méthode arbre est contenant les transporté dans Optimisations possibles (évite de passer paramètres) Uniquement appel de l’enveloppe) la nom de la méthode par exp) méthode (nom de méthode + paramètres) Passage de messages purs (un arbre) SOA– OXIA – 2008 Bien sûr utilisable pour faire de l’appel de méthode!!!! 82 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  84. 84. 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 valeurs… SOA– OXIA – 2008 83 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  85. 85. Modes des Services Web Deux façon d’encoder Avantages et les données inconvénients Les types sont placés Les types sont définis Literal (celui que je dans le message par un schéma via wsdl Encoding : recommande) : (encoding) (literal) Messages courts Messages longs SOA– OXIA – 2008 Client et serveur Client ou serveur n’ont doivent posséder le pas besoin de connaître schéma pour valider le le schéma i.e. messages message auto-validants 84 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  86. 86. Modes des Services Web Style : RPC vs. Document Encodage : Encoded vs. Literal SOA– OXIA – 2008 85 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  87. 87. Modes des Services Web Style : RPC vs. Document Encodage : Encoded vs. Literal SOA– OXIA – 2008 86 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  88. 88. SOAP Fault La balise Fault contient les balises Balise suivantes permettant de signaler faultcode : un code permettant d’identifier le type d’erreur des cas • Client, Server, VersionMismatch, MustUnderstand d’erreur. faultstring : une explication en langage naturel faultactor : une information identifiant l’initiateur de l’erreur SOA– OXIA – 2008 detail : définition précise de l’erreur. 87 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  89. 89. 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 • – Les opérations peuvent être stables au cours du temps • – Seuls les schémas évoluent Créer votre grammaire propre via XML Schema (s'inspirer de GS1, ebXML, …), fixer les SOA– OXIA – 2008 espaces de nomages Possibilité d'utiliser les framework de mapping objet/XML (JAXB, …) 88 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  90. 90. 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 Les meilleurs résultats sont obtenus en les couplant avec des MOM (JMS en Java EE) Penser à mettre en place un mécanisme de notification SOA– OXIA – 2008 89 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI

×