Outils pour utilisateurs

Outils du site


Panneau latéral

Accueil

Select other language :


Apprentissage

Enseignements

Enseignements Département Informatique SI5 et Master IFI

Enseignements Département Bâtiment Polytech'Nice

Autres Formations française et étrangère

Activités administratives, Ingénierie et Innovation Pédagogiques

Apprentissage Département Informatique SI5/Master 2 ingénierie informatique EUR DS4H


Recherche

Valorisation de la Recherche

Dépôts Logiciels à l’Agence de Protection des Programme (APP)

Valorisation des résultats de recherche et transfert

Diffusion de la Culture scientifique et Technologique

Communications de presse

Séminaire ENSI Tunis

Pédagogie Innovante

Relations industrielles et socio-économique

Organisation de Manifestations

  • Conférence sur les FabLabs, Alexandre Schneider, Professeur Agrégé en Génie Mécanique, Université de Reims Champagne-Ardenne Web
  • Journées UbiMob'14 Site Web

Animation de la Recherche

U-Santé

Privé

Outils

Sources d'Informations

cours:app_rep_orientees_service_2016_2017

Module WI4 : Web Services et Mise en oeuvre avec WCF .Net


Synthèse des retours et évolution du cours prévue en 2017-2018

retours 2017
  • La Virtualisation des machines en mode DAAS très appréciée (Windows 10 accessible par RDP sur le Cloud Microsoft Azure)
  • La Virtualisation des machines sur un serveur local est une solution alternative intéressante
  • Le Sujet de Projet très intéressant
  • Le Contenu trop proche de la formation SI3
  • Des retours plus fréquents de l'enseignant serait un plus

EVOLUTIONS PREVUES EN 2017

Contenu

  • Dans le but d'aller plus loin, nous nous appuierons sur les acquis d'SI3 comme requis
  • Les principes de Windows Communication Foundation (WCF) seront introduits d'emblée
  • Nous explorerons des aspects plus avancées et complexes des web services et Services Logiciels tels que :
    • Les solutions techniques d'hébergement multiples des services WCF par différents hôtes Cf. class ServiceHost, IIS, Apache, AppFabric
    • Le déploiement rapidement des services logiciels complexes avec des points de terminaison multiples avec différents types d'adresse et de bindings (HTTP, HTTPs, TCP/IP, etc..) pour l'interopérabilité
    • La fiabilité du service en utilisant les transactions et les files de messages
    • Le modèle de sécurité WCF
    • Le modèle d'invocation asynchrone
    • Comment étendre le framework WCF

Organisation

  • Dédoublement de l'offre de virtualisation pour les TDs avec mise à dispostion du Cloud Microsoft Azure dans des horaires précis, et mise à disposition de machines virtuelles sur serveurs de l'Ecole
  • Evaluation régulière du travail en cours de TD avec :
    • Note sur la progression du TD en séance
    • Tests et évaluation avec l'enseignant en séance
    • QCM de TD pour tous

l'Objectif étant de donner un grand nombre de note avec des retours réguliers.

VOTRE AVIS sur le Cours et l'Utilisation du Microsoft Cloud Azure NOUS INTERESSE

Veuillez remplir ce questionnaire en ligne et l'envoyer

REMPLIR CE FORMULAIRE


Semaine 1 :

mise en place et manipulation de votre environnement de travail
Rappel SI3 du Web au Web Services

Semaine 2 :

Cours REST, ROA, et Service Web RESTFul
TD WS-REST C# WCF . Net (2h)

Semaine 3 :

Cours SOA et Service Web WS-SOAP
TD WS-SOAP C# WCF . Net (2h)

Semaine 4 :

Cours / TD MetaData Exchange et Langages de Description de Service

Semaine 5 :

Cours / Modèle ABC de WCF

Semaine 6 :

Cours de Synthèse
  • QCM sur le modèle ABC de WCF
  • Questionnaire d'enquête sur l'utilisation de Microsoft Cloud Azure
  • Questions de Cours
  • Pour aller plus loin … [Introdution à la seconde partie du Cours Middleware of Things en SI5]
    • Web of Things
    • Semantic Web of Things
    • Gestion Dynamique des Web Services for Device (Recherche et Découverte mais aussi gestion de présence)
    • Demo Continuum (video)

Synthèse et TD à rendre

Sujet

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 :

  • Application Windows Forms
  • ou ASP .Net Web Application
Question 1: Version 1.0, optimisation de l'utilisation des Velibs de la ville de Paris

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,

Question 2 sur la Tarification des services

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.

Question 3 : Version 2.0 : multi-bindings Extranet / Intranet

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 :

  • un point d'accès extranet WS-SOAP sécurisé (over HTTPS)
  • un point d'accès intranet du type net.Tcp (over TCP/IP)

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)

RENDU de TD6

Ce TD se fera en groupes d'au plus 2 étudiants.

Ce TD est à rendre à l'enseignant responsable du cours sous la forme suivante :

  1. Vos solution (ex. la sous arborescence des fichiers et répertoires) doivent être regroupés dans un fichier <votre_nom>.zip, où <votre_nom> est votre nom (sans le prénom) tout en minuscules. Ce fichier et toute les arborescences qu'il contient doivent se “dézipper” dans un répertoire commun <votre_nom>.
  2. Un fichier README.txt doit être rédigé pour donner un minimum d'explications sur votre solution, son déploiement, sa mise en oeuvre. Fournir des scripts associés pour automatiser cette phase de déploiement et de test sera un plus.
  3. Le fichier .zip et le fichier README.doc (les calculs de la question 2 nécessitent un format pour les équations) doivent être attaché à un email à l'attention de tigli@unice.fr
  4. Votre email à l'attention de tigli@unice.fr doit comporter le sujet suivant : [TD6 APP REP SI4 2017] [<votre_nom>], où <votre_nom> est votre nom (sans le prénom) tout en minuscules.
  1. La date limite de rendu est le Dimanche 21/05/17 à minuit . Toute heure de retard sera pénalisée par un point de moins sur la note du TD.
  2. Tout rendu qui ne respectera pas l'intégralité des consignes ci-dessus ne sera pas pris en compte car potentiellement intraitable et perdu lors de la collecte et le rangement automatique de mails.

FAQ : Frequently Asked Questions

Peut-on avoir plusieurs contrats pour un service ?

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

Peut-on recevoir plusieurs exceptions dans le cadre du porttype Requête/Réponse de WSDL ?

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.

Annexes du Cours


Références

API web Services Google

Utilisation des Services Web de Google appelés aussi APIs

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 :

  1. Activer Google Street View Image API
  2. Créer les clés appropriées
Liste des Services Web de Google

Les Services Web de Google se trouvent sur Google Developers

Selon l'APIs diverses explications vous seront fournies comme :

  • L'algorithme utilisé par le service (ex: deep depth)
  • Le type et le format des paramètres de l'url utilisée (ex pour translate : (Lien vers un formulaire de test)
  • des bibliothèques fournies par API, plateforme etlangage (ex. .Net pour implémenter un

Outils logiciels pour les TDs de ce Cours

Visual Studio version Pro ( post VS 2012)
Les prochains travaux dirigés utiliseront l'IDE Visual Studio 2013 en version professionnelle.

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

Test Automatique de Web Service

Evaluations et Corrections

ARCHIVES

cours/app_rep_orientees_service_2016_2017.txt · Dernière modification: 2017/07/07 19:04 par tigli