0
Interopérabilité Architecture REST
Principes <ul><li>A chaque ressource un identifiant </li></ul><ul><li>Beaucoup de liens entre les ressources </li></ul><ul...
identifiants <ul><li>URI : identifiant unique et global </li></ul><ul><li>http://desanti.org/cahiers </li></ul><ul><li>htt...
liens <ul><li>« Hypermedia as the engine of the application state » </li></ul><ul><li>Liens + URI  ~~> interopérabilité </...
Méthodes standards <ul><li>Pour toutes les ressources une m ême interface </li></ul><ul><li>GET </li></ul><ul><ul><li>Récu...
GET <ul><li>http://desanti.org/cahiers/0109 </li></ul><TEI xml:id=&quot;cahiers_0109_&quot;> <facsimile> <surface xml:id=&...
PUT <ul><li>Cahiers remplacer ou créer la ressource </li></ul><ul><li>Cahiers/xxxx … </li></ul><ul><li>Pages … </li></ul><...
DELETE <ul><li>Cahiers supprime la collection </li></ul><ul><li>Cahiers/xxxx supprime le cahier </li></ul><ul><li>Pages … ...
POST <ul><li>Cahiers ajouter un cahier aux cahiers </li></ul><ul><li>Cahiers/xxx nil </li></ul><ul><li>Pages ajouter une p...
Méthodes standards <ul><li>Faire de l’application une partie du Web </li></ul><ul><li>Les clients doivent implémenter les ...
Représentations des ressources <ul><li>Le client doit conna ître le format des données </li></ul><ul><li>S’ils existent, c...
Synthèse noms verbes Types  de  contenu
Sans état <ul><li>Au sein d’une ressource </li></ul><ul><li>C ôté client </li></ul><ul><li>Le serveur n’a pas à retenir le...
REST ? <ul><li>Défini, dans son mémoire de thèse, par R.T. Fielding </li></ul><ul><li>Architecte du protocole HTTP et des ...
Upcoming SlideShare
Loading in...5
×

Rest pour l'interopérabilité

567

Published on

présentation de 10 minutes donnée à l'ISH le 26/11/2008

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
567
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Rest pour l'interopérabilité"

  1. 1. Interopérabilité Architecture REST
  2. 2. Principes <ul><li>A chaque ressource un identifiant </li></ul><ul><li>Beaucoup de liens entre les ressources </li></ul><ul><li>Des méthodes standards </li></ul><ul><li>Standards pour la représentation des ressources </li></ul><ul><li>Sans état (c ôté serveur) </li></ul>
  3. 3. identifiants <ul><li>URI : identifiant unique et global </li></ul><ul><li>http://desanti.org/cahiers </li></ul><ul><li>http://desanti.org/users/peportier/cahiers/0127 </li></ul><ul><li>http://desanti.org/cahiers/0112/pages/0002 </li></ul><ul><li>http://desanti.org/cahiers/0112/pages/0002/inserts </li></ul><ul><li>Partage, marque-page, etc. </li></ul><ul><li>Web machine - machine </li></ul>
  4. 4. liens <ul><li>« Hypermedia as the engine of the application state » </li></ul><ul><li>Liens + URI ~~> interopérabilité </li></ul><ul><li>Le serveur fournit des liens au client </li></ul><ul><li>Le client suit un lien pour changer l’état de l’application </li></ul><ul><li><p>voir <ref @target= http : //desanti . org/cahiers/0112/pages/0003 »> la page 3 du cahier 112 </ref> </p> </li></ul>
  5. 5. Méthodes standards <ul><li>Pour toutes les ressources une m ême interface </li></ul><ul><li>GET </li></ul><ul><ul><li>Récupère une représentation </li></ul></ul><ul><ul><li>S ûre et idempotente </li></ul></ul><ul><li>PUT </li></ul><ul><ul><li>Mettre à jour ou créer une ressource à cette URI </li></ul></ul><ul><ul><li>Idempotente </li></ul></ul><ul><li>DELETE </li></ul><ul><ul><li>Idempotente </li></ul></ul><ul><li>POST </li></ul><ul><ul><li>Ni s ûre, ni idempotente </li></ul></ul>
  6. 6. GET <ul><li>http://desanti.org/cahiers/0109 </li></ul><TEI xml:id=&quot;cahiers_0109_&quot;> <facsimile> <surface xml:id=&quot;cahiers_0109_pages_0001&quot;> <graphic url=&quot;cahiers/0109/0001_high.jpeg&quot;/> <graphic url=&quot;cahiers/0109/0001_low.jpeg&quot;/> </surface> … <surface xml:id=&quot;cahiers_0109_pages_0138&quot;> <graphic url=&quot;cahiers/0109/0138_high.jpeg&quot;/> <graphic url=&quot;cahiers/0109/0138_low.jpeg&quot;/> </surface> </facsimile> </TEI> <TEI xml:id=&quot;cahiers_0109_pages_0006_inserts_001_&quot;> <facsimile> <surface xml:id=&quot;cahiers_0109_pages_0006_inserts_001_pages_0001&quot;> <graphic url=&quot;cahiers/0109/0006_001/0001_high.jpeg&quot;/> <graphic url=&quot;cahiers/0109/0006_001/0001_low.jpeg&quot;/> </surface> …
  7. 7. PUT <ul><li>Cahiers remplacer ou créer la ressource </li></ul><ul><li>Cahiers/xxxx … </li></ul><ul><li>Pages … </li></ul><ul><li>Pages/xxxx … </li></ul><ul><li>Inserts … </li></ul><ul><li>Inserts/xxx … </li></ul>
  8. 8. DELETE <ul><li>Cahiers supprime la collection </li></ul><ul><li>Cahiers/xxxx supprime le cahier </li></ul><ul><li>Pages … </li></ul><ul><li>Pages/xxxx … </li></ul><ul><li>Inserts … </li></ul><ul><li>Inserts/xxx … </li></ul>
  9. 9. POST <ul><li>Cahiers ajouter un cahier aux cahiers </li></ul><ul><li>Cahiers/xxx nil </li></ul><ul><li>Pages ajouter une page aux pages </li></ul><ul><li>Pages/xxx nil </li></ul><ul><li>Inserts ajouter un insert aux inserts </li></ul><ul><li>Inserts/xxx nil </li></ul>
  10. 10. Méthodes standards <ul><li>Faire de l’application une partie du Web </li></ul><ul><li>Les clients doivent implémenter les quatre méthodes du protocole HTTP. </li></ul>dir &quot;cahiers&quot; [ path $ umCahier -> [ … ] ,get $ asXml (getUserCahiers u) $ withRoot &quot;teiCorpus&quot; >>> withId &quot;result&quot; ,methodSP POST $ request $ (d::TeiCorpuss) -> (webUpdate $ PostCahiers u d) >> okXml &quot;<r>ok</r>&quot; ,method DELETE $ (webUpdate $ DelCahiers u) >> okXml &quot;<r>ok</r>&quot; ]
  11. 11. Représentations des ressources <ul><li>Le client doit conna ître le format des données </li></ul><ul><li>S’ils existent, choisir des standards ! </li></ul><ul><li>TEI, EAD, etc. </li></ul>
  12. 12. Synthèse noms verbes Types de contenu
  13. 13. Sans état <ul><li>Au sein d’une ressource </li></ul><ul><li>C ôté client </li></ul><ul><li>Le serveur n’a pas à retenir les états des communications avec ses différents clients. </li></ul><ul><li>Passage à l’échelle </li></ul><ul><li>Indépendance vis-à-vis des changements côté serveur </li></ul>
  14. 14. REST ? <ul><li>Défini, dans son mémoire de thèse, par R.T. Fielding </li></ul><ul><li>Architecte du protocole HTTP et des URIs </li></ul><ul><li>Définit un « style d’architecture » comme la donnée d’un ensemble de contraintes. </li></ul><ul><li>Canal nommé, filtres, client / serveur, objets distribués, … REST </li></ul><ul><li>Une instance de ce dernier style : le Web (HTTP, URIs, standards de données) </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×