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



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

Java pour le Web. Cours Java - F. Michel

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

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

JOnAS 5. Serveur d application d

Environnements de Développement

Introduction à la plateforme J2EE

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

Cedric Dumoulin (C) The Java EE 7 Tutorial

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

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

Mise en œuvre des serveurs d application

Java Enterprise Edition

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

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

EXA1415 : Annotations

Compte Rendu d intégration d application

Java Naming and Directory Interface

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

JOnAS Day 5.1. Outils de développements

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

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

Composants logiciels Exemples : Java Beans, Enterprise Java Beans

Documentation de la plate forme JOnAS

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

JOnAS Day 5.1. Clustering

Documentation de la plate forme JOnAS. Frederic Maistre

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

Evaluation Idéopass Cahier d analyse technique

Modèle d Administration des Systèmes Distribués à Base de Composants.

Nouvelles Plateformes Technologiques

Catalogue des Formations Techniques

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

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

2 Chapitre 1 Introduction

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

Architecture applicative et Cartographie

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

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.

Plan. Department of Informatics

Utilisation de Jakarta Tomcat

Réalisation : Encadrés par : BEN GHORBEL Mohamed Zied OUESLATI Cherif. Mr. ROMDHANI Mohamed

Création d une application JEE

Introduction aux «Services Web»

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

Rapport de projet de fin d études

Messagerie asynchrone et Services Web

Introduction à Java. Philippe Genoud.

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

Application web de gestion de comptes en banques

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

Urbanisme du Système d Information et EAI

IBM WebSphere Application Server 5.0 : Administration avancée

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

EJB. Karim Bouzoubaa Issam Kabbaj

Vulgarisation Java EE Java EE, c est quoi?

Architectures d'intégration de données

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)

Remote Method Invocation (RMI)

Virginie!SALAS Janvier!09! NFE107

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

Web Tier : déploiement de servlets

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

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

Des solutions J2EE open source professionnelles adaptées à votre système d information d entreprise

Les architectures 3-tiers Partie I : les applications WEB

BMC Middleware Management

NSY102. Conception de logiciels Intranet Introduction

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

Comparaison des architectures J2EE et.net

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

30 ans d ingénierie, 23 ans de conseil en architecture de SI

Hébergement de sites Web

Urbanisation des Systèmes d'information

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)

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

Serveur d'application à la juste taille

Applications et Services WEB: Architecture REST

Formation en Logiciels Libres. Fiche d inscription

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

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

Projet Java EE Approfondi

IBM DB2 Alphablox. d administration GC

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

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

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

Etude analytique des architectures applicatives

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

Application Web et J2EE

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

JavaServer Pages (JSP)

Les nouvelles architectures des SI : Etat de l Art

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Notes de version de Sun Java System Application Server Enterprise Edition

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno

Industrialisation du déploiement d'applications et de socles techniques

CQP Développeur Nouvelles Technologies (DNT)

Gestion d une plate-forme temps réel sur une architecture basée sur

Transcription:

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 Intégration avec les systèmes d information existants Support pour les applications «critiques» de l entreprise Disponibilité, tolérance aux pannes, montée en charge, securité... 2

Java EE : Historique Un modèle en évolution depuis 1997 J2EE 1.0 à 1.4 en 2003,... Au départ, juste des applications n-tiers Web Présentation (Servlets puis JSP), essentiellement HTTP Logique métier : EJB Données : JDBC Puis Une infrastructure de support standard pour les applications d entreprise. Facteurs de rationalisation majeurs via plusieurs API (JTA, JMS, JCA, Web Services). Les progiciels existants ont évolué vers Java EE. Un support pour développer des applications reparties et distribuées. 3

Java EE - Historique Anciennement appelé J2EE ( pour Java2 Enterprise Edition) Java EE comme Java Entreprise Edition C est un Modèle de programmation Sert à implémenter des applications web, des applications distribuées, des services web, Le modèle adopte l architecture multi-tiers 4

Architecture multi-tiers Une application Java EE adopte une architecture N-tiers. Tiers client qui peut être : Client Léger (Web, browser) Client Lourd (Application java, Applet ) Une Architecture Orientée Service (SOA : une application repartie) Tiers Serveur d applications Conteneur EJB + logique métier Services non fonctionnels SIE ou Base de données 5

Application multi-tiers Pages HTML Dynamiques Pages JSP Bean Entreprise Le Tier Client Le Tier Web Le Tier Metier La Machine du Client Le serveur java EE d application L application Web est décomposée en plusieurs parties. Chaque partie est dite Tiers Base de données Le Tier SIE Le serveur de Base de données SIE : Système Informatique de l Entreprise

Java EE : Architecture Browser Conteneur WEB Services html HTTP Servlets JSPs Applets RMI RMI BD EJBs RMI public static void main( ) { Conteneur EJB SIE Application Java Serveur d application Java EE 7

Java EE - Architecture RMI : EJB : JSP : JNDI : JMS : JTA : JCA : JMX : JDBC : SIE : Remote Methode Invocation Entreprise Java Beans Java Server Page Java Naming and Directory Interface Java Messaging Service Java Transaction API Java Connector Architecture Java Management extensions Java Data Base Connection Système Informatique de l Entreprise 8

Serveurs JEE : Payants Les noms de quelques serveurs commerciaux : BEA WebLogic (haut de gamme) IBM Websphere (Le n 1) Sun Java System App Server Borland Enterprise Server Oracle Application Server Macromedia jrun SAP Web application server Iona Orbix E2A 9

Serveurs JEE :Open-source Les noms de quelques serveurs open source : JBoss (n 1 en nombre de déploiements) ObjectWeb JOnAS(n 2, intégré à plusieurs distribution Linux Entreprise) Sun JS App Server (Platform Edition) Apache Tomcat ejbean GlassFish 10

Exemple d un serveur Java EE Client Java Source : Bull/ObjectWeb (JOnAS) Appel RMI JOnAS : un serveur «Java EE» Conteneur Web Conteneur EJB requête Servlets Interface locale Interface distante Enterprise Enterprise Enterprise Java Bean Java Bean Java Bean HTTP HTML Client Web Transaction Gestion Ear Nommage EJB Base de données... Appel JDBC Base de données Services 11

Conteneur Web Conteneur : un environnement d exécution Java EE qui fournit certains services aux composants qu il héberge : gestion du cycle de vie, injection de dépendances, Les composants hébergés sont : Servlets : Code java (une classe java) exécuté sur le serveur et permettant la génération de contenu Web dynamique. JSP: Java Server Pages Mélange de HTML/XHML et de code java avec la possibilité d utilisation des librairies d extension («taglibs») comme JSTL. Une page JSP est précompilé en servlet. 12

RMI RMI pour Remote Method Invocation Il permet Les appels sur objets distants Il présente un service de nommage (RMI registry). La sécurité est paramétrable via l API SecurityManager. Un ramasse-miettes (garbage Collector) Distribuée pour le nettoyage des objets distants. 13

JNDI Java Naming and Directory Interface : Service de nommage ou annuaire L API responsable de l accès aux annuaires : javax.naming Utilisable avec les EJBs (Entreprise Java Beans) : Accès à l interface «home» pour l initialisation Accès à diverses ressources (UserTransaction, la file d attente JMS, DataSources ) 14

JMS Java Messaging Service JMS Provider : inclus dans J2EE Transport synchrone ou asynchrone, Garantie de livraison «Messaging domains» point à point ou «publish/subscribe» Lien avec EJB : «message-driven bean» Pour échanges asynchrones 15

JTA Java Transaction API : une API java pour gérer les transactions de bases de données. Package javax.transaction TransactionManager : begin(), commit(), rollback() Synchronization : beforecompletion(), aftercompletion(commit rollback) 16

JMX Java Management extensions API unique pour applications de management Managed beans (Mbeans) avec accesseurs get/set Typage faible, attributs nommés Serveur JMX Enregistrement des Mbeans Les applications d administration dialoguent avec le serveur JMX Instrumenter un composant revient à Fournir un ou des Mbeans puis d enregistrer ces Mbeans auprès du serveur JMX. 17

EJB: Architecture JavaBeans pour l Enterprise Les EJBs reprerentent la logique métier S appuie sur Java SE et les APIs de Java EE : JNDI, JTA/JTS, JDBC, JMS, JAAS Gestion déclarative (personnalisation par annotations) Portable sur les différents conteneurs EJB 18

Rôles définis par la spec. EJB Fournisseur de beans Développeur qui crée les EJB Assembleur d application Crée l application par assemblage d EJB Administrateur Déploiement, sécurité, exploitation, montée en charge Analogue au rôle de DBA pour les BD 19

Exemple @Entity public class Livre { //l equivalant de create table } @Id //clé primère private String code; @Column(length=10) //taille maximale de la colonne private double prix; @Column(nullable = false) //colonne ne pouvant pas être nulle private String titre; @Column(nullable = false) private String auteur; public Livre() { } // Constructeur par défaut (obligatoire pour Entity bean) public Livre(String code, String titre, String auteur, double prix) { this.code =code; this.titre=titre; this.auteur=auteur; this.prix=prix; } public void setprix(double prix) { this.prix = prix; } public double getprix( ) { return prix; }... 20

JCA JCA pour Java Connector Architecture C est un service permettant l intégration avec les SI d entreprise (EIS) Applications (ERP, Supply Chain ) Middleware (gestionnaire de transactions ) Connecteur composé de : Contrats système API cliente Resource Adapter 21

Déploiement Packaging en fichier.rar (archive) Déployé par le serveur d application Format jar avec organisation standard Contient tous les éléments du connecteur Descripteur de déploiement (.xml) dans le dossier META-INF : configuration du connecteur 22

Packaging Application JavaEE (agrégation de différents tiers) Fichier «.ear» + descripteur «application.xml» Tiers client Web : fichier «.rar» + descripteur «web.xml» Application : fichier «.jar» + descripteur «applicationclient.xml» (lancement du main() de la classe spécifiée dans le «manifest», attribut «Main-Class») Tiers EJB Fichier «.jar» + descripteur «ejb-jar.xml» Tiers «EIS» (connecteurs JCA) Fichier «.rar» + descripteur «rar.xml» 23