Geasysecu
Geasysecu a été conçu comme un plugin de Petals BPM.
Les domaines de Geasysecu ont été implémentés pour prendre en compte la modélisation de sécurité et de policy selon les standards WS-Security Policy et WS-Policy de OASIS.
- Le domaine de sécurité est le coeur de l’extension de BPMN 2.0, et est destiné à la partie modélisation. Il représente les concepts que l’utilisateur type analyste métier va utiliser pour modéliser la sécurité dans l’éditeur. Le diagramme UML suivant résume son architecture et son interfaçage avec les classes du modèle BPMN.
- Le projet securitypolicy-domain regroupe toutes les classes utiles pour manipuler les assertions de sécurité de WS-Securitypolicy de manière simplifiée. La classe SecurityPolicyContent implémente IPolicyAspect et concentre tous les aspects sécurité. Dans ce diagramme, on notera l’interface Binding qui est là pour permettre l’implémentation de différents mécanismes de sécurité. A ce jour, seul les classes filles d’AsymmetricSymmetricBinding sont implémentées. Le diagramme UML de la Figure 6 illustre les grandes lignes de ce projet
Geasysecu a une architecture un peu particulière. GWT propose un mécanisme RPC (propriétaire) pour permettre au client et au serveur de communiquer entre eux qui oblige un recours au design pattern Transfert Object. On a donc trois piles : serveur, client et transfert objects. La figure suivante présente l’architecture serveur plus en détail, avec les librairies utilisées, chaque brique étant un projet Maven.
Enfin, le composant partagé (les Transfert Objects) est découpé en trois lots :
? Le domaine de l’extension : classes représentant les exigences de sécurité et les niveaux associés ;
? Le domaine policy : classes qui permettent de manipuler les fichiers policy côté client ;
? Le domaine securitypolicy, qui regroupe une équivalence sommaire des assertions de WS-SecurityPolicy utilisable côté client.
La pile serveur est constituée principalement du composant policy-server. Ce composant a la charge de manipuler les fichiers policy sur le serveur et de les traduire en transfert objects compatibles avec GWT. Il a aussi la responsabilité de la tâche inverse : convertir des Transfert Objects en fichiers policy. Le point d’entrée de ce composant est l’interface IPolicyRepository:
Easydeployer
Easydeployeur a été développé pour faciliter le déploiement du processus défini dans le studio d’e-Citiz sur le Petals Cloud. Autrement dit, Easydeployer permet de rendre disponible les services utilisés dans un processus dans Petals pour que le moteur d’e-Citiz puisse y accéder.
Le « déployeur » prend en entrée :
- un processus collaboratif qui est compatible avec le méta-modèle de BPMN 2.0.
- les WSDLs associés à ce processus. Le WSDL doit être compatible avec le méta-modèle de WSDL 1.1.
Les fonctionnalités principales et attendues d'Easydeployer sont de :
- pouvoir créer un « service assembly (SA) » et une « service unit (SU) » correspondant
- installer cette SA et SU dans Petals et la démarrer.
Le schéma suivant présente la procédure d'Easydeployer:
L’API principale proposée par Easydeployeur est « DeployerExecutor » qui va charger le fichier BPMN 2.0 et s’occupe de créer et d’installer les SA/SU des services définis dans le fichier BPMN dans Petals
Exemple d'utilisation d'Easydeployer:
DeployerExecutor exe = DeployerFactory.newInstance().newDeployerExecutor(); exe.executeBPMN20Deployer("_1315991100490id23.bpmn");