Introduction au développement Web avec J2EE. Développement Web et J2EE
|
|
|
- Gauthier Lecours
- il y a 10 ans
- Total affichages :
Transcription
1 Projet de conception Développement Web et J2EE Introduction au développement Web avec J2EE Développement Web et J2EE Un aperçu P. André Master MIAGE Nantes MIAGE Université de Nantes P. André (Master MIAGE Nantes) Développement Web et J2EE 1 / 82
2 Introduction Introduction La motivation : développer des systèmes d information avec les technologies actuelles. bases de données SGBD relationnels applicatif portable multi-systèmes d exploitation accès distant Internet, Client-serveur interfaces accessibles Navigateurs Web Application : ARGOSI développement avec UML : processus, documentation, outils reprise d un existant : itératif et incrémental architecture 3-4 tier : SGBD, serveur Web, client travail en groupe : gestion de projet domaine complexe et évolutif P. André (Master MIAGE Nantes) Développement Web et J2EE 2 / 82
3 Introduction Introduction Avertissement L objectifs de cette présentation est de faire un tour d horizon de la problématique mais ne constitue en aucun cas un exposé approfondi du domaine. Le lecteur consultera les détails techniques dans les documents et ouvrages référencés. P. André (Master MIAGE Nantes) Développement Web et J2EE 3 / 82
4 Sommaire de l exposé Introduction 1 Introduction 2 Développement Web 3 J2EE 4 JSP 5 EJB 6 Frameworks techniques 7 Conclusion P. André (Master MIAGE Nantes) Développement Web et J2EE 4 / 82
5 Introduction Principales références Développement Web [Con00, Tah06, Sar05, Lan03] J2EE [Mol05, Sar05, CFS03, Lan03] Eclipse et Java [Hol04, Dau04, Dja05, SM03, Dev06, Dou07] JSP [Mol05, Sar05, Cha04] EJB [CFS03] MVC, Struts, Hibernate [Mol05, Sar05, Cha04, Goo02] [Tah06, Dev06]... très riche P. André (Master MIAGE Nantes) Développement Web et J2EE 5 / 82
6 7P. André Conclusion (Master MIAGE Nantes) Développement Web et J2EE 6 / 82 Sommaire de la partie Développement Web Sommaire de la partie 1 Introduction 2 Développement Web Généralités Architectures 3 J2EE 4 JSP 5 EJB 6 Frameworks techniques
7 Développement Web Généralités Développement Web Références Développent Web [Con00] Développent Web J2EE [Mol05, Sar05, CFS03] Autres [Tah06, Lan03, Dou07] Caractérisation : développer une application logicielle qui utilise des serveurs Web et un réseau (Internet, Intranet, Extranet) Elément clé : architecture (matérielle, logicielle), déploiement approche client/serveur (serveur Web) approches distribuées (middlewares, p2p, corba...) pas vu ici Architectures Web langages outils associés P. André (Master MIAGE Nantes) Développement Web et J2EE 7 / 82
8 Développement Web Architectures Architecture Web simple (2-tier) Client réseau requête Serveur Web navigateur Données Fichiers Serveur web document Client léger / lourd Serveur Serveur Web Langages/outils HTML, scripts (CGI, Javascript...), applications et plugins multimedia (audio, video) ou bureautique (word, openoffice, pdf...) P. André (Master MIAGE Nantes) Développement Web et J2EE 8 / 82
9 Développement Web Architectures Architecture Web simple (2-tier) suite Site Web = client + serveur web [Con00] Client léger IHM seule Navigateur Netscape, FireFox, IE,... lourd IHM+Métier Navigateur + Plugins, Applications; JavaWebStart... ActiveX, Swing, SWT... Serveur Serveur Web Apache, Internet Information Server (MS), IPlanet (netscape avant)... Langages/outils HTML, scripts (CGI, Javascript...), applications et plugins multimedia (audio, video) ou bureautique (word, openoffice, pdf...) ne pas confondre avec architecture 2-tier (IHM+Métier, SGDB) e.g. Java + Oracle P. André (Master MIAGE Nantes) Développement Web et J2EE 9 / 82
10 Développement Web Architectures Architecture Web simple (3-tier) Client réseau Serveur Web réseau Serveur BD navigateur requête Interne/ distant DBC BD Document / applet Serveur application web Serveur de BD Client plutôt léger Navigateur Netscape, FireFox, IE,... Serveur Serveur d application Web serveur web requêtes Web serveur applicatif Métier Serveur Serveur BD (Oracle, MySQL, Postgres...) Langages deux du 2-tier + langages spécifiques P. André (Master MIAGE Nantes) Développement Web et J2EE 10 / 82
11 Développement Web Architectures Architecture Web simple (3-tier) suite Application Web = client + serveur web + serveur d application (traitement d une logique applicative) [Con00] Client Serveur Serveur d application Web serveur web (Apache, IIS...) serveur applicatif Souvent intégré (Tomcat, Websphere, JBoss, JRun...) 2 approches compilé : CGI, Internet Server API (MS), Netscape Server API, Servlet (J2EE) interprété : ASP (Active Server Pages MS), JSP (Java Server Pages), Cold Fusion (Allaire)... Serveur Serveur BD (Oracle, MySQL, Postgres...) Langages deux du 2-tier + PHP, ASP, JSP, servlets, API serveurs web,... P. André (Master MIAGE Nantes) Développement Web et J2EE 11 / 82
12 Développement Web Architecture Web simple (5-tier) Architectures [Mol05] SWT Swing Navigateur Client HTTP/XML Couche présentation Servlets JSP XML RMI/IIOP Modèle en 5 couches Monde Java Couche métier EJB workflows RMI/IIOP SQL stockage SGBD JDBC driver Couche technique persistance transaction middleware P. André (Master MIAGE Nantes) Développement Web et J2EE 12 / 82
13 Développement Web Architectures Architecture Web simple (5-tier) suite Client Navigateur, Applets, Java Web Start,... Présentation de données partie serveur d application Web rendant possible l accès de clients riches ou légers Services métiers composants fonctionnels Services techniques composants gérant la persistance, la concurrence, les transactions... Stockage SGBD, XML, fichiers Répond aux objectifs de la DSI déploiement simple, diminution des coûts Factorisation de la logique entreprise et séparation claire des préoccupations. Délégation de la partie technique à des composants et des équipes spécialisées. cf cycle en Y P. André (Master MIAGE Nantes) Développement Web et J2EE 13 / 82
14 Développement Web Architecture Web Argosi Architectures Architecture Web autour de Java J2EE Navigateur Client HTTP/XML Couche présentation Servlets JSP XML RMI/IIOP Modèle en 5 couches Monde Java Couche métier MVC, EJB RMI/IIOP Oracle MySQL SGBD JDBC driver Couche technique hibernate Fig.: Architecture Web simple P. André (Master MIAGE Nantes) Développement Web et J2EE 14 / 82
15 Développement Web Architectures Architecture Web (solutions J2EE) suite Architecture Web autour de Java J2EE Client léger Navigateur Serveur d application J2EE Tomcat, Websphere, Jrun, Jboss comprenant le serveur Web (servlet, JSP) Eclipse - Lomboz (plugin J2EE) Couche métier EJB, MVC (Struts) Couche technique persistance (Hibernate),... Couche BD Oracle, MySQL, SQL Server, PostGresSQL : JDBC P. André (Master MIAGE Nantes) Développement Web et J2EE 15 / 82
16 Développement Web Architectures Architecture Web (patterns) pour aller plus loin [Con00] Pattern Client web léger (Thin Web Client) Navigateur seul Pattern Client web lourd (Thixk Web Client) Navigateur + HTML dynamique, applets Jav, contrôles ActiveX Pattern Livraison web (Web Delivery) utilisation de IIOP ou DCOM en plus de HTTP pour un système d objets distribués P. André (Master MIAGE Nantes) Développement Web et J2EE 16 / 82
17 Sommaire de la partie J2EE Sommaire de la partie 1 Introduction 2 Développement Web 3 J2EE Description J2EE technologies et services Architecture J2EE 4 JSP 5 EJB 6 Frameworks techniques P. André (Master MIAGE Nantes) Développement Web et J2EE 17 / 82
18 J2EE Description J2EE Java 2 Enterprise Edition L environnement J2EE fournit un ensemble d API permettant de développer des sites Web dynamiques avec une technologie Java. [Sar05]. (applications réparties) définie par Sun basée sur Java : Standard Edition, Enterprise Edition, Micro Edition applications types : systèmes d information entreprise, commerce électronique... ensemble de technologies pour contruire des applications réparties implantation de référence : J2EE 5 SDK sources : [Mol05, Sar05] P. André (Master MIAGE Nantes) Développement Web et J2EE 18 / 82
19 J2EE J2EE technologies et services J2EE technologies et services Java 2 Enterprise Edition Un ensemble de technologies pour contruire des apploications réparties Serveur d application à base de Web component JSP/servlet (pages web dynamiques) Business component EJB (logique applicative) Services d infrastructures (cf Corba) JDBC (Java DataBase Connectivity) : API d accès aux SGBDs JNDI (Java Naming and Directory Interface) : service de noms (annuaire) de référencement des objets JTA/JTS (Java Transaction API/Service) : service de gestion des transactions distribuées JCA (J2EE Connector Architecture) est une API de connexion au système d information de l entreprise, notamment aux systèmes dits Legacy tels que les ERP. JMX (Java Management Extension) fournit des extensions permettant de développer des applications web de supervision d applications. Services de communication... P. André (Master MIAGE Nantes) Développement Web et J2EE 19 / 82
20 J2EE services J2EE J2EE technologies et services... Services de communication JAAS (Java Authentication and Authorization Service) est une API de gestion de l authentification et des droits d accès. JavaMail est une API permettant l envoi de courrier électronique. JMS (Java Message Service) service de gestion des messages asynchrones (appelées MOM pour Middleware Object Message) entre applications. RMI-IIOP est une API permettant la communication synchrone entre objets. P. André (Master MIAGE Nantes) Développement Web et J2EE 20 / 82
21 J2EE J2EE technologies et services J2EE Plateformes Plateformes compatibles (processus de certification mis en place par Sun) Les plateformes sont en majorité J2SE 1.4 commerciales Websphere (IBM) WebLogic (BEA) Oracle Application Server Sun Java System Application Server... open source JBoss JRun JOnAS Geronimo OpenEJB JFox Tomcat... P. André (Master MIAGE Nantes) Développement Web et J2EE 21 / 82
22 J2EE J2EE technologies et services J2EE Communications Les technologies d appel de procédure à distance regroupant les standards tels que CORBA (OMG), RMI (J2EE), DCOM (Microsoft DNA) ou encore.net Remoting (Microsoft.NET). Leur principe réside dans l invocation d un service (i.e. d une procédure ou d une méthode d un objet) situé sur une machine distante indépendamment de sa localisation ou de son implémentation. P. André (Master MIAGE Nantes) Développement Web et J2EE 22 / 82
23 J2EE J2EE technologies et services J2EE Communications Les technologies d échanges de messages. Les applications voulant communiquer entre elles s échangent des messages véhiculés par l infrastructure MOM selon différents modes de communication que nous détailleronts par la suite, ces messages ont une nature complètement générique, ils peuvent représenter tous types de contenu aussi bien du binaire (image, objets sérialisés) que du texte (document XML). P. André (Master MIAGE Nantes) Développement Web et J2EE 23 / 82
24 J2EE J2EE technologies et services Conteneurs J2EE Application J2EE = 0..* composants Web + 0..* composants EJB Plusieurs rôles : développeur de composants Web, développeur de composants EJB, assembleur d applications, déployeur et gestionnaire d applications 4 services fournis par le serveur au conteneur EJB cycle de vie, transaction JTS, nommage JNDI, sécurité différent de Corba car ces services sont intégrés dès le départ à la plate-forme. P. André (Master MIAGE Nantes) Développement Web et J2EE 24 / 82
25 Conteneurs J2EE (suite) J2EE J2EE technologies et services Fig.: Conteneurs J2EE P. André (Master MIAGE Nantes) Développement Web et J2EE 25 / 82
26 Architecture J2EE J2EE Architecture J2EE Architectures Web autour de Java J2EE Fig.: Vue globale P. André (Master MIAGE Nantes) Développement Web et J2EE 26 / 82
27 Architecture J2EE J2EE Architecture J2EE Fig.: Vision service Web P. André (Master MIAGE Nantes) Développement Web et J2EE 27 / 82
28 P. André (Master MIAGE Nantes) Développement Web et J2EE 28 / 82 Architecture J2EE 5-tier J2EE Architecture J2EE Fig.: Architecture J2EE 5-tier
29 Architecture J2EE n-tier J2EE Architecture J2EE Fig.: Architecture J2EE n-tier P. André (Master MIAGE Nantes) Développement Web et J2EE 29 / 82
30 5 EJB P. André (Master MIAGE Nantes) Développement Web et J2EE 30 / 82 Sommaire de la partie JSP Sommaire de la partie 1 Introduction 2 Développement Web 3 J2EE 4 JSP JSP et servlets Servlet JSP : Principe et fonctionnement JSP : Balises Déploiement En savoir plus
31 JSP et servlets JSP JSP et servlets Programme Java s exécutant côté serveur Web Servlet : programme autonome stocké dans un fichier.class sur le serveur JSP : programme source Java embarqué dans une page.html côté client côté serveur.class autonome applet servlet embarqué dans.html JavaScript JSP exécutable avec tous les serveurs Web (Apache, IIS,...) ayant un moteur de servlet/jsp (e.g. Tomcat) Références [Mol05, Sar05, Cha04] P. André (Master MIAGE Nantes) Développement Web et J2EE 31 / 82
32 Servlet (définition) JSP Servlet Classe java héritant de HttpServlet (ou compilation d une JSP) All Implemented Interfaces: java.io.serializable, Servlet, ServletConfig public abstract class HttpServlet extends GenericServlet implements java.io.serializable La méthode service définit le code à exécuter. protected void service(httpservletrequest req, HttpServletResponse resp) void service(servletrequest req, ServletResponse res) req représente la requête renseignée par le moteur resp représente la réponse HTML construite dans la servlet ( à coup de out.println ) P. André (Master MIAGE Nantes) Développement Web et J2EE 32 / 82
33 JSP Servlet Servlet (utilisation) Déploiement et exécution de Servlet bytecode.class stocké sur le serveur désigné par une URL le chargement de l URL provoque l exécution de la servlet étendent le comportment du serveur Web sont exécutés par un moteur Chaque servlet n est instanciée qu une fois : ses données persistent entre deux invocations (ex : compteur évolue) init() démarrage (chargement) destroy() destruction (arrêt moteur, déchargement, arrêt volontaire) P. André (Master MIAGE Nantes) Développement Web et J2EE 33 / 82
34 JSP Servlet Servlet (utilisation) Contenu généré HTML, GIF, PDF, DOC... type MIME (text/html, image/gif...) Fonctionnalités supplémentaires sessions cookies upload fichier chaînage des servlets concurrence single/multi-thread données globales partagées entre servlets P. André (Master MIAGE Nantes) Développement Web et J2EE 34 / 82
35 JSP JSP : Principe et fonctionnement JSP JSP = Java Server Pages Une JSP est un fichier contenant du code HTML et des fragments de code Java exécutés sur le moteur de Servlets Comparable aux langages côtés serveur de type PHP, ASP,... Les pages JSP sont converties en Servlet par le moteur de Servlets lors du premier appel à la JSP ensemble de technologies pour contruire des applications réparties implantation de référence : J2EE 5 SDK P. André (Master MIAGE Nantes) Développement Web et J2EE 35 / 82
36 JSP JSP JSP : Principe et fonctionnement Le JavaServer Pages ou JSP est une technologie basée sur Java qui permet aux développeurs de générer dynamiquement du code HTML, XML ou tout autre type de page web. La technologie permet au code Java et à certaines actions prédéfinies d être ajoutés dans un contenu statique. La syntaxe du JSP ajoute des balises XML, appelées actions JSP, qui peuvent être utilisées pour appeler des fonctions. De plus, la technologie permet la création de bibliothèques de balises JSP (taglib) qui agissent comme des extensions au HTML ou au XML. Les bibliothèques de balises offrent une méthode indépendante de la plate-forme pour étendre les fonctionnalités d un serveur HTTP. Les JSP sont compilées par un compilateur JSP pour devenir des servlets Java. Un compilateur JSP peut générer un servlet Java en code source Java qui peut à son tour être compilé par le compilateur Java, ou peut générer le pseudo-code Java interprétable directement. inspiré de P. André (Master MIAGE Nantes) Développement Web et J2EE 36 / 82
37 JSP JSP : Principe et fonctionnement JSP (principes) Une page utilisant les Java Server Pages est exécutée au moment de la requête par un moteur de JSP, fonctionnant généralement avec un serveur Web ou un serveur applicatif. Le modèle des JSP étant dérivé de celui des servlets (en effet les JSP sont un moyen d écrire des servlets). Lorsqu un utilisateur appelle une page JSP, le serveur Web appelle le moteur de JSP qui crée un code source Java à partir du script JSP, compile la classe afin de fournir une servlet à partir du script JSP... Le moteur de JSP ne transforme et compile la classe que dans le cas où le script JSP a été mis à jour. La compilation (bytecode) et la recompilation sélective font de cette technologies une des plus rapides pour créer des pages dynamiques. En effet, la plupart des technologies de pages actives (ASP, PHP,...) reposent sur un code interprété, ce qui requiert beaucoup de ressources pour fournir la réponse HTTP. Actuellement seuls les scripts FastCGI (code compilé écrit en langage C) sont plus rapides car ils ne nécessitent pas une machine virtuelle pour exécuter l application. inspiré de P. André (Master MIAGE Nantes) Développement Web et J2EE 37 / 82
38 JSP JSP : Principe et fonctionnement JSP (fonctionnement suite) De plus, les JSP possèdent toutes les caractéristiques faisant la force de Java : les JSP sont multithreadées, les JSP sont portables, les JSP sont orientées objet, les JSP sont sûres,... Mécanismes plusieurs zones <%... %> peuvent cohabiter dans une même JSP lors du premier chargement (ou après modification) le moteur rassemble les fragments (zones) JSP dans une classe, la compile, l instancie. La page JSP est un objet Java dans le moteur. à chaque chargement le moteur exécute l objet dans un thread. en cas d erreur Java le message est récupéré dans le navigateur. P. André (Master MIAGE Nantes) Développement Web et J2EE 38 / 82
39 JSP JSP : Principe et fonctionnement JSP (fonctionnement Eclipse, Tomcat) Fig.: Archi JSP/Tomcat P. André (Master MIAGE Nantes) Développement Web et J2EE 39 / 82
40 JSP JSP : Balises JSP (balises) Une JSP contient : les données statiques comme le HTML directives <% directive attribut1=valeur1... %> qui agissent sur la compilation (page, include, taglib) les scripts, méthodes et variables (implicites, déclarées) : déclarations <%! int variabledeclasse = 0; %>, scriptlet <% %> méthode jspservice() du Servlet, expression <%= variable %>, commentaire <%- - Voici un commentaire JSP - -%> les actions : inclusion <jsp :include... >, délégation <jsp :forward... >, plugin (ancien), propriétés <jsp :getproperty... >, beans <jsp :jsp :usebean... >... les balises personnalisées et bibliothèques. P. André (Master MIAGE Nantes) Développement Web et J2EE 40 / 82
41 Déploiement JSP Déploiement Fig.: Déploiement J2EE (varie selon le serveur) applications_2e/deployment4.html P. André (Master MIAGE Nantes) Développement Web et J2EE 41 / 82
42 JSP Déploiement Déploiement WEB-INF : pages Web descripteur web.xml lien pages web et code META-INF : applications, EJB... manifeste manifest.mf descripteur application.xml archives (EAR, JAR)... bibliothèques autres P. André (Master MIAGE Nantes) Développement Web et J2EE 42 / 82
43 Déploiement JSP Déploiement Fig.: Déploiement J2EE (avec archives et beans) P. André (Master MIAGE Nantes) Développement Web et J2EE 43 / 82
44 JSP En savoir plus En savoir plus 1 livre JSP [Cha04] 2 slides jsp.pdf source intro et aussi 5 [Mol05, Sar05] Baron 8 Doudou 9 Tahé P. André (Master MIAGE Nantes) Développement Web et J2EE 44 / 82
45 7P. André Conclusion (Master MIAGE Nantes) Développement Web et J2EE 45 / 82 Sommaire de la partie EJB Sommaire de la partie 1 Introduction 2 Développement Web 3 J2EE 4 JSP 5 EJB Définition et principes Types, EJB 3.0, déploiement 6 Frameworks techniques
46 Enterprise Java Beans EJB Définition et principes Au départ un Java bean est un composant qui peut être manipulé visuellement dans un environnement de développement graphique. L idée était de pouvoir incorporer ces composants à des applets par exemple sans avoir à recompiler leur codes. Les Enterprise Java Beans se différencient des JB dans le fait qu ils ne sont pas conçus pour être travaillés visuellement mais pour fonctionner uniquement du côté serveur. Ils ont besoin d un conteneur pour fonctionner [...] permettre au développeur de se concentrer sur les objets métiers et non sur les traitements annexes. [Cha04] P. André (Master MIAGE Nantes) Développement Web et J2EE 46 / 82
47 EJB Définition et principes Composants EJB Les EJB sont faits pour faciliter la vie du développeur qui n a pas à connaître les API de bas niveau comme la gestion des connexions aux BD (Connection Pooling) ou comme la gestion du nombre d instances parallèles (Multi-threading)... Architecture distribuée multi-serveurs et multi-applications. [Cha04] Modèle de composants pour le développement d applications d entreprises logique applicative côté serveur services systèmes fournis par le conteneur (persistance, sécurité, transactions). la présentation est à la charge du client les beans sont portables d un serveur à l autre P. André (Master MIAGE Nantes) Développement Web et J2EE 47 / 82
48 EJB Définition et principes Composants EJB (détails) Concrètement un EJB est est un groupe de deux interfaces accompagné d au moins une classe dans un module contenant un descripteur de déploiement. Quatre étapes sont nécessaires pour construire un EJB : création de l interface Home qui contrôle le cycle de vie de l EJB création de l interface Component qui contient la logique applicative création du bean qui contient les méthodes création du deployment descriptor qui décrit l EJB et les services dont il a besoin. La gestion des transactions, la persistance des données et la sécurité sont directement prises en charge par les EJB. Les EJB communiquent entre eux en utilisant le JNDI (Java Naming Directory Interface). Rappel : Les EJB sont invocables dans les JSP. P. André (Master MIAGE Nantes) Développement Web et J2EE 48 / 82
49 Fig.: EJB P. André (Master MIAGE Nantes) Développement Web et J2EE 49 / 82 EJB Définition et principes Composants EJB (interfaces d accès) Chaque EJB fournit deux interfaces d accès distant (et éventuellement deux locales Local) Remote les services métier (méthodes) fournis par le beans RemoteHome interface de gestion du composant (création, recherche, destruction d instances de beans)
50 EJB Types, EJB 3.0, déploiement Composants EJB Trois types de composants session tâche client Stateless Session Bean - La particularité principale d un Stateless Session Bean est de ne pas conserver d état entre les différents appels. Stateful Session Bean - La particularité principale d un Statefull Session Bean est de conserver son état entre différents appels de méthodes. entity objet métier persistant Container Managed Persistence CMP - persistance gérée par le conteneur Bean Managed Persistence BMP - persistance gérée par le bean message-driven MDB - gestion de messages asynchrones, MOM (Message Oriented Middleware) source:l.seinturier P. André (Master MIAGE Nantes) Développement Web et J2EE 50 / 82
51 EJB Types, EJB 3.0, déploiement Composants EJB (persistance) entity bean objet métier persistant ( n-uplet d une relation) n est pas lié à la durée de vie des sessions clients est partagé par plusieurs clients ses données sont généres de manière persistante; trois catégories de variables d instance : persistante, relationnelle (clé), temporaire. est identifié par une clié primaire est relié à d autres entity bean (cf relations 1-1, 1-n, n-1, n-n mono/bi-directionnel) CMP - persistance gérée par le conteneur, configuration via un descripteur de déploiement, le développeur n écrit pas de classes concrètes, requêtes EJB QL BMP - persistance gérée par le bean : optimiser la gestion des données, utiliser d autres supports que JDBC (fichiers, JDO, JDBC, Hibernate...) P. André (Master MIAGE Nantes) Développement Web et J2EE 51 / 82
52 EJB Types, EJB 3.0, déploiement Composants EJB (persistance : comparaison) Pas de différences entre les deux approches pour les interfaces et clés primaires Caractéristique CMP CMP classe abstract normale accès SGBD automatique à coder état persistant pas de varibales (abstract) variables normales accesseurs obligatoires facultatifs findbyprimarykey généré automatiquement à coder autres recherches requêtes EJB QL à coder valeur de retour de null la valeur de la clé ejbcreate primaire P. André (Master MIAGE Nantes) Développement Web et J2EE 52 / 82
53 P. André (Master MIAGE Nantes) Développement Fig.: EJB Web et J2EE 53 / 82 EJB Composants EJB (communications) Types, EJB 3.0, déploiement JSP balises spécifiques Objet (applet, autre bean...) protocoles RMI-IIOP + service JNDI
54 EJB 3.0 EJB Types, EJB 3.0, déploiement La spécification 3 des EJB a tout d abord été élaborée en vue de simplifier la conception d EJB du côté développeur. Simplification de la définition des interfaces, suppression d un bon nombre de points requis dans la version 2.1 (plus besoin d hériter d une super interface ou classe) Simplification pour la création de la classe du Bean. Simplification des API pour l accès à l environnement du Bean : définition par simple injection dépendante Introduction de l utilisation des annotations en Java qui sont utilisées à la place du descripteur de déploiement Simplification concernant la persistance d objet par la définition par l utilisation facilitée de mapping objet/relationnel basée sur l utilisation direct de classes Java et non de composants persistants. les-entreprise-java-bean-version-3-javabeans-.htm P. André (Master MIAGE Nantes) Développement Web et J2EE 54 / 82
55 Déploiement EJB Types, EJB 3.0, déploiement Application EJB = archive EAR descripteur application.xml de l appplication archive.war par web bean archive.jar par bean Archive WAR descripteur.xml du web bean code (JSP, servlet.class) Archive JAR descripteur ejb-jar.xml du bean code.class du bean P. André (Master MIAGE Nantes) Développement Web et J2EE 55 / 82
56 Déploiement EJB Types, EJB 3.0, déploiement Fig.: Déploiement J2EE (avec archives et beans) P. André (Master MIAGE Nantes) Développement Web et J2EE 56 / 82
57 EJB Types, EJB 3.0, déploiement En savoir plus 1 livre EJB 3.0 [dts06] java-j2ee-ejb-3-les-entreprise-java-bean-version-3- javabeans-.htm 4 Design Pattern J2EE et aussi 5 [Mol05, Cla03] Doudou P. André (Master MIAGE Nantes) Développement Web et J2EE 57 / 82
58 Sommaire de la partie Frameworks techniques Sommaire de la partie 1 Introduction 2 Développement Web 3 J2EE 4 JSP 5 EJB 6 Frameworks techniques MVC (Struts) Persistance (Hibernate) Outils P. André (Master MIAGE Nantes) Développement Web et J2EE 58 / 82
59 Frameworks techniques MVC (Struts) MVC Pattern Model/View/Controller de Smalltalk = séparer les préoccupations du code Model le cœur de l application (données et accès, calculs) View présentation des données Controller interaction de l utilisateur Construction du framework d IHM décentralisée en Smalltalk (ça a changé progressivement pour passer progressivement en centralisé - fin du polling depuis la version 5i4 de Visualworks) Le MVC a ensuite été popularisé par les design patterns. P. André (Master MIAGE Nantes) Développement Web et J2EE 59 / 82
60 MVC Frameworks techniques MVC (Struts) Modèle display modify Vue Vue Vue Contrôleur Contrôleur Contrôleur Fig.: MVC simplifié Smalltalk P. André (Master MIAGE Nantes) Développement Web et J2EE 60 / 82
61 Fig.: MVC 4.0 Smalltalk P. André (Master MIAGE Nantes) Développement Web et J2EE 61 / 82 MVC Frameworks techniques MVC (Struts) Modèle dépendants VueContrôleur Vue Contrôleur
62 Frameworks techniques MVC (Struts) MVC (J2EE) Pattern Model/View/Controller en J2EE Model The model is commonly represented by entity beans, although the model can be created by a servlet using a business object framework such as Spring. View The view in a Java EE application may be represented by a Java Server Page, which may be currently implemented using JavaServer Faces Technology (JSF). Alternatively, the code to generate the view may be part of a servlet. Controller The controller in a Java EE application may be represented by a servlet, which may be currently implemented using JavaServer Faces (JSF). Dans le MVC2 (à l instar de Smalltalk) on centralise le contrôle (par exemple une seule servlet). P. André (Master MIAGE Nantes) Développement Web et J2EE 62 / 82
63 Frameworks techniques MVC (Struts) MVC, (Struts) Frameworks : Barracuda, Hammock, Tapestry, Webwork, Struts Struts Framework pour développer des applications web J2EE selon le MVC. Struts fait partie du projet Jakarta (Fondation Apache) qui propose aussi Tomcat, Cactus, JMeter... Model à la charge du développeur. View JSP/servlet, Struts propose des taglibs pour l intégration JSP. Controller Struts implémente un contrôleur principal (représenté par la classe ActionServlet) et des sous contrôleurs (correspondant aux classes Action). Sources : [Cha04] P. André (Master MIAGE Nantes) Développement Web et J2EE 63 / 82
64 MVC, (Struts) Frameworks techniques MVC (Struts) Rôles Fig.: Rôles dans Struts P. André (Master MIAGE Nantes) Développement Web et J2EE 64 / 82
65 MVC, (Struts) Frameworks techniques MVC (Struts) Fig.: Struts - détails P. André (Master MIAGE Nantes) Développement Web et J2EE 65 / 82
66 Frameworks techniques MVC (Struts) MVC, (Struts) Cycle de vie d une opération : Sur le schéma ci-avant, le client envoie une requête à l ActionServlet. Grâce au fichier de configuration Struts-config.xml, l ActionServlet aiguille la requête vers l Action appropriée. L action réalise alors le traitement adéquat. Si besoin, cette action utilise les ActionForm nécessaires et effectue les opérations utiles sur le modèle. L action renvoie ensuite le résultat du traitement (réussite, échec...). A partir de cette valeur, l ActionForm est alors capable de déterminer le résultat à renvoyer au client (redirection vers une autre page JSP...). P. André (Master MIAGE Nantes) Développement Web et J2EE 66 / 82
67 Frameworks techniques Persistance (Hibernate) Persistance des données La persistance et les transactions sont des éléments fondamentaux dans les applications de systèmes d information. Le passage à la programmation à objets à temporairement remis en cause l hégémonie des bases de données relationnelles BD/R (apparition des BD objets dans les années 1990). Les performances, l existant et l adaptation des interfaces ont permis aux SGBD/R de s imposer (définitivement?). Le stockage XML reste marginal pour les gros volumes et les applications industirelles (performances, nature, lisibilité, interrogation...). Le nœud du problème réside dans les interfaces Web/Objet avec les BD/R : disposer d outils Object-Relational Mapping (ORM) qui établissent le lien entre deux représentations radicalement différentes. Cela fait 10 ans que le domaine bouge fortement. Voyons la situation en Java. P. André (Master MIAGE Nantes) Développement Web et J2EE 67 / 82
68 Frameworks techniques Persistance (Hibernate) Persistance des données (Java) 1/2 Persistance des données avec Java 5 et EJB 3.0, JDO 2.0, JPA,... (avec ou sans le Web!!) JDBC L API JDBC (Java DataBase Connectivity) permet aux applications Java d accéder par le biais d une interface commune à des sources de données pour lesquelles il existe des pilotes JDBC. Normalement, il s agit d une base de données relationnelle. JDO Java Data Object est la première spécification de Java permettant la persistance transparente. JDOQL est le langage d interrogation spécifié par la norme JDO (Java Data Object). Le langage reprend la syntaxe de Java. Il prend en compte l héritage et permet une navigation très simple. JDO 2.0 est quasi finalisé sous Apache Software Foundation. Source : Wikipedia P. André (Master MIAGE Nantes) Développement Web et J2EE 68 / 82
69 Frameworks techniques Persistance (Hibernate) Persistance des données (Java) 2/2 SDO Service Data Objects est un standard initié par IBM, BEA, Xcalia puis supporté par Oracle, Siebel, SAP pour faciliter l adoption des architectures orientées SOA. Les objectifs de SDO sont de simplifier l accès aux données, unifier le modèle de programmation, et encourager l adoption de patterns J2EE. Contrairement à JDO qui est lié à Java, SDO est indépendant du langage de programmation. EJB 3.0 La spécification Enterprise Java Beans 3.0 fait elle-même parti de la plate-forme J2EE 5.0. La persistance des données en EJB3 est possible à l intérieur d un conteneur EJB3 aussi bien que dans une application autonome J2SE en dehors d un conteneur particulier. JPA L API de persistance Java des données Java Persistance API fait partie de la spécification EJB 3. Cette API réalise la fusion des travaux sur Hibernate avec la continuité des spécifications EJB précédentes 2.0 et 2.1. Source : Wikipedia P. André (Master MIAGE Nantes) Développement Web et J2EE 69 / 82
70 Frameworks techniques Persistance (Hibernate) Persistance des données (Java) JDO Java Data Object La simplicité d utilisation de JDO basée sur la manipulation de POJOs (Plain Old Java Objects) a fait le succès de ce standard. Le développeur peut manipuler les objets sans se soucier de la persistance. Potentiellement, le standard permet l accès à des sources de données de nature diverse. Trois grandes catégories d implémentations existent : les implémentations qui ne supportent que les SGBD relationnels les implémentations qui ne supportent que les SGBD Objet les implémentations qui supportent des sources de données hétérogènes (SGBDR, SGBDO, XML, Mainframe) et également l accès à des services (WebServices, JMS (Java messaging service), JCA (Java Connector Architecture), Cobol). Dans les cas des implémentations supportant des sources hétérogènes, l un des bénéfices apportés est la flexibilité du Système d Information. Il devient en effet possible de changer de source de donnée par simple paramétrage. Source : Doudou, Wikipedia P. André (Master MIAGE Nantes) Développement Web et J2EE 70 / 82
71 Frameworks techniques Persistance des données (Java) Persistance (Hibernate) JDBC et JDO ont les différences suivantes : JDBC orienté SQL le code doit être ajouté explicitement utilisation avec un SGBD uniquement JDO orienté objets code est ajouté automatiquement gestion d un cache mapping réalisé automatiquement ou à l aide d un fichier de configuration au format XML utilisation de tout type de format de stockage Source : Doudou P. André (Master MIAGE Nantes) Développement Web et J2EE 71 / 82
72 Frameworks techniques Persistance (Hibernate) Persistance des données (Java) DAO Data Access Object est un patron de conception. L utilisation de DAO permet de s abstraire de la façon dont les données sont stockées au niveau des objets métier. Ainsi, le changement du mode de stockage ne remet pas en cause le reste de l application. En effet, seules ces classes dites techniques seront à modifier (et donc à re-tester). Cette souplesse implique cependant un coût additionnel, dû à une plus grande complexité de mise en œuvre. Le DAO définit donc une interface qui va exposer les fonctionnalités utilisables. Ces fonctionnalités doivent être indépendantes de l implémentation sous jacente. Par exemple, aucune méthode ne doit avoir de requêtes SQL en paramètre. Pour les même raisons, le DAO doit proposer sa propre hiérarchie d exceptions. Source : Doudou, Wikipedia P. André (Master MIAGE Nantes) Développement Web et J2EE 72 / 82
73 Pattern DAO (Java) Frameworks techniques Persistance (Hibernate) Fig.: Pattern DAO en Java P. André (Master MIAGE Nantes) Développement Web et J2EE 73 / 82
74 Pattern DAO (Java) Frameworks techniques Persistance (Hibernate) P. André (Master MIAGE Nantes) Développement Web et J2EE 74 / 82
75 Frameworks techniques Persistance (Hibernate) Persistance des données (Java) JPA Java Persistance API JPA fait partie de la spécification EJB 3. C est une synthèse standardisée des meilleurs outils du sujet (Hibernate, Toplink,...). L API repose sur l utilisation d entités persistantes sous la forme de POJOs un gestionnaire de persistance (EntityManager) qui assure la gestion des entités persistantes l utilisation d annotations la configuration via des fichiers xml JPA peut être utilisé avec Java EE dans un serveur d application mais aussi avec Java SE (avec quelques fonctionnalités proposées par le conteneur en moins). Source : Doudou P. André (Master MIAGE Nantes) Développement Web et J2EE 75 / 82
76 Frameworks techniques Persistance (Hibernate) Persistance des données (Java) JPA Java Persistance API JPA est une spécification : il est nécessaire d utiliser une implémentation pour la mettre en oeuvre. L implémentation de référence est la partie open source d Oracle Toplink : Toplink essential. La version 3.2 d Hibernate implémente aussi JPA. JPA ne peut être utilisé qu avec des bases de données relationnelles. La version 3.0 des EJB utilise JPA pour la persistance des données. L implémentation de référence est incluse dans le projet Glassfish. Elle peut être téléchargée unitairement à l url : persistence/javapersistence.html Cette implémentation de référence repose sur l outil TopLink d Oracle dans sa version essential. Source : Doudou P. André (Master MIAGE Nantes) Développement Web et J2EE 76 / 82
77 JPA (tahe) Frameworks techniques Persistance (Hibernate) Fig.: Architecture multicouche classique la couche [1], appelée ici [ui] (User Interface) est la couche qui dialogue avec l utilisateur, via une interface graphique Swing, une interface console ou une interface web. Elle a pour rôle de fournir des données provenant de l utilisateur à la couche [2] ou bien de présenter à l utilisateur des données fournies par la couche [2]. la couche [2], appelée ici [metier] est la couche qui applique les règles dites métier, c.a.d. la logique spécifique de l application, sans se préoccuper de savoir d où viennent les données qu on lui donne, ni où vont les résultats qu elle produit. la couche [3], appelée ici [dao] (Data Access Object) est la couche qui fournit à la couche [2] des données pré-enregistrées (fichiers, bases de données,...) et qui enregistre certains des résultats fournis par la couche [2]. la couche [JDBC] est la couche standard utilisée en Java pour accéder à des bases de données. C est ce qu on appelle habituellement le pilote Jdbc du SGBD. P. André (Master MIAGE Nantes) Développement Web et J2EE 77 / 82
78 Frameworks techniques Persistance (Hibernate) JPA (tahe) Fig.: Architecture multicouche avec JPA La couche [dao] dialogue maintenant avec la spécification JPA, un ensemble d interfaces. Le développeur y a gagné en standardisation. Avant, s il changeait sa couche ORM, il devait également changer sa couche [dao] qui avait été écrite pour dialoguer avec un ORM spécifique. Quelque soit le produit qui implémente JPA, l interface de la couche JPA reste la même. La couche [4] des objets, image de la BD est appelée contexte de persistance. Une couche [dao] s appuyant sur Hibernate fait des actions de persistance (CRUD, create - read - update - delete) sur les objets du contexte de persistance, actions traduites par Hibernate en ordres SQL. La couche [Hibernate] est une couche d abstraction qui se veut la plus transparente possible. L idéal visé est que le développeur de la couche [dao] puisse ignorer totalement qu il travaille avec une base de données. P. André (Master MIAGE Nantes) Développement Web et 78 / 82
79 Frameworks techniques Persistance (Hibernate) Hibernate Hibernate est un framework open source gérant la persistance des objets en base de données relationnelle. Hibernate est adaptable en terme d architecture, il peut donc être utilisé aussi bien dans un développement client lourd, que dans un environnement web léger de type Apache Tomcat ou dans un environnement J2EE complet : WebSphere, JBoss Application Server et WebLogic de BEA Systems (voir (en) BEA Weblogic). Hibernate apporte une solution aux problème d adaptation entre le paradigme objet et les SGBD en remplaçant les accès à la base de donnée pas des appels à des méthodes objet de haut niveau. Hibernate fournit au développeur, un langage HQL (Hibernate Query Language) pour interroger le contexte de persistance Spring conteneur léger open source supportant Hibernate P. André (Master MIAGE Nantes) Développement Web et J2EE 79 / 82
80 En savoir plus Frameworks techniques Persistance (Hibernate) 1 livre EJB 3.0 [dts06] et les autres 4 solutions/ et aussi 7 [Mol05, Cla03] P. André (Master MIAGE Nantes) Développement Web et J2EE 80 / 82
81 Frameworks techniques Outils Outils textcolordarkredaide mémoire IDE : Eclipse [plugins ex : MyEclipse (J2EE, JSP, EJB, Struts...)], Netbeans, Lomboz (Eclipse spécifique J2EE)... Serveurs J2EE (pas tous EJB) : Tomcat, JBoss, Jonas, JRun,... Développement : Scripts Ant, Test JUnit, Cactus, IHM JFace (surcouche SWT), Traces Log4J, balises JSP Taglibs Versions CVS, SVN Génération code, doc et suivi XDoclet, AndroMDA XML-Objets Castor Code et qualité Checkstyle, métriques JDepend, performances JMeter Moteur de templates Velocity (génération de code, SQL...) Spring conteneur léger open source supportant Hibernate. Liste en constante évolution... P. André (Master MIAGE Nantes) Développement Web et J2EE 81 / 82
82 Conclusion Conclusion Résumé Approche répandue pour les applications SI Technologies autour de Java, Logiciel libre Documentation riche (Logiciel libre) Complexe... Mise en pratique Projet ARGOSI Développement Web Java UML Base existante P. André (Master MIAGE Nantes) Développement Web et J2EE 82 / 82
83 Conclusion Christophe Calandreau, Alain Fauré, and Nader Soukouti. EJB Mise en oeuvre. Dunod, ISBN Eric Chaber. JSP - Avec Struts, Eclipse et Tomcat. Collection InfoPro, 01 Info. Dunod, 1 edition, ISBN Gilles et al. Clavel. Java, la synthèse - Concepts, architectures, frameworks. Dunod, 4 edition, ISBN Jim Conallen. Concevoir des applications Web avec UML. Eyrolles, ISBN , 1e édition. Berthold Daum. P. André (Master MIAGE Nantes) Développement Web et J2EE 82 / 82
84 Conclusion Eclipse - Développement d applications Java. Dunod, 1 edition, ISBN Club Developpez. Cours sur Java. Developpez.com, travail collaboratif. Karim Djaafar. Eclipse et JBoss - Développement d applications J2EE professionnelles, de la conception au déploiement. Eyrolles, 1 edition, ISBN Jean-Michel Doudou. Développons en Java avec Eclipse. Developpez.com, /01/ version 0.80 (635 pages). Laboratoire Supinfo des technologies Sun. P. André (Master MIAGE Nantes) Développement Web et J2EE 82 / 82
85 Conclusion EJB 3 - Des concepts à l écriture du code - Guide du développeur. Dunod, 1 edition, ISBN James Goodwill. Mastering Jakarta Struts. John Wiley & Sons, Inc., New York, NY, USA, Steve Holzner. Eclipse - Développement d applications Java. O Reilly, 1 edition, ISBN Dick Lantim..NET. Eyrolles, ISBN Jérôme Molière. J2EE. Eyrolles, 2 edition, P. André (Master MIAGE Nantes) Développement Web et J2EE 82 / 82
86 ISBN Éric Sarrion. J2EE. Eyrolles, 1 edition, ISBN Conclusion Pierre-Yves Saumon and Antoine Mirecourt. Le guide du développeur Java 2 - Meilleures pratiques avec Ant, Junit et les design patterns. Eyrolles, 1 edition, ISBN Serge et al. Tahé. Développement web avec Java. Developpez.com, travail collaboratif. P. André (Master MIAGE Nantes) Développement Web et J2EE 82 / 82
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
Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués
Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hé[email protected]
Compte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Introduction à la plateforme J2EE
Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting [email protected] Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi
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
Environnements de Développement
Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna [email protected] Développement des systèmes d Information Syllabus
Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
Mise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
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 ([email protected]), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
Auto-évaluation Aperçu de l architecture Java EE
Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU
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
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é
Refonte front-office / back-office - Architecture & Conception -
Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table
Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <[email protected]> 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
Expert technique J2EE
EHRET Guillaume 25, rue de la Richelandiere 42100 SAINT ETIENNE 32 ans - Célibataire Expert technique J2EE Domaines de compétences Environnement et langages Expertise en programmation Java et en architecture
Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
J2EE - Introduction. Développement web - Java. Plan du chapitre
Développement web - Java J2EE - Introduction Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Plan du chapitre J2EE Présentation J2EE
10. Base de données et Web. OlivierCuré [[email protected]]
10. Base de données et Web 313 Evolution de l'information Ordre de grandeur : 314 1Mo : 1 gros roman 200Mo : ce que mémorise un être humain dans sa vie. 900Mo : information contenue dans le génome d'une
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET
Apache Tomcat 6 Guide d'administration du serveur Java EE sous Windows et Linux Étienne LANGLET Résumé Ce livre sur Apache Tomcat 6 s adresse à toute personne appelée à mettre en oeuvre ce serveur sous
Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
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
Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i
Développement JEE 5 avec Eclipse Europa K a r i m D j a a f a r A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i Groupe Eyrolles, 2008, ISBN : 978-2-212-12061-5 5 Le projet WTP (Web
Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP
Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP Ionel Dembski Sous la direction de Peter Daehne, Professeur HES Département d
Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement
Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement distribué Éric Leclercq Département IEM / Laboratoire LE2i Septembre 2014
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
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
INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE
INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE Igor Rosenberg 30 ans DEA «Image-Vision» de l Université de Nice Sophia-Antipolis POSTES PRECEDENTS MMA: Développement Web/Grails sur démonstrateur
Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/
Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation
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
Module BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet [email protected] 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Architectures web/bases de données
Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est
Evaluation Idéopass Cahier d analyse technique
Evaluation Idéopass Cahier d analyse technique Version 1 GMSIH 374, rue de Vaugirard 75015 Paris. Tel : 01 48 56 72 70. Fax : 01 48 56 07 70 Auteur(s) du document : Contrôle Qualité GMSIH Date : 17/03/2005
Formation en Logiciels Libres. Fiche d inscription
République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 [email protected] 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 [email protected] 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
IBM DB2 Alphablox. d administration GC11-2170-00
IBM DB2 Alphablox Guide d administration Version 8.4 GC11-2170-00 IBM DB2 Alphablox Guide d administration Version 8.4 GC11-2170-00 ii IBM DB2 Alphablox - Guide d administration Table des matières Avis
Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source
David MAFFRAND Architecte SI E-mail : [email protected] Web : http://dmaf.free.fr Certifié Weblogic Server 6 Certifié webmethods Integration 4.6 Certifié webmethods Enterprise 5.0 Certifié webmethods
Hébergement de sites Web
Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise
Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage
Technologies du Web Créer et héberger un site Web Page 1 / 26 Plan Planification Choisir une solution d hébergement Administration Développement du site Page 2 / 26 Cahier des charges Objectifs du site
Messagerie asynchrone et Services Web
Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS
Cours Bases de données
Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine [email protected] Transparents Disponibles
Java Enterprise Edition
Java Enterprise Edition Malik SAHEB [email protected], [email protected] Course Objectives Understanding the value propositions of Java EE Getting a big picture of Java EE architecture and platform Getting
JavaServer Pages (JSP)
JavaServer Pages (JSP) XVIII-1 Prérequis pour ce cours Ce cours a trait à la programmation Java coté serveur Il faut connaître un minimum de technologie J2EE Il faut connaître les servlets XVIII-2 Motivation
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
4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES
Philippe Crépin 7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française : 06.17.46.12.09 : [email protected] Disponibilité : En poste chez Soft Computing Développeur Web JEE
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
Président d Inotekk Gestion de la société, développement du portefeuille clients, gestion et réalisation des projets informatiques
LEO MARQUES Né le 11/09/1984 à Paris XIème (75) 7 Ter avenue Edith Cavell 06000 NICE Tél. Portable : 06 15 22 48 08 Permis A et B, véhicule personnel Président d Inotekk Gestion de la société, développement
Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Assurances & Mutuelles, Industrie, Santé, Énergie, Transport, Médias / Multimédias, Télécoms, Services
Société de conseil et d ingénierie en informatique SEELANDE Consulting, société de conseil et d ingénierie en informatique spécialisée dans les NTIC, se positionne dans différents secteurs d activités
Catalogue des Formations Techniques
Catalogue des Formations Techniques Items Média Concept 4, allées Pierre-Gilles de Gennes - 33700 Mérignac Téléphone : 05.57.35.73.73 Télécopie : 05.57.35.73.70 Courriel : [email protected] 2 Préambule
Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire
Objectifs Formations Expériences Professionnelles Hassene BELGACEM http://belgacem.hassene.netcv.com S intégrer dans une équipe de développement de haute compétence et participer activement dans la réalisation
les techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.
PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue
Atelier 1. Portails documentaires : BioLib et Cemadoc
Atelier 1 Portails documentaires : BioLib et Cemadoc Intervenants Emmanuelle Jannes-Ober, responsable de la médiathèque - Institut Pasteur Odile Hologne, chef du service de l infomation scientifique et
Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE
Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant Adresse Personnelle : 3, allée du Roussillon 91300 Massy Téléphone : (+33) 06 78 37 34 82 E-mail : [email protected]
Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft
Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source Jérôme Petit, Serge Petit & Serli Informatique, ITMatic Jérôme Petit, Serge Petit & SERLI & ITMatic Serli : SSII
Notre Catalogue des Formations IT / 2015
Notre Catalogue des Formations IT / 2015 Id Intitulé Durée Gestion de projets et méthodes I1101 I1102 I1103 I1104 I1105 I1106 I1107 I1108 I1109 I1110 I1111 I1112 I1113 I1114 I1115 I1116 I1117 I1118 I1119
Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno ([email protected])
Glassfish dans le milieu médical Jacky Renno ([email protected]) Plan Contexte Métier Technique Eléments structurants Approche Méthodologie et Outillage Choix de Glassfish Automatisation Industrialisation
Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.
: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL
Création d une application JEE
Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document
Un serveur d'archivage
Un serveur d'archivage destiné au Service Commun de Documentation de l'université de la Méditerranée Encadrement : Noël Novelli Représentants client (S.C.D.) : Axelle Clarisse Ronan Lagadic Equipe Projet
CQP Développeur Nouvelles Technologies (DNT)
ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,
Outil de planification en ligne pour des créations de rendez-vous ou de sondage
Outil de planification en ligne pour des créations de rendez-vous ou de sondage Centre de Ressources Informatiques (C.R.I.) d'orléans Université d'orléans 4-6 rue Léonard de Vinci, 45061 Orléans Cedex
Quel ENT pour Paris 5?
Quel ENT pour Paris 5? Objectifs et Enjeux Contexte et ob jectifs du projet Objectifs Mettre à disposition des usagers de l établissement (étudiants, personnels, partenaires, contacts, internautes) : un
INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)
CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.
Les architectures 3-tiers Partie I : les applications WEB
Les architectures 3-tiers Partie I : les applications WEB 1 Evolutions logicielles Des objets aux composants... Objets JavaBeans, Objets ActiveX, Objets COM,... 1 Evolutions logicielles Des objets aux
2 Chapitre 1 Introduction
1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné
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
LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Les Architectures Orientées Services (SOA)
Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie
SITE WEB E-COMMERCE ET VENTE A DISTANCE
Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : [email protected] GSM : Organisme
J2EE. Java2 Enterprise Edition. Pierre Yves Gibello [email protected] Mise à jour : 30 Septembre 2004
J2EE Java2 Enterprise Edition Pierre Yves Gibello [email protected] Mise à jour : 30 Septembre 2004 Ce document est couvert par la licence Creative Commons Attribution ShareAlike. This work
Urbanisme du Système d Information et EAI
Urbanisme du Système d Information et EAI 1 Sommaire Les besoins des entreprises Élément de solution : l urbanisme EAI : des outils au service de l urbanisme 2 Les besoins des entreprises 3 Le constat
NFP111 Systèmes et Applications Réparties
NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon
Introduction à la conception de systèmes d information
Introduction à la conception de systèmes d information 2008-2009 M1 MIAGE SIMA / M1 Informatique MIF17 Yannick Prié UFR Informatique - Université Claude Bernard Lyon 1 Objectifs de ce cours Présentation
INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE. 27 ans - 5 ans d'expérience
I0049 INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE 27 ans - 5 ans d'expérience Expert ises mét iers : Langues : Editeur de logiciels Roumain (Langue maternelle), Russe (Avancé), Anglais (Intermédiaire),
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
Cahier des charges : gestion de projets agiles. Programmation d Algorithmes Distribués (PAD)
Cahier des charges : gestion de projets agiles Programmation d Algorithmes Distribués (PAD) Benoit Bernardin Rachid Bouherrou Bruno Juillard Kaba Kabinè Sid-ahmed Anouar Lekhal 2012 / 2013 Sommaire I.
DotNet. Plan. Les outils de développement
DotNet Les outils de développement Version 1.03 du 16/10/2006 par Jacky Renno Plan La machine virtuelle Le kit de développement Le kit de langage Le Visual Studio.NET Le serveur web IIS 6.0 Le modeleur
Java Naming and Directory Interface
Introduction Java Naming and Directory Interface Gaël Thomas [email protected] Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard
Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures
Software propose une offre d intégration unique, qui apporte l équilibre parfait entre investissements et performances pour les entreprises qui doivent sans cesse améliorer leurs processus. Des caractéristiques
Architectures n-tiers Intergiciels à objets et services web
Plan pour aujourd hui Architectures n-tiers Intergiciels à objets et services web Clémentine Nebut Nebut LIRMM / Université de Montpellier 2 [email protected] Introduction Architectures classiques
Architectures d'intégration de données
Architectures d'intégration de données Dan VODISLAV Université de Cergy-ontoise Master Informatique M1 Cours IED lan Intégration de données Objectifs, principes, caractéristiques Architectures type d'intégration
ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE
ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE ORACLE DATA INTEGRATOR ENTERPRISE EDITION offre de nombreux avantages : performances de pointe, productivité et souplesse accrues pour un coût total de
Projet de développement
Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application
NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D
NOVA BPM «Première solution BPM intégr grée» Pierre Vignéras Bull R&D Définitions Business Process Pratiques existantes qui permettent aux personnes et systèmes de travailler ensemble Business Process
Introduction aux «Services Web»
Introduction aux «Services Web» Sana Sellami [email protected] 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre
Mercredi 15 Janvier 2014
De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information [email protected] 02 38 64 26 41 Architecture Il est
Ingénieur d Etudes.NET. Involys :.NET,3.5, C#, Vb.net, Asp.net, vb6,sql server2005, Oracle8i, TFS, MSProject, UML, Rational Rose
Présenté par : Aviva ASSAYAG Tél : 01 55 64 19 20 Email : [email protected] PROFIL DU CANDIDAT CANDIDAT Taher L. POSITION SOUHAITEE COMPETENCES TECHNIQUES EXPERIENCE Ingénieur d Etudes.NET Systèmes
Consultant MOE/Référent technique JAVA/J2EE JSF, RICH FACES
SS Consultant MOE/Référent technique JAVA/J2EE JSF, RICH FACES FORMATIONS ET DIPLOMES Certification SCRUM Master (AgilBee) 2009. Formation TDD 2008. Diplômé de l Institut Supérieur des Etudes Technologiques
Nouvelles Plateformes Technologiques
Cycle de présentation du développement Nouvelles Plateformes Technologiques Observatoire Technologique, CTI Observatoire Technologique 4 mai 2004 p 1 Plan de la présentation 1. Historique du projet 2.
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,
2.1 Liferay en un clin d'oeil... 4 2.2 Forces, faiblesses, opportunités et menaces... 4 2.3 Résumé de notre évaluation... 5
Livre Blanc LE PORTAIL D'INTÉGRATION LIFERAY Version 1.0 - Novembre 2006 SOMMAIRE 1 PRÉSENTATION... 3 2 SYNTHÈSE... 4 2.1 Liferay en un clin d'oeil... 4 2.2 Forces, faiblesses, opportunités et menaces...
Problématiques des développements Java/J2EE
1 Introduction Les développements Java/J2EE, notamment ceux qui utilisent les EJB, sont réputés complexes, tant en terme de développement que de tests et de maintenance. La productivité des développeurs
Groupe Eyrolles, 2004 ISBN : 2-212-11504-0
Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Table des matières Avant-propos................................................ 1 Quel est l objectif de cet ouvrage?............................. 4 La structure
