Vous êtes sur la page 1sur 38

http://sites.google.

com/site/walidzeddini/cours

Dveloppement des Applications Web


en J2EE
Walid ZEDDINI
Enseignant Expert J2EE - Ecole Nationale dIngnieurs de Sfax (ENIS)
Sous-directeur/ Chef de projet - Tunisie TradeNet (TTN)
walid.zeddini@gmail.com
walid.zeddini@tradenet.com.tn
29/05/2011

2011 ENIS - Sfax

29/05/2011

Au sommaire

Introduction au J2EE
Quest ce que J2EE ?
Pourquoi utiliser une plateforme ?
Les acteurs dune application J2EE

J2EE en dtail
Walid ZEDDINI, Dv , Applications Web J2EE

Architecture du JDK J2EE


Les diffrents outils de bas niveau

Composants : Web (JSP / Servlet) & Mtier (EJB)


Services dinfrastructures: JDBC /JNDI/JTA-JTS /JCA/JMX
Services de communications : JAAS/ RMI / Web services/ JMS / JavaMail

Implmentation de J2EE : les serveurs dapplication


Quest ce quun serveur dapplication ?
Quest ce quun serveur dobjet ?

J2EE contre ses concurrents


Composants standards contre framework
EJB vs Hibernate & Spring
Servlet & JSP vs Struts

Serveurs dapplication : utilisations et limites


IDE (Integrated Development Environment)

Bibliographie
2

Introduction au J2EE

29/05/2011

Introduction au J2EE

Quest ce que J2EE ?


J2EE (Java 2 Enterprise Edition) est une norme propose par la socit Sun, porte par un
consortium de socits internationales, visant dfinir un standard de dveloppement
d'applications d'entreprises multi-niveaux, bases sur des composants.

Walid ZEDDINI, Dv , Applications Web J2EE

Les trois ditions de Java


Java 2 Platform, Standard Edition (J2SE)
Applications stand-alone
Java 2 Platform, Enterprise Edition (J2EE)
Applications large chelle, applications distribues, applications Web,
Java 2 Platform, Micro Edition (J2ME)
Application pour terminaux mobiles (PDA, tlphones mobiles, )

29/05/2011

Introduction au J2EE

Java EE pourquoi faire ?

Walid ZEDDINI, Dv , Applications Web J2EE

La Java EE dfinit une architecture standard incluant:


Un modle de programmation (application multi-tiers, client lgers)
Une plate-forme (ensemble de spcifications et de politiques requises)
Un ensemble de test de compatibilit
Une implantation de rfrence
Les standards de la Java EE sont grs par la communaut JCP (Java Community
Process www.jcp.org ) travers des JSR(Java Specification Request)

Pourquoi utiliser une plateforme ?


Une plateforme est une base gnrique qui fournit un ensemble de fonctionnalits utiles
pour une majorit dapplications.
Une plateforme se construit sur la base dun ensemble de besoins gnriques partags
entre plusieurs applications.
Il peut exister plusieurs types de plateformes: De la plus gnrique la plus spcifique
(optimise pour un type de mtier prcis par exemple).
Bon nombre de grandes entreprises ont dj dvelopp des plateformes tels que : IBM
(WebSphere), SAP

29/05/2011

Introduction au J2EE

Les avantages dune plateforme ?

Walid ZEDDINI, Dv , Applications Web J2EE

Lavantage principal de partir dune plateforme est que lquipe de dveloppement na pas
sacquitter de dvelopper certaines tches (connexion la base de donnes par
exemple, gestion dobjets ).
Ce sont des tches que lon retrouve trs souvent dans un grand nombre de projet et qui
nont pas dintrt tre re-coder chaque fois (perte de temps et dargent).
De plus, mieux vaut travailler sur une plateforme qui prsente une forte stabilit (a vite
des dbuggages inutiles !).
Un autre avantage est la facilit de prise en main des API (Application Programming
Interface) de cette plateforme. En dautres termes, les API sont les services offerts par la
plateforme.
En effet, celle-ci cache trs souvent la complexit daccs telle ou telle ressource et
permet donc un gain de temps norme pour le dveloppeur qui a donc plus de temps pour
se proccuper du fonctionnement rel de son application (pas de tche ardue ou
gnrique dvelopper).
6

29/05/2011

Introduction au J2EE

Plateforme J2EE

Walid ZEDDINI, Dv , Applications Web J2EE

On parle gnralement de plate-forme J2EE pour dsigner l'ensemble constitu des


services (API) offerts et de l'infrastructure d'excution. J2EE comprend notamment:
Les spcifications du serveur d'application, c'est--dire de l'environnement d'excution : J2EE
dfinit finement les rles et les interfaces pour les applications ainsi que l'environnement dans
lequel elles seront excutes. Ces recommandations permettent ainsi des entreprises tierces
de dvelopper des serveurs d'application conformes aux spcifications ainsi dfinies, sans
avoir redvelopper les principaux services.
Des services, travers d'API, c'est--dire des extensions Java indpendantes permettant
d'offrir en standard un certain nombre de fonctionnalits. Sun fournit une implmentation
minimale de ces API appele J2EE SDK (J2EE Software Development Kit).
Dans la mesure o J2EE s'appuie entirement sur le Java, il bnficie des avantages et
inconvnients de ce langage, en particulier une bonne portabilit et une maintenabilit du
code.
De plus, l'architecture J2EE repose sur des composants distincts, interchangeables et
distribus, ce qui signifie notamment :
Qu'il est simple d'tendre l'architecture.
Qu'un systme reposant sur J2EE peut possder des mcanismes de haute disponibilit, afin
de garantir une bonne qualit de service.
Que la maintenabilit des applications est facilite.

29/05/2011

Introduction au J2EE

Les acteurs dune application J2EE

Walid ZEDDINI, Dv , Applications Web J2EE

La ralisation dune application base sur larchitecture J2EE fait appel diffrents types
de comptences que lon trouve rarement chez une mme personne car cela va de la
conception jusqu la supervision de lapplication en passant par le dveloppement et le
dploiement. Afin de pouvoir matriser ce processus, J2EE adopte lapproche des partages
des responsabilits
Plus spcifiquement pour les EJB (Entreprise Java Beans), cette approche dfinit
plusieurs niveaux de responsabilit :
Le fournisseur des EJB : cest lacteur qui fournit des composants mtiers rutilisables soit par
lachat un fournisseur de composants, soit par dveloppement interne ;
Lassembleur dapplications : lacteur qui est capable de construire une application partir
dEJB existants ;
Le dployeur : lacteur qui rcupre lapplication et soccupe de son dploiement dans un
serveur dapplications ;
Ladministrateur : lacteur qui contrle le fonctionnement du serveur dapplication et assure la
supervision des applications ;
Le fournisseur de conteneur : lditeur qui commercialise un conteneur web ou un conteneur
EJB ; cet diteur commercialise souvent un serveur dapplication incluant ces conteneurs ;
Le fournisseur de serveur : cest lditeur qui commercialise un serveur dapplication (BEA,
IBM etc...)
8

J2EE en dtail

29/05/2011

J2EE en dtail

Architecture du JDK J2EE


J2EE dcrit larchitecture dun standard pour les serveurs dapplication. Nous allons
tudier plus prcisment les composants, les dpendances et les protocoles utiliss.

Walid ZEDDINI, Dv , Applications Web J2EE

Schma des relations entre composants et tiers dans larchitecture J2EE :

10

29/05/2011

J2EE en dtail

Walid ZEDDINI, Dv , Applications Web J2EE

Architecture du JDK J2EE

Les diffrents rectangles dfinissent les conteneurs (de lenvironnement dexcution


J2EE) qui fournissent les services pour les diffrents composants (reprsents par les
rectangles dans les rectangles).
Les flches reprsentent les types daccs que le type dapplication peut avoir avec les
autres applications distantes. Par exemple, lapplication client peut se connecter au Web
Container par lintermdiaire des JSP / Servlet, elle peut galement se connecter
EJB Container
11

29/05/2011

J2EE en dtail

Architecture du JDK J2EE

Walid ZEDDINI, Dv , Applications Web J2EE

Voici prsent le schma de linteroprabilit entre la plateforme J2EE et les autres


programmes (les diffrents protocoles utiliss).

Ce schma est trs important dans le domaine de linteroprabilit entre diffrentes


applications. Il fournit les informations concernant les protocoles utiliss pour chacune des
connexions distantes possibles. Par exemple, Web Container fournit des accs via
HTTP / SSL ou SOAP ; EJB Container fournit des accs HTTP / IIOP (RMI : Internet
Inter-Orb Protocol) / SSL
Nous pouvons alors penser quun client en C#, par exemple, peut se connecter sur un
12
EJB en mode HTTP (dans lidal) ou via le protocole IIOP (plus rpandu).

29/05/2011

J2EE en dtail

Les diffrents outils de bas niveau


Nous venons de voir (trs succinctement) larchitecture globale de la plateforme J2EE.
Nous allons maintenant prsenter les diffrents outils.

Walid ZEDDINI, Dv , Applications Web J2EE

Il existe 3 grands types doutils :


Composants
Services dinfrastructures
Services de communications

13

29/05/2011

J2EE en dtail

Composants
On distingue, en gnral, 2 catgories de composants :
Web

Walid ZEDDINI, Dv , Applications Web J2EE

Mtiers: EJB

14

29/05/2011

J2EE en dtail

Web

Walid ZEDDINI, Dv , Applications Web J2EE

Il sagit de la partie prsentation (interface de lutilisateur et les traitements). Le client


reoit seulement du texte HTML, mais il sagit seulement de la partie visible de
lapplication. Derrire la scne, diffrentes technologies permettent votre code dtre
plus performant, plus robuste, et plus facile mettre en uvre et maintenir.
JSP
Les JSP (Java Server Page) sont les pages servant gnrer lensemble du code HTML de
linterface utilisateur. On y intgre aussi bien du code HTML que des scriplet Java (code java)
ou encore des balises personnalises (tag-lib).
Cette technologie est donc ddie la gnration de HTML et non au traitement de la requte
de lutilisateur. On lappelle gnralement : Vue.
Servlet
Une Servlet est une classe Java qui permet de traiter une requte venant dun client. Cette
technologie doit soccuper de traiter les donnes envoyes par lutilisateur et choisir la Vue
retourner celui-ci.
On appelle cette partie : Contrleur. En gnral, la classe Java ne doit quasiment pas gnrer
de code HTML (sauf dans certains cas prcis).
15

29/05/2011

J2EE en dtail

Mtier : EJB

Walid ZEDDINI, Dv , Applications Web J2EE

Il s'agit de composants spcifiques chargs des traitements des donnes propres un


secteur d'activit (on parle de logique mtier ou de logique applicative) et de l'interfaage
avec les bases de donnes.
On parle de la partie : Modle.

NOTA:
Modle MVC:
On vient de voire, les trois couches de larchitecture dapplication MVC : Modle-View
Controller . On dtaillera cette architecture dans le prochain chapitre. Retenons, pour le
moment, que MVC, s'agit bien dune architecture applicative

16

29/05/2011

J2EE en dtail

Services dinfrastructures

Walid ZEDDINI, Dv , Applications Web J2EE

JDBC: Java Database Connectivity


Cest une API daccs aux bases de donnes. Les serveurs dapplication fournissent en plus des
pools de connexion avec les bases de donnes. Cela rduit le nombre de lignes crire et
optimise son utilisation.
JNDI: Java Naming and Directory Interface
Cune API d'accs aux services de nommage et aux annuaires d'entreprises tels que DNS, NIS,
LDAP, etc.
JTA / JTS :Java Transaction Api / Java Transaction Services
Cest un API dfinissant des interfaces standard avec un gestionnaire de transactions.
JCA: J2EE Connector Architecture
C est une API de connexion au systme d'information de l'entreprise, notamment aux systmes
dits Legacy tels que les ERP.
JMX: Java Management eXtension
Cette API fournit des extensions permettant de dvelopper des applications web de supervision
d'applications.
17

29/05/2011

J2EE en dtail

Services de communication
JAAS (Java Authentification and Authorization Service)
Cest une API de gestion de l'authentification et des droits d'accs.

Walid ZEDDINI, Dv , Applications Web J2EE

RMI (Remote Method Invocation)


Cest une API permettant la communication synchrone entre objets.
Web services
Les Web services permettent de partager un ensemble de mthodes qui pourront tre
appeles distance. Cette technologie utilise XML, ce qui permet dtre utilise par nimporte
quel langage et nimporte quelle plateforme.
JMS (Java Message Service)
Cette API fournit des fonctionnalits de communication asynchrone (appeles MOM pour
Middleware Object Message) entre applications.
JavaMail
Cest une API permettant l'envoi de courrier lectronique.
18

29/05/2011

J2EE en dtail

Implmentation de J2EE : les serveurs dapplication


Il est avant tout indispensable de dfinir clairement ce qu'est un serveur d'application.

Walid ZEDDINI, Dv , Applications Web J2EE

En effet, une confusion rgne dans les esprits quant la notion de serveur d'application.
Cette confusion a t introduite en grande partie par les diteurs de serveurs d'application
J2EE (Java2 Entreprise Edition) afin de s'approprier de ce march.
La notion de serveur d'application a en effet t mlange avec celle de serveur d'objet
qui n'a absolument rien voir.

19

29/05/2011

J2EE en dtail

Quest ce quun serveur dapplication ?

Walid ZEDDINI, Dv , Applications Web J2EE

Le serveur d'application est l'environnement d'excution des applications ct serveur. Il


prend en charge l'ensemble des fonctionnalits qui permettent N clients d'utiliser une
mme application :
Gestion de la session utilisateur : N clients utilisant une mme instance d'application sur le
serveur, il est ncessaire que le serveur d'application puisse conserver des contextes propres
chaque utilisateur (par exemple, un panier de commandes). La plupart des serveurs
d'application gnrent un identifiant unique pour chaque nouveau client et transmettent cet
identifiant lors de chaque change HTTP par URL longs, variables caches ou cookies.
Gestion des montes en charge et reprise sur incident : Afin de grer toujours plus
d'utilisateurs, le serveur d'application doit pouvoir se dployer sur plusieurs machines et
ventuellement offrir des possibilits de reprise sur incident (mme si dans la grande majorit
des cas, on se contente d'une gestion des montes en charge au niveau rseau - botier de
rpartition, DNS round-robin, reverse proxy ...).
Ouverture sur de multiples sources de donnes : C'est le serveur d'application qui rend
accessible les donnes des applications du systme d'information. Il doit donc pouvoir accder
de nombreuses sources de donnes. On s'attend galement ce qu'il fournisse des
mcanismes performants comme le pooling de connexion base de donnes.
...
Le serveur d'application est donc indispensable si l'on souhaite viter de re-dvelopper
l'ensemble de ces fonctionnalits (cas des CGI). Les moteurs JSP/Servlets, Microsoft
ASP, Cold Fusion, PHP ... sont ce titre des serveurs d'application (mme sils sont
20
intgrs au ServeurWeb PHP/ASP).

29/05/2011

J2EE en dtail

Quest ce quun serveur dObjet ?


Pour aborder la notion de serveur d'objets, il faut comprendre qu'il existe deux mthodes
pour accder aux donnes et aux traitements.

Walid ZEDDINI, Dv , Applications Web J2EE

La premire consiste accder directement aux sources de donnes. Cette mthode de


programmation n'empche en aucun cas de structurer ses dveloppements.
La deuxime mthode consiste s'appuyer sur des objets mtier (client, fournisseur ...) afin
de masquer la complexit d'accs aux donnes. Un objet AssurSocial possdera par exemple
une mthode dbit() et une mthode crdit () qui chaque appel iront modifier les donnes
dans une ERP (Entreprise Resource Planning), un systme de CRM (Customer Relation Ship
Managment) ou une base de donnes.

21

29/05/2011

J2EE en dtail

Walid ZEDDINI, Dv , Applications Web J2EE

Quest ce quun serveur dObjet ?

1.
2.
3.
4.
5.
6.
7.

Requte du client
Le serveur web passe la requte au serveur dapplication
Le serveur dapplication traite la requte par des appels au serveur dobjets
Le serveur dobjet traite les donnes avec les bases de donnes (en tout genre)
Le serveur dobjet retourne les objets au serveur dapplication
Le serveur dapplication renvoie le rsultat au serveur web
Le serveur web fait suivre le rsultat au client

Pour grer ces objets, un environnement d'exploitation est ncessaire : le serveur d'objets. Ce
serveur d'objets va devoir fournir des services tout fait diffrents de ceux des serveurs
d'application :
Gestion de la persistance des objets,
Gestion des transactions objets mtier
Gestion des montes en charge : ici les mcanismes n'ont rien voir avec ceux mis en oeuvre
pour un serveur d'application. Il faut pouvoir assurer la transparence de localisation,
22
l'instanciation, ... des objets mtier ...

29/05/2011

J2EE en dtail

Choix du serveur?

Walid ZEDDINI, Dv , Applications Web J2EE

Bref, on le voit, on a faire des techniques trs diffrentes. Les principaux serveurs
d'objets ce jour sont les serveurs EJB (Enterprise Java Beans), Corba. Ils ne sont
ncessaires ces dveloppements que si l'on souhaite utiliser pleinement la logique
d'objets mtier.
Il est donc important de ne pas mlanger ces notions afin d'viter de se faire prendre
comme 80% des acheteurs de serveurs J2EE (incluant serveur d'application et serveur
d'objets) qui n'utilisent que le moteur de JSP/Servlets dont les cots sont beaucoup plus
limits que l'ensemble J2EE (incluant le serveur d'objets EJB).
Sur le terrain, on rencontre beaucoup plus de dveloppements sur des serveurs
d'application seuls que d'applications utilisant des serveurs d'objets. En fait, le march des
serveurs d'application s'est fortement structur depuis une ou deux annes. De plusieurs
dizaines de technologies il y a peu, seules trois technologies mergent aujourd'hui : l'offre
Java, l'offre Microsoft et l'offre PHP. Hormis cas particulier, nous recommandons de ne
pas sortir de ces trois choix.
Les points cls d'une architecture sont les capacits transactionnelles du serveur
d'application dlivrer des pages et intgrer une monte en charge L'ergonomie au
sens large est un autre point cl. Les choix de design doivent prendre en compte les
contraintes du Web (taille des images, ...).

23

29/05/2011

J2EE en dtail

Dveloppements sur serveur dapplication ?


Le march offre trois familles de solutions de dveloppement pour les serveurs
d'application.

Walid ZEDDINI, Dv , Applications Web J2EE

Les solutions de scripting peuvent tre simples et productives mais plutt orientes vers les
sites jetables, de type vnementiel. Un site en ASP, PHP 3 ou ColdFusion peut tre
dvelopp trs rapidement ; par contre, sa maintenance est complique voire quasiimpossible.
Les solutions orientes objets techniques permettent de factoriser le code sans rentrer dans
la complexit des objets mtier. Il est important d'imposer des rgles de dveloppement
prcises ses quipes et prestataires. Les dveloppements JSP/Servlets/JavaBeans, PHP4/5,
ASP/DCOM (et ASP.Net/DCOM) permettent de tels dveloppements.
Les solutions orientes mtier sont plus complexes et plus coteuses mettre en uvre. Elles
ncessitent la mise en place de serveur d'objets. On retrouve principalement sur ce march
les serveurs d'EJB libres et propritaires.
Pour ces trois familles de solutions, des produits Open Source existent et sont de plus en
plus adopts dans les administrations et entreprises (TomCat, JBoss, JonAS).
24

29/05/2011

J2EE en dtail

J2EE contre ses concurrents

Walid ZEDDINI, Dv , Applications Web J2EE

Chaque plateforme de dveloppement a ses avantages et ses inconvnients. Le premier


avantage de cette plateforme est quelle a t adopte par les plus grands groupes dans
le monde entier. Nous parlons, bien entendu dIBM, Oracle, BEA
Celle-ci est galement stable et fiable, en effet, elle existe depuis 1998 et volue
constamment. Mme si cest Sun Microsystems qui organise les spcifications de cette
plateforme, elle a depuis le dbut su couter les retours de dveloppeurs. Sun a mis en
place un systme de spcifications pour lesquelles les dveloppeurs peuvent indiquer
leurs besoins, solutions ou mcontentement.
De plus, la plateforme sappuyant sur Java, permet davoir des applications totalement
indpendante de la plateforme systme utilise (aussi bien Windows que Linux ou Mac
OS).
Son concurrent principal est la plateforme .Net (dvelopp par Microsoft). Cette
plateforme, bien que plus facile prendre en main, manque de maturit et mme si elle
sduit certaines entreprises, elle est plutt utilise pour les projets beaucoup moins
importants, complexes que ceux utilisant J2EE.
.Net na bien sr rien envier J2EE et rciproquement. De plus, linteroprabilit tant
de plus en plus exploite, J2EE et .Net peuvent communiquer ensemble de faon
transparente.

25

29/05/2011

J2EE en dtail

Walid ZEDDINI, Dv , Applications Web J2EE

Composants standards contre framework


Nous vous avons prsent le standard J2EE avec lensemble de ses composants.
Cependant il est parfois lourd dutiliser un composant conu pour de grande architecture
alors que notre application est restreinte.
Lensemble de la communaut OpenSource (principalement) sest occup (et soccupe)
de lancer sur le march des frameworks servant simplifier lutilisation de telle ou telle
technologie.
Souvent plus limit que le standard, les framework sont plus simple dutilisation et plus
performant dans certains cas.
EJB vs Hibernate & Spring
Servlet & JSP vs Struts

26

29/05/2011

J2EE en dtail

Walid ZEDDINI, Dv , Applications Web J2EE

EJB vs Hibernate & Spring


Les EJB peuvent parfois tre la bte noire des dveloppeurs J2EE. En effet, ils sont pas
vident mettre en place et sont souvent lourds lutilisation. Ils sintgrent le plus souvent
dans les projets de grandes envergures. Pour les projets plus courants et plus petits, les
framework Hibernate et Spring peuvent trs largement remplacer ces EJB.
Prsentation:
EJB: grent laccs et le traitement des donnes (persistantes ou non). Pour faire de mme avec
lutilisation de framework externe, il faut en utiliser deux en gnral. Mais avec EJB3, les choses
ont changs dautant plus que la complexit des dveloppements des EJB sest remarquablement
diminue.
Hibernate : cest un framework qui permet de mapper une base de donnes relationnelle en
objets (POJO : Plain Old Java Object). Il permet donc dabstraire totalement laccs la base de
donnes et propose donc un accs totalement orient objet aux donnes.
Spring : cest un framework qui permet de remplacer la lourdeur des serveurs dapplication
lourds. En effet, on parle de conteneur lger . Il prend en charge la cration et la mise en
relation dobjets par lintermdiaire dun fichier de configuration dcrivant lensemble de ces
relations. L un des avantages principal est quil nimpose pas dhriter ou dimplmenter une
quelconque interface ou classe contrairement aux EJB.
Utilisation:
Lutilisation de ces deux frameworks dans une mme application est recommande, en effet
Hibernate vous permet daccder aux donnes alors que Spring vous servira de fabrique
automatise !
De plus ces deux framework sintgrent trs facilement et ne ncessite quun moteur de servlet.
27
Contrairement aux EJB qui ncessitent un serveur dapplication les grants (beaucoup plus lourd !).

29/05/2011

J2EE en dtail

Walid ZEDDINI, Dv , Applications Web J2EE

Servlet & JSP vs Struts


Avec larrive des JSP aprs celle des Servlets, les dveloppeurs ont pu commencer
sparer de faon remarquable la couche Prsentation de la couche Application / Traitement.
Cependant la maintenance du code et la lourdeur dutilisation des servlets ont montr leurs
limites
Le modle MVC que chaque dveloppeur pensait de son ct tait chaque fois trop limit
et peu volutif.
Larrive de Struts a permis davoir une base solide rpondant un modle MVC bien
cadr.
Prsentation:
Struts : est un framework qui permet de construire des applications web. Il se base sur la
technologie Servlet / JSP en ajoutant la prise en charge du Modle MVC2 (Modle Vue
Contrleur). Il fournit la charpente dune application web et vite aux dveloppeurs davoir
grer de faon fastidieuse la sparation Modle Vue Contrleur.
Utilisation:
Lutilisation de ce framework est quasiment omniprsente dans le dveloppement
dapplication web. Cependant Struts nest pas la seule technologie aidant au
dveloppement de la couche application / prsentation web. En effet, on peut galement
retrouver JSF (Java Server Faces) ou Cocoon
28

29/05/2011

J2EE en dtail

Serveurs dapplication : utilisations et limites


Les serveurs dapplication se sont dvelopps depuis la cration de J2EE. On peut
distinguer principalement 2 grandes catgories de serveurs :

Walid ZEDDINI, Dv , Applications Web J2EE

Open Source : volue grce la communaut


Propritaire : volue selon lditeur
Chaque catgorie a ses avantages et ses inconvnients. Nous allons dcrire les serveurs
les plus connus afin davoir une vision globale des solutions disponibles.

29

29/05/2011

J2EE en dtail

Walid ZEDDINI, Dv , Applications Web J2EE

Open source
Tomcat : Apache
Tomcat est un conteneur de servlet qui implmente la rfrence officielle pour les Servlet Java
et les JSP. Ce serveur est trs rpondu pour les applications web.
Technologies implmentes :
JSP
Servlet
JDBC
JNDI
Jonas : ObjectWeb
Jonas est un serveur dapplication implmentant la rfrence officielle pour les EJB. Il intgre un
lien avec Tomcat afin dintgrer les fonctionnalits pour les applications web.
Technologies implmentes :
JSP
Servlet
EJB
JCA
JDBC
JTA
JMS
JMX
JNDI
JAAS
30
JavaMail

29/05/2011

J2EE en dtail

Open source

Walid ZEDDINI, Dv , Applications Web J2EE

Jonas : ObjectWeb

Architecture Jonas : ObjectWeb

31

29/05/2011

J2EE en dtail

Open source
JBoss : Jboss
JBoss accumule les mmes fonctionnalits que Jonas. Cependant son architecture est assez
diffrente et repose principalement sur un BUS .

Walid ZEDDINI, Dv , Applications Web J2EE

Des projets gravitent autour de ce serveur tels que des plug-in pour Eclipse, des modules pour
lAOP (Aspect Oriented Programming), Hibernate
JBoss est lun des serveurs dapplication les plus populaires dans lOpen Source (avec Jonas). Il
est galement de plus en plus utilis en milieu professionnel.
PS:
Jboss vient de crer un framework en plein expansion : Jboss Seam

32

29/05/2011

J2EE en dtail

Open source

Walid ZEDDINI, Dv , Applications Web J2EE

JBoss : Jboss

Architecture JBoss : Jboss


33

29/05/2011

J2EE en dtail

Propritaire

Walid ZEDDINI, Dv , Applications Web J2EE

Les serveurs dapplication propritaires se dmarquent grce des outils facilitant le


dveloppement et/ou la configuration des applications au sein du serveur dapplication.
En contrepartie, ils font payer les licences dutilisation de leur serveur.
Voici un ensemble de serveurs les plus utiliss :

WebSphere : IBM
WebLogic : BEA
WebObject : Apple
Oracle Application Server : Oracle

34

29/05/2011

J2EE en dtail

IDE ((Integrated
Integrated Development Environment
Environment))

Walid ZEDDINI, Dv , Applications Web J2EE

Pour dvelopper des applications complexes, il faut imprativement un IDE (Integrated


Environnement Development).
De mme quavec les serveurs dapplication, il existe les IDE Open Source et ceux qui sont
propritaires.

Voici une prsentation de quelques IDE les plus connus.


Open source
Eclipse : IBM
Un outil trs bien cr car il est simple utilis, et il permet dapprendre java. Cependant,
beaucoup de plugins sont prsents, et ils vous aideront aller de plus en plus loin au fur et
mesure de votre apprentissage.
NetBeans : Sun
Un autre outil trs bien ralis pour apprendre. Comme cest un outil ralis par Sun, il
intgre merveille des outils comme Sun Application Server, de plus, il intgre des plugins
de trs bonne qualit, comme le profiler, qui permet de monitorer vos applications

35

29/05/2011

J2EE en dtail

IDE ((Integrated
Integrated Development Environment
Environment))

Walid ZEDDINI, Dv , Applications Web J2EE

Voici une prsentation de quelques IDE Propritaire les plus connus.


Propritaire
WebSphere : IBM
Un outil taill pour les professionnels car il permet des fonctionnalits trs puissantes. La
gnration de code et lutilisation doutil de modlisation sont trs pousses. Cependant il
est permable aux dbutants, pour qui Eclipse est mieux adapt, et il reste trs cher. Il est
dailleurs bas sur Eclipse.
Jbuilder : Borland
JDevelopper:
JDevelopper: Oracle
Oracle JDeveloper est un IDE complet et gratuit permettant de modliser et dvelopper des
applications Java pour les plateformes J2SE, J2EE ou J2ME. Il est trs bien intgr aux base
de donnes Oracle, avec notamment un dbuggueur PL/SQL.
XCode & WebObject : Apple
Apple propose une solution trs puissante, trs base sur laspect WYSIWYG, tout en ayant
une programmation trs propre et efficace. Cependant, cette solution ne fonctionne que
sous Mac.
36

Bibliographie

Walid ZEDDINI, Dv , Applications Web J2EE

29/05/2011

Bibliographie

Jason Hunter with William Crawford , Java Servlet Programming , 1st Edition November
1998,
Christopher Taylor, Timothy Kimmett, Core Java Web Server (Core Sries) , (Novembre
1998) Ed Prentice Hall Computer Books;
Dustin R. Callaway, Inside Servlets : Server-Side Programming for the Java Platform ,
May 1999, Ed Addison-Wesley Pub Co;
Bruce Perry, Java Servlet & JSP Cookbook , Pub. OReilly
Tutorial Java de Sun sur les Servlet (voir l exemple BookStore)
De nombreux sites proposent les sources de JSP/ServIet !!
Fouillez un peu avant de redvelopper la roue !
Andrew Patzer, "Programmation Java ct serveur : Servlets, JSP et EJB", Ed EyrollesWrox, 2000, (sources des exemples sur www.wroxfrance.com)
Simon Brown, Robert Burdick, Jayson Falkner, Ben Galbraith, Rod Johnson, Larry Kim,
Casey Kochmer, Thor Kristmundsson, Sing Li , Professional JSP 2nd Edition, Publisher:
Wrox Press; 2nd dition (April 2001),
David Geary, Advanced JavaServer Pages, Publisher: Pearson Higher Education; 1st
dition, May 2001
Gal Shachor, Adam Chace, and Magnus Rydin, JSP Tag libraries, Pub. Manning
Publications Company, July 2001,
Kito D. Mann, JavaServer Faces in Action, Pub. Manning Publications Company, October
2004
Didier Donsez, Dveloppement Web en JavaEE (Servlet & JSP), Octobre 2008
38

Vous aimerez peut-être aussi