Java Aspect Components (JAC)

Dimension: px
Commencer à balayer dès la page:

Download "Java Aspect Components (JAC) http://jac.objectweb.org"

Transcription

1 Java Aspect Components (JAC) JAC 2 Lionel Seinturier Université Pierre & Marie Curie 23/2/06 Un framework de programmation par aspect pour Java Projet LIP6/CNAM/INRIA du consortium ObjectWeb Objectifs disposer d'un environnement pour la construction orientée aspects de plates-formes et d applications middleware dynamique, reconfigurable sans extension syntaxique (Java pur) permettant d adapter du bytecode proposant des outils pour gérer la composition d aspects JAC Open container 3 JAC 4 business + aspect code: 100% Java API for aspects definition dynamic chains of aspects JAC weaver class loader business + aspects code bytecode manipulator JAC weaver accessibility locally remotely (RMI & CORBA itfs) Tisser un aspect = déployer un ensemble d'objets (implantant un aspect) sur les objets d'une application de base Librairie d aspects disponibles dans JAC (19) déploiement/communication distantes (RMI & CORBA) persistance des données (JDBC, fichiers, Hibernate) transaction (JOTM) cache réplication, équilibrage de charge authentification, gestion de profils utilisateur GUI (Swing & HTML)

2 5 6 JAC Aspect GUI Swing JAC Aspect GUI HTML But : séparer le code de présentation du code métier architecture MVC «aspectisée» 7 8 JAC IDE Development process UMLAF project management extended UML notation for aspects aspect developer development of configurable aspects (persistence, transaction, ) integrator write configurations development of Business components business developer set of aspect components set of aspect configurations set of business components deployment JAC container

3 Support pour la distribution 9 Notion de coupe distribuée 10 - notion de coupe distribuée - aspect de communication distante - aspects pour la programmation répartie - réplication, cohérence, diffusion, cache, équilibrage charge - ensemble de points de jonctions localisés sur +sieurs hôtes - gérée par un AspectManager - répliqué - maintenu en cohérence Aspect de communication distante 11 Modèle de programmation de JAC 12 - gestion des communications distantes (2 versions : RMI, CORBA) - déploiement (instantiation à distance) - objets et d aspects - souches clientes et squelettes serveurs wrapper stub/skel o1 o2 remote o2 JAC host 1 JAC host 2 Une classe d aspect Objets métiers inchangés étend org.objectweb.jac.core.aspectcomponent définit des coupes (appel méthode pointcut héritée) définit des méthodes d aspect définit des méthodes de configuration Méthodes d aspects dans des classes dites Wrapper étend org.objectweb.jac.core.wrapper 3 «catégories» de méthodes wrappantes (before/after) de rôle (augmentation de l interface des objets métiers) de traitement d exceptions

4 Modèle de programmation de JAC 13 Aspect definition & Pointcut descriptor 14 aspect definition pointcut descriptor advice code metadata aspect configuration application description import org.objectweb.jac.core.aspectcomponent; public class MyTraceAC extends AspectComponent { public MyTraceAC() { pointcut( // define a pointcut ".*", // object regexp "my.myclass", // class regexp "get():int", // method regexp "foo.jac.com", // host regexp method regexp eg: get.* set.* keywords: SETTERS, MODIFIERS, } } MyWrapper.class ); // wrapping class Mots-clés pour les expressions régulières de méthodes 15 Expressions régulières d objets 16 Classes analysées par JAC au chargement (parsing du bytecode) Stockage de l information dans un référentiel propre à JAC STATICS CONSTRUCTORS Objets métiers dans un conteneur JAC nommés automatiquement (nom de classe + indice auto-incrémenté) par un aspect de nommage Exemple d utilisation MODIFIERS ACCESSORS SETTERS( ) GETTERS( ) ADDERS( ) REMOVERS( ) modification de l état (champs public) lecture de l état écrivains d un champ lecteurs d un champ méth. qui ajoutent un champ dans une collection idem retrait classe Account avec champ String owner tissage aspect de nommage sur tous les objets de la classe Owner récupération par introspection valeur de owner nom de l objet utilisable dans l expression de coupe (ex. Bob S.*)

5 Advice code 17 Metadata 18 Chains of wrappers around pointcuts define before/after code can be added removed dynamically import org.aopalliance.intercept.methodinvocation; import org.objectweb.jac.core.wrapper; public class MyWrapper extends Wrapper { public Object invoke( MethodInvocation mi ) throws Throwable { //... before code... Object ret = proceed(mi); // next wrapper // or business object //... after code... return ret; } } Runtime structural reflection of the business code API to navigate add/remove tag on elements (class, method, field) import org.objectweb.jac.core.rtti.classrepository; import org.objectweb.jac.core.rtti.classitem; import org.objectweb.jac.core.rtti.methoditem; ClassItem ci = ClassRepository.get().getClass("my.MyClass"); MethodItem[] mi = ci.getmethods("foo"); mi[0].setattribute( "persistent", new Boolean(true) ); Aspect configuration 19 Application description 20 Scripting the configuration of aspects application independant (eg JDBC URL for persistence) application dependant (eg which field is persistent) sequence of calls to the aspect methods Example : gui.acc settitle mygui "DEMO"; setsubpanesgeometry mygui 2 HORIZONTAL {false,false}; setpanecontent mygui 0 Object {invoices0}; addreferencetopane mygui invoices.invoices invoices 1; addreferencetopane mygui invoices.invoices clients 1; setposition mygui ; setsplitterlocation mygui 0 0.6; lauching code aspects initially woven Example : bank.jac applicationname: distransbank launchingclass: org.objectweb.jac.samples.distransbank.account aspects: distrans distrans.acc true

6 Lancement d'une application avec aspects 21 Comparaison JAC/AspectJ Ecriture des classes de base 2. Ecriture des classes d'aspect 3. Ecriture des fichiers (texte) de configuration d aspects 4. Ecriture d'un descripteur d'application (fichier texte) 5. Lancement de l'application JAC AOP framework, application server Aspects written in pure Java Working on bytecode allowing to add, remove or modify aspects dynamically Automatically distributes aspects on distant servers Allows aspect developement and aspect configuration UML IDE supporting aspects Set of pre-developed configurable aspects AspectJ Java language extension New grammar to express aspects Working on source code Each modification needs compiling Does not handle distribution Only allows aspect developement IDE support for Eclipse, JBuilder, Forte, Emacs No pre-developed configurable aspects Current version LGPL Current version CPL Conclusion 23 JAC vs others 100% Java, no syntax extensions dynamic & remote deploy/undeploy UMLAF RAD tool (IDE, library of aspects) GUI aspect (Swing or HTML/servlet) Current developments integrating JAC-technology with component models (Fractal)

Aspects pour l'adaptabilité des applications à base de composants

Aspects pour l'adaptabilité des applications à base de composants Plan Aspects pour l'adaptabilité des applications à base de composants 2. Fractal 3. AOKell 4. Conclusion L. Seinturier JTE AOP-Systèmes 16 septembre 2005 - Lille S2-21/11/2003 Ingénierie du système/intergiciel

Plus en détail

AOP Tools Comparison

AOP Tools Comparison Comparaison des outils de développement AOP en Java basée sur l'article de Mik Kersten. Fabrice Bodmer & Timothée Maret Université de Fribourg, Juin 2006 Plan 1. Introduction 2. Présentation des outils

Plus en détail

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences LANGAGES & DéVELOPPEMENT Une équipe à vos côtés pour toutes vos montées en compétences ASP.NET OPTION VB.NET OU C# 5 jours Permettre aux participants de mieux appréhender ce qu est la programmation pour

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

INTRODUCTION À JAVA EE. Cours Master 2 - Java EE

INTRODUCTION À JAVA EE. Cours Master 2 - Java EE INTRODUCTION À JAVA EE 1 LA NÉBULEUSE JAVA Java Micro Edition (JME) développement d applications embarquées Java Standard Edition (JSE) développement d applications classiques Java Enterprise Edition (JEE)

Plus en détail

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année Java RMI Programmation des applications réparties Olivier Flauzac URCA Master EEAMI-Informatique première année Olivier Flauzac (URCA) PAR : Java RMI MSTIC-INFO 1 1 / 30 1 RMI 2 Architecture 3 Développement

Plus en détail

Noël Macé Formateur et Consultant indépendant expert Unix et FOSS http://www.noelmace.com. Java EE. Tomcat

Noël Macé Formateur et Consultant indépendant expert Unix et FOSS http://www.noelmace.com. Java EE. Tomcat Noël Macé Formateur et Consultant indépendant expert Unix et FOSS http://www.noelmace.com Java EE Tomcat Licence Creative Commons Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative

Plus en détail

Conception et développement d applications avec OpenCCM

Conception et développement d applications avec OpenCCM * CE * URE Conception et développement d applications avec OpenCCM RNRT * * Philippe.Merle@lifl.fr Equipe GOAL Laboratoire d Informatique Fondamentale de Lille Revue finale CESURE, Marseille, 18 décembre

Plus en détail

Remote Control Library Librairie Remote Control

Remote Control Library Librairie Remote Control Remote Control Library Librairie Remote Control Installation File, Fichier : REMOTEVPU.EXE After installation Après installation In the toolbox : Dans la boite à outils : Files Added, Files Ajoutés : C:\API32\Modules\

Plus en détail

TP1 - Entreprise Java Beans

TP1 - Entreprise Java Beans TP1 - Entreprise Java Beans Réseaux Middlewares - Jules Chevalier 1 Configuration Minimale Pour ce TP, vous aurez besoin de outils suivants : Un JDK installé (le JRE est insuffisant) Un IDE édition Java

Plus en détail

Spring IDE. Mise en œuvre. Eclipse

Spring IDE. Mise en œuvre. Eclipse A Spring IDE Bien que Spring mette à disposition d intéressants mécanismes afin d améliorer l architecture des applications Java EE en se fondant sur l injection de dépendances et la programmation orientée

Plus en détail

EXA1415 : Annotations JavaEE : @Local, @Stateful

EXA1415 : Annotations JavaEE : @Local, @Stateful EXA1415 : Annotations JavaEE : @Local, @Stateful Sur une idée de P. Sécheresse sur http://developpez.com (http://tinyurl.com/5gr57j) Diapo 1 Objectif Créer un EJB CalculatriceBean (V1) Contient une opération

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

JOnAS Day 5.1. Outils de développements

JOnAS Day 5.1. Outils de développements JOnAS Day 5.1 Outils de développements Agenda Introduction Plugin Eclipse (JOPE) Plugin NetBeans (JOnbAS) Cargo 2 Bull, 2009 JOnAS Day 5.1 Objectifs - Réduire les temps de développement - Construction

Plus en détail

JOnAS 5. Serveur d application d

JOnAS 5. Serveur d application d JOnAS 5 Serveur d application d dynamique Agenda En quelques mots Caractéristiques essentielles Zoom sur le versioning 2 Bull, 2008 Serveur d application dynamique JOnAS - Serveur d application Open Source

Plus en détail

Short-Circuit Introduction a Spring. Cours Spring. Spring utilise certaines technologies comme :

Short-Circuit Introduction a Spring. Cours Spring. Spring utilise certaines technologies comme : Cours Spring 1 Présentation Générale Historique Framework créé en 2002 par Rod Johnson, afin de proposer une réelle alternative technique aux EJB s, alors gouffre de performance en terme d applications

Plus en détail

AstroGrid. Thomas Boch [CDS]

AstroGrid. Thomas Boch [CDS] AstroGrid Thomas Boch [CDS] AstroGrid?? Projet britannique But : développement d'une infrastructure Observatoire Virtuel pour la communauté astronomique britannique et mondiale Orienté services Participation

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

AspectJ. AspectJ. AspectJ. AspectJ. Historique. Le langage AOP le + connu / utilisé, le + stable / mature

AspectJ. AspectJ. AspectJ. AspectJ. Historique. Le langage AOP le + connu / utilisé, le + stable / mature Historique 2 Lionel Seinturier Lionel.Seinturier@lip6.fr Université Pierre & Marie Curie 22/2/06 Le langage AOP le + connu / utilisé, le + stable / mature http://www.eclipse.org/aspectj 1996 : apparition

Plus en détail

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique et TP Institut Universitaire de Technologie Département Informatique 15 février 2007 J2EE? J2EE : Java 2 Enterprise Edition Norme prosposée par SUN visant à définir un standard de développement d applications

Plus en détail

Spring par la pratique

Spring par la pratique Spring par la pratique 2 e édition Spring 2.5 et 3.0 Arnaud Cogoluègnes Thierry Templier Julien Dubois Jean-Philippe Retaillé avec la contribution de Séverine Templier Roblou et de Olivier Salvatori Groupe

Plus en détail

Architectures à composants

Architectures à composants Interaction requête/réponse Architectures à composants!communication par requête/réponse client requête réponse serveur Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique

Plus en détail

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples

Plus en détail

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. M2 CDS2I - 4 février 2010

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. M2 CDS2I - 4 février 2010 1 / 24 Développement Web - Servlet Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer M2 CDS2I - 4 février 2010 2 / 24 Plan Plan 1 2 Le modèle MVC 3 Structure

Plus en détail

Plan. Department of Informatics

Plan. Department of Informatics Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise

Plus en détail

CORBA. (Common Request Broker Architecture)

CORBA. (Common Request Broker Architecture) CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,

Plus en détail

Programmation par RPC et Java-RMI :

Programmation par RPC et Java-RMI : 2A-SI 3 Prog. réseau et systèmes distribués 3.2 et JavaRMI Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Support de cours élaboré avec l aide de l équipe pédagogique du

Plus en détail

Gestion des immeubles

Gestion des immeubles RAPPORT DE CONCEPTION Gestion des immeubles BOUSSRHAN YOUSSEF & BENZITI WALID Email : Youssefboussrhan@gmail.com GSM : 0678510690, 0611347597 ISTA NTIC SYBA CRJJ GROUPE B Annexe : Figure 1: Diagramme de

Plus en détail

Conception de serveurs d'applications ouverts

Conception de serveurs d'applications ouverts Conception de serveurs d'applications ouverts 2/3 Stéphane Frénot 1 CS : Du C/S au middleware Explicite Le client et le serveur sont développés en collaboration Objet distant : Client et serveur sont liés

Plus en détail

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux Avant-propos 1. À qui s adresse ce livre? 11 2. Les pré-requis 12 Préambule 1. Rappel sur les architectures Internet/Intranet/Extranet 13 1.1 Le protocole HTTP 14 1.1.1 Les méthodes HTTP 16 1.1.2 Les codes

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Introduction Le but de ce TP est de programmer une application à la norme EJB en utilisant le serveur d application JBoss. Matériel requis - JBoss

Plus en détail

Développement Web. Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. 24 janvier 2011

Développement Web. Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. 24 janvier 2011 1 / 56 Développement Web Le modèle MVC Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer 24 janvier 2011 2 / 56 Objectif Objectif du cours Se familiariser avec

Plus en détail

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static Plan Environnement Client/Serveur Cours 6 Rappels Java (suite) Appel de méthode à distance kn@lri.fr http://www.lri.fr/~kn 1 Rappels sur les systèmes d'exploitations / Communication par mémoire partagée

Plus en détail

Programmation d applications distribuées

Programmation d applications distribuées Programmation d applications distribuées François Charoy Université Henri Poincaré 8 octobre 2007 Première partie I Développement d applications distribuées Objectifs du cours Comprendre ce qu est une

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

Site Web de paris sportifs

Site Web de paris sportifs Conception Nom HENAUD Benoît Numéro d auditeur 05-39166 Version V1.1 Date de mise à jour 15/05/2008 1/18 Table des matières 1. Objectif du document... 3 2. Architecture... 4 2.1. Contraintes techniques...

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

Java Spring Le socle technique des applications JEE

Java Spring Le socle technique des applications JEE Avant-propos 1. Préambule 15 2. Introduction 17 3. Organisation du livre 19 4. Public visé 19 5. Pourquoi Spring 20 6. Prérequis pour aborder sereinement la lecture de ce livre 20 7. Objectifs du livre

Plus en détail

Créer une architecture distribuée.net

Créer une architecture distribuée.net Ingénieurs 2000 Exposé Système & Réseaux 2006/2007 Créer une architecture distribuée.net Concepts et exemples 1. Présentation du Framework.NET 2. Créer et utiliser des services Web 3. Comment créer des

Plus en détail

Spécification du profil UML d assemblage cible EJB (version 1)

Spécification du profil UML d assemblage cible EJB (version 1) Spécification du profil UML d assemblage cible EJB (version 1) Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti) Référence : Livrable 2.2 Date : 31 mai 2002

Plus en détail

Formation développement Java, Spring et Hibernate

Formation développement Java, Spring et Hibernate L institut de formation continue des professionnels du Web Formation développement Java, Spring et Hibernate Référence formation : Durée : Prix conseillé : DJSH 10 jours (70 heures) 4 500 HT (hors promotion

Plus en détail

Formulaires Web avec Spring Web MVC

Formulaires Web avec Spring Web MVC Formulaires Web avec Spring Web MVC Spring propose un framework MVC pour faciliter la programmation d applications Web : Spring Web MVC. Au fil des ans ce framework a supplanté Struts pour être à présent

Plus en détail

Création d un service web avec NetBeans 5.5 et SJAS 9

Création d un service web avec NetBeans 5.5 et SJAS 9 Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...

Plus en détail

UN MODELE DE TRANSFORMATION DE DESIGN PATTERN VERS DES PROGRAMMES ORIENTES ASPECTS

UN MODELE DE TRANSFORMATION DE DESIGN PATTERN VERS DES PROGRAMMES ORIENTES ASPECTS République Algérienne Démocratique et Populaire Ministère de l Enseignement Supérieur et de la Recherche Scientifique Université Mentouri de Constantine Faculté des Sciences de l'ingénieur Département

Plus en détail

Formation Certifiante : Java/Java EE, Hibernate, Struts2, JSF2 et Spring3

Formation Certifiante : Java/Java EE, Hibernate, Struts2, JSF2 et Spring3 Formation Certifiante : Java/Java EE, Hibernate, Struts2, JSF2 et Spring3 Présentation de la formation Cette formation s'inscrit dans le cadre des formations d'été assurées par la société Inovia Information

Plus en détail

Remote Method Invocation en Java (RMI)

Remote Method Invocation en Java (RMI) Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation

Plus en détail

Licence MISIGD promotion 2016 Projet fin de spécialité composants logiciels IUT Vélizy JJLC

Licence MISIGD promotion 2016 Projet fin de spécialité composants logiciels IUT Vélizy JJLC Licence MISIGD promotion 2016 Projet fin de spécialité composants logiciels IUT Vélizy JJLC Sujet Il s'agit de réaliser une application d'inscription à une newsletter. L'application est une application

Plus en détail

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

Architecture des systèmes d information

Architecture des systèmes d information Architecture des systèmes d information Table des matières 1 La décennie 70 1 2 Le modèle relationnel (les années 80) 1 3 Enrichissement du relationnel (les années 80/90) 2 4 Système d informations (les

Plus en détail

Pierre Chauvet. pierre.chauvet@uco.fr

Pierre Chauvet. pierre.chauvet@uco.fr WindowBuilder Pro Pierre Chauvet pierre.chauvet@uco.fr 1 Plan de la présentation Introduction - Outils de développement Java - Google Java Developer Tools - Installation plug-in - Documentation en ligne

Plus en détail

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr Grégory Cuellar Julien Goullon gregory.cuellar@bull.net julien.goullon@9business.fr 1 er octobre 2007 1 Généralité 2 / 54 Pourquoi? Historique Les alternatives Les composants 2 Architecture n-tiers 3 JEE

Plus en détail

Le modèle de composants CORBA

Le modèle de composants CORBA Agenda Le modèle de composants La plate-forme Les composantes principales Evaluation de performances Perspectives 21 mars 2005 Réunion de démarrage ARC COA 1 Le modèle de composants Défini par Object Management

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

1. Installation d'un serveur d'application JBoss:

1. Installation d'un serveur d'application JBoss: EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition)

JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) Applications web, servlets et JSP 1. Introduction 15 2. Rappels sur la notion d'application web 15 2.1 Éléments constitutifs d'une application 15 2.2 Vie d'une application 16 3. Les servlets 16 3.1 Présentation

Plus en détail

Dossier de conception. Conception d un site E-learning

Dossier de conception. Conception d un site E-learning Conception d un site E-learning Encadré par : Mr. LACHGAR Mohamed Réalisé par : LECHQER Younesse ELEOUAD Abdelhadi SOMMAIRE I. PERIMETRE DU PROJET... 2 1.1. ENJEUX ET VISION DU PROJET... 3 1.2. ARCHITECTURE

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique»

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Java EE Approfondi - Cours 2 Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Présentation Lier l'orienté objet et la base de données relationnelle peut être lourd et consommateur en temps.

Plus en détail

Projet Telosys : Framework global et outil de génération de code

Projet Telosys : Framework global et outil de génération de code Projet Telosys : Framework global et outil de génération de code Laurent Guérin laurent.guerin@sogeti.com @ltguerin Telosys Project Leader Sogeti & OW2 Consortium Solutions Linux / Session OW2-20 juin

Plus en détail

Qu est ce que l environnement Eclipse?

Qu est ce que l environnement Eclipse? Qu est ce que l environnement Eclipse? Bernard DAUTREVAUX Directeur formation et conseil Acsys www.ac6-formation.com Pour en savoir plus: nos formations Eclipse +33 (0)1 41 16 80 10 Page 0 assistance conseil

Plus en détail

APPLICATIONS JAVA. 1. Android. Android Partie I. Développement d'activités Java sous Android

APPLICATIONS JAVA. 1. Android. Android Partie I. Développement d'activités Java sous Android APPLICATIONS JAVA Android Partie I Ivan MADJAROV - 2014 Applications Java sous Android IvMad, 2011-2014 2 1. Android Développement d'activités Java sous Android L'objectif principal de ce cours est de

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

Java Persistence Api. 1. Introduction. 2. Un premier exemple. 3. L application. benoit.charroux@efrei.fr

Java Persistence Api. 1. Introduction. 2. Un premier exemple. 3. L application. benoit.charroux@efrei.fr Java Persistence Api Cet article décrit une application qui illustre comment la sauvegarde d un graphe d objets peut être réalisé en Java Standard Edition via Java Persistence Api. 1. Introduction Java

Plus en détail

Les Framework Java DWR. Claude Duvallet 1/13. Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX

Les Framework Java DWR. Claude Duvallet 1/13. Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Les Java DWR Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com http://litis.univ-lehavre.fr/ duvallet/ Claude

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. Programmer avec Java EE. Besoins des développeurs. Prérequis / Objectifs

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. Programmer avec Java EE. Besoins des développeurs. Prérequis / Objectifs Plan du cours 2 Introduction générale EJB : les fondamentaux Programmer avec Java EE Introduction générale Michel Buffa (buffa@unice.fr), UNSA 2011, modifié par Richard Grin (version 1.0), avec emprunts

Plus en détail

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes. http://sardes.inrialpes.fr

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes. http://sardes.inrialpes.fr Emmanuel Cecchet INRIA, Projet Sardes http://sardes.inrialpes.fr Plan Motivations Idées principales Concepts Caching Perspectives /ObjectWeb 15 octobre 2002 Emmanuel.Cecchet@inrialpes.fr 2 - Motivations

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 16 NFP111 Systèmes et Applications Réparties Cours 10 - Les Enterprise Java Beans ( aux serveurs ) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

par Philippe Poulard Web services 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard

par Philippe Poulard Web services 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard Sommaire Qu est-ce? Middleware XML Web Services in situ Couches de services Architecture des Web Services avec Java JAX-RPC JAXR JAXM Outils 1 Présentation

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Les applications d'entreprise exemple : La technologie JEE Année universitaire 2013/2014 Semestre 1 Introduction Une application d'entreprise a généralement les caractéristiques

Plus en détail

Michaël Mrissa - michael.mrissa@iut.univ-lyon1.fr. Architectures n-tierintroduction

Michaël Mrissa - michael.mrissa@iut.univ-lyon1.fr. Architectures n-tierintroduction Architectures n-tier Introduction Architecture: Définition Définition...la structure des composants d un programme/système, leurs interrelations et les principes et lignes directrices gouvernant leur conception

Plus en détail

Web services en Java (services Web) JMF (Tous droits réservés) 1

Web services en Java (services Web) JMF (Tous droits réservés) 1 Web services en Java (services Web) JMF (Tous droits réservés) 1 Web services (services web) : qu'est ce? Une architecture orientée objet et distribuée où les messages sont en syntaxe XML Ce n'est pas

Plus en détail

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Université Claude Bernard Lyon 1 UFR d informatique avril 2006 MIAG soir Systèmes d Information Méthodes Avancées TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Introduction Dans ce

Plus en détail

Les Systèmes et Applications Réparties et leur Programmation

Les Systèmes et Applications Réparties et leur Programmation Les Systèmes et Applications Réparties et leur Programmation Samia Bouzefrane Maître de Conférences Laboratoire CEDRIC Conservatoire National des Arts et Métiers 292 rue Saint Martin 75141 Paris Cédex

Plus en détail

CORBA. Cycle de développement

CORBA. Cycle de développement CORBA Cycle de développement Projet MIAGe Toulouse Groupe 2 1 Le cycle de développement (1/3) On s intéresse au développement selon le mode statique, c est à dire en utilisant les talons (stub, skeleton,

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture

Plus en détail

LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6

LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6 LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6 Objectifs du développement en 8.5 Fournir un outil de développement moderne Faire pour les développeurs ce que Notes 8 a fait pour l'utilisateur

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

Plus en détail

JACi400 Génération & JACi400 Développement

JACi400 Génération & JACi400 Développement JACi400 Génération & JACi400 Développement Une solution pour développer rapidement des applications WebSphere pour votre iseries directement en RPG ou Cobol. "After spending time with SystemObjects and

Plus en détail

Cours Java. Cours en ligne Développement Java pour le web. Académie Libre info@academielibre.fr

Cours Java. Cours en ligne Développement Java pour le web. Académie Libre info@academielibre.fr Cours Java Cours en ligne Développement Java pour le web Académie Libre info@academielibre.fr Programme général du Cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation

Plus en détail

J o n a t h a n M E R C I E R. - J2EE - Enterprise JavaBeans

J o n a t h a n M E R C I E R. - J2EE - Enterprise JavaBeans J o n a t h a n M E R C I E R - J2EE - Enterprise JavaBeans Module Génie Logiciel Année 2006/2007 P l a n Introduction (J2EE) Présentation des EJB EJB : les concepts Processus de développement, de déploiement

Plus en détail

Architecture des systèmes d information répartis

Architecture des systèmes d information répartis Architecture des systèmes d information répartis Cours 2 : servlets et BD, EJB Sorina Ionica 1 JDBC Architecture multicouche J2EE Couche client Conteneur d'applet Applet Couche Web Conteneur Web J2EE Couche

Plus en détail

Cours Serveurs d application. et Java avancé. Introduction au cours Serveurs d application. et Java avancé. Prérequis / Objectifs.

Cours Serveurs d application. et Java avancé. Introduction au cours Serveurs d application. et Java avancé. Prérequis / Objectifs. Cours Serveurs d application et Java avancé Introduction au cours Serveurs d application et Java avancé ITU Université de Nice Richard Grin Version O 1.0.1 12/4/14 20 h de cours et TPs Richard Grin, université

Plus en détail

Etape 1 Installation de Tomcat et Eclipse

Etape 1 Installation de Tomcat et Eclipse Comment installer et exécuter wsig examples en 5 étapes Auteur : Sebastien Heymann Date : 29 décembre 2008 Pré requis : Savoir utiliser l'ide Eclipse est fortement

Plus en détail

Application Web et J2EE

Application Web et J2EE Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis

Plus en détail

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager L Orchestration de Services Web avec Orchestra Goulven Le Jeune Orchestra Project Manager D1 Bull, Architecte d un Monde Ouvert : contributeur et acteur majeur de l'open Source Applications métiers Infrastructures

Plus en détail

Atelier EDI Eclipse Ganymede N 2 : JSF

Atelier EDI Eclipse Ganymede N 2 : JSF Atelier EDI Eclipse Ganymede N 2 : JSF Etape 1 : configuration Définir «Web Page Editor» comme éditeur par défaut des pages *.jsp o Dans la fenêtre «Fenêtres/Préférences/Général/Editeurs/Associations de

Plus en détail

Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013

Visual Studio 2013 Concevoir et développer des projets Web, les gérer avec TFS 2013 Introduction 1. Présentation du cas d étude 13 1.1 Présentation générale 13 1.2 Présentation des applications 13 2. Déroulement du projet 14 3. Pré-requis et fondamentaux techniques à connaître 15 3.1

Plus en détail

Le mapping objet relationnel. Introduction au mapping objet relationnel avec Nhibernate Cyril GRAUFFEL IR3 2009/2010

Le mapping objet relationnel. Introduction au mapping objet relationnel avec Nhibernate Cyril GRAUFFEL IR3 2009/2010 Le mapping objet relationnel Introduction au mapping objet relationnel avec Nhibernate Cyril GRAUFFEL IR3 2009/2010 Plan de présentation 1. Le modèle relationnel et le modèle objet 2. Le Mapping Objet

Plus en détail

XText. Un langage spécifique à la description de graphe

XText. Un langage spécifique à la description de graphe XText - Un langage spécifique à la description de graphe Laboratoire d'analyse et d'architecture des Systèmes XText Un langage spécifique à la description de graphe Résumé: Un langage de description de

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Développement collaboratif (CVS), automatisation de la compilation (Ant), documentation (Javadoc) Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/

Plus en détail

MVC Modèle-Vue-Contrôleur Exemple d application

MVC Modèle-Vue-Contrôleur Exemple d application MVC Modèle-Vue-Contrôleur Exemple d application 0.1 Rappels La plateforme Spring MVC repose sur un DispatcherServlet qui gère toutes les requêtes. En rappel, nous avons vu lors du cours JSP et servlet

Plus en détail

Editing and managing Systems engineering processes at Snecma

Editing and managing Systems engineering processes at Snecma Editing and managing Systems engineering processes at Snecma Atego workshop 2014-04-03 Ce document et les informations qu il contient sont la propriété de Ils ne doivent pas être copiés ni communiqués

Plus en détail