<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link type="text/css" href="../../default_style.css" rel="stylesheet"><link type="text/css" href="../../webtools/wtp.css" rel="stylesheet"><title>j2ee standard tools components</title></head><body><table border="0" cellpadding="2" cellspacing="5" width="100%"><tbody><tr><td align="left" width="60%"><font class="indextop">jst components</font><br><font class="indexsub">j2ee standard tools components</font></td><td width="40%"><img src="../../webtools/images/wtplogosmall.jpg" align="middle" height="129" hspace="50" width="207" alt="WTP Logo" usemap="logomap"><map id="logomap" name="logomap"><area coords="0,0,207,129" href="/webtools/" alt="WTP Home"></map></td></tr></tbody></table><table border="0" cellpadding="2" cellspacing="5" width="100%"><col width="16"><col width="*"><tbody><tr><td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b><font color="#ffffff" face="Arial,Helvetica">Introduction</font></b></td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
                        This document describes the component structure for the J2EE
                        Standard Tools subproject. As the name of this subproject
                        implies, our scope includes J2EE standards, such as JSP,
                        servlet, EJB and related standards which are defined by the
                        JCP. This is in contrast to the Web Standard Tools
                        subproject whose scope is Web and related standards defined
                        by organizations such as W3C, OASIS, and ANSI. One of the
                        main organizing principles of this subproject is to group
                        all work related to a given standard within a single
                        component. For example, there are components for JSP editing
                        and J2EE projects. The other main organizing principle is to
                        create a component for each major framework. For example,
                        there are components for Server tools and the Web service
                        wizard. Finally, there are components for related sets of
                        code that do not fall into either of the two main
                        categorizations. For example, there is a common component
                        for utilities and other shared infrastructure code.
                </p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
                        <a href="http://dev.eclipse.org/viewcvs/index.cgi/jst/components/?cvsroot=WebTools_Project">
                                CVS Repository
                        </a>
                </td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
                        All JST components are stored in the Eclipse CVS repository
                        at dev.eclipse.org in the path
                        /home/webtools/jst/components.
                </p></td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
                        The following sections briefly describe the components and
                        their component leads.
                </p></td></tr><tr><td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b><font color="#ffffff" face="Arial,Helvetica">Components</font></b></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
                        <a name="assembly">assembly</a>
                </td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
                        The assembly component contains features definitions for
                        building the JST release, its SDK, and its test suite. The
                        component lead is Naci Dai.
                </p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
                        <a name="jstcommon">common</a>
                </td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
                        The common component contains common utilities and
                        infrastructure that does not find its home elsewhere. The
                        component lead is Naci Dai.
                        <ul>
                                <li>
                                        <a href="../plans/1.5/jst/j2ee/RC5/test_plan.html">
                                                Current Test Plan
                                        </a>
                                </li>
                        </ul>
                </p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
					<a name="doc">doc</a>
				</td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
						The doc component contains the end user and ISV
						documentation for the JST subproject. This includes
						infopops and both Eclipse integrated and online help.
						The component lead is Lawrence Mandel.
						<ul>
							
							<li>
							<a href="../plans/1.0/jst/doc/M8/milestone_plan.html">
								Current Milestone Plan
							</a>
						</li>
						<li>
							<a href="https://wiki.eclipse.org/index.php/Doc_Test_Plan">
								Current Test Plan
							</a>
						</li>
					</ul>
				</p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
                        <a name="j2ee">j2ee</a>
                </td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
                        The jst project component contains common j2ee models,
                        natures and builders for J2EE projects, and j2ee modules
                        views, wizards, etc. including the new support for flexible
                        project layouts. The component leads are Naci Dai and Chuck
                        Bridgham.
                        <ul>
                                <li>
                                        <a href="components/j2ee/j2ee_index.html">
                                                J2EE Main page
                                        </a>
                                </li>
                                <li>
                                        <a href="../plans/1.0/jst/j2ee/M9/milestone_plan.html">
                                                Current Milestone Plan (M9)
                                        </a>
                                </li>
                                <li>
                                        <a href="../plans/1.5/jst/j2ee/RC5/test_plan.html">
                                                Current Test Plan
                                        </a>
                                </li>
                                <li>
                                        <a href="components/j2ee/M5/news/j2ee-news-M5.html">
                                                M5 New and Noteworthy
                                        </a>
                                </li>
                        </ul>
                </p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
                        <a name="jsp">jsp</a>
                </td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
                        The jsp component contains the JSP editor, model, views,
                        wizards, etc. The component lead is David Williams.
                        <ul>
                                <li>
                                        <a href="components/jsp/overview.html">
                                                Component Overview
                                        </a>
                                </li>
                                <li>
                                        <a href="../plans/1.0/jst/jsp/M9/milestone_plan.html">
                                                Current Milestone Plan
                                        </a>
                                </li>
                                <li>
                                        <a href="../plans/2.0/jst/jsp/test_plan.php">
                                                Current Test Plan
                                        </a>
                                </li>
                        </ul>
                </p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
                        <a name="servlet">servlet</a>
                </td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
                        The servlet component contains the servlet editors, models,
                        views, wizards, etc. The component lead is Naci Dai.
                        <ul>
                                <li>
                                        <a href="components/j2ee/j2ee_index.html">
                                                J2EE Main page(Servlet info found here)
                                        </a>
                                </li>
                                <li>
                                        <a href="../plans/1.5/jst/j2ee/RC5/test_plan.html">
                                                Current Test Plan
                                        </a>
                                </li>
                        </ul>
                </p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
                        <a name="ejb">ejb</a>
                </td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
                        The ejb component contains the ejb editors, models, views,
                        wizards, etc. The component lead is Naci Dai.
                        <ul>
                                <li>
                                        <a href="components/j2ee/j2ee_index.html">
                                                J2EE Main page(EJB info found here)
                                        </a>
                                </li>
                                <li>
                                        <a href="../plans/1.5/jst/j2ee/RC5/test_plan.html">
                                                Current Test Plan
                                        </a>
                                </li>
                        </ul>
                </p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
                        <a name="jstserver">server</a>
                </td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
                        The server component contains the J2EE Server Tools
                        framework and adapters for selected popular J2EE servers
                        such as Apache Tomcat. The component leads are Tim deBoer
                        and Gorkem Ercan.
                        <ul>
                                <li>
                                        <a href="components/server/index.html">Overview</a>
                                </li>
                                <li>
                                        <a href="../plans/1.0/jst/server/M8/milestone_plan.html">Current Milestone Plan</a>
                                </li>
                                <li>
                                        <a href="components/server/test_plan.html">Current Test Plan</a>
                                </li>
                        </ul>
                </p></td></tr><tr><td align="right" valign="top"><img src="../../images/Adarrow.gif" border="0" height="16" width="16"></td><td>
                        <a name="ws">ws</a>
                </td></tr><tr><td align="right" valign="top">
                &nbsp;
            </td><td valign="top"><p>
                        The ws component contains the Java Web service wizard and
                        adapters for selected popular J2EE Web service engines such
                        as <a href="http://ws.apache.org/axis/">Apache Axis</a>.
                        The component lead is Chris Brealey.
                        <ul>
							<li>
								<a href="components/ws/index.html">Overview</a>
							</li>
							<li>
								<a href="../plans/1.0/jst/ws/M9/milestone_plan.html">Current Milestone Plan</a>
							</li>
							<li>
								<a href="components/ws/1.5M6/test_plan.html">Current Test Plan</a>
							</li>
                        </ul>
                </p></td></tr></tbody></table></body></html>