1. Architecture technique applicative Aspects Techniques Framework Java IBM « AspectJ 1.5 » Programmation Orientée Aspect ( Aspect Oriented Programming ) Ajout transparent de services techniques dans le code métier Outil de développement : Plug-in Elipse AJDT 1.2 / 1.3 « Découpler le code technique du code métier » Publication : juillet 2005 Catégorie : veille technologique Auteur : Jimmy Michel SIMEON Version éditoriale : 2.0.0.0, le 14 mars 2006 avancé simple expert Niveau : Public : Architecte Dévelopeur Manager
2.
3.
4.
5. Acteurs du marché AOP (bonne pratique AOP des experts en développements) Rod Johnson : Framework Spring AOP , AOP alliance auteur du livre «J2EE without EJB» Conteneurs léger (couplage lâche) vs conteneur lourd (couplage fort), Bill Burke : Leader JBoss AOP AOP alliance Jonas Bonér : framework AspectWerkz BEA Systems AspectWerkz fusionne avec AspectJ ! Aspect Oriented Programming (Frameworks AOP), Separation Of Concerns (SoC). Gregor Kiczales XEROX PARC : père de l’AOP et du framework AspectJ AspecJ appartient à la communauté Eclipse / IBM
21. Syntaxe du descripteur de point de coupe AspectJ (PCD : PointCut Descriptor) PointCut Descriptor visibility-modifier publiic, private, Protected, package ParameterList
22. Annotations dans AspectJ 5 (version 1.5) Descripteur de déploiement AspectJ (Schéma identique à AspectWerkz) Contexte exposé par les annotations
23.
24.
25. Code métier épuré des aspects du code technique public class ATM { public void transfer (int fromAcctID,int toAcctId,double amount) throws InsufficientFundsException, FinderException { // find accounts ... fromAccount.withdraw(amount); toAccount.deposit(amount); } } Exemple d’utilisation des aspects
26. Code AOP « AspectJ » dans Eclipse plug-in AJDT classe d’aspect, pointcut, types before() after() et around() Plusieurs PCD et Advice par Aspect Chaque Advise est associé à un PCD marqueur PCD : Descripteur de Point de Coupe
29. Annotations AspectJ 1.5 décrivant un aspect @Aspect, @Pointcut, @Before et introspection de type JoinPoint Annotations = Jdk 1.5 et AspectJ 1.5 (la classe métier)
36. Benchmark AOP réalisé par Alexandre VASSEUR http://docs.codehaus.org/display/AW/AOP+Benchmark Valeurs des données en nano seconde
37.
38.
39.
40.
41.
42. Bibliographie D’autres livres disponibles en librairies (hors bibliographie) : Professional programming Software 2.0 « Introducing AspectJ », page 32 Russ Miles, author of the AspectJ Cookbook (O’Reilly) and Senior Technologist for General Dynamics United Kingdom Limited (russellmiles@mac.com)
45. Le créateur du Framework AspectJ Undergraduate Study M.I.T. (1978-1983); Research Staff, MIT Lab for Computer Science (1980-1983); Member of Technical Staff, Symbolics Inc. (1983-1984); Member of Research Staff, Xerox PARC (1984-1999); Manager, Software Design Area, Xerox PARC (1992-1999); Principal Scientist, Xerox PARC (1996-1999); Professor, University of British Columbia (1999-); Xerox/Sierra Systems/NSERC Software Design Chair, UBC (1999-). The University of British Columbia 2329 West Mall Vancouver, BC Canada V6T 1Z4 Mr Grégor KICZALES MIT
54. Outil AspectBrowser plug-in Eclipse ( University of California, San Diego) Department of Computer Science and Engineering University of California, San Diego Plug-in Eclipse Open Source Fonctions pour les Aspects : Création, Visualisation Graphique, Colorisation du code, Recherche Outils sous licence : « Common Public License »