14 novembre 2002Julien CARSIQUE17 diapositives JAC Java Aspect Components Serveur dapplications Java Open-Source (LGPL) basé sur la Programmation Orientée.

Slides:



Advertisements
Présentations similaires
Master SIR (M2) Année Développement en environnement J2EE de Web services pour l'interopérabilité du projet CASTORE ce stage de fin d’étude a.
Advertisements

Présentation de frameworks J2EE
Applications N-Tiers Rappels: architecture et méthodologie
Mathilde VINCENT - Olivier JOURDAN Paris - le 7/2/2012
Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
Architecture Technique de la plate-forme CASTORE
Plan Portlets La norme JSR-168 Qu'est-ce qu'une Portlet ?
Introduction aux environnements répartis
La machine virtuelle virtuelle utopie et/ou réalité ?
Eclipse Plug-ins Factory
Serveurs web pour JSP et Servlets
LOG4430 : Architecture logicielle et conception avancée
Projet n°4 : Objecteering
Virtualisation dorchestration de services TER Master 1 Infomatique 4 Avril 2008 Encadrant : Philippe Collet.
L’architecture .net et ASP.net
Exposé de Système - Informatique et Réseau
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -
AWEB Gestion d’un théâtre 28 juin 2002
Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix.
Architecture Technique de la plate-forme CASTOR Projet Castor © Ecole des Mines de Nantes
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
Stéphane Frenot - Département Télécommunication - SID - II - Comp 312 Avantages de l'approche distribuée Economie Performance.
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
Plan de formation Chapitre 1 : Présentation de SAP
UML (Unified Modeling Langage)
Les Ateliers de Génie Logiciel
Introduction à la POO: Les classes vs les objets
Alain Le Guennec Jean-Marc Jézéquel Action Triskell
Introduction aux Session Beans
Programmation Orientée Aspect
Analyse et Conception orientée objet
Applications Chapitre B17 et C18
ECF 5 PRESENTATION « BULLE APPLICATIVE »
Développement d’application web
Calculatrice Financière Android
Clients riches RIA (Rich Internet Application) / RDA
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Portée, arrimages et intervenants Évolution des méthodes
Projet de Master première année 2007 / 2008
Adaptée du cours de Richard Grin
Processus d'un projet F.Pfister
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
Travail réalisé par : LATRECHE Imed Eddine MENASRIA Med Lamine
Outil de gestion des cartes grises
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
Introduction à l’Architecture n-tiers et Orientée Service
Découverte des Framework : SPRING & JAXB
Supports de formation au SQ Unifié
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Mise en place d’une plate-forme d’expérimentation d’applications adaptables à partir de composants Encadreurs : Mireille Blay-Fornarino Anne-Marie Dery-Pinna.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
1 Extension du modèle de composants CORBA avec accès concurrent à des données partagées Travail réalisé par : Landry BREUIL PFE, ISIMA Encadrants : Gabriel.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
BEWITCHED 12/10/2006 Soutenance GLAO #5 slide 1 Soutenance GLAO #5 AGL & SYGIME Bewitched Team 12 Octobre 2006.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
LE DATA WAREHOUSE.
Les différents modèles d’architecture technique
Présentation ESTRABOX
L’enseignement de spécialité SLAM
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com 1 BusinessCAM Mars 2001.
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
1 JEE 2010 Architectures n-tiers F.Pfister
Introduction à la Programmation Orientée Objet
Conférence 2TUP Stéphane Barthon 03/12/
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Transcription de la présentation:

14 novembre 2002Julien CARSIQUE17 diapositives JAC Java 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

Julien CARSIQUETitre de la pagePage 2 sur 17 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

Julien CARSIQUETitre de la pagePage 3 sur 17 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

Julien CARSIQUETitre de la pagePage 4 sur 17 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 POOPOA 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

Julien CARSIQUETitre de la pagePage 5 sur 17 POA: les applications Diverses approches dont JAC et AspectJ AspectJJAC Extension du langage JAVAFramework POA, serveur dapplications Nouvelle grammaire pour les aspectsAspects é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 distributionDistribue 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 aspectsSintègre à JBuilder, Forte et Emacs Pas daspects pré-développésBibliothèque daspects pré-développés configurables Version 1.0.5Version Open Source Mozilla Public LicenseDisponible en licence LGPL Introduction

Julien CARSIQUETitre de la pagePage 6 sur 17 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

Julien CARSIQUETitre de la pagePage 7 sur 17 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

Julien CARSIQUETitre de la pagePage 8 sur 17 JAC, plus quun serveur – 2 Trois principales composantes: Serveur d'applications Java orienté aspect Interface d'administration Atelier UML de développement Introduction

Julien CARSIQUETitre de la pagePage 9 sur 17 Concept du serveur JAC Contraintes de la POA Exemple 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

Julien CARSIQUETitre de la pagePage 10 sur 17 Un serveur à part Serveur dapplications Serveur dapplications J2EEServeur dapplications JAC Conteneur pour EJBsConteneur 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étencesFacile à 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 placeGratuit 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

Julien CARSIQUETitre de la pagePage 11 sur 17 Exemples darchitectures JAC Architecture de base: Montée en charge et tolérance aux pannes: Architecture

Julien CARSIQUETitre de la pagePage 12 sur 17 Développer en JAC Architecture des applications JAC (Framework) Architecture

Julien CARSIQUETitre de la pagePage 13 sur 17 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

Julien CARSIQUETitre de la pagePage 14 sur 17 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

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

Julien CARSIQUETitre de la pagePage 16 sur 17 Encapsulation (Wrapping) Chaîne dencapsulation Architecture

Julien CARSIQUETitre de la pagePage 17 sur 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