Successfully reported this slideshow.
Service Oriented Architecture Introduction Introduction Tugdual Grall http://www.soafacts.com
<ul><li>Qui suis-je? </li></ul><ul><ul><li>1994: Developpeur Progress chez un editeur </li></ul></ul><ul><ul><li>1997: Ana...
SOA: Définition <ul><li>Cela dépend du type d’interlocuteur </li></ul><ul><ul><li>Ensemble de Services Métier  qu’une orga...
<ul><li>SOA  </li></ul><ul><ul><li>Facilite l’adaptation aux nouveaux besoins </li></ul></ul><ul><ul><li>Renforce l’intéro...
SOA: autre “vision” Pourquoi ne pas étendre le modèle à l’Entreprise ?  Application composite et Services Web : « Mash-up »
Pourquoi SOA? <ul><li>La dure réalité des SI </li></ul>Screen Scrape Screen Scrape Screen Scrape Screen Scrape Message Que...
<ul><li>Le plat de spaghetti </li></ul><ul><ul><li>Systèmes Hétérogènes avec Connecteurs Propriétaires </li></ul></ul>Evol...
<ul><li>Intégration basée sur des  Services </li></ul><ul><ul><li>Les systèmes communiquent en utilisant des formats et pr...
Caractéristiques des Services/SOA <ul><li>Les Services se décrivent de façon indépendante </li></ul><ul><li>Les messages s...
Web Services : Introduction
Web Services 101 Web Service Client (J2EE, .NET, PL/SQL …) Web Service (J2EE, PL/SQL, .NET,C/C++, Legacy …) SOAP Invocatio...
Web Services... <ul><li>SOAP: Simple Object Access Protocol </li></ul><ul><ul><li>Couche Message  </li></ul></ul><ul><ul><...
Web Services... <ul><li>UDDI: Universal Description, Discovery and Integration </li></ul><ul><ul><li>Mecanisme de recherch...
SOA et Web Services <ul><li>SOA  !=  WS  (SOAP+WSDL) </li></ul><ul><ul><li>SOA: une architecture basée sur des best-practi...
Granularité des Services <ul><li>Dépendance entre le niveau de granularité et les objectifs visés </li></ul>Enjeu : Réutil...
Réutilisation et Decouplage Services « élémentaires » exposés par les Applications Applications Métiers nécessitant des se...
Les Briques Techniques des SOA
BPM: Business Process Management <ul><li>Informatisation des Process Métiers </li></ul><ul><ul><li>Assemblage de différent...
Business Process Order Booking Purchase Order (PO) CreditRatingService RapidDistributors Select Manufacturing Order Approv...
BPM: Fonctionnalités <ul><li>Orchestration de services synchrones et  asynchrones </li></ul><ul><li>Corrélation des messag...
ESB: Enterprise Services Bus Apps SAP Java Mainframe Enterprise Services Bus <ul><li>ConnecteursTransformationFiabilité </...
 
Business Activity Monitoring Web service BPEL PM JMS Bus  E.T.L Correlation KPI Alerts Actual  cube Target  cube Apps BAM ...
SOA: les Offres du Marché
Vue Globale Systèmes Applicatifs J2EE .Net ERP Applications patrimoniales Systèmes Applicatifs Référentiels Services MDM C...
L’Offre IBM
L’Offre BEA
L’Offre Oracle 20 J2EE Application Server Oracle AS, JBoss, WebLogic, WebSphere Messaging Metadata Repository Apps Adapter...
Open Source <ul><li>L’Open Source est aussi un acteur de SOA </li></ul><ul><ul><li>JBoss </li></ul></ul><ul><ul><li>Apache...
<ul><li>Typologie des Solutions </li></ul>Batch Asynchrone Synchrone Données Flux Événements Services Processus ETL : Extr...
Les Leviers Constatés SOA Mise en œuvre d’une démarche orientée Processus métiers Mise en place d’un Portail Inscription d...
SOA.. pourquoi... Bénéfice de SOA Raison... Agilité Faire évoluer le socle technique Réduction des Couts Factoriser l’inve...
SOA et les ERP
ERP market forecast Source: Forrester 2005
Modularisation == Agilité Human Resources Customer relationship management Service-based integration Component arbitration...
SOA et les ERPs <ul><li>Une approche orientée “processus métier” </li></ul><ul><li>Basé sur les standards: Web Services, J...
SOA et SaaS
SaaS: Software as a Service <ul><li>Nouveau type de services: les applications </li></ul><ul><ul><li>Utilisation d’un serv...
Questions... http://www.soafacts.com
Service Oriented Architecture Introduction Introduction Fin...
Prochain SlideShare
Chargement dans…5
×

Introduction a la SOA

9 078 vues

Publié le

Introduction a la SOA faite a la MIAGE de nante

Publié dans : Business

Introduction a la SOA

  1. 1. Service Oriented Architecture Introduction Introduction Tugdual Grall http://www.soafacts.com
  2. 2. <ul><li>Qui suis-je? </li></ul><ul><ul><li>1994: Developpeur Progress chez un editeur </li></ul></ul><ul><ul><li>1997: Analyste Programmeur SSII </li></ul></ul><ul><ul><li>1999: Consultant Oracle France </li></ul></ul><ul><ul><li>2001: Product Manager Portal, JavaEE, WS, SOA Oracle HQ </li></ul></ul><ul><ul><li>Depuis Oct 2007: Architecte chez Sogeti </li></ul></ul><ul><ul><li>http://blog.grallandco.com </li></ul></ul><ul><ul><li>... </li></ul></ul>
  3. 3. SOA: Définition <ul><li>Cela dépend du type d’interlocuteur </li></ul><ul><ul><li>Ensemble de Services Métier qu’une organisation veut offrir à ses partenaires et clients </li></ul></ul><ul><ul><li>Un Type d’Architecture avec un “fournisseur” et un “consommateur” de services. Ces services étant décrits de facon standardisée </li></ul></ul><ul><ul><li>Un Modèle de Programmation permettant l’assemblage de Services en utilisant des standards </li></ul></ul>Développeur Intégrateur Architecte Développeur Analyste Business
  4. 4. <ul><li>SOA </li></ul><ul><ul><li>Facilite l’adaptation aux nouveaux besoins </li></ul></ul><ul><ul><li>Renforce l’intéropérabilité et l’intégration </li></ul></ul><ul><ul><li>Sécuriser l’investissement des applications existantes </li></ul></ul><ul><ul><li>Architecture basée sur des standards </li></ul></ul><ul><ul><li>Couplage faible entre fournisseur et consommateur </li></ul></ul>SOA... SOA : une définition ?!? Bonnes pratiques d’Architecture permettant au SI d’être plus flexible et plus réactif
  5. 5. SOA: autre “vision” Pourquoi ne pas étendre le modèle à l’Entreprise ? Application composite et Services Web : « Mash-up »
  6. 6. Pourquoi SOA? <ul><li>La dure réalité des SI </li></ul>Screen Scrape Screen Scrape Screen Scrape Screen Scrape Message Queue Message Queue Message Queue Download File Download File Download File Transaction File Transaction File Transaction File ORB ORB CICS Gateway CICS Gateway APPC APPC RPC RPC Transaction File Sockets Sockets Message Message Application Application Application Application Application Application Application Application Application Application
  7. 7. <ul><li>Le plat de spaghetti </li></ul><ul><ul><li>Systèmes Hétérogènes avec Connecteurs Propriétaires </li></ul></ul>Evolution du SI et de SOA Application Application Application
  8. 8. <ul><li>Intégration basée sur des Services </li></ul><ul><ul><li>Les systèmes communiquent en utilisant des formats et protocoles standards </li></ul></ul><ul><ul><li>Encapsulation de l’existant dans des services </li></ul></ul><ul><ul><li>Début d’ouverture et gain en flexibilité </li></ul></ul>Evolution du SI et de SOA Application “provider” SOAP SOAP Encore du point à point... Legacy Application Service Application “consumer”
  9. 9. Caractéristiques des Services/SOA <ul><li>Les Services se décrivent de façon indépendante </li></ul><ul><li>Les messages sont définis de façon précises </li></ul><ul><li>Les Services peuvent être découverts </li></ul><ul><li>Les Services ont une Qualité de Service (QoS) définis par une “policy” </li></ul><ul><li>Les Services peuvent provenir de n’importe quelle plateforme </li></ul><ul><li>Les Services sont la plupart du temps “stateless” </li></ul>La raison d’ être des Web Services
  10. 10. Web Services : Introduction
  11. 11. Web Services 101 Web Service Client (J2EE, .NET, PL/SQL …) Web Service (J2EE, PL/SQL, .NET,C/C++, Legacy …) SOAP Invocation XML WSDL Référence la Description Référence le Service Décrit le Service Recherche Service Registry UDDI
  12. 12. Web Services... <ul><li>SOAP: Simple Object Access Protocol </li></ul><ul><ul><li>Couche Message </li></ul></ul><ul><ul><li>Protocol basé sur XML </li></ul></ul><ul><ul><li>Independant de la couche transport </li></ul></ul><ul><ul><ul><li>HTTP/HTTPS, JMS, SMTP, ... </li></ul></ul></ul><ul><ul><li>Normalisé par W3C </li></ul></ul><ul><li>WSDL: Web Service Description Language </li></ul><ul><ul><li>Décrit le Web Service </li></ul></ul><ul><ul><ul><li>operations, protocol binding, messages </li></ul></ul></ul><ul><ul><li>Basé sur XML </li></ul></ul><ul><ul><li>Normalisé par W3C </li></ul></ul>
  13. 13. Web Services... <ul><li>UDDI: Universal Description, Discovery and Integration </li></ul><ul><ul><li>Mecanisme de recherche de WS </li></ul></ul><ul><ul><li>Repertoire d’informations sur les WS </li></ul></ul><ul><ul><li>Peu utilisé dans le “B2B” mais beaucoup plus dans le monde SOA </li></ul></ul><ul><li>WS-* (WS-star) </li></ul><ul><ul><li>Extensions de SOAP </li></ul></ul><ul><ul><ul><li>WS-Security, WS-Reliability, WS-TX, ... </li></ul></ul></ul>
  14. 14. SOA et Web Services <ul><li>SOA != WS (SOAP+WSDL) </li></ul><ul><ul><li>SOA: une architecture basée sur des best-practices </li></ul></ul><ul><ul><ul><li>possibilité de faire du “SOA” sans WS </li></ul></ul></ul><ul><ul><ul><li>eg: MainFrame, Tuxedo, JavaEE, ... </li></ul></ul></ul><ul><ul><li>Web Services: une technologie </li></ul></ul><ul><ul><ul><li>possibilité de faire des WS sans être SOA </li></ul></ul></ul><ul><ul><ul><li>Autres technologies: REST, XML-RPC, ... </li></ul></ul></ul><ul><li>Les Web Services apparaissent comme une des meilleures solutions... </li></ul><ul><ul><li>avec limitations et des améliorations possibles </li></ul></ul>
  15. 15. Granularité des Services <ul><li>Dépendance entre le niveau de granularité et les objectifs visés </li></ul>Enjeu : Réutilisation des services Enjeu : Interopérabilité <ul><li>fonctionnalités élémentaires destinées à être utilisées par les services de niveaux de granularité supérieurs </li></ul><ul><li>ne supportant pas de cas direct d’utilisation </li></ul><ul><li>et adressant des besoins techniques ou métiers </li></ul>Services Unitaires <ul><li>activités exposant une fonctionnalité métier à valeur ajoutée compréhensible et utilisable à l’extérieur du SI en masquant toute la complexité de la logique interne </li></ul>Services Globaux - Niveau de granularité des services +
  16. 16. Réutilisation et Decouplage Services « élémentaires » exposés par les Applications Applications Métiers nécessitant des services à valeur ajoutée Services exposés par le Bus Application Application Application Application Application Métier Application Métier Bus
  17. 17. Les Briques Techniques des SOA
  18. 18. BPM: Business Process Management <ul><li>Informatisation des Process Métiers </li></ul><ul><ul><li>Assemblage de différents Services Métiers </li></ul></ul><ul><ul><li>Remontée de KPI (BI & Temps Réel) </li></ul></ul><ul><li>BPM: Solutions Techniques </li></ul><ul><ul><li>BPEL: Business Process Execution Language </li></ul></ul><ul><ul><li>Orchestration de Services </li></ul></ul><ul><li>ESB: Enterprise Services Bus </li></ul><ul><ul><li>Composition de services </li></ul></ul><ul><ul><li>Virtualisation </li></ul></ul><ul><li>BAM: Business Activity Monitoring </li></ul>
  19. 19. Business Process Order Booking Purchase Order (PO) CreditRatingService RapidDistributors Select Manufacturing Order Approval FulFillOrders Manually quote PO using Web UI Customer User task workflow End Point End Point Service Process Flow Service
  20. 20. BPM: Fonctionnalités <ul><li>Orchestration de services synchrones et asynchrones </li></ul><ul><li>Corrélation des messages entres differents appels </li></ul><ul><li>Support de traitements en parallèle </li></ul><ul><li>Manipulation et Transformation des données </li></ul><ul><li>Support pour les process “ longs ” </li></ul><ul><li>Gestion des Exceptions </li></ul>
  21. 21. ESB: Enterprise Services Bus Apps SAP Java Mainframe Enterprise Services Bus <ul><li>ConnecteursTransformationFiabilité </li></ul><ul><li>Supervision/Administration </li></ul><ul><li>Content-based RoutingPublish & SubscribeService URL Virtualization </li></ul><ul><li>Composition de Services </li></ul>JCA SOAP JMS In Memory Autres
  22. 23. Business Activity Monitoring Web service BPEL PM JMS Bus E.T.L Correlation KPI Alerts Actual cube Target cube Apps BAM Sensors Built-in processors BPEL PM ESB Server BAM Modeling Dashboard
  23. 24. SOA: les Offres du Marché
  24. 25. Vue Globale Systèmes Applicatifs J2EE .Net ERP Applications patrimoniales Systèmes Applicatifs Référentiels Services MDM Composition de services EAI ESB Règles SGRM Orchestration de services Workflow BPM Modélisation & Amélioration BPA Pilotage & Optimisation BAM BI Supervision & Administration Échanges B2B/EDI Portail Client léger Client riche Présentation Conception et Réalisation Administration
  25. 26. L’Offre IBM
  26. 27. L’Offre BEA
  27. 28. L’Offre Oracle 20 J2EE Application Server Oracle AS, JBoss, WebLogic, WebSphere Messaging Metadata Repository Apps Adapters Partners B2B RFID SES DB Bulk ODI ETL DATA SERVICES & CONNECTIVITY Multi Protocol Routing XSLT Transform Enterprise Service Bus Native BPEL Business Rules Human Workflow BPEL Process Manager ROUTING & ORCHESTRATION Discovery Policies Management Security Web Services Manager Registry GOVERNANCE Events Analytics Business Monitoring System Monitoring Enterprise Manager BAM BI MANAGEMENT & MONITORING App Dev Framework JDeveloper Analyst Tools BPA Suite
  28. 29. Open Source <ul><li>L’Open Source est aussi un acteur de SOA </li></ul><ul><ul><li>JBoss </li></ul></ul><ul><ul><li>Apache </li></ul></ul><ul><ul><li>CodeHaus </li></ul></ul><ul><ul><li>IONA </li></ul></ul><ul><ul><li>Spring </li></ul></ul><ul><ul><li>... </li></ul></ul>
  29. 30. <ul><li>Typologie des Solutions </li></ul>Batch Asynchrone Synchrone Données Flux Événements Services Processus ETL : Extract - Transform – Load EAI : Enterprise Application Integraion ESB : Enterprise Service Bus BPM : Business Process Management Serveurs d’application EAI ETL BPM ESB
  30. 31. Les Leviers Constatés SOA Mise en œuvre d’une démarche orientée Processus métiers Mise en place d’un Portail Inscription dans le SI d’un socle d’infrastructure Déploiement de Référentiels métiers (démarche MDM )
  31. 32. SOA.. pourquoi... Bénéfice de SOA Raison... Agilité Faire évoluer le socle technique Réduction des Couts Factoriser l’investissement Réduction des Risques S’adapter et intégrer les nouveau besoins. (business, rachats, ...) Business Attaquer de nouveaux marchés / Compétition Normalisation S’adapter aux nouvelles règles eg: Sarbanes-Oxley (SOX)
  32. 33. SOA et les ERP
  33. 34. ERP market forecast Source: Forrester 2005
  34. 35. Modularisation == Agilité Human Resources Customer relationship management Service-based integration Component arbitration Component arbitration Process integration Process integration Product life-cycle management Supply chain management Business Analytics GL AP AR CN Human resources Business analytics
  35. 36. SOA et les ERPs <ul><li>Une approche orientée “processus métier” </li></ul><ul><li>Basé sur les standards: Web Services, JavaEE, .. </li></ul><ul><li>Solutions Majeures </li></ul><ul><ul><li>SAP: Enterprise SOA (ESA) </li></ul></ul><ul><ul><ul><li>Basé sur SAP NetWeaver </li></ul></ul></ul><ul><ul><li>Oracle: Fusion </li></ul></ul><ul><ul><ul><li>Basé sur Oracle Fusion Middleware </li></ul></ul></ul>
  36. 37. SOA et SaaS
  37. 38. SaaS: Software as a Service <ul><li>Nouveau type de services: les applications </li></ul><ul><ul><li>Utilisation d’un service hébergé </li></ul></ul><ul><li>Pour tout types d’applications </li></ul><ul><ul><li>ERP/Finance </li></ul></ul><ul><ul><ul><li>Oracle, SAP: en SaaS </li></ul></ul></ul><ul><ul><li>CRM </li></ul></ul><ul><ul><ul><li>SalesForce.com, SugarCRM, ContactList </li></ul></ul></ul><ul><ul><li>Suite Bureautique/Mail </li></ul></ul><ul><ul><ul><li>Google Application </li></ul></ul></ul><ul><ul><ul><li>Google API </li></ul></ul></ul><ul><ul><li>et même votre infrastructure </li></ul></ul><ul><ul><ul><li>Amazon Web Services: EC2, S3, SQS, SimpleDB </li></ul></ul></ul>
  38. 39. Questions... http://www.soafacts.com
  39. 40. Service Oriented Architecture Introduction Introduction Fin...

×