jstj2ee Standard Tools ProjectProject VisionThe project vision is to extend eclipse platform with support for building multi-tier J2EE applications. The project will grow the community of eclipse users, and grow the community of developers that create Web applications based on the J2EE platform. In this way, we will help make eclipse the industry standard tool integration platform for development based on Open Standards and Technologies. The project must preserve the eclipse value proposition by providing integration, ease-of-use, function, and "coolness". Web artifacts must be first class citizens with respect to the capabilities that eclipse users expect. Servers must be first class execution environments, including both Open and Commercial implementations, therefore encourage support of eclipse by server vendors.
The scope of the J2EE Standard Tools subproject is the support of J2EE programming. This includes the support of APIs covered by the J2EE1.4 specifications (e.g. JSP, Servlets, EJBs, JCA, JMS, JNDI, JDBC, Java Web Services, JAX* and related JSRs). Support for JCP specifications commonly used in Web Applications, but not included in J2EE1.4 is to be studied on a case by case basis (ex: JSF,JDO).
JST will have annotation support (JSR 175-Metadata), on top of those provided in the JDT, e.g. for code assist, where applicable. Annotation support will include JSR 181-Metadata for Web Services, and in the future will include support for other standardized metadata such as EJBs. In the transitional period until there are JSRs for J2EE annotations, JST will have some support for widely accepted open technologies such as XDoclet.
This is a set of frameworks, and models, which provide the necessary abstractions and APIs to work and develop with J2EE Tools, and to build IDEs and tools to support these activities. JCM is not just an adaptation of the J2EE specifications, but it will focus on the additional requirements of developers and tool builders. JCM is naturally related to the models and tools defined inthe Web Standard Tools subproject, and will address at a minimum the following areas:
The J2EE Project model extends Web Project Model to support the development of J2EE applications in a variety of ways; projects divided across multiple related projects, or modules factored into one project that can host multiple artifacts. This includes support for:
The Editor Model will offer developers a set of APIs to access J2EE models, participate in build and refactoring activities, and allow them to easily create various text, and graphical editors for J2EE.
These models will represent J2EE standard modules, files, deployment descriptors and various other artifacts, associated natures, builders, validators and EMF models. They will at minimum include models for:
J2EE Application Servers are multi-tier distributed component-based products, typically implemented in Java, that reside in the middle-tier of a server centric architecture. They provide middleware services for security and state maintenance, along with data access and persistence. This model generally includes a Client Tier, a Middle Tier, and an EIS Tier. The Client Tier can be one or more applications or browsers. The J2EE Platform is in the Middle Tier and consists of a Web Server and an EJB Server (These servers are also called "containers"). There can be additional sub-tiers in the Middle Tier. The Enterprise Information System (EIS) tier includes the existing applications, files, and databases.
Although based on the same standard, there are significant variations on how available servers support J2EE components, the way they are administered, started, stopped and how J2EE modules are managed, and how they support development time activities such as debugging and hot deployment and automatic refreshes.
The server model must at a minimum define abstract facilities and configurations to:
J2EE Standard Tools will provide extensible plug-ins for the development of J2EE Applications and support development, testing and debugging with a wide range of J2EE servers. Exemplar tools will support the development of Web Applications (.war), Enterprise JavaBeans, Java Web Services, and support development, testing and debugging with standard compliant J2EE application servers ('specific additional extensions may be required').
The interaction of JCM and the exemplar tools based on JCM will provide a healthy environment where requirements and APIs are based on actual needs. Tools will verify the APIs. This is a critical feature of the project in that JCM without tools, or tools without JCM, will not achieve our goal to provide a platform for high quality web development based on J2EE.
Eclipse provides an extensible development platform and application frameworks for building software. The Web Tools Platform (WTP) extends the Eclipse platform tools for developing Web and Java EE applications. They need to be installed as the prerequisite for the Geronimo Eclipse Plugin (GEP), which is used for developing, deploying and testing Java EE assets on the Geronimo server. Eclipse and WTP can be installed in the following manners:
The prerequisite Eclipse software for GEP can be downloaded as a single download, which is called the Eclipse IDE for Java EE developers. It can be downloaded from the Eclipse Downloads site. Download and extract the Eclipse IDE for Java EE Developers archive (for e.g. eclipse-jee-galileo-win32.zip), to a directory of your choice (for e.g. C:\eclipse). The archive will be extracted to a directory named eclipse under the directory you specified (for e.g. C:\eclipse\eclipse), referred to as from now on. Launch Eclipse by running /eclipse.
To install WTP, you can download and install WTP manually or install using the Eclipse Update Manager. Note that you have to install different versions of WTP for Eclipse Galileo (3.5), Eclipse Ganymede (3.4.x) and Eclipse Europa (only 3.3.2 or equivalent), and follow different steps to install WTP.
The Web Tools Platform can be downloaded manually from the Eclipse WTP download, and you will be presented with multiple versions of the WTP. Download the Web Tools Platform Complete archive for your specific release.
Note: Before install WTP on Eclipse Europa, you must have Eclipse SDK 3.3.2 or higher, and certain software prerequisites installed. See Web Tools Platform Release 2.0.3 for more details about the prerequisites.
These principles together endorse the view that WTP aims to extend the core tools and functionality of Eclipse to J2EE and Web applications, enabling J2EE vendors to build on top of WTP's base functionality by ensuring that WTP implements approved standards in the J2EE and Web application sphere.
WTP supports JSP-based Web application development including the use of static HTML pages, JavaScript, CSS, JSP EL, and servlets. The JSP source editor extends the HTML editor's capabilities, providing content coloring and code assist inside Java, JSP, Tag Library, EL, and JavaScript code fragments. WTP also supports JSR 45-compliant debugging, enabling breakpoints to be set in JSP source, stepped through, and so on. JSPs are created in the WebContent folder, located in the Project Explorer tree structure of any Web Project type.
A useful addition to dealing with JSP programming in WTP is the form bean wizard: It can help you turn a simple Java class into a bean by generating getter/setter methods for any private variables defined in the class. In addition, various other wizards drastically reduce development time. One example is the servlet wizard, which is the fastest route for creating servlets in WTP. The wizard will auto-generate a servlet stub and place the generated source file in the JavaSource folder, and it will add the appropriate deployment descriptors toweb.xml to register the servlet and to define the matching URL pattern.
WTP assists tool developers by providing models for common J2EE artifacts, such as deployment descriptors. For Web applications, editingweb.xml to declare a servlet is a simple matter of opening the file in the J2EE perspective, and using the outline and design views to edit in "graphical mode." In addition, WTP provides high-fidelity editing support for all XML files, including code assist, syntax highlighting, validation, quick fixes, refactoring, and search.
The ability to edit a "mixed" JSP page containing, say, JSP, HTML, and JavaScript code blocks, or to do deployment descriptor editing, is based on theStructured Source Editor (SSE) framework. SSE provides multilanguage editing support, extending the base Eclipse editor into areas other than Java editing. High-fidelity support for source editing across all the languages used for Web application development and feature compatibility with the JDT is part of WTP's goal. Many of these features are already available in WTP 0.7 when editing artifacts like XML, JSP and JSP EL, HTML, XHTML, CSS, DTD, and JavaScript.
SSE-based editors have been designed to interoperate with each other and with the base JDT components, so HTML and Java editing preferences would apply when editing a JSP page, for example. SSE essentially extends the basic Eclipse editor by partitioning documents into language regions, and then it associates editing services to each language.
When editing XML, the source pane provides the conventional text-based editing experience, with elements highlighted in green, attributes in purple, and strings in blue if you're using the default settings. We'll return to the source editing experience shortly, but first let's see the other presentations available. If you're using the default perspective settings, then you'll also see the outline view to the right, showing a structural representation of the XML file. The outline view also provides an easy way to make structural modifications to your document, such as reordering sections or swapping items in a sequence. You can also create new elements by right-clicking an existing element and choosing the type of the new child to insert. The property view shows the attribute settings for the selected element in conventional "property/value" form. Values can be changed directly from this view. For more information, visit the eclipse.org Web site, which has an excellentXML tutorial.
c80f0f1006