Plan. Department of Informatics



Documents pareils
Cedric Dumoulin (C) The Java EE 7 Tutorial

Java pour le Web. Cours Java - F. Michel

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

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

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

Composants logiciels Exemples : Java Beans, Enterprise Java Beans

What s New. Sun ONE Application Server. Version 7, Enterprise Edition

How to Login to Career Page

JOnAS 5. Serveur d application d

EJB. Karim Bouzoubaa Issam Kabbaj

Java Enterprise Edition

Introduction à la plateforme J2EE

WEB page builder and server for SCADA applications usable from a WEB navigator

VTP. LAN Switching and Wireless Chapitre 4

Environnements de Développement

2 Chapitre 1 Introduction

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

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

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

Applications des patrons de conception

Monitor LRD. Table des matières

Mise en œuvre des serveurs d application

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

Java Aspect Components (JAC)

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

Shibboleth. David Verdin - JOSY "Authentification centralisée pour les applications web" - Paris - 4 février mai

Vulgarisation Java EE Java EE, c est quoi?

Once the installation is complete, you can delete the temporary Zip files..

Editing and managing Systems engineering processes at Snecma

Documentation de la plate forme JOnAS

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Compte Rendu d intégration d application

Documentation de la plate forme JOnAS. Frederic Maistre

Serveur d'application à la juste taille

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

PACKZ System Requirements. Version: Version: Copyright 2015, PACKZ Software GmbH. 1

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

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

Server Architecture Overview

PIB : Définition : mesure de l activité économique réalisée à l échelle d une nation sur une période donnée.

IPSAS 32 «Service concession arrangements» (SCA) Marie-Pierre Cordier Baudouin Griton, IPSAS Board

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

Information Security Management Lifecycle of the supplier s relation

Forthcoming Database

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

SHAREPOINT PORTAL SERVER 2013

Stratégie DataCenters Société Générale Enjeux, objectifs et rôle d un partenaire comme Data4

Macroscope et l'analyse d'affaires. Dave Couture Architecte principal Solutions Macroscope

SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM APPLICATION FORM

Mon Service Public - Case study and Mapping to SAML/Liberty specifications. Gaël Gourmelen - France Telecom 23/04/2007

AMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32

Software Engineering and Middleware A Roadmap

Lamia Oukid, Ounas Asfari, Fadila Bentayeb, Nadjia Benblidia, Omar Boussaid. 14 Juin 2013

Package Contents. System Requirements. Before You Begin

Messagerie asynchrone et Services Web

Compléter le formulaire «Demande de participation» et l envoyer aux bureaux de SGC* à l adresse suivante :

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Introduction aux intergiciels

UML : Unified Modeling Language

APPENDIX 2. Provisions to be included in the contract between the Provider and the. Holder

GESTION DU CYCLE DE VIE. Albert Amar Avant-vente Middleware

Improving the breakdown of the Central Credit Register data by category of enterprises

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

AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES

Principe de TrueCrypt. Créer un volume pour TrueCrypt

THE OUAGADOUGOU RECOMMENDATIONS INTERNET INFRASTRUCTURE FOR AN AFRICAN DIGITAL ECONOMY 5-7 MARCH 2012

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

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation

Vanilla : Virtual Box

RULE 5 - SERVICE OF DOCUMENTS RÈGLE 5 SIGNIFICATION DE DOCUMENTS. Rule 5 / Règle 5

Exercices sur SQL server 2000

Description de la formation

VMware : De la Virtualisation. au Cloud Computing

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)

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.

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

Quatre axes au service de la performance et des mutations Four lines serve the performance and changes

JOnAS Day 5.1. Clustering

Instructions Mozilla Thunderbird Page 1

Java Naming and Directory Interface

Exemple PLS avec SAS

Tex: The book of which I'm the author is an historical novel.

Web Application Models

GESTION DE LA PERFORMANCE. Albert Amar Avant-vente Middleware

NFP111 Systèmes et Applications Réparties

Gestion des prestations Volontaire

COMPUTING. Jeudi 23 juin CLOUD COMPUTING I PRESENTATION

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

Qualité et ERP CLOUD & SECURITY (HACKING) Alireza MOKHTARI. 9/12/2014 Cloud & Security

Evaluation Idéopass Cahier d analyse technique

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

3615 SELFIE. HOW-TO / GUIDE D'UTILISATION

Tom Pertsekos. Sécurité applicative Web : gare aux fraudes et aux pirates!

Ingénierie et gestion des connaissances

English Q&A #1 Braille Services Requirement PPTC Q1. Would you like our proposal to be shipped or do you prefer an electronic submission?

Stéphane DERACO, DSI CNRS l Argos Devops : de l hyperviseur aux conteneurs l 11/12/2014 DOCKER

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

Transcription:

Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique

Enterprise JavaBeans 1. Definitions 2. Global View 3. Entity Beans 4. Session Beans 5. Message Beans 6. Implementation

5.1 Definitions Composants: Motivation Programmation usuelle "programming in the small" Le programmeur prend tout en charge (construction des différents modules, interconnexions, ) Grandes compétences techniques Structure de l'application peu visible (tout est dans le code) Programmation constructive (ou par composants) "programming in the large" Le programmeur réutilise des modules logiciels existants Focalise l'expertise sur les problèmes du domaine Description de la structure à l'aide d'un langage déclaratif

5.1 Definitions Composants: Définition Définition usuelle module logiciel autonome pouvant être installé sur différentes platesformes qui exporte différents attributs, propriétés ou méthodes qui peut être configuré capable de s auto-décrire (introspection) Intérêt : être des briques de base configurables pour permettre la construction d une application par composition

5.1 Definitions Rôle des conteneurs Encapsulation d un composant (techniquement par délégation) prise en charge (masque) des services systèmes (nommage, sécurité, transaction, persistance,...) prise en charge partielle des "connecteurs" (composants ayant des relations avec d'autres composants)

5.1 Definitions Les modèles de composants: de l'installation à l'introspection Installer les composants Packaging et déploiement dans un conteneur Créer une instance par des fabriques ("home") configuration des valeurs initiales Retrouver les composants services de nommage ou maisons ("home") Utiliser invocation synchrone et événements Introspection découvrir leurs APIs (fonctionnelle) découvrir les connecteurs (structurelle)

5.1 Definitions Enterprise JavaBeans Définition de Sun Microsystems: L'architecture des Enterprise JavaBeans (EJB) est une architecture de composants pour le développement et le déploiement d'applications d'entreprise distribuées basées sur des composants. Les applications écrites en utilisant l'architecture des EJB sont évolutives, transactionnelles et sûres. Ces applications peuvent être écrites une fois, puis déployées sur toute plate-forme serveur qui supporte la spécification des EJB. Autre définition plus courte: Les EJB sont un modèle de composants côté serveur, basés sur les technologies à objets distribués, standard pour les CTM.

5.1 Definitions Enterprise Java Beans: Components and Containers An Enterprise Java Bean (EJB) is a component that provides reusable business logic functionality and/or a representation of a persistent business entity An EJB Container executes an EJB due to a client request. Provides the plumbing necessary to execute the EJB including non-business logic related functionality such as transactions, security, concurrency, remote access, etc. life cycle functions, e.g., creating, destroying, etc. Client uses an interface to access the Bean indirectly A deployment descriptor describes the structure of the Bean and how to execute the Bean as part of an application

5.1 Definitions J2EE and EJB How does J2EE relate to Enterprise JavaBeans technology? Enterprise JavaBeans (EJB) technology is the basis of J2EE. EJB technology provides the scalable architecture for executing business logic in a distributed computing environment. J2EE makes the life of an enterprise developer easier by combining the EJB component architecture with other enterprise technologies to solutions on the Java platform for seamless development and deployment of server side applications.

EJB Contrats Fournir un modèle de développement uniforme pour les applications qui utilisent les composants EB Contrat coté client fournir une vue uniforme du bean au client. En particulier cette vue est indépendante de la plate-forme de déploiement Contrat coté conteneur permettre la portabilité des beans sur différentsserveursejb Contrat coté packaging (ejbjar/ear file) fournir un format de fichier standard pour packager les beans. Ce format doit être supporter par tous les outils liés aux EJB

EJB: Le contrat côté client Localiser le bean utilisation de JNDI Utiliser le bean utilisation de l interface standard fournie par l EB Home Interface méthodes liées à la gestion du bean : create, remove, finder,... Remote Interface (méthodes de l application) Le container implémente le mécanisme de délégation permettant de faire suivre l appel au bean Le client ne communique pas directement avec le bean mais avec le container

EJB: Le contrat "conteneur" L EJB conteneur permet gestion du cycle de vie, gestion de l état, sécurité, transaction distribuée, concurrence, extensibilité ces services appellent des méthodes fournies par le bean (callback methods) Les conteneurs gèrent 3 types de beans Entity beans Session beans Message driven beans

Cycle de vie d'un bean Le conteneur gère le cycle de vie d un bean Il fournit administration du bean ("Home implementation") permet aux clients de créer, détruire et rechercher un objet EJB appelle les opérations correspondantes fournies par le bean (callbacks) gestion de l état Activation: le bean est chargé en mémoire Passivation (Désactivation ): le conteneur peut sauvegarder l état du bean

Architecture Client Method invocation Client Interface Container Method Delegation TX support Security Persistence... Bean Instance

Structure d'un EJB

Création d'un EJB Objet

Interaction avec un EJB

EJB Object / Proxy d'ejb Client never directly access Bean instance Client finds home interface via JNDI Client uses home interface to obtain a reference to the Bean s component interface.

Gestion des ressources "Pool" d'instances Le serveur EJB maintient un pool d'instance de bean

Types of Beans Entity Beans Persistent data focus Session Beans: Client and application logic focus Message Driven Beans Asynchronous message processing

Classes and Interfaces 1. Remote Interface 2. Remote Home Interface 3. Local Interface 4. Local Home Interface 5. Bean Class 6. Primary Key See: http://java.sun.com/j2ee/sdk_1.3/techdocs/api/

Remote Interface Define the bean's business methods that can be accessed from applications outside the EJB container. «interface» java.rmi.remote «interface» javax.ejb.ejbobject «interface» RemoteInterface

Remote Home Interface Defines the bean's life-cycle methods that can be accessed from applications outside the EJB container: Creating beans Removing beans Finding beans «interface» java.rmi.remote «interface» javax.ejb.ejbhome «interface» RemoteHomeInterface

Local Interface Defines the bean's business methods that can be used by other bean co-located in the same EJB container (same address space) Allow beans to interact without the overhead of a distributed object protocol, which improves performance. «interface» javax.ejb.ejblocalobject «interface» LocalInterface

Local Home Interface Defines the bean's life-cycle methods that can be used by other co-located in the same EJB container (same address space) Allow beans to interact without the overhead of a distributed object protocol, which improves performance. «interface» javax.ejb.ejblocalhome «interface» LocalHomeInterface

Bean Class The session and entity bean classes actually implement the bean's business and life-cycle methods. Usually does not implement any of the bean's component interfaces directly. However, it must have matching signatures of the methods defined in the remote and local interfaces and must have methods corresponding to some of the methods in both theremoteandlocal interfaces. «interface» javax.ejb.entitybean MyEntityBean «interface» java.io.serializable «interface» javax.ejb.enterprisebean «interface» javax.ejb.sessionbean MySessionBean

Primary Key The primary key is a very simple class that provides a pointer into the database. Only entity beans need a primary key. java.io.serializable MyPrimaryKey

Local vs. Remote Interfaces Entity and Session Beans can support local and remote interfaces Client is written to a specific interface Interface(s) supported is not transparent to Bean provider Local interface Not location independent Client and EJB run in the same JVM Example: A Bean always accessed by other Beans Parameter passing is by reference (same as standard Java) Well adapted for fine grained access Remote interface Location independent Parameters passed by value (RMI semantics) Well adapted for coarse grain access

Local vs. Remote Interfaces (2) Reasons for Choosing Local vs. Remote Access Type of client If client is always a Web Component or another EJB, choose local Coupling If tightly coupled, choose local Scalability requirements If strong scalability requirements, choose remote