Java pour le Web. Cours Java - F. Michel



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

Cedric Dumoulin (C) The Java EE 7 Tutorial

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

Environnements de Développement

JOnAS Day 5.1. Outils de développements

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

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

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

Introduction à la plateforme J2EE

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

Catalogue des Formations Techniques

Utilisation de Jakarta Tomcat

Application Web et J2EE

Mise en œuvre des serveurs d application

Java Enterprise Edition

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

Vulgarisation Java EE Java EE, c est quoi?

Web Tier : déploiement de servlets

Applications distribuées: le retour du client "riche"

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

Formation en Logiciels Libres. Fiche d inscription

Nouvelles Plateformes Technologiques

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

Compte Rendu d intégration d application

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Introduction à Java. Philippe Genoud.

RENDRE VOS APPLICATIONS JAVA PLUS EFFICACES Ce qu'il faut savoir

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)

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

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

JOnAS 5. Serveur d application d

2.1 Liferay en un clin d'oeil Forces, faiblesses, opportunités et menaces Résumé de notre évaluation... 5

Installer et configurer Oracle Forms 11gR2 Windows 7 64 bits

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

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

Messagerie asynchrone et Services Web

Modernisation et développement d applications IBM i Stratégies, technologies et outils

Les architectures 3-tiers Partie I : les applications WEB

Plateforme SAP BusinessObjects Business Intelligence Version du document : 4.1 Support Package Guide de déploiement d'applications Web

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Automation Engine. System Requirements. Version: Date: Automic Software GmbH

CQP Développeur Nouvelles Technologies (DNT)

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

Automation Engine 10. Plates-formes prises en charge

J2EE in practice. Olivier Liechti Patrik Fuhrer. Department of Informatics. Computer Science Master Course - SH 2004/05

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

Plan. Department of Informatics

1 JBoss Entreprise Middleware

Les nouvelles architectures des SI : Etat de l Art

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

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Documentation de la plate forme JOnAS. Frederic Maistre

Notre Catalogue des Formations IT / 2015

DotNet. Plan. Les outils de développement

Guide de déploiement d'applications FormPublisher

Documentation de la plate forme JOnAS

Groupe Eyrolles, 2005, ISBN :

Logiciels Open Sources et le Secteur Privé

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.

Qu'est-ce que le BPM?

Configuration système requise

Web Application Models

Projet de Veille Technologique

Urbanisme du Système d Information et EAI

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Projet de développement

Un serveur d'archivage

Introduction à la conception de systèmes d information

GECKO Software. Introduction à MOBIDICK. Modular But Integrated Application Framework

Logiciel Enterprise Guide Version 1.3 Windows

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Tolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques

WEBSPHERE & RATIONAL. Jacques Rage

JavaServer Pages (JSP)

Programmation Web. Introduction

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

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Développement des Systèmes d Information

IBM DB2 Alphablox. d administration GC

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE. 27 ans - 5 ans d'expérience

Expert technique J2EE

Business & High Technology

Quick Start Installation de MDweb version 2.3

Urbanisation des Systèmes d'information

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

EXA1415 : Annotations

Architecture et infrastructure Web

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

et Groupe Eyrolles, 2006, ISBN :

Serveur d'application à la juste taille

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

Point sur les solutions de développement d apps pour les périphériques mobiles

ABACUS vi Version Internet (release 2010)

SOA Open Source Intégration des services et business process dans une architecture SOA Open Source. Bruno Georges JBoss, a Division of Red Hat

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA

Président d Inotekk Gestion de la société, développement du portefeuille clients, gestion et réalisation des projets informatiques

Transcription:

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 ET 2. Un modèle de développement applications découpées en tiers

Qu'est-ce que JEE Une technologie: Le langage Java La machine virtuelle (JVM) Des APIs (le JDK + APIs applicatives) Des serveurs respectant le standard JEE (JSR) Plate-forme JEE

Qu'est-ce que JEE Un modèle de développement: Développement en tiers (multitiers) : applications découpées logiquement (correspondance avec le déploiement : clients, serveurs, SGBDs,...) Ce modèle partitionne le travail en 2 parties : Les aspects métiers/présentation, à la charge du développeur Les services standards fournies par la plate-forme JEE

Applications multi-tiers

Applications multi-tiers Les composants d'une application Java EE sont considérées suivant 4 tiers différents : Le tier client (Client-tier) : la partie tournant sur le client. Le tier Web (Web-tier) : des composants qui s'exécutent sur le serveur Java EE. Le tier Métier (Business-tier) : des composants qui s'exécutent sur le serveur Java EE. Le tier système d'information (Enterprise information system (EIS)-tier) : le logiciel appartenant au système d'information et s'exécutant sur le serveur correspondant (EIS server).

Applications multi-tiers Les applications JEE sont considérées comme des applications 3-tiers car elles sont distribuées sur 3 localisations (virtuelles) différentes : les machines clientes le serveur JEE les systèmes d'informations (Bds, etc.) C'est donc une extension du modèle 2-tiers classique client/serveur : ajout d'une couche applicative entre client et SIs

Terminologie JEE JEE-components et JEE Containers

JEE-components

Java EE-components Les applications JEE sont faites de composants JEE (Java EE-components) Java EE-component : Une unité de programmation autonome, un composant, pouvant communiquer avec d'autres composants

Java EE-components La spécification JEE distincte 3 types de composants: I : Les applications clientes et les applets : des composants qui tournent sur le client. II : Java Servlet, JavaServer Faces, et les JavaServer Pages (JSP) : des composants qui tournent sur le serveur. III : Les Enterprise JavaBeans (EJB) : également sur le serveur Différence avec des classes classiques : Vérifient la spécification JEE Déployées sur un serveur JEE

I. Les clients JEE

Les clients JEE On distincte 2 types de clients JEE : (1) les clients Web (2) les applications clientes.

Clients Web Un Client Web est considéré suivant 2 parties distinctes: 1) des pages web dynamiques générées par le Web-tier 2) un navigateur qui affiche les pages générées On parle de client léger (thin client) : toutes les opérations complexes sont exécutées par le serveur

Applets Une page web reçue depuis le web-tier peut contenir une applet : une petite application cliente écrite en Java exécutée par le navigateur Nécessite un plugin contenant une JVM Et parfois un fichier contenant des règles de sécurité On leur préfère aujourd'hui les composants web : pas besoin de plugin ou de fichier particulier sur le client Séparation nette entre le design de la page et les couches applicatives.

Applications clientes Applications clientes (exécutées sur la machine cliente) : plus riches en terme d'interface utilisateur (swing, etc.) accèdent directement au business-tier mais, peut aussi accéder à des services fournis par le web-tier et ainsi interagir avec d'autres composants web On parle de clients lourds (ou thick clients)

Les clients JEE Choisir entre client léger ou lourd dépend du type d'applications : client léger : facilite la distribution, le déploiement et la maintenance de l'application mais limite l'expérience utilisateur (latence réseau, GUI limité, etc.)

II. Les composants Web JEE

Les composants Web JEE Les composants Web JEE sont soit : Des Servlets (des classes Java générant des pages web) Soit des pages créées avec la technologie JSP Les pages JSP : code html statique et des appels à des objets Java («à la PHP») La technologie JavaServer Faces (MVC) utilise les servlets/jsp et fournit des outils liés à la gestion des interfaces web (analogie composants swing). Note : Les pages html et les applets ne sont pas considérées comme des composants Web par la spécification JEE

III. Business-tier et EIS-tier

Business-tier et EIS-tier Business tier Les parties liées au domaine d'application (les composants métiers) sont appelés les Business components (ils sont localisés dans le Business-tier) EIS-tier Le tier lié au système d'information (de l'entreprise) concerne tout le logiciel lié à l'infrastructure de l'entreprise (ERP, système transactionnel, base de données, etc.)

JEE-Containers

Les conteneurs JEE Le découpage en composants est le premier point fort de la technologie JEE. Le deuxième est la gestion par conteneur des composants de l'application : pour chaque type de composants, le serveur JEE fournit des services associés si celui-ci est placé dans un conteneur adapté.

Les types de conteneurs JEE Le déploiement va donc consister à placer les composants dans les conteneurs adaptés :

Les conteneurs JEE Un conteneur (container) est l'interface entre le composant et les services de bas niveaux dont il peut avoir besoin Pour pouvoir être exécutés, un composant ou une application web doit être : (1) assemblé dans un module JEE et (2) déployé dans son conteneur.

Les conteneurs JEE Le processus d'assemblage consiste principalement à paramétrer les services fournis par le conteneur : Pour chaque composant Et pour l'application elle-même. Par ex., il s'agit de définir les services de sécurité (login par ex.), d'espace de nommage, etc.

Packaging d'une application JEE

Pour le déploiement Une application JEE est donc composée d'un ensemble d'unité de programmation qui pourront ensuite être déployées sur n'importe quelle plate-forme compatible avec les spécifications JEE. Chaque unité contient : Un ou plusieurs composants fonctionnels (ejb, pages JSP, servlet, etc.) Des descripteurs de déploiement (optionnels) qui spécifient le contenu du composant. On parle ainsi du packaging d'une application

Les fichiers EAR Une application JEE est distribuée sous forme d'un fichier Enterprise Archive (EAR) C'est en fait un simple fichier jar avec l'extension.ear Ce fichier contient : des modules JEE Les descripteurs de déploiement (des fichiers xml). Ils peuvent donc être modifiés sans toucher le code de l'application. À l'exécution, le serveur lit les descripteurs pour utiliser les composants de manière adéquate.

Les fichiers EAR descripteurs Modules JEE

Les descripteurs Il existe 2 types de descripteurs : Les Java EE deployment descriptor : peuvent être utilisés pour configurer les paramètres de déploiement du module Les runtime deployment descriptor : utilisé pour paramétrer l'environnement hôte, c'est-à-dire n'importe quelle plate-forme compatible avec la norme JEE. Par exemple, pour la plate-forme Sun Java System Application Server Platform Edition 9, le runtime descriptor définit des informations comme la racine du répertoire web. Les noms de ces fichiers sont standards : sun-moduletype.xml (dans le répertoire META-INF)

Module JEE Un module JEE : Un ou plusieurs composants JEE prévus pour un type particulier de conteneur et un descripteur de déploiement du type correspondant. Par exemple, le descripteur de déploiement d'un module de type enterprise bean définit, entre autres, les droits d'accès aux beans correspondants

Les 4 types de module JEE Les modules EJB Contenant des fichiers classe et un EJB deployment descriptor (packagé en fichier jar avec extension.jar) Les modules Web Contenant des fichiers servlets, JSP, GIF, HTML et un web application deployment descriptor. Packagé en fichier jar avec extension.war (Web ARchive)

Module Web : fichier war

Les 4 types de module JEE Les modules application cliente Contenant des fichiers class et un application client deployment descriptor. Packagés en fichiers.jar Les ressource adapter modules Contenant toutes les interfaces, classes, librairies natives, documentation pouvant être nécessaires, et un ressource adapter deployment descriptor. Ce qui forme ce qui est appelé the (j2ee) connector architecture : connexion avec un EIS particulier. Packagés en fichiers jar avec extension.rar (Resource Adapter archive)

Les fichiers EAR

Résumé Le développement d'une application JEE : (1) Récupérer et installer des produits et outils JEE (2) Développer les composants JEE (3) Assembler les composants JEE (4) Déployer les composants JEE Chacune de ces tâches peut être effectuée par une personne différente (industrie) Exemple : (2) développement d'un EJB (fichier jar) (3) combinés avec d'autres dans une application JEE packagée en fichier ear, (4) le fichier ear est ensuite utilisé par un administrateur pour installer l'application sur un serveur JEE (chez le client)

Les serveurs compatibles JEE Sun Java System Application Server Platform Edition 9.0, based on the open-source server GlassFish JBoss Application Server Version 5 WebLogic Application Server 10.0 from BEA Systems SAP NetWeaver Application Server, Java EE 5 Edition from SAP JEUS 6, an Application Server from TmaxSoft Apache Geronimo 2.0 IBM WebSphere Application Server V7 IBM WebSphere Application Server Community Edition 2.0, based on Apache Geronimo Oracle Containers for Java EE 11 GlassFish Apache OpenEJB via Apache Geronimo

La plate-forme JEE 5

La plate-forme JEE 6

La plate-forme JEE 6