Eclipse Web Toolsby Lawrence Mandel, Jeffrey Liu
The release of the Eclipse Web Tools Platform (WTP) Version 0.7 in July 2005 marks a significant milestone in open source web and J2EE development. The WTP project, seeded by contributions from the IBM Rational Application Developer for WebSphere and ObjectWeb Lomboz, provides a set of well-rounded and tightly integrated tools that simplify the creation of often complex web and J2EE applications. These tools also form the foundation of an integrated web and J2EE tools platform that offers great flexibility to vendors who want to add their own extensions and customization.
This article will give you an overview of the WTP project, take you on a tour of the great tools it has to offer, and provide a glimpse into the WTP 1.0 release currently scheduled for December 2005.
The Web Tools Platform Project
The WTP is a new Eclipse top-level project, released for the first time on top of Eclipse 3.1, that contains tools and a platform that support both web and J2EE development. The WTP consists of two subprojects: Web Standard Tools (WST) and J2EE Standard Tools (JST). The WST project contains tools for programming-language-neutral standards such as HTML, XML, and web services. The JST project contains tools specific to the Java language and its J2EE platform such as EJB, servlet and JavaServer Pages (JSP), and Java web services.
The WTP project has three key goals that speak directly to its tools' users and platform extenders.
- Performance. The tools will be "lean and mean": they will minimize memory requirements without sacrificing responsiveness.
- Usability. The tools will be easy to learn and require little knowledge of the underlying technologies, facilitating the creation of sophisticated applications by all developers.
- Quality. The tools will be of industrial quality and the API will be of platform (read "very high") quality.
The WTP 0.7 release includes tools for:
- Data access and manipulation
- Server support
- XML, including XML schema, WSDL, and DTD, editing and validation
- J2EE application building, including editors and wizards for servlets, and JSP and EJB components
- Web services tools for creating, consuming, testing, publishing, and discovering web services, and testing conformance to the Web Services Interoperability (WS-I) profiles
From a web and J2EE platform perspective, the second part of Goal 3 is a platform-quality API. This goal is targeted for the 1.0 release-- seeFrom WTP 1.0 to 0.7 and Back Again for an explanation. The WTP API will define WTP as a platform and allow independent software vendors (ISVs) to develop their own enhancements to the Eclipse web tools.
When adopting an open source project, ISVs should primarily consider longevity. With companies such as BEA, IBM, and Oracle already committed to the WTP, the platform already has the support it needs to last a long time.
A Tour of the Eclipse Web Tools
The first release of WTP provides a well-integrated and easy-to-use development environment for web and J2EE developers of various levels of experience. It makes the tasks of development, testing, and deployment of web and J2EE applications, which can be rather complex, straightforward for developers not deeply immersed in J2EE specifics. Consider a typical J2EE application that provides both business-to-business (B2B) and business-to-client (B2C) services. Figure 1 illustrates how such applications can be architected.
Figure 1. Overview of a Typical J2EE Application
For simplicity and scalability, a typical application will use a database management system (DBMS) for data storage. An Enterprise JavaBeans (EJB) component together with a Java database connection (JDBC) driver can be used to access data from the DBMS. To satisfy the B2B requirement, the EJB component can be exposed as a web service to achieve a platform-neutral and highly interoperable integration point. Finally, the presentation layer between the application and clients can be implemented using a combination of HyperText Markup Language (HTML) and JSP technology. Such an application may look complex on the outside, but using the WTP you can develop it quickly and without a great depth of knowledge about all of the technologies mentioned above.