Atelier Echanges

L'outil utilisé dans l'atelier Echange est [GEasy BPMN Editor (ou Petals BPM)]

Cet outil est appliqué à la plateforme PROCESS 2.0 dans la phase de design time. Il prend en entrée le processus "partiel" venant du studio d'e-Citiz

L'utilisateur de cet outil (appelé l'utilisateur averti) charge ce processus et vérifie s'il y a des informations manquantes ou pas. Si oui, il prend en charge d'ajouter ces informations manquantes qui concernent normalement la description de services (nouveaux) qui composent un processus.

En plus, les exigences de sécurité et de policy ont été implémentées en se basant sur les spécifications de WS-Security Policy et de WS-Policy. Ces exigences nous permettent de prendre en compte les aspects de sécurité depuis la phase « design time » de processus. 

L'utilisation de cet outil dans la cadre de PROCESS 2.0 suivre les étapes suivantes:

1. Modélisation du processus

La modélisation de processus commence par importer un fichier BPMN 2.0 partiel (défini dans le studio d'e-Citiz) dans le GEasy BPMN Editor pour compléter les informations manquantes. 

2. Ajout d'annotations sur les exigences de sécurité

Chaque tâche de BPMN (de type : « send », « receive » et « service ») a été implémenté un nouveau attribut appelé « Security Set ». Le « Security Set » contient six exigences de sécurité venant du standard WS-SecurityPolicy qui sont :

 Authentification (authentication):Assurance de la véracité de l’identité des pairs ;

 Autorisation (authorization):Assurance que seuls les pairs légitimes peuvent effectuer les interactions et accéder aux ressources;

 Confidentialité (confidentiality):Assurance que les pairs non autorisés ne peuvent pas comprendre le contenu des messages ou des échanges.

 Disponibilité (availability):Assurance que les services sont accessibles — dans le sens où le système est fiable, robuste;

 Intégrité (integrity):Assurance que l’information échangée entre les pairs n’est pas altérée;

 Non-répudiation (non-repudiation): Assurance qu’un pair impliqué dans un échange ne puisse nier sa participation au dit échange.
Lors de génération de processus en fichier BPMN, un attribut « secu » sera ajouté pour chaque tâche dans le fichier BPMN qui indique le chemin vers le fichier XML de « securitySet » correspondant à cette tâche. Voici un exemple de ce nouvel attribut :

3. Mapping des tâches avec les services correspondants

Cette étape est de compléter les services nouveaux (services non disponibles dans le studio d'e-Citiz) qui sont utilisés dans le processus BPMN envoyé par le studio d'e-Citiz.

L'utilisateur averti qui a les compétences de service métier va effectuer la recherche des services disponibles dans une répositorie de Petals Master ou l'importation de fichiers WSDL 1.1 qui décrivent ces services nouveaux. 

Dès que l'utilisateur averti trouve les services correspondants, il ajoute dans le processus BPMN.

Importation de WSDLs

Pour importer des WSDLs, on doit aller dans l’onglet Project -> Edit. Le nouveau panel « Edit Project » va apparaitre. Los qu’on clique sur « BPMN Definitions » dans la liste à gauche, il y aura l’onglet « Imports » dans la partie droite :

Il propose plusieurs options pour importer. Dans notre cas, on s’intéresse à importer les WSDLs. Dans le cas de Process2.0, on utilise « Upload WSDL 1.1 file ».

 

  • « Upload a WSDL 1.1 file »

Dans le cas où on a le fichier « .wsdl » en local ou on connaît un URL de WSDL qu’on voudrait utiliser, on peut utiliser la fonction « Upload a WSDL 1.1 file ». 

Si on clique sur les autres onglets par exemple : Namespaces, Messages, Interfaces…, on va trouver les informations correspondantes venant de WSDLs importés.

Attachement de WSDL avec le service correspondant

Dès qu’on a les WSDLs dans GEasy BPMN Editor, on peut les associer aux services.

 -       Si c’est un service typé « receive » ou « send », on doit spécifier un message et une opération en choisissant depuis une liste proposée venant de WSDLs importés (Figure ).

-       Si c’est un service typé « service », on doit spécifier une opération depuis la liste proposée.

 De plus, une interface de processus lui-même doit être aussi spécifiée.

4. Configuration de processus et ajout de fichiers Policy correspondant

Cette partie concerne la policy. Avec les aspects de sécurité, on a besoin de spécifier une policy pour chaque service. Plusieurs fonctionnalités concernant la policy ont été implémentées dans l’outil.

Edit de policy

Les utilisateurs puissent éditer, créer ou modifier une policy en cliquant sur le bouton « Create » dans la partie « Policy Edition/Creation ». Ou ils peuvent aussi cliquer sur une policy de la liste de résultat de la recherche.

Un éditeur de policy a été implémenté. Il offre deux vues : « Easy Editor » et « XML Editor ». Le « Easy Editor » permet aux utilisateurs de remplir et de regarder les détails de policy facilement. Le « XML Editor » permet aux utilisateurs d’éditer la policy en schéma XML ou de regarder le XML compatible avec la vue « Easy Editor » lors qu’ils éditent la policy.

Attachement d’une policy avec un service

Pour associer une policy à un service, il suffit de faire « drag and drop » une policy depuis la liste dans le panel « Policy Palette » à un service dans le panel central.

Lors que la policy est bien attachée avec le service, le champ "Policy URL" sera rempli par le nom de fichier policy:
Lors de l’export de fichier BPMN, la policy sera ajoutée dans le WSDL associé à chaque service. Voici un exemple :

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
wssecurity-utility-1.0.xsd" targetNamespace="http://org.ow2.petals/demo/travelagency/airline/" wsu:Id="bookingPolicyID"  … >
  …
  …

  <wsdl:service name="FlightBookService">
    <wsdl:port binding="impl:FligthBookSoapBinding" name="FlightBookPort">
      <wsdlsoap:address location="http://localhost:9003/airline"/>
      <wsp:PolicyReference URI="#bookingPolicyID"/></wsdl:port>
  </wsdl:service>

  <wsp:Policy wsu:Id="bookingPolicyID">
     <wsp:ExactlyOne>
      <wsp:All>
        <sp:SymmetricBinding xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-
		securitypolicy/200702">
          <wsp:Policy>
            <sp:ProtectionToken>
          	<wsp:Policy>
              		<sp:X509Token sp:IncludeToken="http://docs.oasis-
				open.org/ws-sx/ws-securitypolicy/200702/
				IncludeToken/Always">
           	  <wsp:Policy>
             		<sp:RequireKeyIdentifierReference/>
	            		<sp:WssX509V3Token11/>
	   	   	  </wsp:Policy>
	      			</sp:X509Token>
			</wsp:Policy>
		</sp:ProtectionToken>
	    	<sp:AlgorithmSuite>
        		<wsp:Policy><sp:Basic128/></wsp:Policy>
	   	 </sp:AlgorithmSuite>
	    	<sp:Layout>
         	<wsp:Policy><sp:Lax/></wsp:Policy>
     	</sp:Layout>
      </wsp:Policy>
    </sp:SymmetricBinding>
    <sp:EncryptedParts xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-
		securitypolicy/200702">
      <sp:Body/>
    </sp:EncryptedParts>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>

</wsdl:definitions>



Export de processus

Dès que la configuration de processus termine (la sécurité et la policy ont été spécifiées pour tous les services), l'utilisateur averti de l'outil BPMN Editor exporte le fichier BPMN complet avec les WSDLs associés au studio d'e-Citiz pour exécuter par la suite. Le nouveau dossier contenant les fichiers exportés sera enregistré dans « home/.webeditor/files/user1ID/SecBPMNDescProcess/ ». Dans le dossier, on trouve:

- un dossier "attachments" qui contient les wsdls associés au processus BPMN.

- un dossier "securitySets" qui contient les fichiers XMLs de exigences de sécurité de tous les services de processus BPMN.

- un dossier "zip" qui contient les éléments à zipper: un dossier "attachments" et un fichier BPMN qui décrit le processus.

- un fichier zippé du dossier "zip" qui est utilisé pour importer dans le Geasy BPMN Editor.


Video - Guide d'utilisateurs de l'atelier Echanges

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.