| <?xml version="1.0" encoding="utf-8"?> |
| <?xml-stylesheet type="text/xsl" href="../wtp.xsl"?> |
| <html> |
| <head> |
| <title>the web standard tools subproject</title> |
| </head> |
| <body> |
| |
| <h1>wst</h1> |
| |
| <h2>Project Vision</h2> |
| <p> |
| 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. |
| </p> |
| |
| <h3><a href="components.html">WST Components</a></h3> |
| <p> |
| The proposed components and component leads. |
| </p> |
| |
| <h2>Project Context</h2> |
| <p> |
| 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). |
| </p> |
| <p> |
| 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. |
| </p> |
| <p> |
| Support of <a class="external" href="http://www.jcp.org/" |
| target="_blank">JCP standards</a> are explicitly outside the scope of |
| this project and should be covered by the <a class="external" |
| href="http://www.eclipse.org/jdt" target="_top">Java Development Tools |
| (JDT) project</a> or by the <a class="wikipage" href="../jst/main.html">J2EE |
| Standard Tools (JST) subproject</a>. |
| </p> |
| <p> |
| 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. |
| </p> |
| <p> |
| The goal of this project is to provide both tools for |
| Web application developers and a platform for tool developers. |
| </p> |
| |
| <h3>Some Architectural Principles</h3> |
| <ul> |
| <li>Seamlessly extend the eclipse user experience </li> |
| <li>Accommodate common project directory layouts </li> |
| <ul> |
| <li>Avoid need for migration </li> |
| </ul> |
| <li>Apply capabilities orthogonally to source artifacts: </li> |
| <ul> |
| <li>Syntax Coloring </li> |
| <li>Code Assist </li> |
| <li>Quick Fixes </li> |
| <li>Refactoring </li> |
| <li>Etc. </li> |
| </ul> |
| <li>Extend the Run command to Web artifacts, e.g. HTML </li> |
| <li>Enable hybrid source editing: </li> |
| <ul> |
| <li>HTML in Java </li> |
| <li>SQL in Java </li> |
| <li>Etc. </li> |
| </ul> |
| <li>Enable extension of editors with value-add </li> |
| <ul> |
| <li>Graphical views </li> |
| <li>Form based views </li> |
| </ul> |
| </ul> |
| |
| <h3>Some Use Cases</h3> |
| <ul> |
| <li>Develop and publish a static HTML site </li> |
| <li>Develop Web pages based on JavaScript and CSS </li> |
| <li>Deploy an applet on a given HTTP server </li> |
| <li>Develop SQL statements and generate static Web pages from |
| database queries </li> |
| <li>Develop XSD and XSLT for XML based Web pages and Web |
| services </li> |
| <li>Develop and publish WSDL schema on UDDI registries </li> |
| <li>Explore UDDI registries and dynamically test Web services |
| via WSDL </li> |
| <li>Test Web services for WS-I compliance </li> |
| </ul> |
| |
| <h2>Goals for Project Structure and Web Core Model</h2> |
| |
| <p>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: |
| </p> |
| <ul> |
| <li>Divide and Conquer: Lots of components, so divide the work |
| using the classical principle of hierarchy </li> |
| <li>Layer Build Dependencies: J2EE Standards builds on the Web |
| Standards, the Extensions build on the Standards </li> |
| <li>The structure of software reflects the structure of the |
| organization that built it: We are building a platform and need to |
| validate our API. </li> |
| </ul> |
| |
| <h2>Web Core Model</h2> |
| |
| <p> |
| 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: |
| </p> |
| <h3>Project Model</h3> |
| <p>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. </p> |
| |
| <h3>Editor Model</h3> |
| <p>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. </p> |
| |
| <h3>Web Artifacts</h3> |
| <p>These models will represent Web standard models. They will at |
| minimum include or reference existing models for: </p> |
| <ul> |
| <li>XML family languages (XML itself, HTML, XHTML, WML, XSD, |
| DTD, XSLT, SVG, ...) </li> |
| <li>JavaScript/ECMAScript </li> |
| <li>CSS </li> |
| <li>Web Services languages (SOAP, WSDL, UDDI, WSIL, ...) </li> |
| <li>Database languages (SQL, ...). </li> |
| <li>Other models: DDL, ... </li> |
| </ul> |
| |
| <h3>Server Models</h3> |
| <p>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. </p> |
| <ul> |
| <li>Support different applications servers and server versions </li> |
| <li>Start, stop and restart servers </li> |
| <li>Run server processes in the Eclipse debugger </li> |
| <li>Package, deploy, remove, import, export, accessing/testing |
| modules </li> |
| <li>Extensible framework for server administration </li> |
| </ul> |
| |
| <h2>Web Standard Tools</h2> |
| |
| <p> |
| 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: |
| </p> |
| <ul> |
| <li>Server tools, Internet preferences, TCP/IP monitor </li> |
| <li>HTML (fragments), XML, CSS, JavaScript source editors </li> |
| <li>XML/DTD/XSD utilities </li> |
| <li>WSDL/XSD graphical editors, Web service UDDI/WSDL Explorer </li> |
| <li>SQL Query graphical editor </li> |
| <li>Associated natures, builders, validators and EMF models</li> |
| </ul> |
| </body> |
| </html> |