Sommaire
<<
Serveur JAC
<
Serveur JAC vs J2EE
>
Ex. d'architectures
>>
Liens / Contacts


Contraintes de la POO - Exemple d’un serveur d’applications J2EE

En fournissant des services techniques hardcodés tels que la persistance des données ou la gestion des sessions, les serveurs d’applications J2EE essaient de répondre au problème de l’entrelacement des préoccupations métier avec les préoccupations techniques.
En effet, le développeur peut faire appel aux services techniques pré-développés du serveur d’applications, atteignant ainsi une meilleure modularisation de son application. Malheureusement, les EJBs (Enterprise Java Beans) métier doivent souvent intégrer du code de configuration afin de faire appel à ces services techniques.
Le code métier des EJB est donc vite pollué par de nombreuses primitives d’appel aux services techniques du conteneur du serveur d’applications.
Cette méthodologie de programmation, avec des préoccupations entrelacées qui s’étalent sur plusieurs modules, conduit à des applications difficiles à modéliser, comprendre, implémenter ou à faire évoluer.


Le conteneur JAC utilise des classes Java purement métier.
Les aspects sont configurés au « runtime » pour tisser le technique au métier

JAC est un serveur d’applications orienté aspect.
Il utilise la technologie POA pour parfaitement modulariser les différentes préoccupations des applications.
Comme pour un serveur J2EE, JAC fournit des services techniques pré-développés: les aspects. Mais grâce à la POA, le code des objets métier n’est pas pollué par des appels aux services techniques. Les aspects viennent en effet se tisser à la logique métier au runtime selon des modalités précisées au sein d’un fichier de configuration propre à chaque aspect.


Serveur d’applications J2EE
Serveur d’applications JAC
Conteneur pour EJBs
Conteneur pour des classes Java pures et pour des aspects techniques
Services techniques hardcodés, ne peuvent être modifiés
Aspects techniques pré-développés: peuvent être modifiés
Les EJBs doivent être configurés pour appeler les services techniques : entrelacement des préoccupations (concern)
Chaque aspect technique est configuré dans un fichier qui lui est propre et est tissé au runtime : bonne modularisation
Lourd, intègre toujours tous les services techniques
Léger, chaque aspect technique n’est ajouté que si il est utile
Demande de nombreuses compétences
Nécessite d’appréhender la philosophie orientée aspect pour configurer mais facile à apprendre et à utiliser
Séparation des préoccupations seulement pour les services techniques pré-développés
Les préoccupations nouvelles et spécifiques peuvent être modularisées et implémentées par de nouveaux aspects
Coûteux à mettre en place
Gratuit sous licence LGPL. Peu de formation nécessaire
Fiable et éprouvé
Doit encore faire ses preuves, première applications pilotes en cours de développement
JAC bénéficie des avantages de la POA: meilleures traçabilité et productivité, gains en qualité; réutilisabilité du code et évolutivité de l’application


Sommaire
<<
Serveur JAC
<
Serveur JAC vs J2EE
>
Ex. d'architectures
>>
Liens / Contacts