Présentation SOA

5 348 vues

Publié le

architecture orienté service ( service oriented architecture)
échange de services
architecture interopérable et facilement maintenable

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

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

Aucune remarque pour cette diapositive
  • Dans le sens ou on obtient des application fonctionnant sous plates formes différentes qui doivent coopérer entre elles pour maintenir la cohérence du système d’information.
  • La solution est de mettre en place une architecture bien définie permettant d’interconnecter les différentes application de l’entreprise afin de remedier au grand problème d’héterogénité du système d’information de l’entreprise. L’architecture orientée service met en œuvre cette solution Définition ( http://encyclopedie.journaldunet.com) Web Services : Application web pouvant interagir dynamiquement avec d'autres programmes en utilisant des protocoles d'échanges basé sur XML comme SOAP, XML-RPC ou XMLP. Des procédures de description et de recherche de ces services ont pour nom ebXML (electronic business XML), UDDI (Universal Discovery, Description and Integration) et WSDL (Web Services Description Language). Le but est de permettre à une application de trouver automatiquement sur Internet le service dont elle a besoin et d'échanger des données avec lui. Si le service est payant, la procédure de règlement sera comprise dans la description du service.
  • SOA est une architecture logicielle se basant sur le concept de service, on ne parle plus de fonction ou de méthode, là tout est considéré comme un service, on monte encore un petit peu au niveau de l’abstraction. Il y a un demandeur de service et un fournisseur de services. Le demandeur ne se soucis pas de la manière dont le fournisseur offre son service, dans notre cas le demandeur et le fournisseur sont deux applications informatiques, donc si j’essaye de reformuler, l’application demandeuse est totalement indifférente des outils et du langage avec lesquels le fournisseur a implémenté le service. SOA offre donc la possibilité à différentes applications fonctionnant sous différentes plateformes d’échanger des données et des services. Donc grâce à SOA les applications deviennent facilement maintenables, réutilisables et interopérables. Il suffit d’implémenter le service et de le publier afin de le rendre accessible par les autres applications.
  • … .., cette architecture a été mise en œuvre par différents constructeurs mondiaux dans le domaine, à savoir Oracle, IBM, SAP qui ont proposés des solutions impliquant la technologie des web services. Donc les web services sont une technologie parmi d’autres qui permettent de construire une architecture SOA, à savoir CORBA, RPC, JMS, mais l’avantage des web services c’est qu’il utilisent le protocole http , c’est le protocole le plus universel, pour connecter les applications, les services Web peuvent fonctionner au travers de nombreux pare-feux sans nécessiter des changements sur les règles de filtrage .
  • Définition ( http://encyclopedie.journaldunet.com) Web Services : Application web pouvant interagir dynamiquement avec d'autres programmes en utilisant des protocoles d'échanges basé sur XML comme SOAP, XML-RPC ou XMLP. Des procédures de description et de recherche de ces services ont pour nom ebXML (electronic business XML), UDDI (Universal Discovery, Description and Integration) et WSDL (Web Services Description Language). Le but est de permettre à une application de trouver automatiquement sur Internet le service dont elle a besoin et d'échanger des données avec lui. Si le service est payant, la procédure de règlement sera comprise dans la description du service.
  • .NET Dot Net : Lancée en juin 2000 lors d'une conférence donnée par Bill Gates et Steve Ballmer, .NET ("dot Net" en anglais) dessine la stratégie 'tout Internet' de Microsoft. Objectif affiché : faire évoluer les solutions Windows vers un modèle ASP (applications hébergées) et proposer une plate-forme logicielle sur laquelle les entreprises pourront s'appuyer pour échanger et mettre à disposition des données et des services applicatifs. En quelque sorte, après s'être imposé dans le domaine des systèmes d'exploitation pour les PC, Microsoft prépare avec .NET le système d'exploitation du Web: une architecture logicielle au sein de laquelle des services applicatifs pourront collaborer via Internet. En ce sens, .NET représente l'adaptation « Microsoftienne » de ce que d'autres éditeurs nomment les services Web. .NET ne renvoie pas à un produit précis; il s'agit avant tout d'une initiative stratégique qui va être portée par l'ensemble des produits de la firme. On peut toutefois distinguer: 1/ Les applications traditionnelles de Microsoft : Windows XP et Office XP, nouvelles éditions du système d'exploitation et de la suite bureautique de Microsoft, qui s'appuient d'ores et déjà sur un système d'enregistrement en ligne. 2/ Les logiciels serveurs : une gamme de solutions (verticales pour certaines, horizontales pour d'autres) destinées à déployer et à administrer les composants logiciels dans le cadre de l'architecture .NET. Entre autres: Application Center distribue les applicatifs en mode hébergé à des machines clientes; Mobile Information Server déploie les Web Services sur des appareils mobiles; SQL Server stocke, retrouve et analyse les données XML structurées; BizTalk gère les processus métiers et les échanges de données à l'intérieur ou à l'extérieur de l'entreprise. 3/ Et les outils de développement, Visual Studio .NET en tête. C'est dans cet environnement qu'un composant pourra recevoir son enveloppe de service Web. Dans le cadre de sa stratégie .NET, Microsoft entend aussi promouvoir C# (prononcez "Ci charp"), un langage clairement conçu pour présenter aux développeurs une alternative à Java. J2EE Java 2 Platform Enterprise Edition: Ensemble de normes concernant les plates-formes e-business pour entreprises (serveurs d'application), basé sur le langage Java.
  • B2B : Se dit d'une activité professionnelle (échanges ou transactions commerciales) effectuée d'entreprise à entreprise. Le commerce B to B désigne par exemple les échanges entre un fournisseur de produits intermédiaires et un producteur distribuant au consommateur final. Services B to B : services aux entreprises. EAI : Enterprise Application Integration . Intégration des applications dans l'entreprise . L'objectif est de faire fonctionner ensemble les programmes existant dans une entreprise, en vérifiant leur interopérabilité, et gérer l'hétérogénéité générale . P2P : Relation d'échanges réciproques qui unit directement deux acteurs de même statut (des pairs, donc). A l'origine désigne une technologie d'échange de fichiers entre internautes, permettant à deux ordinateurs reliés à Internet de communiquer directement l'un avec l'autre sans passer par un serveur central. Au-delà, désigne le modèle économique qui y est associé qui permet une mise en commun à une vaste échelle de données ou de capacités, débouchant sur une réduction spectaculaire des coûts. Napster a été le modèle le plus spectaculaire de la réussite technologique du P2P... et de son échec économique.
  • SOAP Simple Object Access Protocol : Protocole standard destiné au services web. Lancé par IBM et Microsoft, il permet d'utiliser des applications invoquées à distance par Internet. RPC Remote procedure call : Un protocole permettant la mise en place simple d'applications client serveur. Initialement développé par Sun dans le monde TCP-IP
  • WSDL Web Service Description Language Dialecte XML dédié à la description de tous les éléments nécessaires pour interagir avec un service réseau (ou service web). Soutenu principalement par Ariba, IBM et Microsoft, WSDL est en 2002 proposé au W3C pour standardisation.
  • UDDI Universal Discovery, Description and Integration : Spécification en langage XML d'un catalogue des services offerts par les entreprises sur leurs sites Web. Lancée par Ariba, IBM et Microsoft, l'initiative UDDI doit permettre à un logiciel de reconnaître automatiquement les services dont il a besoin et de s'interfacer avec eux. Le catalogue comprendra les adresses et les contacts des entreprises, une classification sectorielle et une description des services proposés. Toutes les spécifications techniques sont fournies sur le site officiel de l'initiative UDDI.
  • Présentation SOA

    1. 1. Architecture Orientée Services Mabrouk GADRI CYNAPSYS IT HOTSPOT
    2. 2. Plan <ul><li>Introduction </li></ul><ul><li>Architecture Orientée Service </li></ul><ul><li>Web services </li></ul><ul><li>Conclusion </li></ul>
    3. 3. SOA Introduction
    4. 4. Contexte <ul><li>Les entreprises doivent s’adapter en permanence et être de plus en plus réactives aux variations des marchés </li></ul><ul><ul><ul><li>fusions </li></ul></ul></ul><ul><ul><ul><li>acquisitions </li></ul></ul></ul><ul><ul><ul><li>changement technologiques </li></ul></ul></ul><ul><ul><ul><li>… </li></ul></ul></ul><ul><li>Ces opérations ont un impact sur le système d'information (SI) des entreprises </li></ul><ul><li>L'intégration difficile des SI est un frein à ces changements </li></ul>
    5. 5. Problématique <ul><li>Permettre à différentes applications fonctionnant sous différentes plateformes d’échanger des données et des services </li></ul>
    6. 6. SOA Architecture orientée Service
    7. 7. Architecture Orientée Service <ul><li>SOA : Service Oriented Architecture </li></ul><ul><li>Echange de services </li></ul><ul><li>Architecture interopérable et facilement maintenable </li></ul>
    8. 8. Schéma général Service consumer Service provider Registry Mediation layer/Service bus Repository Contract Business service orchestrator 2.c Retrieve service end-point 1.a Search for service 1.b Return contract 2.a Create a process instance 2.b Execute process 2.d Send request Business process description
    9. 9. SOA Web Services
    10. 10. Qu’est ce que c’est? <ul><li>Un service Web est une «  unité logique applicative  » accessible en utilisant les protocoles standard d’Internet </li></ul><ul><li>Une « librairie » fournissant des données et des services à d’autres applications. </li></ul><ul><li>Ils combinent les meilleurs aspects du développement à base de composants et du Web . </li></ul><ul><li>Ils s’appuient sur un ensemble de standards ( WSDL, SOAP et UDDI ) </li></ul>
    11. 11. Caractéristiques <ul><li>Les Web services sont réutilisables </li></ul><ul><li>Indépendamment de : </li></ul><ul><ul><li>la plate-forme (UNIX, Windows,…) </li></ul></ul><ul><ul><li>leur implémentation (Java, C++, Visual Basic,…) </li></ul></ul><ul><ul><li>l’architecture sous-jacente (.NET, J2EE,…) </li></ul></ul>
    12. 12. 3 générations d’application Web <ul><li>1 ° Génération </li></ul><ul><ul><li>Pages Web statiques (HTML) </li></ul></ul><ul><li>2 ° Génération </li></ul><ul><ul><li>Des applications réelles </li></ul></ul><ul><ul><li>(Pages Web dynamiques, ASP, JSP, PHP, ...) </li></ul></ul><ul><li>3 ° Génération </li></ul><ul><ul><li>Les Web services (basé sur XML) </li></ul></ul>
    13. 13. Pourquoi faire? (1) <ul><li>Faire interagir des composants hétérogènes, distants, et indépendants avec un protocole standard (SOAP) </li></ul><ul><li>Plus concrètement: </li></ul><ul><ul><li>Permettre à une application de trouver automatiquement sur Internet le service dont elle a besoin et d'échanger des données avec lui </li></ul></ul>
    14. 14. Pourquoi faire ? (2) <ul><li>Les Web Services ont été conçus pour intégrer la dimension d'Internet, et la standardisation des échanges. </li></ul><ul><li>Les services Web permettent d’interconnecter : </li></ul><ul><ul><li>Différentes entreprises </li></ul></ul><ul><ul><li>Différents matériels </li></ul></ul><ul><ul><li>Différentes applications </li></ul></ul><ul><ul><li>Différents clients </li></ul></ul>
    15. 15. WS: une architecture orientée service <ul><li>Le fournisseur de service créé le service Web, puis publie son interface ainsi que les informations d'accès au service, dans un annuaire de services Web. </li></ul><ul><li>L' annuaire de service rend disponible l'interface du service ainsi que ses informations d'accès, pour n'importe quel demandeur potentiel de service. </li></ul><ul><li>Le consommateur de service accède à l'annuaire de service pour effectuer une recherche afin de trouver les services désirés. Ensuite, il se lie au fournisseur pour invoquer le service. </li></ul>
    16. 16. Les quatre principales technologies des Services Web <ul><li>Langage XML : Décrit les informations </li></ul><ul><li>Protocole SOAP : Exécute les services à distance </li></ul><ul><li>Langage WSDL : Décrit l’ interface des services </li></ul><ul><li>Norme UDDI : Trouve les services dont on a besoin </li></ul>
    17. 17. Services Web : vue générale
    18. 18. Web services SOAP : Simple Object Access Protocol
    19. 19. Protocole SOAP ( Simple Object Access Protocol) <ul><ul><li>Protocole de transport réseaux </li></ul></ul><ul><ul><li>Utilisation conjointe de XML et HTTP </li></ul></ul><ul><ul><li>But : définir la structure des messages échangés par les applications via le net </li></ul></ul><ul><ul><li>Permet à un client d'invoquer un service distant </li></ul></ul><ul><ul><li>SOAP a été construit pour pouvoir être aisément porté sur toutes les plates-formes et les technologies </li></ul></ul>
    20. 20. Précisions sur SOAP <ul><li>Structure d'un message SOAP : </li></ul><ul><li>une enveloppe qui définit la structure du message </li></ul><ul><ul><ul><li>Élément racine </li></ul></ul></ul><ul><ul><ul><li>Namespace </li></ul></ul></ul><ul><li>un en-tête (optionnel) qui contient les informations d'en-tête (autorisations et transactions par exemple), </li></ul><ul><li>un corps contenant les informations sur l'appel et la réponse </li></ul><ul><li>une gestion d'erreur qui identifie la condition d'erreur </li></ul>
    21. 21. Types de message SOAP <ul><li>SOAP définit trois types de message </li></ul><ul><ul><li>Appel (Call) – obligatoire </li></ul></ul><ul><ul><li>Réponse (Response) – optionnel </li></ul></ul><ul><ul><li>Erreur (Fault) - optionnel </li></ul></ul>
    22. 22. Structure d’un message SOAP Method Call & Data Headers HTTP Headers SOAP Message SOAP Envelope SOAP Header SOAP Body Appel de méthode et description en XML de données Corps qui contient les appels de méthodes SOAP Entête individuelle Entête Enveloppe Entête standard HTTP et entête SOAP HTTP Le message SOAP Complet
    23. 23. Message SOAP encapsulé dans une requête HTTP
    24. 24. Message SOAP encapsulé dans une requête HTTP
    25. 25. En résumé <ul><li>SOAP : </li></ul><ul><ul><li>Permet une communication en univers hétérogène </li></ul></ul><ul><ul><li>Est assez léger simple et facile à déployer </li></ul></ul><ul><ul><li>Est extensible </li></ul></ul><ul><ul><li>Est ouvert </li></ul></ul>
    26. 26. Web services WSDL : Web Services Description Language
    27. 27. Rôle du langage WSDL <ul><li>WSDL est un langage qui permet de </li></ul><ul><li>décrire: </li></ul><ul><ul><li>un service Web, </li></ul></ul><ul><ul><li>et comment l’ invoquer </li></ul></ul><ul><li>Objectif : </li></ul><ul><ul><li>Décrire les services comme un ensemble d’opérations et de messages abstraits relié à des protocoles et des serveurs réseaux </li></ul></ul><ul><li>Permet de décharger les utilisateurs des détails techniques de réalisation d’un appel </li></ul><ul><li>WSDL est un langage qui standardise les schémas XML utilisés pour établir une connexion entre émetteurs et récepteurs. </li></ul>
    28. 28. Structure de WSDL: <ul><li><?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> </li></ul><ul><li><definitions> </li></ul><ul><li><types> !-- abstract data types </types> </li></ul><ul><li><message> !-- message structure </message> </li></ul><ul><li><portType> !-- Web Service Interface </portType> </li></ul><ul><li><binding> !-- how the service is accessed </binding> </li></ul><ul><li><service> !-- who provides the service </service> </li></ul><ul><li></definitions> </li></ul>
    29. 29. Concepts de WSDL (1) <ul><li>WSDL définit : </li></ul><ul><li>Les types </li></ul><ul><ul><li>Contient les définitions de types utilisant un système de typage. Utilisation de XML Schema pour définir les types de données. </li></ul></ul><ul><li>Le message </li></ul><ul><ul><li>Décrit les noms et types d’un ensemble de champs à transmettre. Peut-être comparé aux paramètres d'un appel de procédure. </li></ul></ul><ul><li>Les types de port (port Type) </li></ul><ul><ul><li>Décrit un ensemble d’opérations. Peut être comparé à une interface Java. </li></ul></ul>
    30. 30. Eléments de WSDL (2) <ul><li>La Liaison (binding) </li></ul><ul><ul><li>Définit le format des messages et le protocole utilisé par chaque type de port </li></ul></ul><ul><li>Le port </li></ul><ul><ul><li>un point de terminaison identifié de manière unique par la combinaison d'une adresse Internet et d'une liaison </li></ul></ul><ul><li>Un Service </li></ul><ul><ul><li>Une collection de points d’entrée (endpoint) relatifs. </li></ul></ul>
    31. 31. Conclusion WSDL <ul><ul><li>Description de services assez simple </li></ul></ul><ul><ul><li>Facile à interroger sur l’Internet </li></ul></ul><ul><ul><li>Extensible </li></ul></ul>
    32. 32. Web services UDDI : Universal Description, Discovery and Integration
    33. 33. 3ème standard : UDDI (Universal Description, Discovery and Integration) <ul><li>Annuaire mondial d'entreprises basé sur le Web </li></ul><ul><li>Il permet d'automatiser les communications entre prestataires, clients, etc.. </li></ul><ul><li>Très orienté « affaires » (vente, prestation) </li></ul><ul><li>Accessible grâce à SOAP </li></ul><ul><li>Intégrant toutes sortes d'entrées (nom, carte d'identité des sociétés, description des produits et des services, etc.), </li></ul>
    34. 34. Structure des données UDDI <ul><li>Qui : Le nom de l’entreprise, les contacts ... </li></ul><ul><li>Quoi : Les classes, les noms des services </li></ul><ul><li>Où : Les adresses d’accès aux services </li></ul><ul><li>Comment : Les informations concernant les </li></ul><ul><li>interfaces, les propriétés </li></ul>
    35. 35. Annuaires UDDI en ligne <ul><li>uddi.microsoft.com </li></ul><ul><li>www.ibm.com/services/uddi </li></ul><ul><li>uddi.hp.com </li></ul><ul><li>uddittest.sap.com </li></ul><ul><li>... </li></ul>
    36. 36. Conclusion
    37. 37. SOA <ul><li>Architecture adaptative </li></ul><ul><li>Réutilisation du code </li></ul><ul><li>Utilisation de standards </li></ul><ul><li>Productivité importante </li></ul>
    38. 38. Web services <ul><li>Ensemble assez simple de propositions </li></ul><ul><li>Le Web comme environnent de développement </li></ul><ul><li>Il utilise les standards de W3C </li></ul><ul><li>Très adaptés aux problèmes des communications entre applications WEB </li></ul>
    39. 39. <ul><li>MERCI </li></ul><ul><li>de </li></ul><ul><li>votre Attention </li></ul>

    ×