SOA - Architecture Orientée Service :Démystification

  • Published on
    19-Mar-2016

  • View
    213

  • Download
    1

Embed Size (px)

DESCRIPTION

SOA - Architecture Oriente Service : Dmystification

Transcript

<ul><li><p>SOA - Architecture Oriente Service : Dmystification</p><p>Khaled BEN DRISS</p><p>Khaled.bendriss@oxia-group.comle Samedi 05 mai 2007</p><p>JCI</p></li><li><p>Khaled.bendriss@oxia-group.com 22</p><p>Un cabinet d'Architecture S.I.</p></li><li><p>Khaled BEN DRISSConsultant / Formateur</p><p> Ingnieur de l'Ecole Centrale de Lyon (ECL 1991) Docteur de l'Universit Paris 6 ( 1994)</p><p>Khaled.bendriss@oxia-group.com 33</p><p> Ancien Matre Assistant l'Ecole Polytechnique de Tunisie</p><p>Fondateur Net-ProgressArchitecte de Systme d'Information</p></li><li><p> A quels besoins rpond le SOA ?</p><p> Quels sont les principes de base du SOA ?</p><p> Quels sont les lments cl dune architecture oriente services ? </p><p> Quel est le cycle de vie dun service ?</p><p> Quelles mthodologies permettent de mettre en </p><p>Plan</p><p>Khaled.bendriss@oxia-group.com 44</p><p> Quelles mthodologies permettent de mettre en oeuvre une architecture oriente services ?</p></li><li><p>SOA, diffrents points de vue Two IT professionals were discussing their respective </p><p>environments, when one asked the other, if his team was </p><p>building a service-oriented architecture. The individual </p><p>responded by saying :</p><p> My architect thinks its service-oriented, my developers insist its </p><p>Khaled.bendriss@oxia-group.com 55</p><p> My architect thinks its service-oriented, my developers insist its object-oriented, and my analysts whish it would be more business-oriented. All I can tell you is that it isnt what it was before we started building Web services."</p></li><li><p>SOA, diffrents points de vue</p><p> Cest un signe des temps. SOA est devenu un des </p><p>principaux focus de lindustrie informatique. </p><p> Tout le monde en parle, se rclame de cette </p><p>mouvance</p><p>Khaled.bendriss@oxia-group.com 66</p></li><li><p>Objectifs des S.I.</p><p> Accs rapide, intgr et gnralis linformation pertinente en interne (Intranet) et en externe (Extranet, Internet)</p><p> Systme ouvert rduisant les cots capable d'inter-oprer avec les applications existantes capable d'inter-oprer avec le monde extrieur (Extranet, </p><p>Internet)</p><p>Khaled.bendriss@oxia-group.com 77</p><p>Internet)</p><p> Dveloppement rapide dapplications (RAD) utilisation de composants distribus rduction des cots de dveloppement</p><p> Administration simplifie du systme depuis le Web avec des outils d'assistance</p><p>Introduction</p></li><li><p>Entreprises dcoupes en dpartements fonctionnels y compris le systme </p><p>d'information (SI)</p><p>Processus mtiers des entreprises de + en + multi-dpartementaux</p><p>Problmatique de lintgration en entreprise </p><p>Division ADivision B Division C</p><p>Khaled.bendriss@oxia-group.com 88</p><p>ERP</p><p>DB</p><p>CRM</p><p>Des Silos sans communicationDes Silos sans communication</p></li><li><p>Problmatique de lintgration en entreprise</p><p>Entreprises dcoupes en dpartements fonctionnels y compris le systme </p><p>d'information (SI)</p><p>Processus mtiers des entreprises de + en + multi-dpartementaux</p><p>Khaled.bendriss@oxia-group.com 99</p><p>Cots considrables dans la gestion des flux entre dpartements et dans </p><p>lintgration de leurs SI</p></li><li><p> Les entreprises doivent sadapter en permanence aux variations des marchs (diversification des offres commerciales, fusions, acquisitions, changement technologiques, )</p><p> Leurs SI ne doivent pas tre un frein ces changements</p><p>Problmatique de lintgration en entreprise</p><p>SOASOA</p><p>Khaled.bendriss@oxia-group.com 1010 Cest lactivit qui pilote la technologie et non linverse</p><p>SOASOA</p></li><li><p>Hier : plat de spaghettis</p><p>Khaled.bendriss@oxia-group.com 1111</p><p> Dveloppements coteux Interconnexions redondantes (point </p><p>point) Grande complexit Maintenance difficile</p></li><li><p>Intgration de services</p><p>SOAP/HTTP</p><p>SOAP/HTTP SOAP/MQ</p><p>Service Consumers</p><p>Service Consumers</p><p>Service Providers</p><p>Service Providers</p><p>Legacy Systems</p><p>Khaled.bendriss@oxia-group.com 1212</p><p> Solution provisoire !</p></li><li><p>Service Oriented Architecture</p><p>Courtier de </p><p>Services</p><p>Consommateurs De Service</p><p>fournisseurs de Services</p><p>Khaled.bendriss@oxia-group.com 1313</p></li><li><p>Service Oriented Architecture</p><p>Courtier de </p><p>Services</p><p>Consommateurs De Service</p><p>fournisseurs de Services</p><p>Khaled.bendriss@oxia-group.com 1414</p><p>Annuaire</p><p>MonitoringSLAScurit</p><p>Transformation</p></li><li><p>SOA, diffrents points de vue</p><p>Businessvirtualization des Services, visibilit, scurit</p><p>Khaled.bendriss@oxia-group.com 1515</p><p>IT Ingnieur Systme</p><p>Architecte</p><p>Dveloppeur</p><p>#$%! bugsI need a Diet Coke</p></li><li><p>Point de vue du dveloppeur Classes ? Composants ? Services ? Marshalling ? Corba ? Idl ?</p><p>Khaled.bendriss@oxia-group.com 1616</p><p> Idl ? Spring ? .net ? WebServices ? Interoprabilit ? Langages Java, C#? </p></li><li><p>Point de vue de lingnieur systme Configuration des services ?</p><p> Et sils sont dplacs</p><p> Scurit des services ?</p><p> Intgration dans mon systme ?</p><p>Khaled.bendriss@oxia-group.com 1717</p><p> Qui a le droit ?</p><p> Interoprabilit ?</p><p> Monte en charge ? Disponibilit ? QOS</p><p> ESB &amp; hardware &amp; software </p><p> Installation ? Migration ?</p></li><li><p>Point de vue de larchitecte Spcifications des composants ?</p><p> Savent-ils parler entre eux ?</p><p> Granularit ?</p><p> Contrat ?</p><p> Qualit de service ?</p><p>Khaled.bendriss@oxia-group.com 1818</p><p> Qualit de service ?</p><p> Asynchronisme ?</p><p> Indpendance des briques ?</p><p> Rutilisation ?</p><p> Urbanisation ?</p></li><li><p>Point de vue du responsable IT du projet Indpendance entre les briques ?</p><p> Assemblage ?</p><p> Orchestration ?</p><p> Intgration ?</p><p>Khaled.bendriss@oxia-group.com 1919</p><p> Intgration ?</p><p> Interoprabilit ?</p></li><li><p>Point de vue du responsable mtier</p><p> Ractivit ?</p><p> Souplesse ?</p><p> Accs des partenaires ?</p><p> Retour sur investissement ?</p><p>Khaled.bendriss@oxia-group.com 2020</p><p> Retour sur investissement ?</p><p> Capacit d'intgrer de nouveaux services ?</p></li><li><p>Quels sont les principes de base du SOA ?</p><p>Khaled.bendriss@oxia-group.com 2121</p></li><li><p>SOA est une volution des plate-forme passes</p><p> SOA est une volution des plate-forme passes, tout en prservant les caractristiques russies des </p><p>architectures traditionnelles, tout en y ajoutant quelques principes nouveaux. </p><p> SOA est un paradigme abstrait, base de </p><p>Khaled.bendriss@oxia-group.com 2222</p><p> SOA est un paradigme abstrait, base de larchitecture distribue sans aucune rfrence une implmentation technique (souvent implments sous forme de Web Services, mais pas obligatoirement)</p></li><li><p>SOA &amp; Architecure</p><p> SOA reprsente une architecture ouverte, </p><p>exensible, fdre et composable qui promeut une </p><p>orientation service et qui est compose de services Autonomes Capables de QOS</p><p>Khaled.bendriss@oxia-group.com 2323</p><p> Non lis des vendeurs Introprables Potentiellement rutilisables</p></li><li><p>Notre dfinition de la SOA</p><p> La SOA cest structurer une application, un bloc applicatif, voire le SI, </p><p>en services contractualiss </p><p>Khaled.bendriss@oxia-group.com 2424</p><p> Afin dadresser les enjeux de Politique dinteroprabilit</p><p> mise en uvre de services globaux entre blocs applicatifs</p><p> Politique de rutilisation recherche de la rutilisation lintrieur dun bloc applicatif</p><p> Assurer la prennit des applications "Faire du nouveau avec de l'ancien"</p></li><li><p>Dans SOA il y a Service ?</p><p> SOA est une histoire de conception pas de technologie : penser Architecture et Service.</p><p> Avant tout : un service doit tre "abstrait" : il nest pas li une implmentation.</p><p>Khaled.bendriss@oxia-group.com 2525</p><p> Exemple Service d'enregistrement d'un abonne Carta+ (Tunisiana) Service de rservation d'un train Service de diffusion d'information Service de demande de l'tat d'une commande (Tunicommerce : Gs1 </p><p>Tunisie)</p></li><li><p>Quest ce quun Service (au sens SOA) ?</p><p>Partage la caractristique suivante dun objet Modulaire (ensemble de fonctionnalits qui font sens)</p><p>Partage les caractristiques dun composant Boite noire (sparation interface/implmentation) Indpendant de la localisation Neutralit vis--vis des protocoles de transport</p><p>Khaled.bendriss@oxia-group.com 2626</p><p>Correspond un primtre fonctionnel expos des consommateurs (une granularit plus forte quun composant)</p><p>Expose un petit nombre doprations offrant un traitement de bout en bout</p><p>Est faiblement coupl Sans tat</p></li><li><p>Un Service expose un Contrat</p><p>Conditions Gnrales de VenteRglement Intrieur</p><p>Vos droits/Vos devoirsin</p><p>out</p><p>Un Service est Autonome</p><p>4 proprits du service retenir</p><p>Khaled.bendriss@oxia-group.com 2727</p><p>Les services communiquent par </p><p>messages</p><p>out</p><p>Les Frontires entre </p><p>services sont Explicites</p></li><li><p>4 proprits : consquences</p><p> SOA vhicule des Messages et non des objets </p><p> Le consommateur (client) est dcoupl de </p><p>larchitecture technique du service quil invoque</p><p>Khaled.bendriss@oxia-group.com 2828</p><p> Le consommateur et le fournisseur n'ont pas </p><p>forcment les mmes technologies </p><p> Importance de l'Architecture ++</p></li><li><p>Dcoupage du cycle de vie dun service</p><p> 4 grandes phases : Identification Spcification Dveloppement Gestion</p><p>Khaled.bendriss@oxia-group.com 2929</p><p> Gestion</p><p> 1 aspect traversal : la gouvernance Les architectures orientes service </p><p>impliquent une vision globale La gouvernance permet de casser les silos de </p><p>lentreprise</p></li><li><p>SOA</p><p>Khaled.bendriss@oxia-group.com 3030</p></li><li><p>Et les Web Services dans tout cela?</p><p>Khaled.bendriss@oxia-group.com 3131</p><p>Et les Web Services dans tout cela?</p></li><li><p>SOA n'est pas Web Services</p><p> SOA est un paradigme abstrait, base de larchitecture distribue sans aucune rfrence une implmentation technique </p><p> L'accent est mis sur les standards L'interoparbilit Le couplage faible</p><p>Khaled.bendriss@oxia-group.com 3232</p><p> Le couplage faible</p><p> Les Web Services offrent une implmentation possible mais pas ncessaire</p></li><li><p>"Architecture" Web Services</p><p>ServiceProvider</p><p>ServiceProvider</p><p>ServiceProvider</p><p>ServiceRegistry</p><p>Request</p><p>Request</p><p>Publish</p><p>Publish</p><p>Publish</p><p>SERVEUR</p><p>SERVEUR</p><p>SERVEUR</p><p>SERVEUR</p><p>Khaled.bendriss@oxia-group.com 3333</p><p>ServiceRequester</p><p>ServiceProvider</p><p>Provider</p><p>WEB-HTTP</p><p>CLIENT</p><p>Request</p><p>Request</p><p>Publish</p><p>Publish</p><p>Find</p><p>SERVEUR</p><p>SERVEUR</p></li><li><p>Les Composants</p><p> Service Provider (Fournisseur de service) Application s'excutant sur un serveur et comportant un module </p><p>logiciel accessible par IxxNet en XML</p><p> Service Registry (Annuaires de service) Annuaire des services publis par les providers (UDDI)</p><p>Khaled.bendriss@oxia-group.com 3434</p><p> Gr sur un serveur niveau application, entreprise ou mondial</p><p> Service Requester (Demandeur de service) Application cliente se liant un service et invoquant ses fonctions </p><p>par des messages XML (SOAP)</p></li><li><p>Qu'est ce qu'un Web Service ?</p><p> Dfinition [W3C] Un Web service est un systme logiciel identifi par une URI, dont </p><p>les interfaces publiques et les liens sont dfinis et dcrits en XML. Sa dfinition peut tre dcouverte par d'autres systmes logiciels. Ces systmes peuvent interagir avec le service Web d'une manire </p><p>prescrite par sa dfinition, en utilisant des messages XML ports par les protocoles Internet.</p><p>Khaled.bendriss@oxia-group.com 3535</p><p> Exposition Langage WSDL (Web Service Description Language) utilis pour </p><p>dcrire le service Similaire IDL mais bas sur XML</p><p> Activation Protocole Web au-dessus de HTTP (RPC XML, SOAP) Autres protocoles possibles </p></li><li><p>Services Web ~ quatre spcifications XML SOAP : pour le transport des donnes et </p><p>linfrastructure de communication WSDL : pour la description des services offerts</p><p> UDDI : annuaire pour le rfrencement des services par les fournisseurs et leur dcouverte par les utilisateurs.</p><p> BPEL : dcrit le processus mtier </p><p>Khaled.bendriss@oxia-group.com 3636</p><p> BPEL : dcrit le processus mtier </p></li><li><p>SOAP : Simple Object Access Protocol</p><p>Procuration TranslateurMessages</p><p>SOAP Appel</p><p>Port de connexion (URL)Pare-feu Pare-feu</p><p>Intgration de XML au-dessus de HTTP :Pour accder services, objets et serveurs Indpendant de toute plate-forme</p><p>Khaled.bendriss@oxia-group.com 3737</p><p>Application Cliente</p><p>Parser XML</p><p>Procurationd'interface</p><p>Translateur</p><p>SOAP</p><p>Parser XML Serveur </p><p>d'application</p><p>SOAP Appel</p><p>Rponse</p><p>HTTP</p><p>RPClocal</p><p>XML-RPC et SOAP</p></li><li><p>Structure d'un message</p><p>Protocol Headers</p><p>SOAP Envelope</p><p>Entte de protocoles (HTTP, SMTP, )</p><p>Khaled.bendriss@oxia-group.com 3838</p><p>SOAP Header</p><p>SOAP Body</p><p>XML-RPC et SOAP</p></li><li><p>WSDL (Web Service Description Language)- Proposition jointe IBM, Microsoft, Ariba - septembre 2000.</p><p>- Permet de dcrire le service Web, en prcisant :- Les mthodes qu'il rend disponible;- Les paramtres d'entre et de sortie;- et comment y accder.</p><p>- Grammaire XML (schma XML ) : Modulaire </p><p>Khaled.bendriss@oxia-group.com 3939</p><p>- Offre une interface qui est le point dentre du service.</p></li><li><p>Description des services: WSDL</p><p> Elment Type Types des paramtres (schma XML)</p><p> Elment Message Appel et retour de chaque opration</p><p> Elment Port type</p><p>Khaled.bendriss@oxia-group.com 4040</p><p> Elment Port type Groupe d'opration</p><p> Elment Binding URL de l'opration Type de protocole</p></li><li><p>UDDI : Annuaire des services</p><p>Universal Description, </p><p>Discovery and Integration</p><p>Annuaire des services dcrit par un document WSDL, autre </p><p>Annuaire UDDI</p><p>Annuaire UDDI</p><p>Khaled.bendriss@oxia-group.com 4141</p><p> WSDL, autre </p><p>Accessible en SOAP</p><p>FonctionsEnregistrer votre socitEnregistrer des servicesEnregistrer des oprationsDcouvrir des services</p><p>Grant de requtes</p><p>Enveloppe+</p><p>Document</p><p>Programme</p><p>Service</p></li><li><p>UDDI : utilit</p><p>Khaled.bendriss@oxia-group.com 4242</p><p>Scnario classique d'utilisation d'UDDI</p></li><li><p>Le langage BPEL : Business Process Execution Language </p><p> Standard de lOASIS</p><p> Norme permettant de dcrire des processus en XML </p><p> Propose les fonctions basiques dun langage de programmation:</p><p>Khaled.bendriss@oxia-group.com 4343XML-RPC et SOAP</p><p>programmation: sequence, flow, loop, switch</p><p> Identification des Instances de Process</p><p> Gestion des transactions longue dure (scope, compensation)</p><p> Gestion des erreurs</p></li><li><p>BPEL le chef dorchestre </p><p>Khaled.bendriss@oxia-group.com 4444</p></li><li><p>Services Web au service du SOA Une technologie "enabling"</p><p> facilite l'interoprabilit et la connaissance</p><p> Capacit d'exposer des programmes existants Exposer des services crits en Cobol!!!</p><p> SOAP : Un protocole normalis par le W3C XML : "chane de caractres" focalise sur le contenu semi-</p><p>structur, multi - plateforme</p><p>Khaled.bendriss@oxia-group.com 4545</p><p>structur, multi - plateforme Apporte lisibilit, validation, contrle, interoprabilit </p><p> IBM, Sun, Microsoft supporteront le mme protocole</p><p>Architecture</p></li><li><p>Khaled.bendriss@oxia-group.com 4646</p><p>SOA s'applique tout les niveaux ?</p></li><li><p>Rappel de la dfinition de la SOA</p><p> La SOA cest structurer une application, un bloc applicatif, voire le S.I., en services contractualiss </p><p>Khaled.bendriss@oxia-group.com 4747</p></li><li><p>Architecture en couches (simplifie)</p><p>PrsentationApplications</p><p>Khaled.bendriss@oxia-group.com 4848</p><p>Services mtier</p><p>Donnes</p><p>Services de base</p></li><li><p>Services de base</p><p> composants offrant un service gnrique </p><p>tout service mtier qui veut lutiliser</p><p> valeur ajoute permet dconomiser des cots de dveloppement et </p><p>dexploitation: develop once, use many</p><p>Khaled.bendriss@oxia-group.com 4949</p><p>dexploitation: develop once, use many permet aux dveloppeurs de services mtier et </p><p>dapplications de se concentrer sur les services mtier cohrence pour les utilisateurs des diffrentes </p><p>applications simplifie loffre et le monitoring de processus et de </p><p>chanes de processus</p></li><li><p>Services de base gestion des utilisateurs signature lectronique transformation de formats ticketing et accus de rception time stamping routage</p><p>Khaled.bendriss@oxia-group.com 5050</p><p> routage gestion de statut orchestration logging ...</p></li><li><p>Services mtier et applications</p><p> dveloppement de services mtier grce la coordination </p><p>de composants et lutilisation de services de base</p><p> dveloppement dapplications rpondant aux besoins des </p><p>diffrents types dutilisateurs par une coordination des </p><p>services mtier </p><p>Khaled.bendriss@oxia-group.com 5151</p><p> o les mmes composants et services de base peuvent tre </p><p>utiliss pour le dveloppement de diffrents services </p><p>mtier, et o les mmes services mtier peuvent tre </p><p>utiliss pour le dveloppement de diffrentes applications</p></li><li><p>SOA : des...</p></li></ul>