17 diapositives - PowerPoint PPT Presentation

About This Presentation
Title:

17 diapositives

Description:

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 – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 18
Provided by: wwwigmUn
Category:

less

Transcript and Presenter's Notes

Title: 17 diapositives


1
JACJava Aspect Components
  • Serveur dapplications 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

2
Sommaire
  • Introduction
  • POA Programmation Orientée Aspect
  • Le projet Java Aspect Components
  • Lapproche Java Aspect Concept
  • Le serveur dapplications JAC
  • Larchitecture JAC, les interfaces fournies
  • Framework, classes et méthodes, aspects
  • Développer en JAC, exemples
  • Conclusion

Sommaire
3
Programmation Orientée Aspect
  • La POO identifie des problématiques (concern)
    dun 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 limplé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
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

POO POA
Besoins communs spécifiques métier implémentés par modules Modules séparés pour les problématiques métier et les aspects techniques
Modules communs implémentés nommés  Classes  Modules techniques implémentés nommés  Aspects 
Introduction
5
POA les applications
  • Diverses approches dont JAC et AspectJ

AspectJ JAC
Extension du langage JAVA Framework POA, serveur dapplications
Nouvelle grammaire pour les aspects Aspects écrits en Java pur
Utilise le code source. Chaque modif. nécessite une nouvelle compilation Un bytecode permet lajout, la suppr. et la modification dynamique des aspects
Ne gère pas la distribution Distribue automatiquement les aspects sur des serveurs distants
Ne permet que le développement daspects Permet le développement daspects ou leur simple configuration
Atelier UML supportant les aspects Sintègre à JBuilder, Forte et Emacs
Pas daspects pré-développés Bibliothèque daspects pré-développés configurables
Version 1.0.5 Version 0.8.1
Open Source Mozilla Public License Disponible en licence LGPL
Introduction
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
7
JAC, plus quun 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 à lemploi 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 dadministration permettant de
    débuguer lapplication et de modifier
    dynamiquement la configuration des aspects.
  • Un tutorial, un guide du développeur et des
    exemples.

Introduction
8
JAC, plus quun serveur 2
Trois principales composantes
Interface d'administration
Serveur d'applications Java orienté aspect
Atelier UML de développement
Introduction
9
Concept du serveur JAC
Contraintes de la POAExemple dun serveur
dapplications 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 dapplications
10
Un serveur à part
Serveur dapplications J2EE Serveur dapplications 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 nest ajouté que si il est utile
Demande de nombreuses compétences Facile à apprendre et à utiliser. Nécessité dappréhender la philosophie orientée aspect
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 lAOP  meilleures traçabilité, productivité, réutilisabilité du code, qualité du code, évolutivité de lapplication JAC bénéficie des avantages de lAOP  meilleures traçabilité, productivité, réutilisabilité du code, qualité du code, évolutivité de lapplication
Serveur dapplications
11
Exemples darchitectures JAC
Architecture de base
Montée en charge et tolérance aux pannes
Architecture
12
Développer en JAC
Architecture des applications JAC (Framework)
Architecture
13
Lobjet JAC
  • Trois concepts techniques
  • Joinpoints pointe une exécution du programme
  • Pointcuts Recense les critères dexécution des
    joinpoints
  • Méthodes dencapsulation (Wrapping) code à
    exécuter quand les joinpoints répondent aux
    critères spécifiés par les pointcuts

Architecture
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
15
Processus dinstallation 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)
16
Encapsulation (Wrapping)
Chaîne dencapsulation
Architecture
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
Write a Comment
User Comments (0)
About PowerShow.com