EVOLUTIONS PREVUES EN 2017
Contenu
Organisation
l'Objectif étant de donner un grand nombre de note avec des retours réguliers.
ATTENTION ATTENTION à la synchronisation de OneDrive ! Quelques consignes et configurations à faire ....
TD Introduction WS-REST et client sous WCF .Net en C#
TD Serveur WS-REST sous WCF .Net en C#
Correction TD2.a
Correction du client aux Web Service du velib parisien
Cours Langage de Description de Services, ex. WSDL
TD MetaData Exchange (wSDL pour WS-SOAP) sous WCF- Windows Communication Foundation
L'objectif de ce sujet est d'exploiter pleinement WCF .Net, tant pour des configurations standards comme WS-SOAP et WS-REST mais aussi dans les multiples “bindings” de Services, au-delà du Web d'ailleurs. Le TD à rendre porte sur plusieurs versions basées sur une approche incrémentale. Il est ambitieux. En faire qu'une partie permettra donc d'obtenir une note satisfaisante dans la mesure où le rendu est de qualité.
Chaque client de test sera implémenté dans un projet Win32 Console ou un plus :
Les approches SOA et en particulier WSOA (Web Service oriented Architecture) sont principalement adaptées aux développements d'applications entre différents acteurs logiciels (en général des fournisseurs de services logiciels distincts). Nous avons vu dans les TDs précédents comment accéder à différents services avec des technologies différentes.
Nous allons donc utiliser les web services fournis sur la gestion des Velib de Paris, ainsi que des web services logiciels de planification de déplacement comme Google Map (vu en TD), Waze ou OpenStreetMap.
Il s'agit alors de développer un service logiciel de type Web Service SOAP qui planifiera le meilleur trajet piéton + vélo Vélib en fonction de la position de départ et d'arrivée de l'usager et de la disponibilité des vélos dans les stations. Son interface est simple. Elle fournit un trajet à suivre (sous forme textuelle ou graphique, comme indiqué ci-dessus) et indique le trajet à suivre pour atteindre la station de Vélib la plus proche,
A partir d'un modèle de coût (coûts associés à une requête sur chacun des services sont autant de variables dans votre équation, y compris le vôtre …) donner une évaluation des tarifs pour 1 utilisation de vos services.
Faite des évaluations avec les coûts que vous trouverez chez les fournisseurs pour une utilisation professionnelle de votre service.
WCF .Net offre la possibilité de choisir simplement les bindings qui conviennent le mieux à votre implémentation et déploiement de services. Ainsi avec le changement de quelques paramètres de configuration (Cf. fichier App.config) il est possible de choisir parmi une dizaine de configurations vues en cours. Dans la mesure où vous voulez distinguer le binding de la mise en œuvre de votre service entre votre intranet et extranet, configurez 2 point d'accès pour votre service :
Développez 2 clients de test en mode textuel ou graphique (Cf. ci-dessus).
Vous simulerez votre réseau intranet avec la plage d'adresses locales : 127.168.0.x (dont localhost) et votre extranet avec votre adresse IP publique (attention, la politique de sécurité de l'établissement ne vous permet d'accéder à votre adresse que depuis une machine du même réseau local. Utilisez donc la machine de votre binôme pour les tests)
Ce TD est à rendre à l'enseignant responsable du cours sous la forme suivante :
Dans le cadre de la définition d'un service pour WCF, il est possible de définir plusieurs contrats. Un service est en fait défini par une liste de “endpoints”, eux mêmes composés des 3 éléments : une adresse, un “binding”, un contrat. Voici une illustration sur ce point
Dans le cadre d'un porttype de type requête - réponse, seuls deux messages sont envoyés. Le premier du client vers le serveur (<input>) et le second du serveur vers le client. Dans ce dernier cas il peut s'agit d'un message de retour “normal” (<output>) mais aussi d'une erreur qui déclenchera une exception (<fault>). Dans ce dernier cas il y aura autant de messages associés que d'exceptions possibles. C'est en ce sens que l'on peut distinguer différentes exceptions car différents messages.
Programming WCF services de Juval Lowy
Pro WCF 4 pratical microsoft SOA implementation de Nishith Pathak
Tutoriaux de base et avancés sur WCF
Pages officielles de Microsofts sur Windows Communication Foundation
Les APIs Google sont principalement des Services Web de type REST / GET. Les paramètres d'appel sont donc présents dans l'url.
Par exemple : https://maps.googleapis.com/maps/api/streetview?size=600x300&location=43.6419409,7.0306163&heading=151.78&pitch=-0.76&key=<XXXXXKEYXXXXX>
Pour chaque API vous devez créer un projet et obtenir une Clef <XXXXXKEYXXXXX>.
Ceci se déroule en 3 étapes :
Les Services Web de Google se trouvent sur Google Developers
Selon l'APIs diverses explications vous seront fournies comme :
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]
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