










<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">

<html>


<!-- Mirrored from wiki.objectweb.org/eclipse-webtools/Wiki.jsp?page=TheWebStandardToolsSubproject by HTTrack Website Copier/3.x [XR&CO'2003], Fri, 23 Apr 2004 19:12:14 GMT -->
<!-- Mirrored from www.eclipse.org/proposals/eclipse-webtools/Wikibd01.html by HTTrack Website Copier/3.x [XR&CO'2003], Tue, 25 May 2004 06:27:31 GMT -->
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
<head>
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">

  <title>Eclipse Web Tools Platform Project Wiki: The Web Standard Tools Subproject</title>
  <link rel="stylesheet" href="templates/eclipse/eclipse.css">
  
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
  
</head>

<body>

<table border="0" cellspacing="5" cellpadding="2" width="100%" >
  <tr>
    <td align="left" width="60%"><font class="indextop">eclipse web tools<br>platform project</font><br><font class="indexsub">The Web Standard Tools Subproject</font></td>
    <td width="40%"><img src="images/Idea.jpg" hspace="50" align="center" width="120" height="86"></td>
  </tr>
</table>



<table border="0" cellspacing="5" cellpadding="2" width="100%" >
  <tr>
    <td valign="top">

  









<HR />
This project proposal is in the
<a href="/projects/dev_process/">
Proposal Phase</a> and is posted here to solicit additional project 
participation and ways the project can be leveraged from the Eclipse 
membership-at-large. You are invited to comment on and/or
<a href="Wikiaed0.html">join the project</a>. Please send all feedback to the
<a href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.webtools">eclipse.webtools</a> 
newsgroup or the <a href="https://dev.eclipse.org/mailman/listinfo/wtp-proposal">
wtp-proposal</a> mailing list.
<HR />

<P>
<H3>Project Vision</H3>
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>Project Context</H3>
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, XQuery).
<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>
Support of <A CLASS="external" HREF="http://www.jcp.org/">JCP standards</A><img class="outlink" src="images/out.png" alt="" /> are explicitly outside the scope of this project and should be covered by the <A CLASS="external" HREF="/jdt">Java Development Tools (JDT) project</A><img class="outlink" src="images/out.png" alt="" /> or by the <A CLASS="wikipage" HREF="Wiki9999.html">J2EE Standard Tools (JST) subproject</A>.
<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>
The goal of this project is to provide both 
<P>
<H4>Some Architectural Principles*</H4>
<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>
<I>*We invite the Eclipse membership-at-large to apply their collective wisdom and experience here by proposing additional principles. Suggestions should be made on the <A CLASS="external" HREF="http://www.eclipse.org/newsportal/thread.php?group=eclipse.webtools">WTP forum</A><img class="outlink" src="images/out.png" alt="" width="6" height="6" /></I>
<P>
<H4>Some use cases*</H4>
<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>
<I>*we invite the membership-at-large to propose additional use-cases to focus this project on the most important frameworks and tools. Suggestions should be made on the <A CLASS="external" HREF="http://www.eclipse.org/newsportal/thread.php?group=eclipse.webtools">WTP forum</A><img class="outlink" src="images/out.png" alt="" width="6" height="6" /></I>
<P>
<H3>Goals for Project Structure and Web Core Model</H3>
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:
<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>
<P>
<H3>Web Core Model</H3>
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>
<H4>Project Model</H4>
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>
<H4>Editor Model</H4>
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>
<H4>Web Artifacts</H4>
These models will represent Web standard models. They will at minimum include or reference existing models for:
<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, XQuery, ...).
</LI>
<LI>Other models: DDL, ...
</LI>
</UL>
<P>
<H4>Server Models</H4>
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. 
<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>
<P>
<H3>Web Standard Tools</H3>
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:
<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>








    </td>
  </tr>

</table>

</body>

<!-- Mirrored from wiki.objectweb.org/eclipse-webtools/Wiki.jsp?page=TheWebStandardToolsSubproject by HTTrack Website Copier/3.x [XR&CO'2003], Fri, 23 Apr 2004 19:12:14 GMT -->

<!-- Mirrored from www.eclipse.org/proposals/eclipse-webtools/Wikibd01.html by HTTrack Website Copier/3.x [XR&CO'2003], Tue, 25 May 2004 06:27:31 GMT -->
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
</html>