Prérequis : vous devez disposer d'un Java 1.6 et de NetBeans 7. Si ce n'est pas le cas, veuillez consulter la section installation à la fin de cette page. Lancez la commande suivante :
$ netbeans-7.2
Faites du ménage dans vos projets : fermez NetBeans ; rm -rf ~/NetBeansProjects/* ; puis relancez-le.
Nous allons maintenant créer un nouveau projet de type “Enterprise Application” qui contiendra trois modules différents : un module web (war), un module ejb et un module client. Ce projet contiendra un Stateless Session Bean avec l'interface ci-dessous, accessible avec une interface “Remote” depuis un client Java (standalone) et avec une interface “Local” depuis une Servlet.
public interface HelloInterface { public String hello(); }
<jsp:useBean id='hellobean' class='package.HelloBean'/> <%! String s; %> <% s = hellobean.hello();%> <%=s%>
Nota Bene : L'IDE NetBeans est un peu sensible ! Il faut éviter autant que possible de faire du refactoring (rename, remove, …). Si une erreur persiste au Build dans les cibles XML, tentez de redémarrer l'IDE. Si le problème persiste toujours, bah vous êtes bon pour recommencer tout votre projet
Créer maintenant un nouveau projet, appelé BankApp, de type Enterprise Application, qui contient un module EJB, un module Web et un module client. Nous allons créer une application bancaire simplifiée à base d'un Session Bean (Stateful), de type BankBean, accessible par un client distant BankClient d'une part et par une servlet BankServlet d'autre part. Bankbean doit donc disposer d'une interface @Local et @Remote.
On considère l'interface Bank suivante, implantée par le bean :
public interface Bank { public void createAccount(Long id, String firstname, String lastname); public void removeAccount(Long id); public void removeAllAccounts(); public List<Account> findAllAccounts(); public void deposit(Long id, Float amount); public void withdraw(Long id, Float amount); public Float balance(Long id); }
Un compte est représenté par la classe Account (Serializable), qui possède les champs suivants :
Plus d'infos :
En vous inspirant de l'exercice précédent, développer une application de compte bancaire persistante, appelée BankAppPersistant. Dans ce cas précis, chaque compte sera représenté par un Entity Bean de type Account.
Plus d'infos :
Nous allons installer l'IDE NetBeans 7.2.1 dont le script d'installation est disponible sur mon compte informatique. Vous pouvez également le télécharger ici. Copiez ce fichier dans le /tmp de votre machine et lancez le script d'installation, puis suivre les étapes en activant GlassFish 3 et Apache Tomcat 7. Il faut choisir de tout installer dans le /tmp pour des raisons d'économie d'espace disque.
$ cp /net/stockage/auesnard/netbeans-7.2.1-ml-javaee-linux.sh /tmp $ cd /tmp $ chmod +x netbeans-7.2.1-ml-javaee-linux.sh $ ./netbeans-7.2.1-ml-javaee-linux.sh
Au final, vous devez disposer de JavaEE 6, GlassFish 3, Apache Tomcat 7 et de NetBeans 7. Lancez maintenant l'IDE NetBeans. Le serveur web est configuré par défaut sur le port 8080 et l'interface web d'administration sur le port 4848. Vous pouvez accéder à ces configurations via l'onglet 'Services' du panneau de gauche.
/* Il est également possible de lancer NetBeans 7 depuis la version installée sur mon compte :
$ /net/autre/LABRI/esnard/netbeans-7.2.1/bin/netbeans --userdir ~/netbeans
Il faut ensuite cliquer sur l'onglet “Services” puis dans la rubrique “Servers”, il faut ajouter un nouveau Serveur Glassfish 3 (pointant sur /net/autre/LABRI/esnard/glassfish-3.1.2.2) avec un répertoire “Domain” situé sur votre compte. Vous pouvez maintenant supprimer l'ancien serveur Glassfish et commencer à travailler… */