SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
WOA: Web Oriented Architecture
Chapitre 6 - eServices
GL5
2015/2016
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 1
SOA est…
•  Une architecture logicielle modulaire où les modules sont des
services interagissant les uns avec les autres
•  Une approche top-down
•  Contient des constructions de haut niveau:
•  Applications composites, orchestration, coordination…
•  Basée sur des standards ouverts pour encourager
l'interoperabilité
•  LE modèle organisationnel dominant pour une architecture
d'entreprise
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 2
SOA vs Web
On the other hand, le Web…
•  Défini par:
•  Un protocole de transfert simple: HTTP (HyperText Transfer
Protocol)
•  Le langage HTML (HyperText Markup Language) pour décrire les
ressources disponibles
•  Un identifiant unique pour chaque ressource : URI (Unique
Resource Identifier)
•  Ne présente pas de limites pour les types de données
transférées via HTTP
•  Ne présente pas de limites sur la quantité de données
transférées
•  HTTP est extensible: il suffit de voir la taille du web
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 3
SOA vs Web
Convergence entre Web 2.0 et SOA
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 4
SOA vs Web
SOAP ou REST, that is the question!
SOAP
Tout est dans le message
(entête, infos de sécurité…)
XML
WSDL : description de service
(peut être très complexe)
Spécification WS-*
REST
Tout est ressource,
adressable via URI
Interface uniforme (GET, POST,
PUT, DELETE…)
Client/Serveur
Stateless
Les réponses peuvent être
stockées en cache
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 5
REST
Pourquoi REST?
•  Règle générale : "Unless you have a definitive reason to use SOAP, use
REST"
•  REST est beaucoup plus simple, car basé sur le standard HTTP
•  REST autorise plusieurs formats de données, alors que SOAP n'accepte
que XML
•  Son support pour JSON, par exemple, lui donne un meilleur support pour les
navigateurs web
•  Meilleure performance, car ses lectures peuvent être stockées en
mémoire cache
•  Utilisation de REST:
•  Yahoo l'utilise pour tous ses services
•  Amazon et eBay fournissent les deux types de services web
•  Google a changé vers REST en 2006
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 6
REST
Pourquoi SOAP?
•  WS-Security
•  SOAP et REST supportent SSL
•  Support des autres caractéristiques fournies par WS-Security, ce que REST
ne fait pas
•  REST fait juste du point-to-point, et ne supporte que SSL/TLS
•  WS-AtomicTransaction
•  Manipulation des transactions ACID sur un service
•  REST est limité par HTTP, qui ne peut pas fournir un two-phase commit à
travers des ressources distribuées (la plupart des applications internet n'en
ont pas besoin, mais les applications entreprise, si)
•  WS-ReliableMessaging
•  SOAP supporte la gestion des fautes pour les messages: logique
successful/retry interne
•  REST laisse aux utilisateurs le soin de gérer les problèmes de
communication en réessayant
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 7
REST
Définition de la WOA
•  Style d'architecture logicielle qui étend la SOA pour les applications
Web
•  Considéré comme une version légère de la SOA
•  Utilise l'architecture REST
"En d'autres termes, le modèle Web fournit une architecture unique,
ouverte, et unifiée, qui est à la fois consistante, facilement consommée,
extrêmement extensible, sécurisable, très réutilisable, résiliente, et
hautement fédérée"
Dion Hinchcliffe
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 8
WOA
WOA: Seulement REST?
•  REST est le protocole de base pour WOA
•  WOA inclut également un ensemble de modèles de consommation extraits
du web, comme:
•  Mashup: Agrégation de contenu provenant d'autres sites grâce à des APIs ou
flux RSS
•  Web Widgets (ou Gadgets): un bout de code portable qui peut être installé et
exécuté dans une page web
•  WOA inclut un ensemble de standards largement utilisés pour la
représentation, l'échange et la portabilité des données que REST ne supporte
pas:
•  OpenID: Système d'authentification décentralisé permettant l'authentification
unique et le partage d'attributs
•  O-Auth: protocole permettant à un site consommateur de manipuler les
données d'un utilisateur dans un autre site fournisseur, mais seulement à sa
demande (délégation d’autorisation)
•  Microformats: Approche de formatage de données dans des pages web pour
standardiser leur contenu en utilisant des classes et attributs de balises HTML
et XHTML
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 9
WOA
WOA: SOA + Web 2.0
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 10
WOA
La pile WOA
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 11
WOA
Distribu(on	
  :	
  Feeds,	
  APIs,	
  Widgets	
  
Composi(on	
  :	
  Intégra3on,	
  Mashup,	
  Web	
  
	
  Widgets	
  
Sécurité:	
  SSL,	
  O-­‐Auth,	
  HMAC-­‐SHA-­‐1	
  
Portabilité	
  des	
  données:	
  OPML	
  
Représenta(on	
  des	
  données	
  :	
  XML,	
  JSON,	
  etc.	
  
Méthodes	
  de	
  transfert	
  :	
  HTTP/REST,	
  BitTorrent	
  	
  
Mais WOA, c’est aussi de la SOA!
Elle respect les 8 principe de la Service Orientation
•  Service Reusability
•  Service Contract
•  Service Loose Coupling
•  Service Abstraction
•  Service Composability
•  Service Autonomy
•  Service Statelessness
•  Service Discoverability
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 12
WOA
… avec quelques différences…
SOA a en général un petit ensemble bien défini de terminaisons
(endpoints) à travers lesquels plusieurs données et types de données
peuvent passer
•  WOA alloue à chaque ressource une terminaison, représenté par une URI
SOA construit une couche de messages au dessus de HTTP grâce à SOAP
et WS-*
•  WOA utilise HTTP et ses mécanismes de transfert associés comme la
meilleure abstraction pour la plupart des applications
SOA est conçu comme étant Top-down par les vendeurs
•  WOA est créée par une communauté de développeurs (bottom-up)
SOA utilise WS-Security et autres standards sophistiqués pour la sécurité
WOA utilise juste HTTPS, OAuth et HMAC-SHA-1
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 13
WOA
À quoi ressemble une organisation utilisant WOA?
•  Une toile riche de ressources REST
•  Un ensemble d'outils pour "tisser" cette toile de ressources
dans les nouvelles applications
•  Un ensemble de composants WOA consommables et
réutilisables incluant des widgets, gadgets, réseaux sociaux
intégrés…
•  Un ensemble d'APIs web publiques exposées sur Internet
aux éventuels partenaires
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 14
WOA
Articles
REST vs SOAP, The difference between SOAP and REST, par Steve Francia,
http://spf13.com/post/soap-vs-rest vu le 14/12/2014
Web Oriented Architecture, une transmutation des pratiques de construction
des systèmes d'information, par Jerôme Valloire, publié le 05/05/12 et vu le
14/12/2014
Présentations
Dion Hinchcliffe: Web-Oriented Architecture, Qcon 2009 – London
Emiliano Pecis: Web Oriented Architecture at Oracle, 2008
15
Sources

Contenu connexe

Tendances

Mise en place d’un serveur radius
Mise en place d’un serveur radiusMise en place d’un serveur radius
Mise en place d’un serveur radiusJeff Hermann Ela Aba
 
Implentation d'une solution Cloud IAAS
Implentation d'une solution Cloud IAASImplentation d'une solution Cloud IAAS
Implentation d'une solution Cloud IAASmohamed hadrich
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOALilia Sfaxi
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web servicesmohammed addoumi
 
Cloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusCloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusAshok Kumar
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServicesLilia Sfaxi
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdfOpen Source Consulting
 
Advanced Load Balancer/Traffic Manager and App Gateway for Microsoft Azure
Advanced Load Balancer/Traffic Manager and App Gateway for Microsoft AzureAdvanced Load Balancer/Traffic Manager and App Gateway for Microsoft Azure
Advanced Load Balancer/Traffic Manager and App Gateway for Microsoft AzureKemp
 
Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0Alphorm
 
Integração do Zabbix com Grafana
Integração do Zabbix com GrafanaIntegração do Zabbix com Grafana
Integração do Zabbix com GrafanaAécio Pires
 
Les web services
Les web servicesLes web services
Les web servicesdihiaselma
 
La sécurité des réseaux sans fil
La sécurité des réseaux sans filLa sécurité des réseaux sans fil
La sécurité des réseaux sans filsmiste
 
Alphorm.com : Formation Active directory 2008 R2 (70-640)
Alphorm.com : Formation Active directory 2008 R2 (70-640)Alphorm.com : Formation Active directory 2008 R2 (70-640)
Alphorm.com : Formation Active directory 2008 R2 (70-640)Alphorm
 
Support formation vidéo : Cisco ASA, configuration
Support formation vidéo : Cisco ASA, configurationSupport formation vidéo : Cisco ASA, configuration
Support formation vidéo : Cisco ASA, configurationSmartnSkilled
 

Tendances (20)

Mise en place d’un serveur radius
Mise en place d’un serveur radiusMise en place d’un serveur radius
Mise en place d’un serveur radius
 
Implentation d'une solution Cloud IAAS
Implentation d'une solution Cloud IAASImplentation d'une solution Cloud IAAS
Implentation d'une solution Cloud IAAS
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
eServices-Chp2: SOA
eServices-Chp2: SOAeServices-Chp2: SOA
eServices-Chp2: SOA
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web services
 
Cloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusCloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptus
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
eServices-Chp3: Composition de Services
eServices-Chp3: Composition de ServiceseServices-Chp3: Composition de Services
eServices-Chp3: Composition de Services
 
Azure hands on lab
Azure hands on labAzure hands on lab
Azure hands on lab
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
 
Advanced Load Balancer/Traffic Manager and App Gateway for Microsoft Azure
Advanced Load Balancer/Traffic Manager and App Gateway for Microsoft AzureAdvanced Load Balancer/Traffic Manager and App Gateway for Microsoft Azure
Advanced Load Balancer/Traffic Manager and App Gateway for Microsoft Azure
 
Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0Alphorm.com Support de la formation Vmware Esxi 6.0
Alphorm.com Support de la formation Vmware Esxi 6.0
 
VMware Integrated OpenStack
VMware Integrated OpenStackVMware Integrated OpenStack
VMware Integrated OpenStack
 
Integração do Zabbix com Grafana
Integração do Zabbix com GrafanaIntegração do Zabbix com Grafana
Integração do Zabbix com Grafana
 
Les web services
Les web servicesLes web services
Les web services
 
Azure ppt
Azure pptAzure ppt
Azure ppt
 
La sécurité des réseaux sans fil
La sécurité des réseaux sans filLa sécurité des réseaux sans fil
La sécurité des réseaux sans fil
 
Mini projet Zabbix
Mini projet ZabbixMini projet Zabbix
Mini projet Zabbix
 
Alphorm.com : Formation Active directory 2008 R2 (70-640)
Alphorm.com : Formation Active directory 2008 R2 (70-640)Alphorm.com : Formation Active directory 2008 R2 (70-640)
Alphorm.com : Formation Active directory 2008 R2 (70-640)
 
Support formation vidéo : Cisco ASA, configuration
Support formation vidéo : Cisco ASA, configurationSupport formation vidéo : Cisco ASA, configuration
Support formation vidéo : Cisco ASA, configuration
 

En vedette

eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++Lilia Sfaxi
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESBLilia Sfaxi
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api managementLilia Sfaxi
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
eServices-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: IntroductionLilia Sfaxi
 
eServices-Tp3: esb
eServices-Tp3: esbeServices-Tp3: esb
eServices-Tp3: esbLilia Sfaxi
 
Getting Started with Real-time Analytics
Getting Started with Real-time AnalyticsGetting Started with Real-time Analytics
Getting Started with Real-time AnalyticsAmazon Web Services
 
Real Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and SystemsReal Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and SystemsArun Kejariwal
 
Big Data Real Time Applications
Big Data Real Time ApplicationsBig Data Real Time Applications
Big Data Real Time ApplicationsDataWorks Summit
 

En vedette (9)

eServices-Tp4: esb++
eServices-Tp4: esb++eServices-Tp4: esb++
eServices-Tp4: esb++
 
eServices-Chp4: ESB
eServices-Chp4: ESBeServices-Chp4: ESB
eServices-Chp4: ESB
 
eServices-Tp5: api management
eServices-Tp5: api managementeServices-Tp5: api management
eServices-Tp5: api management
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
eServices-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: Introduction
 
eServices-Tp3: esb
eServices-Tp3: esbeServices-Tp3: esb
eServices-Tp3: esb
 
Getting Started with Real-time Analytics
Getting Started with Real-time AnalyticsGetting Started with Real-time Analytics
Getting Started with Real-time Analytics
 
Real Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and SystemsReal Time Analytics: Algorithms and Systems
Real Time Analytics: Algorithms and Systems
 
Big Data Real Time Applications
Big Data Real Time ApplicationsBig Data Real Time Applications
Big Data Real Time Applications
 

Similaire à eServices-Chp6: WOA

Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées servicesDonia Hammami
 
Services web rest_support_cours_nfaoui_el_habib
Services web rest_support_cours_nfaoui_el_habibServices web rest_support_cours_nfaoui_el_habib
Services web rest_support_cours_nfaoui_el_habibEl Habib NFAOUI
 
Introduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaSIntroduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaSGerard Konan
 
Les plateformes de développement des web services
Les plateformes de développement des web servicesLes plateformes de développement des web services
Les plateformes de développement des web servicesoussemos
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de phpGautier DUMAS
 
RII Technologies du Web - convergence des technologies du Web et du Cloud Com...
RII Technologies du Web - convergence des technologies du Web et du Cloud Com...RII Technologies du Web - convergence des technologies du Web et du Cloud Com...
RII Technologies du Web - convergence des technologies du Web et du Cloud Com...philippe_merle
 
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbhindguendouz2000
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)Restlet
 
Web 2.0 Wikipedia 2000
Web 2.0 Wikipedia 2000Web 2.0 Wikipedia 2000
Web 2.0 Wikipedia 2000Formationcsc
 
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsoapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnHINDGUENDOUZ
 
Chap1 p1-introduction
Chap1 p1-introductionChap1 p1-introduction
Chap1 p1-introductionMoez Re
 
DevoxxFR Présentation des portails en 2014
DevoxxFR Présentation des portails en 2014DevoxxFR Présentation des portails en 2014
DevoxxFR Présentation des portails en 2014Stéphane Liétard
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)Restlet
 
2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_servicesCamus LANMADOUCELO
 
De l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletDe l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletJerome Louvel
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlinangeeLee
 
Introduction à Cloud Foundry Journée du Code 2017
Introduction à Cloud Foundry Journée du Code 2017Introduction à Cloud Foundry Journée du Code 2017
Introduction à Cloud Foundry Journée du Code 2017Gerard Konan
 
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015Logilab
 

Similaire à eServices-Chp6: WOA (20)

Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
Architectures orientées services
Architectures orientées servicesArchitectures orientées services
Architectures orientées services
 
Services web rest_support_cours_nfaoui_el_habib
Services web rest_support_cours_nfaoui_el_habibServices web rest_support_cours_nfaoui_el_habib
Services web rest_support_cours_nfaoui_el_habib
 
Soap
SoapSoap
Soap
 
Introduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaSIntroduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaS
 
Les plateformes de développement des web services
Les plateformes de développement des web servicesLes plateformes de développement des web services
Les plateformes de développement des web services
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de php
 
RII Technologies du Web - convergence des technologies du Web et du Cloud Com...
RII Technologies du Web - convergence des technologies du Web et du Cloud Com...RII Technologies du Web - convergence des technologies du Web et du Cloud Com...
RII Technologies du Web - convergence des technologies du Web et du Cloud Com...
 
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 
Web 2.0 Wikipedia 2000
Web 2.0 Wikipedia 2000Web 2.0 Wikipedia 2000
Web 2.0 Wikipedia 2000
 
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsoapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
soapC1.pdfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
 
Chap1 p1-introduction
Chap1 p1-introductionChap1 p1-introduction
Chap1 p1-introduction
 
DevoxxFR Présentation des portails en 2014
DevoxxFR Présentation des portails en 2014DevoxxFR Présentation des portails en 2014
DevoxxFR Présentation des portails en 2014
 
Investir sur son API web (in French)
Investir sur son API web (in French)Investir sur son API web (in French)
Investir sur son API web (in French)
 
2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services
 
De l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletDe l'open source à l'open API avec Restlet
De l'open source à l'open API avec Restlet
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlin
 
Introduction à Cloud Foundry Journée du Code 2017
Introduction à Cloud Foundry Journée du Code 2017Introduction à Cloud Foundry Journée du Code 2017
Introduction à Cloud Foundry Journée du Code 2017
 
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
Innover par et pour la donnée - Logilab ADBU Bibcamp 2015
 

Plus de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésLilia Sfaxi
 

Plus de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 

eServices-Chp6: WOA

  • 1. WOA: Web Oriented Architecture Chapitre 6 - eServices GL5 2015/2016 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1
  • 2. SOA est… •  Une architecture logicielle modulaire où les modules sont des services interagissant les uns avec les autres •  Une approche top-down •  Contient des constructions de haut niveau: •  Applications composites, orchestration, coordination… •  Basée sur des standards ouverts pour encourager l'interoperabilité •  LE modèle organisationnel dominant pour une architecture d'entreprise Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 2 SOA vs Web
  • 3. On the other hand, le Web… •  Défini par: •  Un protocole de transfert simple: HTTP (HyperText Transfer Protocol) •  Le langage HTML (HyperText Markup Language) pour décrire les ressources disponibles •  Un identifiant unique pour chaque ressource : URI (Unique Resource Identifier) •  Ne présente pas de limites pour les types de données transférées via HTTP •  Ne présente pas de limites sur la quantité de données transférées •  HTTP est extensible: il suffit de voir la taille du web Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 3 SOA vs Web
  • 4. Convergence entre Web 2.0 et SOA Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 4 SOA vs Web
  • 5. SOAP ou REST, that is the question! SOAP Tout est dans le message (entête, infos de sécurité…) XML WSDL : description de service (peut être très complexe) Spécification WS-* REST Tout est ressource, adressable via URI Interface uniforme (GET, POST, PUT, DELETE…) Client/Serveur Stateless Les réponses peuvent être stockées en cache Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 5 REST
  • 6. Pourquoi REST? •  Règle générale : "Unless you have a definitive reason to use SOAP, use REST" •  REST est beaucoup plus simple, car basé sur le standard HTTP •  REST autorise plusieurs formats de données, alors que SOAP n'accepte que XML •  Son support pour JSON, par exemple, lui donne un meilleur support pour les navigateurs web •  Meilleure performance, car ses lectures peuvent être stockées en mémoire cache •  Utilisation de REST: •  Yahoo l'utilise pour tous ses services •  Amazon et eBay fournissent les deux types de services web •  Google a changé vers REST en 2006 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 6 REST
  • 7. Pourquoi SOAP? •  WS-Security •  SOAP et REST supportent SSL •  Support des autres caractéristiques fournies par WS-Security, ce que REST ne fait pas •  REST fait juste du point-to-point, et ne supporte que SSL/TLS •  WS-AtomicTransaction •  Manipulation des transactions ACID sur un service •  REST est limité par HTTP, qui ne peut pas fournir un two-phase commit à travers des ressources distribuées (la plupart des applications internet n'en ont pas besoin, mais les applications entreprise, si) •  WS-ReliableMessaging •  SOAP supporte la gestion des fautes pour les messages: logique successful/retry interne •  REST laisse aux utilisateurs le soin de gérer les problèmes de communication en réessayant Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 7 REST
  • 8. Définition de la WOA •  Style d'architecture logicielle qui étend la SOA pour les applications Web •  Considéré comme une version légère de la SOA •  Utilise l'architecture REST "En d'autres termes, le modèle Web fournit une architecture unique, ouverte, et unifiée, qui est à la fois consistante, facilement consommée, extrêmement extensible, sécurisable, très réutilisable, résiliente, et hautement fédérée" Dion Hinchcliffe Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 8 WOA
  • 9. WOA: Seulement REST? •  REST est le protocole de base pour WOA •  WOA inclut également un ensemble de modèles de consommation extraits du web, comme: •  Mashup: Agrégation de contenu provenant d'autres sites grâce à des APIs ou flux RSS •  Web Widgets (ou Gadgets): un bout de code portable qui peut être installé et exécuté dans une page web •  WOA inclut un ensemble de standards largement utilisés pour la représentation, l'échange et la portabilité des données que REST ne supporte pas: •  OpenID: Système d'authentification décentralisé permettant l'authentification unique et le partage d'attributs •  O-Auth: protocole permettant à un site consommateur de manipuler les données d'un utilisateur dans un autre site fournisseur, mais seulement à sa demande (délégation d’autorisation) •  Microformats: Approche de formatage de données dans des pages web pour standardiser leur contenu en utilisant des classes et attributs de balises HTML et XHTML Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 9 WOA
  • 10. WOA: SOA + Web 2.0 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 10 WOA
  • 11. La pile WOA Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 11 WOA Distribu(on  :  Feeds,  APIs,  Widgets   Composi(on  :  Intégra3on,  Mashup,  Web    Widgets   Sécurité:  SSL,  O-­‐Auth,  HMAC-­‐SHA-­‐1   Portabilité  des  données:  OPML   Représenta(on  des  données  :  XML,  JSON,  etc.   Méthodes  de  transfert  :  HTTP/REST,  BitTorrent    
  • 12. Mais WOA, c’est aussi de la SOA! Elle respect les 8 principe de la Service Orientation •  Service Reusability •  Service Contract •  Service Loose Coupling •  Service Abstraction •  Service Composability •  Service Autonomy •  Service Statelessness •  Service Discoverability Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 12 WOA
  • 13. … avec quelques différences… SOA a en général un petit ensemble bien défini de terminaisons (endpoints) à travers lesquels plusieurs données et types de données peuvent passer •  WOA alloue à chaque ressource une terminaison, représenté par une URI SOA construit une couche de messages au dessus de HTTP grâce à SOAP et WS-* •  WOA utilise HTTP et ses mécanismes de transfert associés comme la meilleure abstraction pour la plupart des applications SOA est conçu comme étant Top-down par les vendeurs •  WOA est créée par une communauté de développeurs (bottom-up) SOA utilise WS-Security et autres standards sophistiqués pour la sécurité WOA utilise juste HTTPS, OAuth et HMAC-SHA-1 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 13 WOA
  • 14. À quoi ressemble une organisation utilisant WOA? •  Une toile riche de ressources REST •  Un ensemble d'outils pour "tisser" cette toile de ressources dans les nouvelles applications •  Un ensemble de composants WOA consommables et réutilisables incluant des widgets, gadgets, réseaux sociaux intégrés… •  Un ensemble d'APIs web publiques exposées sur Internet aux éventuels partenaires Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 14 WOA
  • 15. Articles REST vs SOAP, The difference between SOAP and REST, par Steve Francia, http://spf13.com/post/soap-vs-rest vu le 14/12/2014 Web Oriented Architecture, une transmutation des pratiques de construction des systèmes d'information, par Jerôme Valloire, publié le 05/05/12 et vu le 14/12/2014 Présentations Dion Hinchcliffe: Web-Oriented Architecture, Qcon 2009 – London Emiliano Pecis: Web Oriented Architecture at Oracle, 2008 15 Sources