blob: 77fe2a0845da1229141c95cc032866b0faf0f129 [file] [log] [blame]
<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>overview</title>
</head>
<body>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tbody>
<tr>
<td width="60%" align="left"><font class="indextop">jst j2ee component</font>
<br>
<font class="indexsub">overview</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" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Functional Overview</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
This section provides a functional overview of the J2EE compoenent in the
JST subproject.
<h4>J2EE Module Creation</h4>
Module creation wizards, operations and the data models that drive the
operations are used to create J2EE projects. The project creation wizards
can be launched using the File &gt; New &gt; Project menu action. The J2EE
projects include Enterprise Application, Web, Application Client,
Enterprise Java Bean and Connector projects. These J2EE projects can be
created for J2EE specification level 1.2, 1.3 and 1.4 and targeting to a
J2EE specification compatible application server. A J2EE runtime target
(target server) should be predefined for project creation. The runtime
targets are a mechanism to set the JRE and Server classpath on a J2EE
project for compile time. The J2EE module projects Web, Application
Client, Enterprise JavaBean and Connector projects can be created as
standalone or can be nested under a new or existing Enterprise
Application project. The api that are available to create the J2EE
projects are discussed in the Api Overview section.
<h4>J2EE Archive Import</h4>
Import wizards and operations and data models that drive the operations
are used to import J2EE archives (ear, war,jar.rar) into the workbench.
The import wizards can launched using the File &gt; Import menu action. The
J2EE archives can be imported into new or existing J2EE projects. For new
projects, a runtime target (target server) must be predefined. When
importing into an existing project, the user has the option to overwrite
the contents of the project with that of the archive and also delete the
project and create and new one. The Enterprise Application wizard has
more options to import modules nested in a EAR file. The api that are
available to import J2EE archives are discussed in the Api Overview
section.
<h4>J2EE Module Export</h4>
Export wizards , operations and data models that drive the operations are
used to export J2EE projects into deployable archives (ear, war, jar,
rar). The export wizards can be launched using File &gt; Export menu action.
The export wizards have the option to include Java source also using
export of the J2EE projects. The export of an Enterprise Application
project also exports all the associated modules into the ear that can be
deployed to a J2EE application server.
<h4>Project Explorer</h4>
The Project Explorer provides a single, consistent view that allows users
to explore rich levels of content. Physical and logical content is
integrated seamlessly to allow users to browse Eclipse resources, Java
packages and classes, navigable models of configuration information,
Databases, Database Servers and Web Services among other enhanced
content. Modules may also be grouped by type for improved usability.
Third parties may extend the Project Explorer to provide their own
customized content without significant modifications to their existing
tree providers. The Project Explorer view is defined under "Show View &gt;
J2EE &gt; Project Explorer"
</p>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Subcomponent and plugin dependencies</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
The J2EE component is comprised of
<i>jst.common</i>
,
<i>jst.j2ee</i>
,
<i>jst.servlet</i>
,
<i>jst.ejb</i>
, and
<i>jst.web</i>
subcomponents. The following diagram visualizes the dependencies among
these components, and the relevant WST subcomponent dependencies.
</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<table cellspacing="10" cellpadding="10">
<tr>
<td>
<p>
<img src="diagrams/j2ee_subcomponent_dependencies.jpg">
</p>
</td>
</tr>
<tr>
<td>
<p>
<i>
Figure 1: Component dependencies relevant to the J2EE
component
</i>
</p>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
Within the J2EE component, the
<i>org.eclipse.jst.j2ee.core</i>
plugin defines the EMF metamodels that are used to work with J2EE
artifact deployment descriptors. Each J2EE plugin builds on top of these.
Each logical type of artifact has one plugin each for non-UI and UI
functionality. The non-UI component generally contains Operations and
Edit Models among other things. The UI component generally contains
Wizards, Wizard Pages, and possibly Editor or Editor Pages. Two plugins
are outside of this pattern:
<i>org.eclipse.jst.j2ee.migration.ui</i>
and
<i>org.eclipse.jst.j2ee.navigator.ui</i>
which provide functionality that crosses all module types. Future
iterations on the design could result in breaking these into separate,
module-type specific contributions.
</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<table cellspacing="10" cellpadding="10">
<tr>
<td>
<p>
<img src="diagrams/j2ee_plugin_dependencies.jpg">
</p>
</td>
</tr>
<tr>
<td>
<p>
<i>
Figure 2: Plugin dependencies within the J2EE component
</i>
</p>
</td>
</tr>
</table>
</td>
</tr>
</tbody>
</table>
</body>
</html>