La plate-forme J2EE. Master Informatique 2ème année. Olivier Flauzac. olivier.flauzac@univ-reims.fr



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

Environnements de Développement

Introduction à JDBC. Accès aux bases de données en Java

Introduction à la plateforme J2EE

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Web Tier : déploiement de servlets

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

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.

Compte Rendu d intégration d application

Mise en œuvre des serveurs d application

Java DataBaseConnectivity

Accès aux bases de données

TP Programmation Java / JDBC / Oracle

Hébergement de sites Web

Nouvelles Plateformes Technologiques

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Java Naming and Directory Interface

1. Langage de programmation Java

J2EE - Introduction. Développement web - Java. Plan du chapitre

Auto-évaluation Aperçu de l architecture Java EE

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Java et les bases de données

Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP

10. Base de données et Web. OlivierCuré

JOnAS 5. Serveur d application d

Formation en Logiciels Libres. Fiche d inscription

JavaServer Pages (JSP)

Java pour le Web. Cours Java - F. Michel

Application web de gestion de comptes en banques

Module BD et sites WEB

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

Le modèle client-serveur

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)

Application Web et J2EE

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Programmation d application Bases de données avec Java

Méta-annuaire LDAP-NIS-Active Directory

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Architecture Orientée Service, JSON et API REST

Single Sign-On open source avec CAS (Central Authentication Service)

Catalogue des Formations Techniques

Le développement d applications Web

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

Introduction à Sign&go Guide d architecture

Composants Logiciels. Le modèle de composant de CORBA. Plan

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET

Architectures d'intégration de données

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

JDBC le langage Java XVI-1 JMF

Projet. But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables. Serveur de diffusion

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

IBM DB2 Alphablox. d administration GC

Remote Method Invocation (RMI)

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

Java - MySQL. Code: java-mysql

Architectures n-tiers Intergiciels à objets et services web

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Le passage à l échelle de serveur J2EE : le cas des EJB

JDBC JDBC. Java DataBase Connectivity

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal

TD sur JMS ) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS?

Refonte front-office / back-office - Architecture & Conception -

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Les processus métiers : concepts, modèles et systèmes

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

2 Chapitre 1 Introduction

Urbanisation des Systèmes d'information

Evaluation Idéopass Cahier d analyse technique

Groupe Eyrolles, 2005, ISBN :

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

TRANSFERT DE LA BASE DE DONNEES DE LA BIBLIOTHEQUE DU LSE VERS LE WEB

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

Architectures web/bases de données

Développement des Systèmes d Information

FileMaker Server 14. Guide de démarrage

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Création d une application JEE

Introduction à LDAP et à Active Directory Étude de cas... 37

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)

WebSSO, synchronisation et contrôle des accès via LDAP

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Groupe Eyrolles, 2004 ISBN :

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole :

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Programmation Web. Madalina Croitoru IUT Montpellier

1. Introduction à la distribution des traitements et des données

Introduction aux «Services Web»

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Introduction à Java. Philippe Genoud.

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

Quel ENT pour Paris 5?

Transcription:

La plate-forme J2EE Master Informatique 2ème année Olivier Flauzac olivier.flauzac@univ-reims.fr Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 1 / 64

Plan 1 Java? 2 Architecture des applications 3 La plate-forme J2EE 4 Environnement d exécution 5 JDBC 6 Servlet 7 JSP 8 EJB Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 2 / 64

Plan 1 Java? 2 Architecture des applications 3 La plate-forme J2EE 4 Environnement d exécution 5 JDBC 6 Servlet 7 JSP 8 EJB Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 3 / 64

J2SE Standard Edition élément de base vaste API quelques services RMI JDBC Corba pour les postes client ou les application réseau légère permet le développement de client lourds Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 4 / 64

J2ME Micro Edition Java allégé possibilité de supprimer des composants non utilisés mise en place de composants de configuration spécifique gestion native de la plate-forme terminaux portables téléphones PDA versions spécifiques en fonction des besoins : liaison sans fil (WIFI, Bluetooth) gestion de l énergie Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 5 / 64

J2EE Entreprise Edition API spécifique d entreprise serveur d application gestion de l intégration Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 6 / 64

Plan 1 Java? 2 Architecture des applications 3 La plate-forme J2EE 4 Environnement d exécution 5 JDBC 6 Servlet 7 JSP 8 EJB Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 7 / 64

Architecture Différentes architectures définition de la localisation des traitements définition de la localisation des données définition de la localisation résultats Impact performance de l application gestion des différents éléments déploiement et maintenance de l application Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 8 / 64

Architecture à 2 niveaux Deux acteurs client : gestion du traitement serveur : gestion des données Problèmes maintenance complexe performances dépendantes de la puissance du client Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 9 / 64

Architecture à 3 niveaux Acteurs présentation : interface utilisateur métier : logique métier (applicative) données : BdD, XML, LDAP... Avantages facile à déployer code applicatif modifiable indépendamment puissance déléguée à la couche métier Inconvénient évolution difficile composants de grande taille Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 10 / 64

Architecture à 3 niveaux Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 11 / 64

Architecture à multi-niveau Acteurs interface utilisateur : interactions entre l utilisateur et l application logique de présentation : mise en forme des affichages, mise en forme du traitement des requêtes logique métier : code spécifique à l entreprise service d infrastructure : fonctionnalités spécifiques (transaction, connexion...) données Modèle J2EE Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 12 / 64

Architecture multi-niveau Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 13 / 64

Architecture multi-niveau Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 14 / 64

Plan 1 Java? 2 Architecture des applications 3 La plate-forme J2EE 4 Environnement d exécution 5 JDBC 6 Servlet 7 JSP 8 EJB Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 15 / 64

La plate-forme J2EE Principe norme de spécification d infrastructure de gestion d applications d API Environnement J2EE infrastructure d exécution ensemble de services accessibles Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 16 / 64

API J2EE JNDI Java Naming and Directory Interface API d accès uniforme aux services d annuaire et de nommage localisation et exploitation de ressources diverses CORBA, RMI, NIS, LDAP, DNS Authentification service unifié d authetification mise en place hiérarchique : utilisateur domaine groupe Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 17 / 64

API J2EE JDBC Java Database Connectivity API d accès aux bases de données Servlet composant serveur mise en place de l architecture client / serveur remplace les script CGI Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 18 / 64

API J2EE JSP JMS Java Server Page extension des CGI génération de pages WEB dynamiques intégration de logique métier dans du HTML à l aide de XML ou de scriptlets concurent de ASP et PHP Java Messaging Service API et infrastruture implémentation du modèle à messages Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 19 / 64

API J2EE JTA Java Transaction API interface standard entre le gestionnaire de transaction et les acteurs (application, gestionnaire de ressources, serveur) EJB Entrepise Java Beans composant fournissant des services accessible au travers d interface hébergé dans un environnemnet d exécution spécifique Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 20 / 64

Plan 1 Java? 2 Architecture des applications 3 La plate-forme J2EE 4 Environnement d exécution 5 JDBC 6 Servlet 7 JSP 8 EJB Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 21 / 64

Une plate-forme Plate-forme d exécution J2EE API base générique fournissant un ensemble de services élémentaires définition de la plate-forme en fonction des services recherché environnement d exécution API standardisée extensibilité des API serveurs d application services Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 22 / 64

Serveur d application Généralités environnement d exécution des applications gestion de la concurrence n client accédant à 1 même application Quelques serveurs SUN AppServers Tomcat WebSphere BEA WebLogic... Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 23 / 64

Rôles du Serveur d application Session gestion de la session utilisateur mise en place de contextes particulier par client gestion des contextes clients pour une même application exploitée par plusieurs clients Montée en charge déploiement parallèle / distribué équilibrage de la charge reverse proxy Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 24 / 64

Rôles du Serveur d application (suite) Reprise sur erreur stratégie de reprise sur faute gestion des données gestion des transactions Connexion aux sources de données persistance polling de connexion gestion de connexions multiples gestion des lots de requêtes Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 25 / 64

Architecture 1.4 Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 26 / 64

Architecture 1.5 Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 27 / 64

Interopérabilité Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 28 / 64

Architecture de la plate-forme Hiérarchisation des outils composants services d infrastructures services de communications Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 29 / 64

Les composants Composants WEB assure la présentation - partie visible JSP (Java Server Page) La vue génération de HTML gestion de l affichage et non du traitement inclusion de code Java dans du HTML inclusion de balises personnalisées Servlet Le contrôleur classe Java de traitement d une requête peux de génération de code HTML génération possible de code XML Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 30 / 64

Les composants (suite) Composants Métier spécifiques au traitement des données propre à un secteur d activité logique métier ou logique applicative interfaçage avec les bases de données EJB Enterprise Java Beans Le modèle Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 31 / 64

Services d infrastructures Liste des services bases de données : JDBC services de nommages, annuaires : JNDI gestion des transactions : JTA / JTS connexion aux systèmes d informations (ERP) : JCA supervision ; JMX Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 32 / 64

Services de communications Liste des services authentification et droits : JAAS communication et exécution entre objets : RMI WEB services communication asynchrone : JMS courrier électronique : Java Mail Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 33 / 64

Plan 1 Java? 2 Architecture des applications 3 La plate-forme J2EE 4 Environnement d exécution 5 JDBC 6 Servlet 7 JSP 8 EJB Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 34 / 64

JDBC Java Database Connectivity inclus dans Java 1.4 exploitation du package java.sql accès à des bases de données locales distantes API indépendante du SGBD nécessite l utilisation d un driver d accès fonctionnement en client / serveur utilisation d une architecture 3 tiers : présentation : le client traitement : le serveur d application données : le SGBD Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 35 / 64

Drivers JDBC Drivers plus de 190 drivers existance pour la majorité des SGBD drivers «simples» ou «multiples» drivers ODBC drivers définis en 4 familles types de drivers : type 1 : drivers de type pont JDBC-ODBC accès local fourni avec le JDK type 2 : drivers appelant des fonctions natives (en C), partiellement écrit en Java type 3 : drivers 100% Java, utilisation d un protocole générique type 4 : entièrement écrits en Java, exploitation du protocole réseau du SGBD Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 36 / 64

Le package java.sql java.sql définition des classes et interfaces interfaces Driver obtention d une instance de type Connection Connection gestion des connexions avec le SGBD ResultSet gestion des résultats des requêtes classes DriverManager gestion des accès Types assure le mapping SGBD - Java Exceptions SQLException gestion des erreurs SQL SQLWarning gestion des warnings SQL DataTruncation gestion des corruptions de données Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 37 / 64

Mapping MySQL Types SQL Types Java Méthode associée CHAR VARCHAR String String getstring() TEXT REAL float float getfloat() DOUBLE double double getdouble() FLOAT DATE Date Date getdate() DECIMAL BigDecimal BigDecimal getbigdecimal() NUMERIC Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 38 / 64

Accès à une base de données 1 chargement du driver 2 connexion 3 préparation de la requête 4 exécution de la requête 5 exploitation des résultats 6 fermeture de la connexion Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 39 / 64

chargement du driver et connexion Chargement du driver Class. forname ( "com. mysql. jdbc. D r i v e r " ). newinstance ( ) ; System. out. p r i n t l n ( " D r i v e r chargé " ) ; Connexion à la base S t r i n g u r l = new S t r i n g ( " jdbc : mysql : / / l o c a l h o s t / t e s t?user= log&password=pas Connection c = DriverManager. getconnection ( u r l ) ; System. out. p r i n t l n ( " Connecté à l a base " ) ; Création d un objet Statement Statement s t = c. createstatement ( ) ; Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 40 / 64

Exécution dépendante du type de requête Consultation de données executequery(...) ResultSet rs = s t. executequery ( " s e l e c t from t a b l e ; " ) ; Modification des données executeupdate(...) i n t v = s t. executeupdate ( " i n s e r t i n t o t a b l e values (..,... ) ; " ) ; Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 41 / 64

Exploitation des résultats Principe déplacement dans les lignes de résultat boolean next() lecture des informations xxx getxxx(int) (xxx : type des données) l indice des informations débute à 1!!! Exemple while ( rs. next ( ) ) { System. out. p r i n t ( rs. g e t S t r i n g ( 1 ) + " " ) ; System. out. p r i n t ( rs. g e t I n t ( 2 ) + " " ) ;... } Fermeture de la connexion c. close ( ) Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 42 / 64

Plan 1 Java? 2 Architecture des applications 3 La plate-forme J2EE 4 Environnement d exécution 5 JDBC 6 Servlet 7 JSP 8 EJB Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 43 / 64

Servlets? Définitions Principe programme java autonome exécuté sur le serveur exécutable sur tous les serveurs «étendus» d un moteur de servlet fichier.class sur le serveur instanciation à la première utilisation accès par une URL : http://www.serveur.fr/contexte/maservlet exécution dans un thread Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 44 / 64

Pourquoi des servlets Caractéristiques persistance des données gestion de l ensemble des informations et flux WEB : formulaires cookies sessions Intérêts efficacité (code semi compilé) résidentes multithreadées assurent la gestion du cache portables (Java) exploitent la totalités des possibilités serveur Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 45 / 64

Fonctionnement Requêtes Cycle de vie Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 46 / 64

Servlets de base : javax.servlet.servlet Initialisation void i n i t ( S e r v l e t C o n f i g c o n f i g ) Gestion du traitement void s e r v i c e ( ServletRequest req, ServletResponse res ) Destruction void destroy ( ) Configuration et informations S e r v l e t C o n f i g g e t S e r v l e t C o n f i g ( ) java. lang. S t r i n g g e t S e r v l e t I n f o ( ) Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 47 / 64

Servlets HTTP Principe gestion des servlet dans le cadre HTTP classe héritante de javax.servlet.servlet Méthodes gestion des requêtes GET protected void doget ( HttpServletRequest req, HttpServletResponse resp ) gestion des requêtes POST protected void dopost ( HttpServletRequest req, HttpServletResponse resp ) Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 48 / 64

Développement Approche développement par héitage servlet utilisateur héritage de javax.servlet.http.httpservlet nécessité de masquer la (les) méthode(s) dans les servlets développées dépendant de l application dépendant des méthodes d accès objets implicites requête HttpServletRequest request réponse HttpServletResponse response gestion des flux d entrée et de sortie Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 49 / 64

Gestion des données Formulaires gestion des formulaires et des méthodes (POST et GET) récupération des noms des champs et des valeurs Cookies utilisation de la classe javax.servlet.http.cookie dépose et lecture depuis les classes HttpServletRequest et HttpServletResponse Sessions suivi de navigation réécriture d URL enregistrement et accès aux données sur le serveur Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 50 / 64

Gestion des exécution Inclusion inclusion du résultat issu d un autre traitement utilisation d un RequestDispatcher passage des requêtes et réponses à l éléments inclus ne pas fermer les flux dans la servlet incluse! Délégation délégation de l exécution à une autre servlet possibilité de création de chaînes d exécutions réponse issue d une auttre servlet utilisation d un RequestDispatcher Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 51 / 64

Plan 1 Java? 2 Architecture des applications 3 La plate-forme J2EE 4 Environnement d exécution 5 JDBC 6 Servlet 7 JSP 8 EJB Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 52 / 64

JSP? Principe code java intégré au HTML compilé à l exécution en servlet styles de programmation jsp pur style XML Fonctionnement extension des servlet compilation en servlet avant l exécution utilisation de toutes les techniques des servlets Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 53 / 64

Eléments Déclarations <%! i n t i = 15; %> <%! S t r i n g s = new S t r i n g ( " Hello " ) ; %> < j s p : d e c l a r a t i o n > i n t i = 15; </ j s p : d e c l a r a t i o n > < j s p : d e c l a r a t i o n > S t r i n g s = new S t r i n g ( " Hello " ) ; </ j s p : d e c l a r a t i o n > Expressions <%= i %> <%= s %> < j s p : expression > i </ j s p : expression > < j s p : expression > s </ j s p : expression > Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 54 / 64

Directives page <%@ page a t t r i b u t s %> < j s p : d i r e c t i v e. page a t t r i b u t s / > Attribut import session isthreadsafe info errorpage iserrorpage contenttype pageencoding Description packages à importer appartenance à une session (true ou false) gestion de la concurrence informations relatives à la page URL de la page d erreur indicateur de page d erreur type des données et encodage encodage de la page Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 55 / 64

Directives include <%@ i n c l u d e a t t r i b u t s %> < j s p : d i r e c t i v e. i n c l u d e a t t r i b u t s / > Attribut file Description nom et chemin du fichier à inclure Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 56 / 64

Script Scriptlets <% code Java %> <ul > <% for ( i n t j =0; j <10; j ++){ out. p r i n t l n ( " < l i > " + j + " </ l i > " ) ; } %> </ ul > Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 57 / 64

Portée des éléments page accès limité à la page request accès limité à la page et aux pages incluses ou déléguées session accès depuis l emsemble des éléments de la session application accès à l emsemble des éléments Attention accès concurrents possible pour session et application Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 58 / 64

Plan 1 Java? 2 Architecture des applications 3 La plate-forme J2EE 4 Environnement d exécution 5 JDBC 6 Servlet 7 JSP 8 EJB Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 59 / 64

Définitions EJB composant Java portable, réutilisable, déployable assemblage de composants pour le développement d applications exécution dans un conteneur 3 types d EJB (Session, Entité, Message-Driven) Avantages gestion des services par les conteneurs transaction, autorisation, persistance... isolement de la logique applicative règles métier accès aux données portabilité Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 60 / 64

EJB Session Rôles exécution de tâches pour les clients gestion des traitements Sans état exécutions successives indépendante exemple : fonction mathématique invocations déléguées possibles Avec état dédié à un client appels succesifs avec persistance pas d invocation délégué Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 61 / 64

EJB entity Principe gestion des données objet métier existe dans un système de stockage permanent base de donnée, LDAP, XML... Caractéristiques persistant gestion client, facture enchère, réservation Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 62 / 64

EJB Message-Driven Principe traitement desdonnée asynchrones gestion des messages Caractéristiques basé sur JMS Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 63 / 64

Des EJB pour Quoi? Gestion des montées en charge développement de solutions clusters déploiement et distribution Gestion des clients hétérogènes accès aux EJB depuis différentes plate-formes garantie de l intégrité de règles métier Développement en équipe centralisation de la logique métier répartition des tâches de manière indépendante Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 64 / 64