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