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

8 807 vues

Publié le

Introduction a la SOA faite a la MIAGE de nante

Publié dans : Business
1 commentaire
18 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
8 807
Sur SlideShare
0
Issues des intégrations
0
Intégrations
95
Actions
Partages
0
Téléchargements
0
Commentaires
1
J’aime
18
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • 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...

    ×