Examen Construction d Applications Réparties



Documents pareils
Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

Plateforme PAYZEN. Définition de Web-services

Manuel d intégration API SOAP SMS ALLMYSMS.COM

Architectures Web Services RESTful


INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

GEI 465 : Systèmes répartis

Développement des Systèmes d Information

Définition des Webservices Standards Systempay Version 2.7c

Cours CCNA 1. Exercices

On Feature Interaction among Web Services Michael Weiss et Babak Esfandiari

Module BD et sites WEB

Le stockage local de données en HTML5

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

Définition des Webservices Ordre de paiement par . Version 1.0

TD sur JMS ) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS?

Mise en œuvre des serveurs d application

Guide des services Web 7.0

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Remote Method Invocation (RMI)

LE COURTAGE PRÊT AVEC OCLC 08 octobre Schéma de fonctionnement du prêt sans courtage. 4

Étude de faisabilité d'une application SOAP avec un système embarqué

PLAN DE LEÇON TITRE : Comprendre le crédit et votre rapport de solvabilité. Résultats d apprentissage de la littératie financière

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Microsoft Technopoche

Workshop e-business ISMIN 3A P2015

Application Web et J2EE

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

Atelier Le gestionnaire de fichier

Le modèle de données

Les Architectures Orientées Services (SOA)

Notice PROFESSEUR Le réseau pédagogique

Compte lecteur : Mode d emploi. Sommaire

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Installation et Administration de SolidWorks Electrical CadWare Systems

API Web Service TéléAlerte

La VOIP :Les protocoles H.323 et SIP

Module http MMS AllMySMS.com Manuel d intégration

Qu'est-ce que c'est Windows NT?

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Protection des protocoles

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

COMMUNICATION TECHNIQUE N TCV060 Ed. 01. OmniVista 4760 Nb de pages : 18 Date : URGENTE NON URGENTE TEMPORAIRE DEFINITIVE

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Serveurs de noms Protocoles HTTP et FTP

REGLEMENT INTERIEUR BIBLIOTHEQUE MUNICIPALE SALON DE PROVENCE

Compte Rendu d intégration d application

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs

HTML. Notions générales

Approche Contract First

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Portail : mode d emploi

L3 informatique TP n o 2 : Les applications réseau

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

NAS 109 Utiliser le NAS avec Linux

Installer Enterprise Miner 5.1 en SAS environnement Windows

Les services Web. Jeremy Fierstone fierston@essi.fr. SAR5 Novembre 2002

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Programmation Internet Cours 4

Demande de crédit pour l achat et la pose d horodateurs au parking du Centre. Politique globale de parcage dans le village de Château-d Oex

TP 7, 8 & 9 : Installation et Gestion de GLPI et Télédéploiement SISR 1 HUBERT JULIEN LABBE RICHARD DAY MICKAEL DOGNY CHRISTOPHE

But de cette présentation

4. SERVICES WEB REST 46

WebSSO, synchronisation et contrôle des accès via LDAP

Proposer de nouveaux services aux Levalloisiens. Des ressources numériques, accessibles à distance.

Les bibliothèques et les centres de documentation de l'enseignement tertiaire

OASIS Date de publication

25 septembre Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national

TP c Fonctions des listes de contrôle d'accès multiples (TP avancé)

[ Associations & Entreprises mandataires ] Guide Pratique.

Introduction à Microsoft InfoPath 2010

Descriptif de Kelio Protect

2 Chapitre 1 Introduction

Prêt de série et création de groupes d emprunteurs

Architectures web/bases de données

LES ACCES ODBC AVEC LE SYSTEME SAS

Tsoft et Groupe Eyrolles, 2005, ISBN :

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

Google Tag Manager v2 v1 dispo sur GTM pour les nuls dispo sur

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

GUIDE DE PAIEMENT. Pour Bien Effectuer votre Paiement, veuillez suivre les instructions suivantes :

Le langage C. Séance n 4

VTX FTP. Transfert de fichiers business par FTP - Manuel de l'utilisateur. Informations complémentaires : info@vtx.

Saisie sur un ordinateur OS/390 Ici sur jedi.informatik.uni-leipzig.de ou

Systèmes d'informations historique et mutations

Rapports d activités et financiers par Internet. Manuel Utilisateur

Programmation Web Avancée Introduction aux services Web

Création de formulaires interactifs

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Mise en place du Module Magento ShoppingFlux

PG208, Projet n 3 : Serveur HTTP évolué

Le Client/Serveur avec Enterprise Miner version 4

Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels.

Pourquoi utiliser SharePoint?

Tableau 7: Emissions polluantes scénario «futur avec projet 2014»

Transcription:

Examen Construction d Applications Réparties Maîtrise Informatique Université des Sciences et Technologies de Lille 2003-2004 Session Septembre 2004-3 heures Tous documents autorisés 1. Gestion d'un Parking (10 points) On considère un parking dont on souhaite automatiser la gestion en l administrant à distance avec un middleware CORBA. Le parking peut accueillir au maximum 50 véhicules. Une barrière gère les entrées et les sorties de véhicules : elle délivre un ticket à l entrée d un véhicule et elle contrôle le ticket fourni par l automobiliste à la sortie. Un automate de paiement permet sur présentation du ticket, de régler le montant correspondant au temps de stationnement. L automobiliste règle le montant du stationnement à l automate avant de franchir la barrière pour sortir. La barrière, l automate et le parking sont représentés chacun par un objet CORBA. L interface BarriereItf de la barrière fournit deux méthodes : - entrer : correspond à l entrée d un véhicule dans le parking. Retourne vrai si le véhicule peut rentrer (si place libre), faux sinon (et dans ce cas le véhicule ne peut pas entrer). Cette méthode fournit en paramètre de sortie une structure Ticket comprenant un numéro de ticket de type entier et une heure d entrée sous la forme d une chaîne de caractères. - sortir : correspond à la sortie d un véhicule. Retourne vrai si l automobiliste a réglé le montant du stationnement, faux sinon (et dans ce cas le véhicule ne peut pas sortir). Cette méthode prend en paramètre d entrée une structure Ticket. L interface AutomateItf de l automate fournit deux méthodes : - payer : correspond au paiement en fonction de la durée de stationnement. Retourne vrai si le montant fourni par l automobiliste est suffisant, faux sinon. Cette méthode prend en paramètre d entrée une structure Ticket et un montant de type réel double. Cette méthode fournit également en sortie une valeur de type réel double représentant la monnaie à rendre à l utilisateur. - cestregle : à partir d une structure Ticket fournie en entrée, retourne vrai si le montant du ticket a été réglé, faux sinon. L interface ParkingItf du parking fournit trois méthodes : Examen CAR 1 sept 2004

- nbplaceslibres : retourne un entier indiquant le nombre de places libres dans le parking. - entreevehicule : signale l entrée d un véhicule sur le parking. Ne prend aucun paramètre, ne retourne rien. - sortievehicule : signale la sortie d un véhicule du parking. Ne prend aucun paramètre, ne retourne rien. 1 Définir la structure Ticket et les interfaces IDL correspondant à ces trois objets CORBA dans un module ParkingPkg. (2 points) Arrivée d un véhicule 2 Lorsqu un automobiliste se présente à la Barrière, l objet CORBA barrière interroge l objet Parking avant de laisser entrer l automobiliste. Pourquoi? Quelle méthode invoque-t-il? (0,5 point) 3 A l issue de cela, il se peut que l objet Barrière invoque la méthode entreevehicule de l objet Parking. Cette méthode n a pas de paramètres et a pourtant un rôle essentiel. Lequel? (0,5 point) Sortie d un véhicule 4 Décrire le scénario de la sortie d un véhicule du parking : quel(s) objet(s) appelle(nt) quelle(s) méthode(s) de quel(s) autre(s) objet(s) et pourquoi? En particulier, on s attachera à fournir un scénario de fonctionnement permettant à l objet Barrière d autoriser ou non la sortie du véhicule. (1 point) Implantation du parking 5 Ecrire le code de la classe ParkingImpl implantant l interface ParkingItf. (1 point) Ajout d une barrière 6 On souhaite ajouter une deuxième barrière d entrée/sortie au parking. Cela modifie-t-il les interfaces définies à la question 1? Si oui comment, si non pourquoi. (1 point) 7 La classe ParkingImpl de la question 5 est modifiée suite à l ajout d une barrière. Après avoir rappelé les méthodes invoquées lors de l arrivée d un véhicule, expliquez en quoi consiste cette modification (on ne vous demande pas de la programmer). (1 point) 8 Même question pour la sortie d un véhicule. (1 point) Evolution du parking 9 On souhaite maintenant connaître les heures d entrée et de sortie des véhicules. Sans donner le code, expliquez comment vous pourriez faire cela. (1 point) Examen CAR 2 sept 2004

2. Gestion d'une bibliothèque (10 points) Le système d'information de la bibliothèque municipale de votre ville a été automatisé, il y a quelques années. Les bibliothécaires disposent d'un logiciel accessible depuis des terminaux de type ordinateur de bureau. Ce logiciel leur permet de gérer à la fois les livres, les usagers et les emprunts. En quelques lignes, voici les opérations possibles sur ce logiciel : Le bibliothécaire peut : - ajouter un nouveau livre, - supprimer un livre, - consulter la liste des livres selon différents critères (auteur, titre, éditeur, emprunteur), - consulter les données associées à un livre à partir de son titre ou de son ISBN (identifiant d'un livre), - ajouter un nouvel usager, - supprimer un usager, - consulter la liste des usagers selon différents critères (nom, catégorie (scolaire, étudiant, senior, travailleur, chômeur), adresse), - consulter les données associées à un usager à partir de son nom. Le bibliothécaire gère les emprunts pour un usager. Ce dernier peut : - emprunter 1 livre (au maximum 3) pour une durée de 15 jours, - ramener un livre avant ou à l'expiration de ce délai de 15 jours. Cela lui permet d'emprunter un nouveau livre, - demander une prolongation de 15 jours de son prêt (renouvelable deux fois, c'est-àdire au maximum un mois), - avoir une pénalité, si le livre n'a pas été ramené à temps. Cette pénalité consiste en une interdiction d'emprunt pendant la durée correspondant au retard. Un usager peut : - consulter le catalogue des livres selon différents critères (no ISBN, auteur, titre, éditeur) et permet de connaître, pour chaque livre, son emplacement dans la bibliothèque et sa disponibilité. 1 Identifier la structure de données nécessaires permettant de gérer les livres, les usagers et les emprunts. Commenter votre solution (2 points). 2 A partir de cette structure de données, identifiez les classes Java nécessaires et donnez les interfaces de ces classes Java (1 point) 3 Le bibliothécaire souhaite que l'accès au logiciel, en particulier pour la partie consultation, soit maintenant possible au travers d'un navigateur Web sans pour cela retoucher au logiciel initial. L'informaticien propose une première solution client/serveur à base de Web Services. Rappelez brièvement en quoi consiste cette technique et décrivez les avantages et les inconvénients (1 point). 4 Proposez une autre solution. Quels sont ses avantages et inconvénients par rapport à la solution proposée par l'informaticien? (1 point) Nous restons sur la solution à base de Web Services. Les deux messages suivants circulent entre le client et le serveur : 1 er message du client vers le serveur : 1 POST /Biblio HTTP/1.1 Examen CAR 3 sept 2004

2 Host: www.biblioserver.org 3 Content-Type: text/xml; charset="utf-8" 4 Content-Length: 999 5 SOAPAction: http://some.host/soapserver/convertisseur 6 7 <SOAP-ENV:Envelope 8 xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" 9 xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" 10 xmlns:xsd="http://www.w3.org/2001/xmlschema"> 11 <SOAP-ENV:Body> 12 <m:requestbook 13 xmlns:m="urn:xmethods-bibliotheque" 14 SOAP-ENV:encodingStyle= 15 "http://schemas.xmlsoap.org/soap/encoding/"> 16 <identifiant xsi:type=xsd:string> 17 7890765R55 18 </identifiant> 19 </m:requestbook > 20 </SOAP-ENV:Body> 21 </SOAP-ENV:Envelope> 2 ème message du serveur vers le client : 22 HTTP/1.1 200 OK 23 Content-Type: text/xml; charset="utf-8" 24 Content-Length: 999 25 26 <SOAP-ENV:Envelope 27 xmlns:soap-env= 28 "http://schemas.xmlsoap.org/soap/envelope/" 29 xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" 30 xmlns:xsd="http://www.w3.org/2001/xmlschema"> 31 <SOAP-ENV:Body> 32 <m:requestbook 33 xmlns:m="urn:xmethods-bibliotheque" 34 SOAP-ENV:encodingStyle= 35 "http://schemas.xmlsoap.org/soap/encoding/"> 36 <return xmlns:ns2="urn:bibliotheque" 37 xsi:type="ns2:product"> 38 <name xsi:type="xsd:string">victor Hugo </name> 39 <titre xsi:type="xsd:string">les Miserables</titre> 40 <emplacement xsi:type="xsd:string"> B5 </emplacement> 41 <dispo xsi:type="xsd:string"> oui </dispo> 42 </return> 43 </m:requestbook > 44 </SOAP-ENV:Body> 45 </SOAP-ENV:Envelope> 5 Donnez la signification des lignes 1 à 5 dans le premier message et 21 à 24 dans le second message (0,5 point) 6 Que définissent les lignes 7, 8, 9, 10? (0,5 point) Examen CAR 4 sept 2004

7 Expliquez la différence entre les lignes 8, 9, 10 et la ligne 13? (0,5 point) 8 A quoi sert l'attribut "xsi:type" dans les lignes 37, 38, 39, 40, 41? (0,5 point) 9 Pourquoi préfixe-t-on string par xsd: dans la ligne 38? (0,5 point) 10 Le langage de description de service (WSDL) sert à définir les échanges. La première partie de cette définition concerne le type des messages échangés. Définissez le type du message de retour (balise return) sous forme d'un XML schéma (1 point) 11 La bibliothèque souhaite maintenant proposer un accès à distance de façon à étendre son service de prêts à des usagers éloignés. Quelle est la première étape à mettre en œuvre pour faire connaître ce service? (1 point) 12 Ce service étant maintenant accessible via Internet, il faut en sécuriser l'accès. Quelle solution proposez vous? (0,5 point) Examen CAR 5 sept 2004