Vous êtes sur la page 1sur 6

Exercice 1 :

1. Definir le concept de Service ?


Un service est défini comme une entité informatique 3. Quels sont les couches d’abstraction
indépendante des plateformes, auto-contenue et
autonome permettant le support de la composition des
d’un systeme orienté service ?
 La couche domaine métier: on fait la segmentation
applications distribuées en couplage faible tout en
de l’activité d’une organisation donnée, en un
optimisant les coûts et les délais.
ensemble de domaines fonctionnels.
 La couche processus métier : se compose d’une
2. C'est quoi l'architecture orientée multitude de processus métier associés aux
service ? différents domaines métier.
SOA : Service Oriented Architecture est un style  La couche Services métier : se compose des
d’architecture dont l’objectif est d’organiser un différents services constituant un système à base de
ensemble d’applications isolées, en un ensemble de services et permettant de supporter les différents
services interconnectés, chacun étant accessible à processus métiers de l’entreprise.
travers des interfaces et des protocoles de  La couche service d’infrastructure : est responsable
communication standards. de la provision d’une infrastructure technique
permettant le développement, la provision et la
Quels sont les acteurs principaux de cette maintenance des services et des processus métier.
architecture et leurs roles ?  La couche implémentation : fait une séparation
 Le fournisseur de services crée le service, puis entre la spécification de service et l’implémentation
publie sa description dans un annuaire de services de service.
Web.  La couche systèmes opérationnels : contient les
 L'annuaire de services rend disponible l'interface systèmes existants et les applications tels que les
du service ainsi que ses informations d'accès. systèmes de CRM, d’ERP, les SGBD...
 Le demandeur de services accède à l'annuaire de
service pour rechercher les services désirés. 4. Quel est la relation entre
Ensuite, il se lie au fournisseur pour invoquer le
service.
l’architecture orientée service et la
technologie des services web ?
La technologie des services web constitue une
implémentation de l’architecture SOA. Elle définit un
ensemble de standards et de protocoles fournissant
ainsi une infrastructure assurant des fonctionnalités de
transport, de messagerie (SOAP), de description
(WSDL), de découverte et de publication (UDDI) et de
composition de services (BPEL4WS).

5. C’est quoi un web service ?


Un service Web est un système logiciel identifié par un
identificateur uniforme de ressources (URI), dont les
interfaces publiques et les liens (binding) sont définis et
décrits en XML.
6. Quels sont les standards de la 10. C’est quoi un processus metier ?
technologie des services web ? Un processus métier est un ensemble de procédures et
d'activités plus ou moins liées qui réalisent
collectivement un objectif métier, en général au sein
d'une structure organisationnelle définissant des rôles
et des relations fonctionnelles.

11. Quelle est l’utilité de la notation


BPMN ?
BPMN est une représentation graphique permettant de
spécifier les processus métier dans un diagramme de
processus métier.

Quelle est la difference entre BPMN et BPEL ?


BPEL est destiné à des processus entièrement
7. Quels sont les etapes d’invocation automatisés, principalement à l’orchestration de
d’un service web en utilisant le services Web. Les processus BPEL sont généralement
sans état et sont terminés en quelques secondes ou
protocole SOAP ? moins. BPMN est conçu pour les processus avec état
1. Le client lance une requête au service de
d’exécution plus longs, impliquant généralement des
découverte pour demander l’accès.
personnes pour certaines tâches. Le processus BPMN
2. Le service de découverte répond au client en
dure généralement de quelques minutes à plusieurs
l’envoyant l’URI du service demandé.
semaines.
3. Le client lance des requêtes pour connaître ses
fonctionnalités, sa description et la méthode avec Quelle est la structure d’un fichier BPEL ?
laquelle il peut être invoqué. <process>
4. Le service demandé fournit sa description sous <import> </import>
<partnerLinks> </partnerLinks>
forme d’une interface WSDL
<messageExchanges> </messageExchanges>
5. Le client lance des requêtes via des messages SOAP. <variables> </variables>
6. Le service Web demandé repend aux requêtes du <correlationSets> </correlationSets>
client, toujours en utilisant le format SOAP. <faultHandlers> </faultHandlers>
<eventHandlers> </eventHandlers>
</process>
Quel est le format d’un message SOAP ?
Envelope Exercice 2 :
Contenant d’un message <soap:Envelope
Élément racine XML <soap:Header>
Header (optionnel) </soap:Header> Proposer un métamodèle de WSDL :
Entrées non applicatives,
Ex : Numéros de session. <soap:Body>
Body (obligatoire) <soap:Fault>
Entrées applicatives,
</soap:Fault>
Ex : nom des procédures, nom
</soap:Body>
des paramètres, valeurs de
paramètres, </soap:Envelope>
Retour d’erreurs.

9. Les principaux domaines


d’application du padagisme service ?
e-commerce, e-administration, e-maintenance...
Exercice 3 :

Transformer cette description IDL (Gestion Banque) en une description WSDL :


<?xml version="1.0"?>
<definitions name="BankService"
targetNamespace="Exercice"
xmlns:soap=http://schemas.xmlsoap.org/wsdl/so
ap/

xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema targetNamespace= <portType name="BankPortType">
xmlns="http://www.w3.org/2000/10/XMLSchema"> <operation name="creeCompte">
<input message="tns:creerCompteInput"/>
<complexType name="compte"> <output message="tns:creerCompteOutput"/>
<all> </operation>
<element name="numero" type="integer"/> ...
<element name="solde" type="decimal"/> </portType>
<element name="proprietaire" type="string"/>
</all> <binding name="BankServiceBinding"
</complexType> type="tns:BankPortType
<soap:binding style="document"
<element name="creerCompteRequest"> transport="http://schemas.xmlsoap.org/soap/http
<complexType>
<all><element name="c" type="tns:compte"/><all>
"/>
</complexType> <operation name="creeCompte">
</element> <soap:operation
<element name="creerCompteResponse"> soapAction="http://example.com/creeCompte"/>
<complexType> <input><soap:body use="literal"/></input>
<all><element name="numero" type="integer"/></all> <output><soap:body use="literal"/></output>
</complexType>
</operation>
</element>
...
...
</binding>
</schema>
</types>
<service name="BankService">
<documentation></documentation>
<message name="creerCompteInput">
<port name="BankPort"
<part name="body"
binding="tns:BankServiceBinding">
element="xsd1:creerCompteRequest"/>
<soap:address location="http://example.com"/>
</message>
</port>
<message name="creerCompteOutput">
</service>
<part name="body"
element="xsd1:creerCompteResponse"/>
</definitions>
</message>
...

Définir un client permettant l’invocation de ce web service :


package client;
public class Client {
public static void main(String[] args) {
GestionBanque_Service service = new GestionBanque_Service();
GestionBanque gb = service.getGestionBanquePort();
// Création d’un compte
Compte compte = new Compte(123456, 200, "Nom");
gb.creerCompte(compte);
// Crediter un compte
gb.crediterCompte(300.55);
// Debiter un compte
gb.debiterCompte(233.95);
}
}