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

  • 5,196 views
Uploaded on

SOA : pour une interopérabilité …

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

More in: Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,196
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
570
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 91. Exemple de projet réalisé dans le monde des télecom Tunisiana (Tunisie) & Nedjma (Algérie) : approche contract First consumers Content Portlet Personal Applications Applications Applications Portal CRM IVR USSD Xpert SMS/MMS WSDL Java .Net SOA Plate Plate-form notification Monitoring Policy Access application SOA-plateofrme Engine Control Management KHAS© (OXIA-Service-Framework) Application Server CORBA SQL Java Services providers CMS SOA– OXIA – 2008 Applications Applications Applications BSCS IN VoMS / VAD DMC 90 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 92. 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é 91 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 93. Besoin d'infrastructure ? SOA– OXIA – 2008 92 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 94. Standards Importants pour SOA ERP/ Legacy Apps Portal Security Custom Apps Web Application Reliability & Services Logging Process Flow Monitoring Failover Logic Optimization Dynamic Routing WS API Web services GATEWAY ORCHESTRATE BUSINESS INTERACT/ACCESS MONITOR & SERVICES OPTIMIZE SOA– OXIA – 2008 PORTAL JSR-168 WS-Security XML/XML Schema BAM BPEL WS-Policy, SAML Struts/JSF JMX WSDL/WSIF XSLT/XQuery Web Services Mgmt SOAP JCA JMS SCA 93 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 95. Besoin d'infrastructure ? Enterprise IDE BAM BI Manager MANAGEMENT & Eclipse System Business ROUTING & ORCHESTRATION GOVERNANCE Events Analytics MONITORING V.S. Monitoring Monitoring Rules BPEL Process Framework Web Services Manager Human Business BPEL Workflow Rules Engine Management DATA SERVICESBus (ESB) Enterprise Service & CONNECTIVITY App Dev Framework Multi XSLT Routing Security Protocol Transform B2B B2B Registry DI Adapters Discovery Apps DB ETL Partners Partners Policies SOA– OXIA – 2008 MOM Application Server ActiveMQ, Mqseries, J2EE / Windows .Net MSMQ 94 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 96. 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 SOA– OXIA – 2008 La relation entre SOA & EDA Les 8 péchés capitaux de la SOA (anti-patterns SOA) SOA : 7 bonnes pratiques 95 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 97. 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,..), la transformation des données, SOA– OXIA – 2008 et au-delà l’ensemble des médiations nécessaires aux échanges dynamiques entre consommateurs et fournisseurs de services 96 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 98. 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 • Synchrone / asynchrone • Constant / non constant • Couplage lâche / couplage étroit SOA– OXIA – 2008 Axé sur les normes • HTTP/HTTPS avec possibilité de messagerie fiable SW C’est le point d’entrée vers un • MOM, JMS, JAX-RPC, SOAP • Sécurité Web, politique Web, adressage Web service 97 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 99. ESB une maturité croissante de l’offre Infrastructure qui optimise les échanges entre consommateurs et fournisseurs de services ESB Plate-forme d’intégration Standards Microsoft Biztalk IBM Websphere Process Server Microsoft Biztalk IBM Websphere ESB Mule BEA Weblogic Acqualogic Sonic ESB Oracle fusion Petals de ObjectWeb SAP “Netweaver” SOA– OXIA – 2008 OpenESB (Sun) serviceMix 98 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 100. 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é 99 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 101. 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 Imposer l’interopérabilité dans le SLA SOA– OXIA – 2008 100 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 102. 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 Des indicateurs de performances (KPI) seront utilisés pour gérer la qualité du service rendu • Ils sont associé à un services • Ils correspondent à un critère de finalité ou de performance du service SOA– OXIA – 2008 • 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. 101 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 103. 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é 102 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 104. Inter-opérabilité & SOA Services Services métier d'infrastructure technologiques réutilisables Méta-information Services métier réutilisables Services métier Architecture Interopérabilité orientée services Modélisation métier Bon niveau d'isolation vis-à- Protocole de vis des API communication à faible couplage SOA– OXIA – 2008 Gestion des versions 103 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 105. Best Practices : SOA & interopérabilité Gestion du portefeuille de service Modèle de maturité : Cadre Commun Benchmarking d’interopérabilité Orchestration de montée en charge à Processus, la demande Workflow et Règles métiers SOA– OXIA – 2008 Sécurité et gestion l'Industrialisation du développement des logiciels 104 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 106. gérer le portefeuille de services Bonnes pratiques Contract- First & Interface-First Documents à gros Grain Interactions Asynchrones Opérations d'annulation (Undo/Cancel) Versioning WS-I, Wrapped Document Style SOA– OXIA – 2008 Penser à SCA 105 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 107. Cadre Commun d’interopérabilité : Connectivité et Message SOA– OXIA – 2008 106 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 108. 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 Lien vers l'ESB Trace et débogage SOA– OXIA – 2008 Développement Itératif Test Unitaire 107 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 109. Etablir une politique de sécurité Bonnes pratiques WS-Policy, WS-Security Capacité à changer la politique de sécurité sans changer les services SOA– OXIA – 2008 Intégration avec un ESB (Multi-binding Support) 108 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 110. 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 Coder la configuration SOA– OXIA – 2008 109 109 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 111. Industrialiser Après l'Industrialisation du développement des logiciels Cadre commun d’interopérabilité Encadrement Cadres Usine logicielle en architecturaux contexte Générer le contrat & service Générer l’interface du contrat Développement selon un Générer le contrat des classes modèle Générer le « Endpoint » du service SOA– OXIA – 2008 Générer la configuration 110 110 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 112. 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” JCA and Java Binding Prévoir le mode Batch (API batch) SOA– OXIA – 2008 Réaliser des “POC performance” pour valider tous les choix techniques 111 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 113. Pourquoi un modèle de maturité: Benchmarking Pour se positionner Pour planifier les dans le chemin étapes à suivre pour Définir une vision SOA d'adoption d'une améliorer la maturité démarche SOA de la pratique SOA Where do you Ressources Objectifs want to go? requises Gains Pratiques obtenus SOA– OXIA – 2008 (ROI) 112 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 114. The Hartford’s SOA Maturity Model Standards Technology Organization Process SOA BP Modeling Bus. Process Continuous Organizational 5 Standards Modeling Tools Improvement Structure BAM Tool Business Capacity BAM, SCA 4 EPM Standard Service Planning, WS-* Standards Dashboard Depts Ent. Ref. Arch. BPEL, BPMN SOA Best Automated Tools BPEL Engine, Enterprise 3 WS-Security, Practices, Portal/Portlets SOA Education JSR 168 Int. Ref. Arch SOM, UDDI WSDL, EA Dept., Governance, 2 Maturity Registry, Rules, UDDI Standards Tech. Service Dept. Operational Model Message Bus JMS ROI SOA– OXIA – 2008 1 Architect’s App. Ref. SOAP, XML Web Services Collective Architecture Question : Where we are ? 113 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 115. Modèle de référence de SOA de l’OASIS : des sujets de recherche, toujours d’actualité SOA– OXIA – 2008 Source : Norme du modèle de référence de SOA de l’OASIS, 12 octobre 2006 114 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 116. La suite … SaaS (Software as a Service SOA– OXIA – 2008 115 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI
  • 117. Khaled BEN DRISS Directeur Technique 11 rue Claude Bernard Tel : +216 71 28 27 00 1002 Le Belvédère Tunis, Tunisia Mob.: +216 25 23 45 30 Tél : +216 71 28 27 00 Fax : +216 71 28 27 05 khaled.bendriss@oxiasoft.com www.oxiasoft.com
  • 118. L’organisation du SI en couches & Urbanisation une couche service à inventer Métier Description du métier compréhensible par les acteurs du métier Description et structuration Fonctionnelle fonctionnelle du système d’information Définition de services contractualisés Services métiers (contrat de Services) Applicative Description et structuration du système informatique en composants logiciels (Implémentation des Services) SOA– OXIA – 2008 Technique Infrastructure de fonctionnement du :: système d'information et des :: :: composants logiciels et applicatifs Exemple d’une représentation adaptée : source CIGREF 117 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com WIA: SOA pour une interopérabilité intrinsèque du SI