Your SlideShare is downloading. ×
0
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
SOA - Architecture Orientée Service : Démystification
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

SOA - Architecture Orientée Service : Démystification

9,166

Published on

• A quels besoins répond le SOA ? …

• A quels besoins répond le SOA ?
• Quels sont les principes de base du SOA ?
• Quels sont les éléments clé d’une architecture
SOA - Architecture Orientée Service :
Démystification
• A quels besoins répond le SOA ?
• Quels sont les principes de base du SOA ?
• Quel est le cycle de vie d’un service ?
• Quelles méthodologies permettent de mettre en
Plan
Khaled.bendriss@oxia-group.com

Published in: Business, Technology
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total Views
9,166
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
573
Comments
1
Likes
4
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 - Architecture Orientée Service : Démystification Khaled BEN DRISS Khaled.bendriss@oxia-group.com le Samedi 05 mai 2007 JCI
  • 2. Un cabinet d'Architecture S.I. 2 Khaled.bendriss@oxia-group.com
  • 3. Khaled BEN DRISS Consultant / Formateur Ingénieur de l'Ecole Centrale de Lyon (ECL 1991) Docteur de l'Université Paris 6 ( 1994) Ancien Maître Assistant à l'Ecole Polytechnique de Tunisie Fondateur Net-Progress Architecte de Système d'Information 3 Khaled.bendriss@oxia-group.com
  • 4. Plan • A quels besoins répond le SOA ? • Quels sont les principes de base du SOA ? • Quels sont les éléments clé d’une architecture orientée services ? • Quel est le cycle de vie d’un service ? • Quelles méthodologies permettent de mettre en oeuvre une architecture orientée services ? 4 Khaled.bendriss@oxia-group.com
  • 5. SOA, différents points de vue • Two IT professionals were discussing their respective environments, when one asked the other, if his team was building a service-oriented architecture. The individual responded by saying : « My architect thinks it’s service-oriented, my developers insist it’s object-oriented, and my analysts whish it would be more business-oriented. All I can tell you is that it isn’t what it was before we started building Web services.quot; 5 Khaled.bendriss@oxia-group.com
  • 6. SOA, différents points de vue • C’est un signe des temps. SOA est devenu un des principaux focus de l’industrie informatique. • Tout le monde en parle, se réclame de cette mouvance 6 Khaled.bendriss@oxia-group.com
  • 7. Objectifs des S.I. • Accès rapide, intégré et généralisé à l’information pertinente − en interne (Intranet) et en externe (Extranet, Internet) • Système ouvert réduisant les coûts − capable d'inter-opérer avec les applications existantes − capable d'inter-opérer avec le monde extérieur (Extranet, Internet) • Développement rapide d’applications (RAD) − utilisation de composants distribués − réduction des coûts de développement • Administration simplifiée du système − depuis le Web avec des outils d'assistance 7 Khaled.bendriss@oxia-group.com Introduction
  • 8. 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 Division B Division C Division A CRM ERP DB Des Silos sans communication 8 Khaled.bendriss@oxia-group.com
  • 9. 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 Coûts considérables dans la gestion des flux entre départements et dans l’intégration de leurs SI 9 Khaled.bendriss@oxia-group.com
  • 10. Problématique de l’intégration en entreprise • Les entreprises doivent s’adapter en permanence aux variations des marchés (diversification des offres commerciales, fusions, acquisitions, changement technologiques, …) • Leurs SI ne doivent pas être un frein à ces changements SOA C’est l’activité qui pilote la technologie et non l’inverse 10 Khaled.bendriss@oxia-group.com
  • 11. Hier : plat de spaghettis • Développements coûteux • Interconnexions redondantes (point à point) • Grande complexité • Maintenance difficile 11 Khaled.bendriss@oxia-group.com
  • 12. Intégration de services Service Service SOAP/HTTP Consumers Providers SOAP/HTTP SOAP/MQ Service Legacy Service Providers Systems Consumers • Solution provisoire ! 12 Khaled.bendriss@oxia-group.com
  • 13. Service Oriented Architecture Consommateurs fournisseurs de Services De Service Courtier de Services 13 Khaled.bendriss@oxia-group.com
  • 14. Service Oriented Architecture Consommateurs fournisseurs de Services De Service Courtier de Services Sécurité Transformation SLA Monitoring Annuaire 14 Khaled.bendriss@oxia-group.com
  • 15. SOA, différents points de vue virtualization des Business Services, visibilité, sécurité Architecte IT Ingénieur Système #$%! bugs…I need a Diet Coke… Développeur 15 Khaled.bendriss@oxia-group.com
  • 16. Point de vue du développeur • Classes ? • Composants ? • Services ? • Marshalling ? • Corba ? • Idl ? • Spring ? • .net ? • WebServices ? • Interopérabilité ? • Langages Java, C#? • … 16 Khaled.bendriss@oxia-group.com
  • 17. Point de vue de l’ingénieur système • Configuration des services ? − Et s’ils sont déplacés • Sécurité des services ? • Intégration dans mon système ? • Qui a le droit ? • Interopérabilité ? • Montée en charge ? Disponibilité ? QOS • ESB & hardware & software • Installation ? Migration ? 17 Khaled.bendriss@oxia-group.com
  • 18. Point de vue de l’architecte • Spécifications des composants ? • Savent-ils parler entre eux ? • Granularité ? • Contrat ? • Qualité de service ? • Asynchronisme ? • Indépendance des briques ? • Réutilisation ? • Urbanisation ? 18 Khaled.bendriss@oxia-group.com
  • 19. Point de vue du responsable IT du projet • Indépendance entre les briques ? • Assemblage ? • Orchestration ? • Intégration ? • Interopérabilité ? •… 19 Khaled.bendriss@oxia-group.com
  • 20. Point de vue du responsable métier • Réactivité ? • Souplesse ? • Accès des partenaires ? • Retour sur investissement ? • Capacité d'intégrer de nouveaux services ? •… 20 Khaled.bendriss@oxia-group.com
  • 21. Quels sont les principes de base du SOA ? 21 Khaled.bendriss@oxia-group.com
  • 22. SOA est une évolution des plate-forme passées • SOA est une évolution des plate-forme passées, • tout en préservant les caractéristiques réussies des architectures traditionnelles, • tout en y ajoutant quelques principes nouveaux. • SOA est un paradigme abstrait, base de l’architecture distribuée sans aucune référence à une implémentation technique (souvent implémentés sous forme de Web Services, mais pas obligatoirement) 22 Khaled.bendriss@oxia-group.com
  • 23. SOA & Architecure • SOA représente une architecture ouverte, exensible, fédérée et composable qui promeut une orientation service et qui est composée de services − Autonomes − Capables de QOS − Non liés à des vendeurs − Intéropérables − Potentiellement réutilisables 23 Khaled.bendriss@oxia-group.com
  • 24. Notre définition de la SOA • La SOA c’est structurer − une application, − un bloc applicatif, − voire le SI, en services contractualisés • Afin d’adresser les enjeux de − Politique d’interopérabilité • mise en œuvre de services globaux entre blocs applicatifs − Politique de réutilisation • recherche de la réutilisation à l’intérieur d’un bloc applicatif − Assurer la pérennité des applications • quot;Faire du nouveau avec de l'ancienquot; 24 Khaled.bendriss@oxia-group.com
  • 25. Dans SOA il y a Service ? • SOA est une histoire de conception pas de technologie : penser Architecture et Service. • Avant tout : un service doit être quot;abstraitquot; : il n’est pas lié à une implémentation. • Exemple − Service d'enregistrement d'un abonnée Carta+ (Tunisiana) − Service de réservation d'un train − Service de diffusion d'information − Service de demande de l'état d'une commande (Tunicommerce : Gs1 Tunisie) 25 Khaled.bendriss@oxia-group.com
  • 26. 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) • Expose un petit nombre d’opérations offrant un traitement de bout en bout • Est faiblement couplé • Sans état 26 Khaled.bendriss@oxia-group.com
  • 27. 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 •Les services communiquent par services sont Explicites messages 27 Khaled.bendriss@oxia-group.com
  • 28. 4 propriétés : conséquences • SOA véhicule des Messages et non des objets • Le consommateur (client) est découplé de l’architecture technique du service qu’il invoque • Le consommateur et le fournisseur n'ont pas forcément les mêmes technologies • Importance de l'Architecture ++ 28 Khaled.bendriss@oxia-group.com
  • 29. Découpage du cycle de vie d’un service • 4 grandes phases : − Identification − Spécification − Développement − Gestion • 1 aspect traversal : la gouvernance − Les architectures orientées service impliquent une vision globale − La gouvernance permet de casser les silos de l’entreprise 29 Khaled.bendriss@oxia-group.com
  • 30. SOA 30 Khaled.bendriss@oxia-group.com
  • 31. Et les Web Services dans tout cela? 31 Khaled.bendriss@oxia-group.com
  • 32. SOA n'est pas Web Services • SOA est un paradigme abstrait, base de l’architecture distribuée sans aucune référence à une implémentation technique • L'accent est mis sur • les standards • L'interopéarbilité • Le couplage faible • Les Web Services offrent une implémentation possible mais pas nécessaire 32 Khaled.bendriss@oxia-group.com
  • 33. quot;Architecturequot; Web Services SERVEUR Service SERVEUR Provider Service Request Publish Provider Publish Request SERVEUR Service Service Registry Publish SERVEUR Provider Publish Request Find SERVEUR Service WEB-HTTP Request Provider Service Requester CLIENT 33 Khaled.bendriss@oxia-group.com
  • 34. Les Composants • Service Provider (Fournisseur de service) − Application s'exécutant sur un serveur et comportant un module logiciel accessible par IxxNet en XML • Service Registry (Annuaires de service) − Annuaire des services publiés par les providers (UDDI) − Géré sur un serveur niveau application, entreprise ou mondial • Service Requester (Demandeur de service) − Application cliente se liant à un service et invoquant ses fonctions par des messages XML (SOAP) 34 Khaled.bendriss@oxia-group.com
  • 35. Qu'est ce qu'un Web Service ? • Définition [W3C] − Un Web service est un système logiciel identifié par une URI, dont les interfaces publiques et les liens sont définis et décrits en XML. − Sa définition peut être découverte par d'autres systèmes logiciels. − Ces systèmes peuvent interagir avec le service Web d'une manière prescrite par sa définition, en utilisant des messages XML portés par les protocoles Internet. • Exposition − Langage WSDL (Web Service Description Language) utilisé pour décrire le service − Similaire à IDL mais basé sur XML • Activation − Protocole Web au-dessus de HTTP (RPC XML, SOAP) − Autres protocoles possibles … 35 Khaled.bendriss@oxia-group.com
  • 36. Services Web ~ quatre spécifications XML • SOAP : pour le transport des données et l’infrastructure de communication • WSDL : pour la description des services offerts • UDDI : annuaire pour le référencement des services par les fournisseurs et leur découverte par les utilisateurs. • BPEL : décrit le processus métier 36 Khaled.bendriss@oxia-group.com
  • 37. SOAP : Simple Object Access Protocol •Intégration de XML au-dessus de HTTP : •Pour accéder services, objets et serveurs •Indépendant de toute plate-forme Port de connexion (URL) Pare-feu Pare-feu Messages Procuration Translateur Appel SOAP d'interface SOAP Application HTTP Cliente RPC local Réponse Parser Parser Serveur XML XML d'application XML-RPC et SOAP 37 Khaled.bendriss@oxia-group.com
  • 38. Structure d'un message Protocol Headers Entête de protocoles (HTTP, SMTP, …) <Envelope> SOAP Envelope <Header> SOAP Header <Body> SOAP Body 38 Khaled.bendriss@oxia-group.com XML-RPC et SOAP
  • 39. 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. 39 Khaled.bendriss@oxia-group.com
  • 40. Description des services: WSDL • Elément Type − Types des paramètres (schéma XML) • Elément Message − Appel et retour de chaque opération • Elément Port type − Groupe d'opération • Elément Binding − URL de l'opération − Type de protocole 40 Khaled.bendriss@oxia-group.com
  • 41. UDDI : Annuaire des services •Universal Description, Discovery and Integration Annuaire Annuaire UDDI UDDI •Annuaire des services − décrit par un document − WSDL, autre … Gérant de •Accessible en SOAP requêtes •Fonctions −Enregistrer votre société Enveloppe −Enregistrer des services + Document Service −Enregistrer des opérations Programme −Découvrir des services −… 41 Khaled.bendriss@oxia-group.com
  • 42. UDDI : utilité Scénario classique d'utilisation d'UDDI 42 Khaled.bendriss@oxia-group.com
  • 43. Le langage BPEL : Business Process Execution Language • Standard de l’OASIS • Norme permettant de décrire des processus en XML • Propose les fonctions basiques d’un langage de programmation: − sequence, flow, loop, switch… • Identification des Instances de Process • Gestion des transactions longue durée (scope, compensation) • Gestion des erreurs 43 Khaled.bendriss@oxia-group.com XML-RPC et SOAP
  • 44. BPEL le chef d’orchestre 44 Khaled.bendriss@oxia-group.com
  • 45. Services Web au service du SOA • Une technologie quot;enablingquot; − facilite l'interopérabilité et la connaissance • Capacité d'exposer des programmes existants − Exposer des services écrits en Cobol!!! • SOAP : Un protocole normalisé par le W3C • XML : quot;chaîne de caractèresquot; focalisée sur le contenu semi- structuré, multi - plateforme • Apporte lisibilité, validation, contrôle, interopérabilité − IBM, Sun, Microsoft supporteront le même protocole 45 Khaled.bendriss@oxia-group.com Architecture
  • 46. SOA s'applique à tout les niveaux ? 46 Khaled.bendriss@oxia-group.com
  • 47. Rappel de la définition de la SOA • La SOA c’est structurer − une application, − un bloc applicatif, − voire le S.I., en services contractualisés • 47 Khaled.bendriss@oxia-group.com
  • 48. Architecture en couches (simplifiée) Présentation Applications Services métier Services de base Données 48 Khaled.bendriss@oxia-group.com
  • 49. Services de base • composants offrant un service générique à tout service métier qui veut l’utiliser • valeur ajoutée − permet d’économiser des coûts de développement et d’exploitation: develop once, use many − permet aux développeurs de services métier et d’applications de se concentrer sur les services métier − cohérence pour les utilisateurs des différentes applications − simplifie l’offre et le monitoring de processus et de chaînes de processus 49 Khaled.bendriss@oxia-group.com
  • 50. Services de base • gestion des utilisateurs • signature électronique • transformation de formats • ticketing et accusé de réception • time stamping • routage • gestion de statut • orchestration • logging • ... 50 Khaled.bendriss@oxia-group.com
  • 51. Services métier et applications • développement de services métier grâce à la coordination de composants et l’utilisation de services de base • développement d’applications répondant aux besoins des différents types d’utilisateurs par une coordination des services métier • où les mêmes composants et services de base peuvent être utilisés pour le développement de différents services métier, et où les mêmes services métier peuvent être utilisés pour le développement de différentes applications 51 Khaled.bendriss@oxia-group.com
  • 52. SOA : des applications, Vue comme des clients d'autres applications Clients Application Application Application Services Exposés Enterprise Enterprise Application Integration Orchestration Orchestration Service Services Consultés Bus Application Application Fournisseurs Application 52 Khaled.bendriss@oxia-group.com
  • 53. Principes fondamentaux de l’architecture SOA Il n’existe pas une recette pour garantir le succès de la mise en place d’une SOA mais des principes à respecter : − Discussion entre métier et IT − Utilisation des use case métier − Utilisation de standards − Pas de remise en cause de l’existant lors d’évolutions technologiques − Découplage entre fournisseur et consommateur de services − Indépendance des ressources vis à vis de ceux qui les utilisent •Quelques méthodologies encours : Praxeme … 53 Khaled.bendriss@oxia-group.com
  • 54. Identification des services :2 méthodologies • Approche Top-down : − Pour démarrer un nouveau projet − Dans le cadre d’un SI urbanisé • Approche Bottom-up : − Pour réutiliser l’existant (non SOA) − On part des morceaux, on rassemble les bouts 54 Khaled.bendriss@oxia-group.com
  • 55. Approche Top Down WSDL New & reusable Services Service Specification Requirements Non- Interruptible Receive Invoke Invoke Reply Story Board Reply or process model Invoke Fault New Application Orchestration (business rules and processes) Use Cases 55 Khaled.bendriss@oxia-group.com
  • 56. Approche “Bottom Up” Legacy WSDL application Service reusable code Specification New Application Non- Interruptible Receive Invoke Invoke Reply Reply Invoke Fault Interface Orchestration Specification (business rules Story Board and processes) or process model New Requirements Change Cases 56 Khaled.bendriss@oxia-group.com
  • 57. Approche “Meet in the Middle” • On utilise rarement une unique approche • 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 − Faire les compromis nécessaires pour réutiliser le maximum de code 57 Khaled.bendriss@oxia-group.com
  • 58. Démarche articulée autour de 3 principes • Une démarche projet centrée sur le Dossier d’Architecture Générale (DAG) − Fédérateur des visions de tous les acteurs du projet • Un socle de « référentiels SI » − Référentiel d’architecture (modèles d’architecture, principes organisationnels, outils et méthodes) − Cartographie générale (services, référentiels, processus) − Schéma directeur SI (cible et trajectoire) • Une démarche de capitalisation fondée sur les retours d’expérience des projets − Alimentée par les équipes opérationnelles 58 Khaled.bendriss@oxia-group.com
  • 59. Où en est SOA par rapport à ce Cycle 59 Khaled.bendriss@oxia-group.com
  • 60. BOSOA : Business Oriented SOA !! Service Service Providers Consumers Business Service Business Broker(s) Rules Process Flows Transfor- Monitoring Adaptors Security Policies mation Registry À suivre … 60 Khaled.bendriss@oxia-group.com
  • 61. Synthèse …Vers… Depuis… • Orienté fonctionnalités • Orienté processus • Conçu pour durer • Conçu pour changer • Cycle de développement • Développement et long déploiement interactif • Silos applicatifs • Orchestration de Services • Couplage fort • Couplage faible • Orienté Objet • Orienté message 61 Khaled.bendriss@oxia-group.com
  • 62. SOA : Simple, Opérationnel et Accessible ! Un dernier conseil : Optimiser les performances de votre S.I. en fonction de vos besoins métiers C’est l’activité qui pilote la technologie et non l’inverse 62 Khaled.bendriss@oxia-group.com
  • 63. Merci Khaled BEN DRISS Net-Progress Conseil & Ingénierie en Système d'Information GSM : (216) 98 33 46 17 email : Khaled.bendriss@net-progress.net 63 Khaled.bendriss@oxia-group.com

×