Exam08 Correc
Exam08 Correc
Exam08 Correc
Epreuve crite individuelle 8 Dcembre 2008, dure 45 mns Aucun document autoris => Finalement, autoriss et semble-t-il utiles !!...
2. google Search ou Amazon web services electronic commerce requirent une cl qui sert : a) Identifier le web service invoqu b) Identifier lutilisateur qui accde au web service c) Identifier la machine Internet qui met linvocation du web service b) uniquement
3. Loutil Axis dApache est : a) Un moteur dorchestration de processus mtier b) Une recommandation du W3C, lie la technologie des Web Services c) Un moteur (encodeur, dcodeur) de messages crits selon le protocole HTTP d) Un moteur (encodeur, dcodeur) de messages crits selon le protocole SOAP Axis sait recevoir et envoyer aussi bien des demandes dappels de web services formules en paquets http, que formules selon le protocole SOAP (enveloppe SOAP)
4. REST veut dire: a) Une norme du W3C b) Une manire de dialoguer avec un service web au dessus de IP c) Une manire de dialoguer avec un service web via JMS (Java Messaging System) d) Une faon de reprsenter une adresse dun service web Cest le b), et plus prcisment, cest le protocole http au dessus de IP
5. Un service web cest: a) Un processus BPEL b) Un ensemble de paquetages et classes Java c) Une page HTML Page 1 / 7
d) Une page JSP e) Un fichier WSDL b) Limplmentation dun web service peut effectivement prendre la forme de classes de paquetages Java. Mais aussi peut prendre la forme dun code crit en langage BPEL (mais de manire stricte, un web service nest pas forcment un processus BPEL) Un service web est par contre obligatoirement associ avec un fichier WSDL qui spcifie en fait prcisment les informations ncessaires pour pouvoir se servir du service web. 6. Pour publier un service web: a) On doit rsoudre ses dpendances vis--vis dautres services b) On doit utiliser le protocole Internet DNS c) On utilise un registre de services web, qui sappelle dailleurs ?? (rpondre dessous) ??= UDDI c)uniquement, et plus prcisment, les web services (les WSDLs) peuvent tre enregistrs dans des registres UDDI (pas des DNS qui sont aussi des registres mais pour dautre type dinformation) 7. Pour utiliser / appeler / tre client dun service web: a) On doit crire un programme Java b) On doit crire une page JSP c) On peut utiliser son navigateur web d) On na pas besoin de connatre dURL associe a) on peut crire un programme java, code java quon peut ventuellement insrer dans une page JSP entre les balises <% %> (donc b)) On peut aussi utiliser simplement son navigateur web. Dans tous les cas, on a bien besoin de connatre lURL (soit on la tape explicitement dans la barre de navigation, soit, on a ladresse incluse dans le fichier wsdl utilis par le code Java) 8. Un fichier dcrivant un service web: a) Est obligatoirement un fichier xml b) Peut se comparer une interface Java (au sens interface Java versus classe Java ) c) Doit contenir une balise xml <deployment> d) Doit contenir une unique balise <service> a) certainement b) Oui en quelque sorte, le service web joue un peu lquivalent dune interface Java parce quil montre explicitement quelles mthodes (oprations) avec quels paramtres dentre et de sortie il faut leur passer. d) aussi (voir exercice 3 par exemple) 9. Un fichier de dploiement dun service web en utilisant Axis: a) Permet de dployer un code source Java sur le serveur web b) Permet de dployer les classes Java compiles sur le serveur web c) Permet dexposer tout ou partie de mthodes Java que lon veut rendre accessibles c) uniquement. Car pour faire le dploiement du code source ou compil, il faut manuellement copier les fichiers correspondants dans les rpertoires adquats du serveur web. Effectivement, on peut dans allowmethods prciser quelles mthodes publiques de limplmentation Java lon veut exposer (* permet de toutes les exposer)
Page 2 / 7
10. Un fichier WSDL associ un service web: a) Expose au plus une opration b) Expose autant de types de port (portType) que doprations c) Expose au plus une faon de se binder (binding) chaque type de port a) non car plusieurs oprations par port sont autorises. b) oui et non ! car en fait un portType peut contenir plus dune opration. c) faux, car on a pu voir quun porttype peut tre associ plusieurs bindings (http ou soap)
Page 3 / 7
Page 4 / 7
Plutt le b) au sens o ces applications externes peuvent tre emballes en tant que service ( via par exemple un service web), et ainsi, rendues intgrables avec dautres services c) pas du tout : une architecture SOA peut tre compose uniquement de web services sinvoquant directement les uns les autres (pensez au TP1 ensemble de fichiers axis08.zip) 16. Les notions darchitecture SOA et de processus mtier sont a) complmentaires b) incompatibles Expliquer/justifier clairement votre choix ici : a) car un module crit en BPEL peut justement jouer le rle de chef dorchestre qui dicte quel moment les services utiliss dans la SOA sont invoqus.
17. Un processus mtier crit en BPEL : a) Na aucun lien particulier avec la technologie des web services b) Sexpose en tant que web service c) Expose ses dpendances vers des services extrieurs b) OUI c) aussi, via les Partner Links (mme si les oprations receive dans le BPEL se font sur des ports, eux-mmes lments part entire des Partner Links) 18. Un moteur dorchestration de processus mtiers crits en BPEL : a) Se charge uniquement de linterprtation du processus b) Sait invoquer lui-mme des services web requis par le processus c) Peut tre hberg en tant qulment dun bus services a) OUI b) non, cest justement pour cela quon a besoin avec dun moteur de SOAP et Web Services tel Axis 19. La notion de gouvernance dans le domaine du SOA : a) Relve uniquement de la politique politicienne! b) Aide inclure la prise de dcisions au cours du cycle de vie de services c) Se traduit par des contrats que les services doivent exposer b) Oui c) seulement en partie, cad que lorsquon spcifie un service, on dtermine aussi le contrat quil sengage respecter si on veut utiliser ce service en tant que client. Donc le contrat fait partie de la spcification. Et cette spcification est valide durant le cycle de vie du service (au moment o la gouvernance le gouvernement --dcide de dvelopper le service) 20. Lobjectif dune approche SOA dans le monde de linformatique dentreprise est : a) De maximiser la rutilisation de code b) De pouvoir intgrer des applications existantes non compatibles a priori entre elles c) De pouvoir mieux surveiller les performances de chacun des services participants la SOA a) oui avant tout b) oui aussi
Page 5 / 7
c) un peu aussi, car, chaque module logiciel est bien identifi en tant que service On peut donc facilement lui associer les informations de monitoring (de qualit de service comme on dit) et ainsi mesurer ses performances, et vrifier quil honore son contrat
Exercice 3 (5 points) Annoter ce WSDL de vos commentaires : quoi il sert, comment sen
servir dun point de vue client, quelles donnes vont circuler quand on lutilise, etc
<?xml version="1.0"?> <definitions name="StockQuote" targetNamespace="http://example.com/stockquote.wsdl" xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd1="http://example.com/stockquote.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <schema targetNamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/1999/XMLSchema"> <element name="TradePriceRequest"> <complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="TradePrice"> <complexType> <all> <element name="price" type="float"/> </all> </complexType> </element> </schema> </types> <message name="GetLastTradePriceInput"> <part name="body" element="xsd1:TradePrice"/> </message> <message name="GetLastTradePriceOutput"> <part name="body" element="xsd1:TradePriceResult"/> </message> <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation> </portType> <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetLastTradePrice"> <soap:operation soapAction="http://example.com/GetLastTradePrice"/> <input> <soap:body use="literal" namespace="http://example.com/stockquote.xsd" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> <output> <soap:body use="literal" namespace="http://example.com/stockquote.xsd"
Page 6 / 7
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation> </binding> <service name="StockQuoteService"> <documentation>My first service</documentation> <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location="http://example.com/stockquote"/> </port> </service> </definitions>
Ce service web offre une unique opration : sur envoi dun message de type GetLastTradePrice, lopration nomme GetLastTradePrice va sexcuter. LURL pour dclencher cette opration depuis un navigateur web devrait http://example.com/stockquote/method=GetLastPrice?tickerSymbol=MonEntreprisePreferee. Le message sera vhicul par une enveloppe SOAP (on a dfini un soap binding). Le type de donne en entre est un tickerSymbol prenant une valeur de type chaine de caractres. En rponse, on obtient un price que lon peut interprter comme un flottant.
Page 7 / 7