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

Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services WebLilia Sfaxi
 
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
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantALTIC Altic
 
P3 listes et elements graphiques avancés
P3 listes et elements graphiques avancésP3 listes et elements graphiques avancés
P3 listes et elements graphiques avancésLilia Sfaxi
 
Android-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursLilia Sfaxi
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesLilia Sfaxi
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques androidLilia Sfaxi
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWSLilia Sfaxi
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation ConteneurisationTADx
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateYouness Boukouchi
 

Tendances (20)

Presentation SOAP
 Presentation SOAP Presentation SOAP
Presentation SOAP
 
Support de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfiSupport de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfi
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
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
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performant
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
P3 listes et elements graphiques avancés
P3 listes et elements graphiques avancésP3 listes et elements graphiques avancés
P3 listes et elements graphiques avancés
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
 
Android-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateurs
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications Mobiles
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques android
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernate
 

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-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: IntroductionLilia Sfaxi
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpelLilia 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-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: Introduction
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
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