










<!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=TheEclipseWebToolsPlatformProjectDevelopmentPlan by HTTrack Website Copier/3.x [XR&CO'2003], Fri, 23 Apr 2004 19:12:13 GMT -->
<!-- Mirrored from www.eclipse.org/proposals/eclipse-webtools/Wikib862.html by HTTrack Website Copier/3.x [XR&CO'2003], Tue, 25 May 2004 06:27:30 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 Eclipse Web Tools Platform Project Development Plan</title>
  <link rel="stylesheet" href="templates/eclipse/eclipse.css">
  
</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 Eclipse Web Tools Platform Project Development Plan</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 the
<a href="https://dev.eclipse.org/mailman/listinfo/wtp-proposal">wtp-proposal</a> 
mailing list.
<HR />

<H3>Project Management Principles</H3>
<P>
While this project is open to any contributor like any other open source projects (see the <A CLASS="wikipage" HREF="Wikiaed0.html">Contributing to the WTP Project document</A>), the organizations listed below have expressed interest in participating in the Eclipse Web Tools Platform Project. This proposal reflects the information provided by those organizations. 
<P>
<I>We very welcome new participants! Organizations who would like to get officially involved may contact us at <TT>wtp-proposal AT eclipse.org</TT></I>
<P>
<H3>Project Resources</H3>
<P>
<TABLE CLASS="wikitable" BORDER="1">
<TR><TH>Organization</TH><TH>Individuals</TH><TH>WST</TH><TH>JST</TH><TH>Coordination, Architecture<BR /> & Planning</TH><TH> Expertise</TH><TH> Code contribution*</TH></TR>
<TR><TD><A CLASS="external" HREF="http://www.bull.com/">BULL</A><img class="outlink" src="images/out.png" alt="" /></TD><TD>Jerome Camilleri</TD><TD>NO</TD><TD>YES</TD><TD>NO</TD><TD>JOnAS,JOPE</TD><TD>not planned</TD></TR>
<TR><TD><A CLASS="external" HREF="http://www.eteration.com/">Eteration</A><img class="outlink" src="images/out.png" alt="" /></TD><TD>Naci Dai<BR />Ozgur Tumer</TD><TD>YES</TD><TD>YES</TD><TD>YES</TD><TD>Lomboz</TD><TD><A CLASS="wikipage" HREF="Wikib9cc.html">see ObjectWeb proposal</A></TD></TR>
<TR><TD><A CLASS="external" HREF="http://www.exadel.com/">Exadel</A><img class="outlink" src="images/out.png" alt="" /></TD><TD>Valeriy Pelyushenko<BR />Igor Shabalov</TD><TD>YES</TD><TD>YES</TD><TD>NO</TD><TD>Struts Studio</TD><TD>not planned</TD></TR>
<TR><TD><A CLASS="external" HREF="http://www.frameworx.com/">Frameworx</A><img class="outlink" src="images/out.png" alt="" /></TD><TD>Henrik Lindberg<BR />Thomas Hallgren<BR />Pontus Rydin<BR />Kenneth Olving<BR />Mitch Sonies</TD><TD>YES</TD><TD>YES</TD><TD>YES</TD><TD>OR-Mapping<BR />ObjectWeb</TD><TD>not planned</TD></TR>
<TR><TD><A CLASS="external" HREF="http://www.genuitec.com/">Genuitec</A><img class="outlink" src="images/out.png" alt="" /></TD><TD>Todd Wiliams</TD><TD>YES</TD><TD>YES</TD><TD>YES</TD><TD>MyEclipse</TD><TD>not planned</TD></TR>
<TR><TD><A CLASS="external" HREF="http://www.ibm.com/">IBM</A><img class="outlink" src="images/out.png" alt="" /></TD><TD>Arthur Ryman<BR />Chris Brealey<BR />Craig Salter<BR />Chuck Bridgham<BR />David Williams<BR />Der Ping Chou<BR />Sheila Sholars<BR />Timothy Deboer</TD><TD>YES</TD><TD>YES</TD><TD>YES</TD><TD>WSAD</TD><TD><A CLASS="wikipage" HREF="Wiki0064.html">see IBM proposal</A></TD></TR>
<TR><TD><A CLASS="external" HREF="http://www.innoopract.com/">Innoopract</A><img class="outlink" src="images/out.png" alt="" /></TD><TD>Leif Frenzel<BR />Frank Appel<BR />Jochen Krause</TD><TD>NO</TD><TD>YES</TD><TD>YES</TD><TD>W4T</TD><TD>not planned</TD></TR>
<TR><TD><A CLASS="external" HREF="http://www.inria.fr/">INRIA</A><img class="outlink" src="images/out.png" alt="" /></TD><TD>Christophe Ney<BR />Mathieu Peltier<BR />Catherine Nuel</TD><TD>NO</TD><TD>NO</TD><TD>YES</TD><TD>ObjectWeb</TD><TD>n/a</TD></TR>
<TR><TD><A CLASS="external" HREF="http://www.librados.com/">Librados</A><img class="outlink" src="images/out.png" alt="" /></TD><TD>Vince Eagen</TD><TD>NO</TD><TD>YES</TD><TD>NO</TD><TD>J2EE/JCA</TD><TD>not planned</TD></TR>
<TR><TD><A CLASS="external" HREF="http://www.openwide.fr/">OpenWide</A><img class="outlink" src="images/out.png" alt="" /></TD><TD>Fabrice Dewasmes</TD><TD>NO</TD><TD>YES</TD><TD>NO</TD><TD>Workflow</TD><TD>not planned</TD></TR>
<TR><TD><A CLASS="external" HREF="http://www.thales-is.com/">THALES IS</A><img class="outlink" src="images/out.png" alt="" /></TD><TD>Dominique De Vito</TD><TD>NO</TD><TD>NO</TD><TD>YES</TD><TD>ObjectWeb</TD><TD>n/a</TD></TR>
<TR><TD><A CLASS="external" HREF="http://www.together.at/">Together Teamlosungen</A><img class="outlink" src="images/out.png" alt="" /></TD><TD>?</TD><TD>NO</TD><TD>YES</TD><TD>NO</TD><TD>Enhydra</TD><TD>not planned</TD></TR>
<TR><TD><A CLASS="external" HREF="http://www.xquarkgroup.com/en/">XQuark Group</A><img class="outlink" src="images/out.png" alt="" /></TD><TD>Antoine Mensch</TD><TD>YES</TD><TD>NO</TD><TD>NO</TD><TD>XQuark</TD><TD>not planned</TD></TR>
</TABLE>
<P>
<TABLE CLASS="wikitable" BORDER="1">
<TR><TH>Individuals</TH><TH>WST</TH><TH>JST</TH><TH>Coordination, Architecture<BR /> & Planning</TH><TH> Expertise</TH><TH> Code contribution*</TH></TR>
<TR><TD>Gorkem Ercan</TD><TD>YES</TD><TD>YES</TD><TD>NO</TD><TD>Lomboz</TD><TD>Lomboz is in <A CLASS="wikipage" HREF="Wikib9cc.html">ObjectWeb proposal</A></TD></TR>
<TR><TD>Jens Lukowski</TD><TD>YES</TD><TD>NO</TD><TD>NO</TD><TD>X-Men</TD><TD><A CLASS="wikipage" HREF="Wikica4a.html">see Jens Lukowski's proposal</A></TD></TR> 
<TR><TD>Xinjie Zhang</TD><TD>YES</TD><TD>NO</TD><TD>NO</TD><TD>SVG Widget Framework</TD><TD><A CLASS="wikipage" HREF="Wiki6aba.html">see Xinjie Zhang's proposal</A></TD></TR> 
</TABLE>
<P>
<P>
<I> * This code will be made available to the PMC under CPL license before the project kick-off meeting (see roadmap below). All code contributions will be screened for its usefulness with regard to the project goals and used as an initial code base where and when appropriate. Organizations and individuals who wish to make code contributions may contact wtp-proposal AT eclipse.org</I>
<P>
<H3>Project Roadmap</H3>
<P>
An agile development approach will be reflected in roadmap creation and planning, similar to other Eclipse projects.  In particular:
<UL>
<LI> The project planning process will be iterative and incremental; continual re-planning is expected as the project progresses.
</LI>
<LI> Product planning will be limited to one or more one-year periods resulting in completion of a major planned deliverable.  Longer-term roadmaps, if provided, will be provided only to indicate long-term vision or ambition operative at that time.
</LI>
<LI> One-year deliverables will be broken down into multiple incremental milestones; each of will provide a tangible product deliverable or validation point.
</LI>
<LI> Feedback from community members and target end-users will be actively solicited in connection with each milestone delivery.
</LI>
</UL>
<P>
The roadmap illustrated below is provided for review and discussion in connection with project creation, and is not intended to be fixed or final. 
<P>
<IMG CLASS="inline" SRC="roadmapae65.gif" ALT="TheEclipseWebToolsPlatformProjectDevelopmentPlan/roadmap.gif" width="940" height="592" />
<P>
<DL>
<DT><B>Declaration of interest</B></DT><DD> The declaration of interest is intended to initiate open discussion of project ambition and scope, and the roadmap/plan for the first twelve months.</DD>
</DL>
<DL>
<DT><B>Call for participation</B></DT><DD> The declaration of interest period begins with publication of the project the proposal at eclipse.org.  This triggers the start of a 30-day period giving the Eclipse membership-at-large an opportunity to comment on the project, as initially proposed, to become early project participants.</DD>
</DL>
<DL>
<DT><B>Creation review</B></DT><DD> Tentative date for creation review. The green light will be also given to the roadmap as approved and adopted up to this point.</DD>
</DL>
<DL>
<DT><B>Validation phase</B></DT><DD> During the Validation Phase, review of proposed designs, prototypes, code contributions will occur; critical use cases will be identified and project management/administration infrastructure will be created.  The Validation Phase will result in initial plans for the overall project and identified sub-projects. Upon acceptance of these plans, the Implementation Phase will begin, with progress begun against the first project milestones.</DD>
</DL>
<P>
<DL>
<DT><B>Milestone 1</B></DT><DD> This will focus on server tooling and 'project development layout' components.</DD>
</DL>
<P>
<DL>
<DT><B>Milestones</B></DT><DD> Each subsequent milestone corresponds to an integration phase, and can be seen as a project status checkpoint. Milestones require resolution of dependencies on other subprojects or sub-systems. Key status reports and documentation relevant to the milestone will be made available to the membership-at-large, enabling transparency in evaluating progress against the roadmap.</DD>
</DL>
 
<H3>Project Plans & Project Status</H3>
Project status reports & updated project plans will be made available on a regular 
      basis following project creation. </td>
  </tr>

</table>

</body>

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

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