1 / 17

JAC Java Aspect Components

JAC Java Aspect Components. Serveur d’applications Java Open-Source (LGPL) basé sur la Programmation Orientée Aspect IHM de développement orienté Objet et Aspect Modélisation UML et génération de code http://www.jac.aopsys.com http://www.carsique.fr/JAC. Sommaire. Introduction

kyria
Télécharger la présentation

JAC Java Aspect Components

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JACJava Aspect Components Serveur d’applications Java Open-Source (LGPL) basé sur la Programmation Orientée Aspect IHM de développement orienté Objet et Aspect Modélisation UML et génération de code http://www.jac.aopsys.com http://www.carsique.fr/JAC Julien CARSIQUE

  2. Sommaire • Introduction • POA – Programmation Orientée Aspect • Le projet Java Aspect Components • L’approche Java Aspect Concept • Le serveur d’applications JAC • L’architecture JAC, les interfaces fournies • Framework, classes et méthodes, aspects… • Développer en JAC, exemples • Conclusion Sommaire Titre de la page

  3. Programmation Orientée Aspect • La POO identifie des problématiques (concern)d’un point de vue Objet implémentés en Classes • Caractéristiques: emmêlement et éparpillement du code • Conséquences: mauvaise traçabilité, faible productivité, faible réutilisation et pauvre qualité du code, évolution complexe. • Concept: modulariser l’implémentation des problématiques entrelacées, en trois étapes: • Décomposition par aspects • Implémentation des besoins • Recomposition en fonction des aspects (tissage) • Évolution logique de la POO, la POA pourrait être la prochaine grande étape en matière de méthodologie de développement. Introduction Titre de la page

  4. POA: les problématiques Deux types de concern : • Problématique métier • Fonctionnalités techniques Analogie au prisme Gains: • Interactions minimisées • Évolutivité • Planning de dev. aisé • Réutilisation du code Introduction Titre de la page

  5. POA: les applications • Diverses approches dont JAC et AspectJ Introduction Titre de la page

  6. Le projet JAC: « Java Aspect Components » • Projet coordonné par la compagnie AOPSYS (Renaud Pawlak, Laurent Martelli) • Développé par le groupe CAOLAC du laboratoire CEDRIC-CNAM (Pr. Gerard Florin, R. Pawlak) et le projet AProDis du LIP6 (Lionel Seinturier) • En collaboration avec le LIFL (Laurence Duchien) • Application directe de la thèse du Pr. Pawlak • Initié en 2001 • Dans la continuité du projet « Tcl Object System » Introduction Titre de la page

  7. JAC, plus qu’un serveur – 1 JAC intègre : • Un environnement de développement UML orienté POA et permettant de modéliser la logique métier des applications, de générer et de compiler le code Java • Des aspects prêts à l’emploi et configurables • Un conteneur léger et ouvert pour les classes métier et les aspects purement techniques. Ces derniers peuvent être ajoutés dynamiquement pour fournir de nouvelles caractéristiques techniques au conteneur. • Un noyau capable de tisser les aspects à la logique métier au runtime. • Une interface d’administration permettant de débuguer l’application et de modifier dynamiquement la configuration des aspects. • Un tutorial, un guide du développeur et des exemples. Introduction Titre de la page

  8. JAC, plus qu’un serveur – 2 Trois principales composantes: Interface d'administration Serveur d'applications Java orienté aspect Atelier UML de développement Introduction Titre de la page

  9. Concept du serveur JAC Contraintes de la POAExemple d’un serveur d’applications J2EE Le conteneur JAC utilise des classes Java purement métier Au runtime: configuration des aspects pour tisser le technique avec le métier Serveur d’applications Titre de la page

  10. Un serveur à part Serveur d’applications Titre de la page

  11. Exemples d’architectures JAC Architecture de base: Montée en charge et tolérance aux pannes: Architecture Titre de la page

  12. Développer en JAC Architecture des applications JAC (Framework) Architecture Titre de la page

  13. L’objet JAC Trois concepts techniques: • 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 Architecture Titre de la page

  14. Aspects purement techniques pré-développés • Persistance (SGBD et Systèmes de Fichiers) • Authentification • Session • Utilisateur • Transactions • Déploiement • Load-balancing • Broadcasting • Cohérence des données • Synchronisation • Accès distant • Intégrité • GUI (SWING et Web) JAC API Doc. Architecture Titre de la page

  15. Aspect génère metamodel Aspect configuration tags Aspect Component Java loader Traduit Classes encapsulables creates new Pointcuts Object métier creates load calls dispatches Wrappers orders calls reads reads JAC.prop Processus d’installation dynamique des aspects JAC Classes métier Chargeur JAC (BCEL) R.T.T.I JAC container Application descriptor (.jac) Application repository Composition aspect AC manager Noyau JAC (objets systèmes) Titre de la page

  16. Encapsulation (Wrapping) Chaîne d’encapsulation Architecture Titre de la page

  17. Conclusion • Séparation du technique et du fonctionnel • Facilité de déploiement • Gain de temps dans les développements • Utilisation simple de services techniques • Réutilisation facilitée du code • Bonne montée en charge, évolutivité Conclusion Titre de la page

More Related