J2EE Core Model
The JST provides a foundation for the development of J2EE-focused tools. This foundation is known as the J2EE Core Model (JCM), and it comprises frameworks and object models that abstract out core functionalities of J2EE artifacts and components.
It additionally provides APIs for accessing and manipulating these functionalities. The JCM is made available to third-party developers to extend the number of tools available for the Eclipse Platform and importantly provide support for additional technologies not currently supported.
It should be understood that the JCM is not provided for use in the creation of J2EE applications, but instead as a base infrastructure for creating J2EE development tools. The commitment of Eclipse to the extension of the platform is thus apparent.
The tools provided by the JST project are actually themselves an extension of the JCM.
The models that are provided by the JCM, which are listed here:
- J2EE Project Model
- This provides the Eclipse Platform with the framework for managing a J2EE project. The project model supports a flexible structure whereby a project contains a collection of artifacts that constitute either a complete J2EE application or deployment modules that represent a portion of such an application. It also provides a mechanism for the management of build activities and deployment of created artifacts.
- J2EE Editor Model
- This model extends the standard Eclipse editor to provide support for the creation and editing of J2EE source artifacts such as JSPs, servlets, EJBs, etc. It provides a base for the creation of various text and graphical editors, giving support for such essential editing functionalities as syntax coloring, code assist, refactoring, and quick fixes.
- J2EE Artifacts Model
- This model represents J2EE source and deployment artifacts like JSPs, EJBs, deployment descriptors, etc., that can be created and managed within a project together with other artifacts such as image resources, text files, and various other files that may be packaged into a deployable module.
The model further represents the deployment modules in their archival state, i.e., WAR, EJB JAR, EAR, and RAR files. Natures, builders, validators, and EMF models associated with a project will also be represented by this model.
- J2EE Server Model
- The server model provides the abstractions required to support the deployment of modules to many different types of application servers. It additionally provides a unified control mechanism to start, administer, and stop these J2EE application servers.
The model also provides the means for managing the configuration details of these servers including environment parameters, JVM parameters, and classpaths.
J2EE module management such as packaging, deployment, debugging, removal, import, and export of the J2EE modules are managed by the model.
J2EE Standard Tools
Examining the tools resulting from the JST project, we find out, As stated earlier, these tools are of use in creating J2EE source artifacts or providing supporting functions for the creation of J2EE applications.
The tools are an exemplar implementation of the JCM described previously and were created by extending the models and the APIs made available by the JCM.
The resulting product of this activity is an integrated set of tools, views, perspectives, and wizards useful for various J2EE development activities.
JST provides several tools for enterprise application development, with each tool targeted at aiding in a specific domain of activities related to developing a J2EE application. Servlet Tools for instance are useful for creating servlet components that are deployed within the web container of an application server, while EJB Tools are used to create EJBs that are deployed within the EJB container. We discuss the tools of the JST in this section.
J2EE Project and Module Tools
The J2EE Project Tools support the creation of a J2EE project as a collection of source artifacts that each constitute a deployment module of a J2EE application.
The project also contains important configuration information that is stored and managed within the project workspace but excluded from the deployable module resulting from the project. These tools support the creation of five types of projects:
- EJB Project
- Consists of Enterprise JavaBean components and supports source artifacts that would be compiled and deployed within the EJB container of an application server.
- Dynamic Web Project
- Consists of servlets, JSPs, and additional Web Tier components such as taglibs, HTML documents, images, etc. that are targeted for deployment inside the web container of an application server.
- Application Client Project
- Consists of application client components often designed for the consumption of services provided by an enterprise application.
- Connector Project
- Consists of source files for the creation of connector applications to integrate legacy systems with J2EE applications as specified by JSR 112 (J2EE Connector Architecture 1.5).
- Enterprise Application Project
- Consists of modules that represent a complete enterprise application. This project provides the ability to reference several EJB, Web, Application Client, and Connector Projects whose products will be deployed together.
>The J2EE Module Tools additionally provide multiple useful features in the creation of a J2EE project. These features include the ability to create and manage artifacts within each of the J2EE projects described earlier and also provide a module structure that represents the deployable artifacts within the project.
The module structure can then be packaged into a suitable J2EE deployable archive. The project tool provides support for validating the deployment module within projects, editing its deployment descriptor, as well as packaging the contents within the module. The tool also provides the ability to create projects through the importation of modules.
J2EE Server Tools
J2ee deployment is easy with our VPS hosting solutions
J2EE applications need to be deployed into a web or EJB container, and these containers exist within a J2EE application server. In JST, management of servers to which J2EE applications would be deployed is handled by the J2EE Server Tools.
The Server Tools provide a mechanism for the definition of server runtime environments and the creation of instances of an application server from this definition. They also ensure that when a project of a particular type is being created, it can be deployable to the server chosen for the project.
Tomcat, for instance, being an application server consisting only of a web container, would not be available as a choice for the creation of an EJB Project.
The tool is also capable of managing the definition of multiple server runtime environments, thereby allowing deployable modules from different J2EE projects within the workbench to be deployed to their own specific target deployment servers.