Project Vision

The project vision is to extend eclipse platform with support for building multi-tier Web applications. The project will grow the community of eclipse users, and grow the community of developers that create Web applications based on Open Standards and Technologies. 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.

WST Components

The proposed components and component leads.

Project Context

Support of Web standards in the scope of the Web Standard Tools subproject includes languages and specifications published by open-standard bodies (e.g. W3C, IETF, ECMA, OASIS, WS-I, ANSI) that are commonly used by Web-centric applications (e.g. HTML, CSS, JavaScript, XML, XSD, XSLT, SVG, SOAP, WSDL, UDDI, SQL).

This subproject will provide support for integrating Web servers into Eclipse as first-class execution environments for Web applications. This support will include the ability to configure Web servers and assocaite them with Web projects. Examplar tools for supporting popular Open Source Web servers, such as Apache, are in scope.

Support of JCP standards are explicitly outside the scope of this project and should be covered by the Java Development Tools (JDT) project or by the J2EE Standard Tools (JST) subproject.

The subproject will provide tools that directly support the base standards and that are also extensible. For example, the HTML editor will be extensible to support HTML-based template languages such as PHP and JSP. While a JSP editor is in the scope of the JST subproject, exemplar tools for popular Open Source languages such as PHP are in scope.

The goal of this project is to provide both tools for Web application developers and a platform for tool developers.

Some Architectural Principles

Some Use Cases

Goals for Project Structure and Web Core Model

These structures will provide common facilities required by most Web tool builders. A common and flexible project model is required as well as a common basis for web artifacts and editors. Our goals are:

Web Core Model

This is a set of frameworks, and models, which provide the necessary abstractions and APIs to work and develop with Web Tools, and to build IDEs and tools to support these activities. WCM is not just an adaptation of language specification, but it will focus on the additional requirements of developers and tool builders. WCM address at a minimum the following areas:

Project Model

Development of Web applications is done in a variety of ways; It can be divided across multiple related projects, or it can be factored into one project that can host multiple artifacts. The core Web project model will extend the eclipse project model and will have intelligence to recognize and work with Web artifacts, and support the build activities related to these artifacts.

Editor Model

The Editor Model will offer developers a set of APIs to access Web models, participate in build and refactoring activities, and allow them to easily create various text, and graphical editors. Support for a Content based selection of Editors will be integrated into the Editor Model. This model will encompass editors in a broad sense, i.e. editors, validators and document generators for a wide range of standard languages corresponding to Web Artifacts taken into account.

Web Artifacts

These models will represent Web standard models. They will at minimum include or reference existing models for:

Server Models

Servers are first class execution environments, they provide the runtime environment, where the web artifacts are tested, deployed and executed. Server models must be flexible to accommodate open and commercial implementations.

Web Standard Tools

Web Standard Tools will provide extensible tools for the development of Web Applications and support development, testing and debugging with various servers. The following tools will be made available: