Ceci est une ancienne révision du document !
Module WI4 : Du Web, Web Services, aux Services
Programme du cours
Approche orientée service pourquoi / comment ?
- Du Service au Web service
- Service et Binding
- Binding Web
Semaine 1: Cours (2h)
Semaine 1 : TD (2h)
Programmation d'un Serveur Web Minimaliste et introduction au M2M
Autres références :
Semaine 2 : Cours (1h)
Semaine 2 : TD (2h)
Apache sous Linux : une Serveur Web pour Services Web
Objectifs du TD
- DATA Statique : Web server HTTP et page HTML Statique
- DATA Dynamiques : cgi-bin
- DATA Exchange, first Client Serveur over Web : un cgi-bin serveur et client
- REST sans le dire
- Mon premier service et client REST
- invocation de méthode avec GET
- échanges et stockage de données (GET / PUT) - les limites sur des données émises , voir POST
Semaine 3 : Cours REST, ROA, et Service Web RESTFul
Semaine 3 : TD Service Web RESTFul
Semaine 4 : Cours SOA et Service Web WS-SOAP
Semaine 5 : Cours / TD MetaData Exchange et Langages de Description de Service
Cours Langage de Description de Services, ex. WSDL
TD MetaData Exchange (MEX) sous WCF- Windows Communication Foundation
Sérialisation / Désérialisation
URI limité pour le message Client Serveur donc POST
- l'URI n'est plus que l'adresse du service
Sortir des formats Ad-Hoc de données échangées
- Des sérialiseurs et désérialiseurs sur étagère
- JSON
- SOAP
- others
Langage de description de service
Descrition d'API
WSDL 1.0 / WS-SOAP
REST : WADL
Convergence REST SOAP (ROA SOA)
- WCF Contrat de données d'opérations
- Voir mes Notes
Description de Services et autres informations
- annotations sémantiques …
- …
SOA
Mais REST pour le WSOA
- Vue TP … !!! - mais limité
TD : Thèse sur REST RESTFul
- QCM sur un texte ROA et CRUD …
- QCM : REST pour des domaines d'appli non logiciels
Modèle Général de Service et Web Service
Binding
Format
Contrat
TP WCF
Test Automatique de Web Service
Outils logiciels pour les TDs de ce Cours
Visual Studio version Pro ( post VS 2012)
Vous pouvez récupérer une version de Visual Studio Professional 2013.
Vous devez pour cela créer un compte sur https://www.dreamspark.com/Account/SignIn.aspx depuis une adresse de messagerie d'établissement scolaire (domaine). Pour nous, le compte est attaché à l'établissement POLYTECH'NICE (et non Polytech'Nice Sophia Antipolis).
Vous devez alors avoir accès à des téléchargements gratuits sur la page https://www.dreamspark.com/Student/Software-Catalog.aspx. Vous pourrez télécharger Visual Studio Professional 2013 depuis https://www.dreamspark.com/Product/Product.aspx?productid=72
Vérifiez bien que vous pouvez créer un projet du type : Projet > Visual C# > WCF
Si vous n'avez pas de projet type “WCF” c'est que vous n'avez pas installé de version “Pro”. ATTENTION car dans ce cas VOUS NE POURREZ PAS FAIRE LES TDS !!!
En cas de Pb envoyez moi un mail avec un sujet : [PB SI4 : Visual Studio 2013 Profesionnal]
cURL
Il s'agit d'un utilitaire en ligne de commandes qui permet d'accéder à toutes les commandes HTTP et idéal pour tester les API REST
Voici le site de téléchargement des distributions de cURL tout OS : cURL
Autres Liens et Références
Tutoriaux de base et avancés sur WCF
Pages officielles de Microsofts sur Windows Communication Foundation
Evaluations et Corrections
Ces 6 semaines font l'objet de 2 évaluations :
- une première à mi-parcours
- une seconde lors de la dernière séance du module complet
Voici la correction de la première évaluation Correction Evaluation sur les Web Services 2015
Quelques évolutions possibles de ce cours ...
- Mettre à jour TD1 : possibilité d'utiliser C# pour cgi-bin, voire introduction de WebSocket
- Installation d'Apache : mettre à jour avec la dernière version
- Suppression du TD Gsoap pour un TD Web service embarqué
- Ajout d'un TD sur le binding et la notion de channel (protocol channel et transport channel)
- Revoir (retester) TD sur l'interopérabilité les services écrit en JAVA / C#
- Utilisation de Maven pour créer un service Web SOAP en Java
- Vérifier les procédure de téléchargement de VS 2013
- Créer une machine virtuelle VMWARE pour VS2013 avec la bonne configuration réseau
- Créer une machine virtuelle linux pour l'installation d'Apache, voir le développement de services Web sur un réseau simulé.
- Manque la killer application …. Mashup ? une orchestration sympa ? avec un dispositif ?
- Introduction à WS-* et WS-eventing