<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>flexible project concepts</title>
</head>
<body>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tbody>
<tr>
<td width="60%" align="left"><font class="indextop">jst j2ee</font>
<br>
<font class="indexsub">flexible project concepts</font></td><td width="40%"><img width="120" hspace="50" height="86" align="middle" src="../images/Idea.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"><a name="top"></a></td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Introduction</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			The goal of this document is to share some initial ideas that will help
			shape the Eclipse Web Tools (WTP) J2EE project application model and its
			implementation. We initially planned to pursue this effort as a formal
			requirements gathering and documentation process. But once we began
			analyzing the problem space it was clear that there is no common J2EE
			project model used within the J2EE development community. Stated another
			way, all current J2EE project models are ad hoc. At most, the J2EE
			application deployment model, defined in the J2EE specification, is the
			only common reference structure and it only specifies to the runtime
			archive form of valid J2EE applications. With that as our starting point,
			we concluded that rather than attempt to draft a conventional
			requirements document, it would be more beneficial to initiate a
			discussion of ideas among the key WTP participants that can serve as the
			catalyst for a J2EE application project requirements and subsequent
			architecture and implementation.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			The contents of this document are representative of the future direction.
			However, some of this functionality described is representative of our
			current state.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			There are several use cases described in the Use Case Scenario Powerpoint
			Slides. Where relevant, the relationship of the concepts described in
			this document and the scenario slides are highlighted.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			A
			<b>project</b>
			is a type of resource which groups resources into buildable, reusable
			units - Java project resources are defined in terms of Java elements such
			as package fragments, types, methods and fields.

		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>The scenario slides highlight the following types of use cases:</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<ul>
			
<li>
				
<p>Simple Project (contains one module and one Deploy Scheme)</p>
			
</li>
			
<li>
				
<p>
					Simple Container Project (contains one or more modules, possibly
					multiple Deploy Schemes)
				</p>
			
</li>
			
<li>
				
<p>
					Application Project (application and modules contained in the
					same Simple Container project)
				</p>
			
</li>
			
<li>
				
<p>
					Application Project Variation (application in one Simple
					Container Project modules may be in other Simple Container
					projects)
				</p>
			
</li>
			
<li>
				
<p>Composed Modules (stay tuned (bum bum bum))</p>
			
</li>
		
</ul>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			The J2EE module definitions build on the use case concepts. As discussed
			in the use cases, a module is a collection of files in a project.
			However, for the remainder of this document, the term abstract module
			will refer to an intangible concept (to be defined more explicitly later
			on). The abstract module concept represents the abstraction of a physical
			module in terms that can be understood programmatically. The specifics of
			how these projects are constructed is not important to the discussion of
			modules.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			A
			<b>resource</b>
			is a abstraction which contains model elements. A
			<b>resource set</b>
			is a collection of related persistent resources. The resource set manages
			the collection of resources and produces notifications for changes to
			that collection. A
			<b>project resource set</b>
			is a resource set defined at the project level, meaning the project
			resource set manages the collection of resources for that project. There
			is only one project resource set per project, ensuring each resource is
			only loaded once within the workspace. Each resource contained in the
			project resource set has a
			<b>relative URI</b>
			, which is a partial URI with respect to or relative to the project. A
			<b>WTP project resource set</b>
			is defined in terms of module resources, which contain abstract module
			models (defined later).
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			A
			<b>URI converter</b>
			may be configured on a resource set to normalize relative URIs for
			comparison and to monitor access to the backing store. The resource set
			will use this converter to produce an input or output stream for a URI,
			during serialization or deserialization of a resource, and during a load
			to check for a resource URI match to one of its known resources.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			An
			<b>abstract module</b>
			is a logical, abstracted, first-class model of a deployable artifact. The
			initial assumption will be that abstract modules must be contained within
			one project and thus use one project resource set. However, a project and
			the associated project resource set may contain more than one abstract
			module.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			A
			<b>J2EE abstract module</b>
			is a collection of one or more components, organized by a standard
			layout, targeted for the same container upon deployment, and which can be
			archived conforming to the J2EE specification. Modules always contain a
			set of files, but all J2EE modules also contain specialized files called
			<b>deployment descriptors</b>
			. Deployment descriptors describe the contents of deployment units and
			configure components and applications to their environment. They also
			externalize the relationships between components, so those relationships
			can be managed without writing or changing program code. There are five
			core types of J2EE deployment descriptors, each of which corresponds to a
			type of J2EE deployment unit:
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<ul>
			
<li>
				
<p>Application</p>
			
</li>
			
<li>
				
<p>Application Client</p>
			
</li>
			
<li>
				
<p>EJB</p>
			
</li>
			
<li>
				
<p>Web</p>
			
</li>
			
<li>
				
<p>Resource Adapter for Java Connector</p>
			
</li>
		
</ul>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			Vendor-specific deployment descriptors may be defined for different
			Enterprise application containers to provide additional information.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			Each deployment descriptor describes a set of contained objects which are
			represented through
			<b>module models</b>
			. The root abstract module model object for the deployment descriptor is
			the associated J2EE abstract module type object.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<ul>
			
<li>
				
<p>
					The
					<b>Application</b>
					is the root object for an EAR module.
				</p>
			
</li>
			
<li>
				
<p>
					The
					<b>EJBJar</b>
					is the root object for an EJB module.
				</p>
			
</li>
			
<li>
				
<p>
					The
					<b>WebApp</b>
					is the root object for a Web module
				</p>
			
</li>
			
<li>
				
<p>
					The
					<b>ApplicationClient</b>
					is the root object for an Application Client module.
				</p>
			
</li>
			
<li>
				
<p>
					The
					<b>Connector</b>
					is the root object for a JCA Connector module.
				</p>
			
</li>
		
</ul>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			Before proceeding, it should be noted that there are two distinct
			metamodels in the tooling environment. First, J2EE abstract models allow
			framework clients to understand the J2EE-specific deployment descriptors
			and their third-party extensions. The tooling frameworks are built
			primarily to modify and update these models. There is also a separate
			model for understanding how modules and their contained resources can be
			constructed for deploying to server environments, which is referred to as
			<b>ModuleCore</b>
			.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			
<b>ModuleCore</b>
			can be used to acquire, create, and destroy
			<b>abstract module contexts</b>
			. An
			<b>abstract module context</b>
			is used to manage multiple abstract modules per project. In the first
			implementation, an abstract module context will not span multiple
			projects. Each abstract module context identifies a unique custom defined
			abstract module using a module handle (see Server Tooling), server target
			type (see Server Tooling), an edit model (to be discussed later).

		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<table cellspacing="10" cellpadding="10">
			
<tr>
				
<td>
					
<p>
						
<img src="../images/modulecore_concepts.jpg">
					</p>
				
</td>
			
</tr>
			
<tr>
				
<td>
					
<p>
						
<i>
							Figure 1: Overview of ModuleCore, ModuleContext, and
							Abstract Module relationships.
						</i>
					
</p>
				
</td>
			
</tr>
		
</table>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			Meanwhile,
			<b>edit models</b>
			provide a shared, reference counted, read/write controlled amalgamation
			of a related set of resources. Primarily, resources and Java working
			copies are wrapped by an Edit Model in order to represent a coherent and
			consistent view for clients. Managing these resources as a group, allows
			changes to be committed or rolled back as a consistent unit of work.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			Typically, specialized types of edit models have aforementioned knowledge
			of their expected or required resources for a given type of abstracted
			module. Not surprisingly, clients may wish to add capabilities and
			additional known resources to existing edit model. The edit model will
			attempt to load these resources so that they may be managed with the
			existing, known resources.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			Edit models are created via an extension which defines the
			<b>edit model factory</b>
			. The lifecycle of how edit models are created and destroyed will be
			covered in the API Concepts document.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			Typically, J2EE components are built on a regular schedule (e.g. daily)
			and packaged as Enterprise Archives (EARs). Collaboration between teams
			and individual members is facilitated by these build artifacts which are
			used to back current development. These are referred to as
			<b>target EARs</b>
			. Developers set up their development environments so the components they
			are actively working on are loaded directly from a source repository and
			the other components are loaded from the Target EARs.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			The use of target EARs is analogous to self-hosting in Eclipse. The idea
			is to only have abstract modules that are currently being developed in
			the workspace. All other dependencies will be loaded from a target EAR.
			Changing target EARs would simply be a matter of adjusting some abstract
			module property (just like PDE). Loading projects from the repository, or
			deleting them from the workspace would change where they were loaded from
			as well (also like PDE).
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			Rather than using target EARs, EAR files may be extracted to a structure
			which represents its contained abstract modules. The remaining non-module
			jar archives are called
			<b>utility jars</b>
			. Utility jars are regular jars which the various abstract modules can
			depend on. Utility jars may exist as jar files within the EAR abstract
			module which is useful when a developer is not currently working on the
			contents of the utility jar. All abstract module archives must (utility
			jars have the option) be handled in separate abstract modules.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
			An <b>extracted module</b> or <b>utility jar module</b> is simply a module containing
			the extracted contents of the archive. The benefit of using extracted
			modules is all the artifacts can be modified. This would be useful if a
			developer did not have access to the source repository. Typically,
			however, instead of using extracted modules, a developer would connect to
			a source repository. Jars within WARs can be extracted as modules within
			Eclipse projects (like utility jar modules) or can remain in the WAR in
			binary form.
		</p>
</td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
<i>Last updated 11/11/04</i>
</p>
</td>
</tr>
</tbody>
</table>
</body>
</html>
