<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../../..//default_style.css" type="text/css">
<link rel="stylesheet" href="../../../..//webtools/wtp.css" type="text/css">
<title>WTP Tutorials - Building a Simple EJB Application</title>
</head>
<body>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tbody>
<tr>
<td width="60%" align="left"><font class="indextop">WTP Tutorials - Building a Simple EJB Application</font>
<br>
<font class="indexsub">WTP Tutorials - Building a Simple EJB Application</font></td><td width="40%"><img width="207" hspace="50" height="129" align="middle" src="../../../..//webtools/images/wtplogosmall.jpg"></td>
</tr>
</tbody>
</table>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<col width="16">
<col width="*">
<tbody>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>

<b>By Naci Dai</b>
<BR>
Eteration A.S.<BR>
February 23, 2005<BR>

<BR>

</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<P>In this tutorial you will create a simple EJB component and a client web application. This tutorial will introduce you to Session beans and the Web Tools Platform project's support for XDoclet and server tools.
<BR>


</P>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Prerequisites For The Tutorial</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<OL>
	
<LI>Web Tools Platform (WTP) project<BR>The WTP project can be downloaded from <a href="http://download.eclipse.org/webtools/downloads/">http://download.eclipse.org/webtools/downloads/</a>
<BR>
<BR>
	
</LI>
	
<LI>XDoclet 1.2.3<BR>XDoclet is available from <a href="http://xdoclet.sourceforge.net" target="_top">http://xdoclet.sourceforge.net</a>
<BR>
<BR>
</LI>
	
<LI>JBoss 3.2.3<BR>JBoss is available from <a href="http://www.jboss.org" target="_top">www.jboss.org</a>
<BR>
<BR>
</LI>
	
<LI>JDK 1.4.2<BR>Sun's JDK is available from <a href="http://java.sun.com/j2se/1.4.2/download.html" target="_top">http://java.sun.com/j2se/1.4.2/download.html</a>
<BR>
<BR>
	
</LI>


</OL>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Installing The JBoss and XDoclet Runtimes In Eclipse</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<P>In order to run the EJB and Web modules from Eclipse (which will allow you to test and debug the modules) Eclipse has to be told where to find JBoss, XDoclet and where to find the JDK.  JBoss requires a JDK so it can compile servlets and JSPs.</P>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<OL>
	
<LI>Select Window -&gt; Preferences<B></B>.<BR>
	
<IMG border="0" src="images/buildejb01.gif" width="550" height="340"><BR>
<BR>
</LI>
	
<LI>Select Java -&gt; Installed JREs from the menu on the left.<BR>
	
<IMG border="0" src="images/buildejb02.gif" width="574" height="513"><BR>
<BR>
</LI>
	
<LI>Select Add... The Add JRE dialog will open. Select Browse for the JRE home directory and choose the location where you installed the JDK 1.4.2. Name the runtime Sun JDK 1.4.2 and click OK.<BR>
	
<IMG border="0" src="images/buildejb03.gif" width="485" height="441"><BR>
<BR>
</LI>
	
<LI>The Sun JDK 1.4.2 now shows on the list of installed runtimes. Click OK.<BR>
	
<IMG border="0" src="images/buildejb03a.gif" width="574" height="513"><BR>
<BR>
</LI>
	
<LI>Select Window -&gt; Preferences.<BR>
<BR>
</LI>
	
<LI>Select Server -&gt; Installed Runtimes from the menu on the left.<BR>
	
<IMG border="0" src="images/buildejb04.gif"><BR>
<BR>
</LI>
	
<LI>Click on Add... Select Generic Server Runtime -&gt; JBoss v3.2.3 and click Next. Click Browse and select the location where you installed JBoss. and click Finish.<BR>
	
<IMG border="0" src="images/buildejb06.gif"><BR>
<BR>
</LI>
	
<LI>Select XDoclet. Make sure the builder item is selected.  Click on the Browse... button and choose the directory where you have installed XDoclet.  Make sure that you choose the correct version. Click Apply.<BR>
	
<IMG border="0" src="images/buildejb07.gif"><BR>
<BR>
</LI>
	
<LI>Select XDoclet-&gt;ejbdoclet This is where you can modify the ejbdoclet generation options.  You will be able to select specific application servers and their versions. XDoclet will generate deployment descriptors for these application servers only.  Make sure nothing is selected.  Click Apply.<BR>
	
<IMG border="0" src="images/buildejb08.gif"><BR>
<BR>
</LI>
	
<LI>Click OK to close the preferences dialog. JDK, XDoclet and JBoss are now configured in Eclipse.</LI>
	

</OL>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Creating EJB and Web Modules</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<P>You will now create flexible projects with EJB and Web modules.  In the project with an EJB module you will create a simple Session EJB, and in the project with the web module you will create a client web application to this EJB component.</P>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<OL>
	
<LI>Select File -&gt; New -&gt; Other. Select EJB -&gt; J2EE EJB Module and click Next.<BR>
	
<IMG border="0" src="images/buildejb09.gif"><BR>
<BR>
</LI>
	
<LI>Click New... for the project, name the project ZooBeansProject and choose the server you have defined and click OK. Enter ZooBeans for the module name. Click advanced and deselect Add module to an EAR project. Select Create an EJB Client JAR, make sure the EJB version 2.0 is selected and click Finish to accept the defaults. <BR>
	
<IMG border="0" src="images/buildejb10.gif"><BR>
<BR>
</LI>
	
<LI>You will be prompted to switch to the J2EE perspective. Click Yes.<BR>
<BR>
</LI>
	
<LI>The Project Explorer is populated with different types of Web and EJB
	applications. Your newly created project is located under EJB
	Projects. Expand your EJB project. The Deployment Descriptor
	contains information about your EJB project such as the EJBs that
	your project contains. Expanding the ZooBeans folder will reveal
	the ejbModule folder. This is where you will store all of your Java
	files including any EJBs and supporting classes you create. ZooBeansClient project holds the common classes that will be packed into the EJB client jar.  We will need this project for the EJB module and the web module.<BR>
	
<IMG border="0" src="images/buildejb10a.gif"><BR>
<BR>
</LI>

</OL>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<BR>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Creating a Session EJB</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<P>Here we will create the simplest of all EJBs; A stateless session bean.</P>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<OL>
	
<LI>Right click on the ejbModule folder and select New -&gt; Other...-&gt; EJB -&gt;EnterpriseJava Bean. Choose SessionBean in the first tab, in the next tab. Set the package to com.zoo. Next enter the class name; class name must end with a "Bean" so name it the bean TigerBean, Click Next. Click Finish. The TigerBean class will now appear in the ejbModule folder and XDoclet builder will generate Tiger, TigerBean, TigerHome, TigerUtil and other related classes for you. TigerBean is an XDoclet annotated Session Bean and other classes are derived classes. Open TigerBean in the Java editor.<BR>
	
<table>
<tr>
<td><IMG border="0" src="images/buildejb11.gif"></td><td><IMG border="0" src="images/buildejb11a.gif"></td>
</tr>
</table>
<BR>
<IMG border="0" src="images/buildejb11b.gif"><BR>
</LI>
	
<LI>XDoclet is an extended Javadoc Doclet engine. It's a generic Java tool that lets you create custom Javadoc @tags and based on those @tags generate source code or other files (such as xml-ish deployment descriptors) using a template engine it provides. XDoclet supports a set of common standard tasks such as web.xml or ejb-jar.xml generation. XDoclet uses special JavaDoc @tags to define
     settings for each component. For example putting a <span style="font-size:10.0pt;font-family:Courier;      color:#3F5FBF;background:white;      ">@ejb.bean</span><span style="font-size:10.0pt;      font-family:Courier;color:windowtext;      background:white;"> </span><span style="font-size:10.0pt;      font-family:Courier;color:#3F5FBF;      background:white;">name="Tiger"</span><span style="font-size:10.0pt;font-family:Courier;      color:windowtext;background:white;"> </span><span style="font-size:10.0pt;font-family:Courier;      color:#3F5FBF;background:white;">jndi</span><span style="font-size:10.0pt;font-family:Courier;      color:#7F7F9F;background:white;">-</span><span style="font-size:10.0pt;font-family:Courier;      color:#3F5FBF;background:white;">name="Tiger"</span><span style="font-size:10.0pt;font-family:Courier;      color:windowtext;background:white;"> </span><span style="font-size:10.0pt;font-family:Courier;      color:#3F5FBF;background:white;">type="Stateless"</span><span style="font-size:10.0pt;font-family:Courier;      color:windowtext;background:white;"> </span><i>in TigerBean.java</i>
    
<BR>
    
<BR>
    
<pre id="code">
/**
 *
 * 
 * A generated session bean
 * 
 * *
 *  
 * @ejb.bean name="Tiger"	
 *           description="A session bean named Tiger"
 *           display-name="Tiger"
 *           jndi-name="Tiger"
 *           type="Stateless" 
 *           transaction-type="Container"
 * 
 *  
 * @generated
 */

public abstract class TigerBean implements javax.ejb.SessionBean {

	/** 
	 *
	 *  
	 * @ejb.interface-method view-type="remote"
	 *  
	 * @generated
	 *
	 * //TODO: Must provide implementation for bean method stub
	 */
	public String foo(String param) {
		return null;
	}
}    
    </pre>
    
	
</LI>
	
<LI>TigerBean is the only class you will edit.  All others are automatically generated and XDoclet will regenerate them each time you make a change to the TigerBean class. WTP provides code-assist for XDoclet tags.  To get help hit crtl-space anywhere inside a xdoclet Javadoc. Edit the TigerBean class and change the foo method to look like this:<BR>
	
<pre id="code">
	/** 
	 *
	 *  
	 * @ejb.interface-method view-type="remote"
	 *  
	 *
	 */
	public String roar() {
		return "Roar!";
	}    
    </pre>    
    
</LI>

	
<LI>XDoclet builder will start working again and update your classes.  
	At the end your projects will look like the following: The ZooBeansProject 
	that hosts the EJB mmodule will have two classes TigerBean.java and 
	TigerSession.java.  These are server side classes.  ZooBeansClient project will have
	the public interfaces such as the Tiger.java and TigerHome.java.  These are the classes
	that will be needed by all clients.<BR>
<BR>
	
<IMG border="0" src="images/buildejb12.gif"><BR>
<BR>
	
<IMG border="0" src="images/buildejb12a.gif"><BR>
<BR>
</LI>

</OL>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Publishing the EJB to the server</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<P> Here we will publish the newly created ZooBeans to a server.</P>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<OL>
	
<LI> Select the server view from the workbench menu Window&gt;Show View&gt;Other&gt;Server&gt;Servers. Right click on the server view window select New -&gt; Server... Select All&gt;Generic Server Support and then Click Next. Keep the setting for JBoss 3.2.3 and click Next.<BR>
	
<IMG border="0" src="images/buildejb13.gif">
	<BR>Choose the ZooBeans project from the Available Projects list and click Add and then Click Finish.<BR>
<BR>
<BR>
	
</LI>
	
<LI>You have setup your server to run your EJB module.  Click on the server right click.  Choose Start.<BR>
	
<IMG border="0" src="images/buildejb14.gif"><BR>
	
</LI>
	
<LI>You should now observe the console output.  JBoss will print a message similar to the following indicating that the EJB Tiger has been deployed successfully.<BR>
	
<pre id="code">
12:46:38,899 INFO  [MainDeployer] Starting deployment of package: ZooBeans.jar
12:46:39,249 INFO  [EjbModule] Deploying Tiger
12:46:39,409 INFO  [StatelessSessionInstancePool] Started jboss.j2ee:jndiName=Tiger,plugin=pool,service=EJB
12:46:39,409 INFO  [StatelessSessionContainer] Started jboss.j2ee:jndiName=Tiger,service=EJB
12:46:39,409 INFO  [EjbModule] Started jboss.j2ee:module=ZooBeans.jar,service=EjbModule
12:46:39,409 INFO  [EJBDeployer] Deployed: ZooBeans.jar
	
	</pre>
<BR>
<BR>
	
</LI>

</OL>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Testing the Tiger! Building a client web application</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<P>
Your EJB has now been defined with your EJB Project and it has been deployed. It is ready to be used. You can now build a test client to make the Tiger EJB Roar! To make this create a Flexible Project with a Web Module named ZooWebProject.  Use the same server (JBoss) for this project too.  You can follow the step described in the tutorials <a href="../SchoolSchedule/BuildingAScheduleWebApp.html">Building a School Schedule Web Application</a> or <a href="../BuildJ2EEWebApp/BuildJ2EEWebApp.html">Building and Running a Web Application</a> if you are not familiar with the process.</P>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<OL>
	
<LI>When you have created the ZooWebProject.  You will end up with a project that looks like the following:<BR>
	
<IMG border="0" src="images/buildejb16.gif"><BR>
<BR>
	This Web module will be client to the EJB.  Therefore it needs to know about the EJB module we have created.
	To do this we will set the project build path and use the Flexible projects to dynamically include the EJB client jar 
	with our web module. 
	</LI>

</OL>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Using Flexible projects to link the web module with the an EJB Client module</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<P>We will need to access the  EJB interface types such as Tiger and TigerHome in client applications.  These classes are in the ZooBeansClient project, and are packaged in an EJB client jar (ZooBeansClient.jar). 
    We need to add the client classes to the build path and inlcude the client.jar in the web module
    when it is deployed to a server.</P>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<OL>
	
<LI>In the Project or Package Explorer, right click on the ZooBeansWeb project and Choose Properties... In the Java buildpath, add the ZooBeansClient project to the project references.  
	This will help allows us to compile against the latest ejb client classes in this web project.<BR>
	
<IMG border="0" src="images/buildejb15a.gif"><BR>
<BR>
	
</LI>
	
<LI>Now we have to add a dependent module to the ZooWeb web module. We will use the flexible project support to do this.
	Currently, WTP does not have a user interface to add dependent modules, so we will edit a file named ".wtpmodules", which can be found at the root of each
	flexible project.  However, this is a hidden file so too see it, one must use the "Resource Perspective".  To go to the resource perspective
	go Window&gt;Open Perspective&gt;Other and choose resource.  Open the .wtpmodules file and edit the contents to add the following:
	<br>
    
<pre id="code">
	
    &lt;dependent-module deploy-path="/WEB-INF/lib" 
      handle="module:/resource/ZooBeansClient/ZooBeansClient"&gt;
        &lt;dependency-type&gt;uses&lt;/dependency-type&gt;
    &lt;/dependent-module&gt;
	</pre>
	
<BR>
	
<BR>
	Here we have asked the flexible project support to include the ejb client jar
	inside the WEB-INF/lib folder of the web module during runtime deployment. Flexible
	project support will do the tasks of building a new jar and including it with our web
	module each time the ejb changes.
	<BR>
	
<BR>
	
	
<IMG border="0" src="images/buildejb15b.gif"><BR>
<BR>
	
</LI>
    
	
<LI>
	Now Create a file named test.jsp
	<BR>
	Open test.jsp in the JSP source page editor.<BR>
<BR>
</LI>
	
<LI>Add  the following lines to test.jsp
    <pre id="code">
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Insert title here&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;%
   com.zoo.Tiger tiger = null;
   try{
	   com.zoo.TigerHome home = com.zoo.TigerUtil.getHome();
	   tiger = home.create();
	   
   }catch(Exception exception)
   {
	   
   }
   

%&gt;
&lt;b&gt;&lt;%= tiger.roar() %&gt;&lt;/b&gt;
&lt;/body&gt;
&lt;/html&gt;
    </pre>
    
</LI>
	
<LI>Save the test file.</LI>

</OL>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Running And Testing The Web Application</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<P>Your web application is now complete. Now it is time to take it for a spin.</P>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<OL>
	
<LI>Right click on test.jsp and select Run As -&gt; Run on Server...<BR>
<BR>
</LI>
	
<LI>A Web browser window will open with the application. Beware of the tiger!.<BR>
	
<IMG border="0" src="images/buildejb17.gif"><BR>
<BR>
	
</LI>
	
<LI>Experiment adding more methods and ejbs.</LI>

</OL>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Summary</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<P>In this tutorial you learned how to configure Eclipse to work with XDoclet and create a J2EE EJB project that has a Session Bean. You created a client Web application. This application, while simple, provides a good introduction to EJB development and some of the Web development tools available in the Eclipse Web Tools Platform project.</P>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<P></P>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<P>

</P>
</td>
</tr>
</tbody>
</table>
</body>
</html>
