blob: 94164dc7532c6b6432053d69b3846f092eeccf61 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta
http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<title>org.eclipse.wst.command.env.core</title>
<link
rel="stylesheet"
type="text/css"
href="../sources/formate.css">
</head>
<body>
<p class="ueberschrift">EJB Generation Framework</p>
<ul>
<li>Component in JST
<ul>
<li>EJB Generation using Datamodels and Operations</li>
</ul>
</li>
<li>Functional Overview
<ul>
<li>The framework provides a means for defining EJB components using
DataModels, and provides and extensible way of generating ejb
components using operations.</li>
<li>Provides extensible wizards to define and trigger EJB generators
</li>
<li>Provides an example generator using XDoclet</li>
</ul>
</li>
<li>Extensible
<ul>
<li>IEJBGenerator extension point</li>
<li>Nested wizards to insert specific UrIs</li>
<li>Nested models to extend the models.</li>
</ul>
</li>
</ul>
<p class="ueberschrift">EJB Model</p>
<ul>
<li>J2EE models for ejb are available in JST
<ul>
<li>EMF models</li>
<li>Reflect the standards view of an ejb</li>
<li>org.eclipse.jst.j2ee.ejb</li>
</ul>
</li>
<li>EJB tooling needs more
<ul>
<li>Seperate the following views
<ul>
<li>J2EE Standard x Tooling API x Runtime Extensions</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<table
width="50%"
border="0"
cellspacing="10"
bgcolor="#00CCFF">
<tr>
<td align="center">We use the delegate pattern to avoid the coupling
that can make j2ee models hard to maintain</td>
</tr>
</table>
<p class="ueberschrift">EJB Generation Datamodels</p>
<ul>
<li>Provides validation of properties</li>
<li>Event notification on property change</li>
<li>Usable with WTP operation
<ul>
<li>potential non-gui use</li>
</ul>
</li>
</ul>
<img
src="../sources/EJB_generation_datamodels.gif"
width="500"
height="200"
alt="">
<p class="ueberschrift">Delegates</p>
<img
src="../sources/delegates.gif"
width="500"
height="250"
alt="">
<p class="ueberschrift">Related Open Source Projects (IP)</p>
<ul>
<li>XDoclet</li>
<ul>
<li>XDoclet.sf.net</li>
<li>Only used for generating ejb code. Not a runtime framework</li>
</ul>
</ul>
<p class="ueberschrift">EJB Generator</p>
<ul>
<li>EJB Generaiton Tooling Provides an extension point
<ul>
<li>IEJBGenerator</li>
<br>
<div class="code">public interface IEJBGenerator { <br>
&nbsp;&nbsp;&nbsp;&nbsp;public void generateSession(ISessionBean
bean,IProgressMonitor monitor);<br>
&nbsp;&nbsp;&nbsp;&nbsp;public void
generateMessageDriven(IMessageDrivenBean bean,IProgressMonitor
monitor);<br>
}</div>
<br>
<br>
<li>An example implemention is XDoclet</li>
<br>
<div class="code">&lt;extension<br>
&nbsp;&nbsp;&nbsp;&nbsp;point="org.eclipse.jst.j2ee.ejb.annotation.model.ejbGenerator"&gt;<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&lt;ejbGenerator<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name="XDoclet"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class="org.eclipse.jst.j2ee.....XDocletAnnotationProvider"
/&gt;<br>
<br>
&lt;/extension&gt;</div>
</ul>
</li>
</ul>
<p class="ueberschrift">EJB Bean wizards</p>
<table
width="90%"
border="0"
cellspacing="10">
<tr>
<td>
<ul>
<li>WTP Extensible Wizards</li>
<ul>
<li>Single entry point that nests other ejb wizards</li>
<li>Creates an operationthat launches a generator</li>
</ul>
</ul>
</td>
<td><img
src="../sources/j2ee_8.jpg"
width="307"
height="372"
alt=""></td>
</tr>
</table>
</body>
</html>