Les dernières années ont connu un essor fulgurant de l’utilisation d’Internet comme plateforme applicative: Internet n’est plus seulement un vecteur de documents, mais un vecteur de services. Une illustration marquante en est donnée par Google Maps qui a fourni a de nombreuses applications la capacité d’intégrer facilement l’utilisation de cartes du monde.Cet essor est porté par des méthodes standards permettant de proposer et de consommer des services via le web, de trouver des services et de les composer pour bâtir des applications ou proposer de nouveaux services.Ce module aborde les principes de fonctionnement et d’utilisation des web services -applicables dans divers langages de programmation- et la mise en application sera plus particulièrement étudiée en Java.Ce module vise à vous permettre de découvrir et pratiquer ces méthodes, d’être en mesure de consommer et de proposer des services.
Ressources
Littérature d’initiationComme point d’entrée en services web, il peut être intéressant de regarder:http://opikanoba.org/tr/fielding/rest/, le document à la base des services REST
Quelques Sujets concernant les web services
Services REST
Services SOAP
Exemples de domaines applicatifs
Cartographie et services géographiques
Traduction
Web social
Objectifs Pédagogiques
Services distribués : savoir expliquer et manipuler le calcul vectoriel, les transformations d’espace, les modèles de couleurs et d’éclairage, les images et textures
Compréhension des principes des services REST : savoir expliquer les 4 fonctions d’un service REST, comprendre ce qu’implique la réalisation et la consommation d’un service REST
Compréhension des principes des services SOAP : savoir expliquer les éléments qui structurent et décrivent un service SOAP
Application:savoir expliquer comment les connaissances acquises sont mise en place dans le code
Résultats attendus (A affiner selon vos besoins)
PAN1 :
Décrire les services nécessaires au prototype
Expliquer comment ces services sont exploités.
PAN2 :
Expliquer les principes de communication retenus pour le ou les services créés ou consommés
Livrable: implémentation d’un service et d’un consommateur de service
PAN3 :
Expliquer les problèmes réels ou potentiels des services retenus pour le prototype
Décrire le fonctionnement et l’intégration du module dans le prototype allégé
Livrable :
PAN4 :
Analyser comment le module est intégré dans le prototype, quelles pistes d’améliorations seraient à envisager (performance, simplicité,)
livrable biblio : les principes de fonctionnement, l’intérêt et les limites des services Web
Nous proposons deux possibilités :
L’utilisation d’un serveur d’applications du type GlassFish avec son environnement de développement NetBeans. Dans ce type d’approche, les pages et les services sont programmés sous la forme d’Entreprise Java Beans. Utiliser un serveur d’application est conseillé pour les entreprises mais peut être utilisé par les projet PACT.
L’utilisation du toolkit SAW (Stand Alone Web server) permet de développer facilement des services Web. Il est possible de développer une application Web avec SAW. Le site montré en exemple ici a été totalement programmé avec SAW. Mais il est également possible de développer un site en WordPress qui intègre des services mis en oeuvre avec SAW.
Pour des raisons de sécurité, il est un peu complexe de mettre en ligne des services Java à l’école. Une solution peut être l’utilisation de Google App Engine, une plateforme de Google qui permet d’héberger des services en ligne, notamment en Java (voir https://developers.google.com/appengine/docs/java/gettingstarted/?hl=fr).