Sommaire
<<
Ex. d'architectures
<
Technique
>
Aspects fournis
>>
Liens / Contacts


Développer une application avec JAC
JAC se distingue fortement d’un serveur d’applications J2EE. Les services techniques du conteneur J2EE sont remplacés par des aspects prêts à l’emploi. Ces aspects peuvent être configurés pour correspondre à votre application.
La technologie POA, permet à la logique métier de l’application de rester totalement indépendante de ces préoccupations techniques.
Le conteneur JAC n’utilise pas le standard EJB, il fonctionne avec des classes Java purement métier.
1) Modélisez votre logique métier en utilisant l’atelier UML de développement de JAC. Il génère le code exécutable au sein du conteneur JAC (pures classes Java comparables à des Java Beans).
Vous avez alors automatiquement accès à l’interface d’administration de votre application. Elle vous permet de voir tourner votre application sous JAC, d’accéder à une vue par défaut de vos objets, de consulter et de modifier leur état. L’interface d’administration permet également d’ajouter de modifier ou d’enlever dynamiquement les aspects techniques.

2) Toujours au sein de l’environnement UML, configurez les aspects techniques de JAC (exemple à droite).
Ceci est fait en éditant le fichier de configuration propre à chaque aspect technique. Par exemple, l’aspect de persistance doit être configuré afin de connaître le type de persistance souhaitée (SGBD ou système de fichiers), les objets persistants et les objets statiques.
Lors de la configuration des aspects techniques de JAC, le développeur appelle des méthodes de configuration définies dans ces aspects pré-développés.

 

Code de configuration de l’aspect de persistance de l’exemple d’application JAC “Contacts”, un petit gestionnaire de contacts

// Cette ligne rend persistantes toutes les instances de toutes les classes
// du package jac.samples.contacts
MakePersistent jac.samples.contacts.* ALL;

// Cette commande indique que l’instance contactrepository0 est statique et
// n’a pas à être créée à chaque nouvelle ouverture de l’application mais
// chargée de la base de données. contactrepository0 est une racine de
// persistance de cette application.
registerStatics jac.samples.contacts.ContactRepository contactrepository0;

// Cette ligne indique à la persistance d’utiliser le système de stockage
// fichiers. Les fichiers seront sauvés dans le répertoire data/contacts.
configureStorage jac.aspects.persistence.FSStorage { "data/contacts" };

3) Vous avez la possibilité de programmer de nouveaux aspects qui peuvent être soit techniques, soit métiers. Par exemple, votre application peut implémenter une gestion de stock ou de flux de données.
Ces préoccupations métier touchent de nombreux objets et sont très intéressantes à « aspectiser ».


Architecture des applications JAC (Framework)

Trois points techniques importants à comprendre
Joinpoints: pointe une exécution du programme.
Pointcuts: Recense les critères d’exécution des joinpoints.
Méthodes d’encapsulation (Wrapping): code à exécuter quand les joinpoints répondent aux critères spécifiés par les pointcuts


Sommaire
<<
Ex. d'architectures
<
Technique
>
Aspects fournis
>>
Liens / Contacts