REST et eXist-DB

  • Comment exposer l'application sous forme REST-full ?

    Par exemple : /vins/blason-d-issan/2006

  • Tout en organisant le code à sa manière !

    Par exemple : /applications/cave.xql?millesime=2006&vin=blason-d-issan

  • La solution : la réécriture des URLs

La réécriture des URLs

  • Faite par un composant amont qui reçoit TOUTES les requêtes (URLRewriteFilter)

  • Sépare l'espace des URLs externes, et l'espace des URLs internes (celles-qui désignent le code)

  • Optionnellement il permet de réécrire aussi d'autres constituants des requêtes

    • introduction, suppression, réécriture des paramètres
    • introduction, suppression, réécriture d'attributs sur les requêtes

Architecture

  • 3 alternatives pour exécuter une requête arrivant sur eXist-DB

À suivre....

  • Ce module se poursuit avec les transparents suivants :

  • Controller.xql

  • Exemple de Pipeline

  • Redirection explicite

  • Redirection invisible

  • Accès direct

  • Pattern du contrôleur de ressource

  • Exercice 10

  • RestXQ

  • Exemple

  • Annotations RestXQ

  • Limitations

  • Fonctions RESTXQ

  • Implémentations

  • Implémentation XQuery

  • Implémentation Java

  • Pré-requis

  • Exercice 11