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



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

Compte Rendu d intégration d application

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

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

Java pour le Web. Cours Java - F. Michel

EXA1415 : Annotations

Cedric Dumoulin (C) The Java EE 7 Tutorial

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

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Environnements de Développement

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

Java Naming and Directory Interface

JOnAS Day 5.1. Outils de développements

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.

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

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

Mise en œuvre des serveurs d application

Création d une application JEE

JOnAS 5. Serveur d application d

JOnAS Day 5.1. Clustering

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)

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

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

Java Enterprise Edition

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

4. SERVICES WEB REST 46

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

Introduction à la plateforme J2EE

Rapport de projet de fin d études

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

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

Présentation du cours. Sécurité dans Java EE. Plan (1/2) Plan (2/2) Généralités sur la sécurité

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)

CQP Développeur Nouvelles Technologies (DNT)

Utilisation de Jakarta Tomcat

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI

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

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

Introduction aux «Services Web»

J2EE. Java2 Enterprise Edition. Pierre Yves Gibello Mise à jour : 30 Septembre 2004

2 Chapitre 1 Introduction

Cours en ligne Développement Java pour le web

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

Web Tier : déploiement de servlets

Groupe Eyrolles, 2004 ISBN :

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

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Composants logiciels Exemples : Java Beans, Enterprise Java Beans

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

Architecture Orientée Service, JSON et API REST

Formation en Logiciels Libres. Fiche d inscription

Java EE. Java Enterprise Edition. Pierre-Yves Gibello - pierreyves.gibello@experlog.com (Mise à jour : Septembre 2011)

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

Messagerie asynchrone et Services Web

A. Architecture du serveur Tomcat 6

Oracle9i Application Server version 2

Bien architecturer une application REST

Vulgarisation Java EE Java EE, c est quoi?

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

Hébergement de sites Web

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

Première coupe : Introduction à la plateforme Java EE JAVA JAVA. Introduction à la plateforme Java EE. Introduction à la plateforme Java EE

Projet Java EE Approfondi

Quel ENT pour Paris 5?

Une Histoire de Migration Agile

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

EJB. Karim Bouzoubaa Issam Kabbaj

Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire

Groupe Eyrolles, 2003 ISBN : X

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

IBM Rational Application Developer pour WebSphere Software V8.5 accélère le développement d'applications de haute qualité.

Nouvelles Plateformes Technologiques

Conception et Implémentation d un serveur d applications dans le cadre du projet EISMO

Quick Start Installation de MDweb version 2.3

Développement des Systèmes d Information

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

Présentation de SOFI 2.0

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

Remote Method Invocation (RMI)

IBM DB2 Alphablox. d administration GC

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

IBM WebSphere Application Server 5.0 : Administration avancée

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

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

Evaluation Idéopass Cahier d analyse technique

Présentation J2EE. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin Jahia Ltd. All rights reserved.

Master Data Management en Open Source C est le Bon Moment

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Rôles serveur Notion de Groupe de Travail Active Directory Utilisation des outils d administration Microsoft Windows Server 2008

Une introduction à la technologie EJB (2/3)

les Cahiers du Programmeur 2 e édition EJB 3.0 JPA JSP JSF Web Services JMS GlassFish Ant Antonio Goncalves

La reconquête de vos marges de manœuvre

Développement, déploiement et sécurisation d'applications JEE

Comparaison des architectures J2EE et.net

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

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

Architecture applicative et Cartographie

Application Web et J2EE

Transcription:

Cours Serveurs d application et Java avancé Introduction au cours Serveurs d application et Java avancé ITU Université de Nice Richard Grin Version O 1.0.1 12/4/14 20 h de cours et TPs Richard Grin, université de Nice Sophia Antipolis ; http://richard.grin.free.fr/itu-madagascar Interrogation sans documents à la fin de la semaine (30 %) Projet (à 2 ou 3) à rendre fin mai 2014 (70 %) Richard Grin Présentation Java EE page 2 Prérequis / Objectifs Prérequis : n HTML, HTTP n Bonne connaissance de Java n Servlets Objectif : Développement d applications Web avec Java EE, en particulier avec JSF, JPA et les EJB Plan du cours Introduction générale, Java EE et JNDI EJB JSF JPA Richard Grin Présentation Java EE page 3 Richard Grin Présentation Java EE page 4 Plan de ce support Présentation de Java EE Serveur d application et containers Composants Formats de distribution Profiles JNDI Architecture d une application d entreprise Les applications d entreprise modernes sont des applications multi-tiers qui contiennent au moins les couches n interface utilisateur (souvent navigateur Web) n serveur d application dans lequel tournent les processus métier et les services associés (sécurité, transactionnel, ) n bases de données Richard Grin Présentation Java EE page 5 Richard Grin Présentation Java EE page 6 1

2 Couches d une application Java EE Java EE Sécurité, transactionnel, Souvent Web DAO, ORM, Les «vrais» traitements Spécifications (32 dans Java EE 7) pour écrire des applications d entreprise en Java Les composants métier sont des Entreprise Java Beans (EJB) Le plus souvent l interface utilisateur est de type Web, implémentée avec Java Server Faces (JSF) Richard Grin Introduction Java EE page 7 Richard Grin Présentation Java EE page 8 Serveur d application Les applications Java EE ne peuvent fonctionner qu avec un serveur d application qui suit les spécifications Java EE Un serveur d application est un logiciel qui sert de structure d accueil pour les applications Plusieurs serveurs d application Java EE L implémentation de référence de Java EE 7 est GlassFish 4.0 Services offerts par le serveur d application Sécurité, accès distants, accès à la base de données, concurrence, transactions, injection de dépendance, Grâce à des containers qui accueillent les composants Java EE Richard Grin Présentation Java EE page 9 Richard Grin Présentation Java EE page 10 Containers Chaque type de composant est géré par un container : Web, EJB, CDI, Les containers interceptent les appels aux composants pour ajouter des services non fonctionnels : transactions, gestion de la concurrence, cycle de vie des composants, Le développeur est ainsi libéré d une grande charge de travail! Exemple d interception L appel d une méthode d un EJB est intercepté par le container qui n peut démarrer une nouvelle transaction juste avant de donner la main au code de la méthode n peut lancer un commit de la transaction à la fin de l exécution de la méthode Richard Grin Présentation Java EE page 11 Richard Grin Présentation Java EE page 12

Application multi-tiers - containers Composant Java EE utilise la notion de composant, en particulier pour les EJB et les composants JSF Sur le modèle des composants électroniques, les composants logiciels sont des boîtes noires n réutilisables n configurables n qui respectent des interfaces définies par une spécification n qui peuvent être enfichés dans les applications qui respectent ces spécifications Richard Grin Présentation Java EE page 13 Richard Grin Présentation Java EE page 14 Intérêt des composants Développement n plus rapide n plus fiable n maintenance facilitée n pas besoin de compétences pointues dans le domaine métier du composant On peut espérer la naissance d une industrie du composant offrant plus de choix que ce qui est proposé aujourd hui Format de distribution Une application Java EE est distribuée dans un fichier d archive (de type fichier zip), qui réunit les divers composants Un fichier d archive peut contenir n des composants Java n des ressources utilisées par les composants n des fichiers XML descripteurs de déploiement n d autres fichiers d archive Richard Grin Présentation Java EE page 15 Richard Grin Présentation Java EE page 16 Fichiers descripteurs de déploiement Informent le serveur d application sur la manière de déployer une application Par exemple pour intégrer l application au système de sécurité utilisé par le serveur Java EE définit des fichiers descripteurs standards ; web.xml par exemple pour les applications Web Un serveur d application peut y ajouter ses propres fichiers pour des configurations spéciales non standardisées (source de données, clustering ) ; glassfish-web.xml pour GlassFish, par exemple Richard Grin Présentation Java EE page 17 Annotations et fichiers descripteurs XML De nombreuses annotations permettent de configurer une application directement dans les classes Java Le contenu des fichiers XML est ainsi allégé S il y a conflit sur une indication, c est le fichier XML qui l emporte Richard Grin Présentation Java EE page 18 3

4 Types de fichiers d archive Jar (Java ARchive) : contient les EJB, les classes Java ordinaires et les ressources associées War (Web ARchive) : pour les modules liés au Web ; contient les servlets, fichiers HTML, JSF, EJB, et les ressources associées Ear (Entreprise ARchive) : réunit des modules jar ou war Structure EAR Richard Grin Présentation Java EE page 19 Richard Grin Présentation Java EE page 20 Structure JAR pour EJB Structure WAR classes directement sous la racine Richard Grin Présentation Java EE page 21 Richard Grin Présentation Java EE page 22 Profiles Profile Pour permettre des serveurs d application allégés, Java EE définit des profiles qui n utilisent pas toutes les technologies de la norme Le profile Web inclut les technologies qui suffisent le plus souvent pour écrire une application Web : servlets, JSF, CDI, EJB Lite, JPA, JTA, validation bean Une application qui se limite au profile Web peut être distribuée dans un seul fichier WAR Richard Grin Présentation Java EE page 23 Richard Grin Présentation Java EE page 24

5 EJB Lite Ne contient qu une partie de la spécification EJB : n beans stateless, stateful et singleton (donc pas EJB message, MDB) n interfaces locales seulement (pas d interfaces distantes) JNDI Java Naming and Directory Interface Richard Grin Présentation Java EE page 25 Richard Grin Présentation Java EE page 26 Généralités Dans une application distribuée, les composants ont besoin d accéder à d autres composants ou à des ressources (EJB, source de données JDBC, service de messagerie, ressource javamail, ) JNDI est une API Java pour utiliser des annuaires qui permettent de désigner des objets, des services ou des ressources en les associant à des noms Exemples de noms : java:global/drh/drh-ejb/employemanager jdbc/employes Utilisation de JNDI En interne le serveur d application utilise JNDI Pour retrouver les EJB et les ressources, le développeur utilisera le plus souvent l injection de dépendance qui est plus simple à utiliser L injection de dépendance n est pas toujours possible et il faut alors utiliser explicitement JNDI ; par exemple pour l écriture d un validateur JSF Richard Grin Présentation Java EE page 27 Richard Grin Présentation Java EE page 28 Noms JNDI des EJB EJB 3.1 a standardisé les noms JNDI des EJB (portable JNDI names) java:global/app1/ejb1/bean1 application module (fichier ejb1.jar) java:app/ejb1/bean1 nom de l EJB Richard Grin Présentation Java EE page 29 Code pour récupérer un EJB avec JNDI import javax.naming.initialcontext;... try { InitialContext ic = new InitialContext(); MonEJB monejb = (MonEJB) ic.lookup("java:global/app/mod/monejb");... } catch (NamingException e) { e.printstacktrace(); } Si c est possible, plus simple d injecter l EJB! Richard Grin Présentation Java EE page 30

6 Injecter un EJB Ajouter une variable d instance du type de l EJB et l injecter : @EJB MonEJB monejb; Et c est tout! C est le container qui va fournir l EJB au code Annexe Changer les ports utilisés par GlassFish Richard Grin Présentation Java EE page 31 Richard Grin Présentation Java EE page 32