eServices-Chp6: WOA

15
WOA: Web Oriented Architecture Chapitre 6 - eServices GL5 2015/2016 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1

Transcript of eServices-Chp6: WOA

Page 1: eServices-Chp6: WOA

WOA: Web Oriented Architecture Chapitre 6 - eServices

GL5 2015/2016

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 1

Page 2: eServices-Chp6: WOA

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. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 2

SOA vs Web

Page 3: eServices-Chp6: WOA

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. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 3

SOA vs Web

Page 4: eServices-Chp6: WOA

Convergence entre Web 2.0 et SOA

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 4

SOA vs Web

Page 5: eServices-Chp6: WOA

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. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 5

REST

Page 6: eServices-Chp6: WOA

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. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 6

REST

Page 7: eServices-Chp6: WOA

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. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 7

REST

Page 8: eServices-Chp6: WOA

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. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 8

WOA

Page 9: eServices-Chp6: 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. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 9

WOA

Page 10: eServices-Chp6: WOA

WOA: SOA + Web 2.0

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 10

WOA

Page 11: eServices-Chp6: WOA

La pile WOA

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 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    

Page 12: eServices-Chp6: WOA

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. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 12

WOA

Page 13: eServices-Chp6: 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. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 13

WOA

Page 14: eServices-Chp6: 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. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 14

WOA

Page 15: eServices-Chp6: 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