<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../wtp.xsl"?>
<html>
        <head>
                <title>j2ee standard tools components</title>
        </head>
        <body>
                <h1>jst components</h1>

                <h2>Introduction</h2>
                <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>

                <h3>
                        <a
                                href="http://dev.eclipse.org/viewcvs/index.cgi/jst/components/?cvsroot=WebTools_Project">
                                CVS Repository
                        </a>
                </h3>
                <p>
                        All JST components are stored in the Eclipse CVS repository
                        at dev.eclipse.org in the path
                        /home/webtools/jst/components.
                </p>
                <p>
                        The following sections briefly describe the components and
                        their component leads.
                </p>

                <h2>Components</h2>

                <h3>
                        <a name="assembly">assembly</a>
                </h3>
                <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>

                <h3>
                        <a name="jstcommon">common</a>
                </h3>
                <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>

				<h3>
					<a name="doc">doc</a>
				</h3>
				<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="components/doc/overview.html">
									Component Overview
								</a>
							</li>
							-->
							<li>
							<a href="../plans/1.0/jst/doc/M8/milestone_plan.html">
								Current Milestone Plan
							</a>
						</li>
						<li>
							<a
								href="http://wiki.eclipse.org/index.php/Doc_Test_Plan">
								Current Test Plan
							</a>
						</li>
					</ul>
				</p>

                <h3>
                        <a name="j2ee">j2ee</a>
                </h3>
                <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>

                <h3>
                        <a name="jsp">jsp</a>
                </h3>
                <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>

                <h3>
                        <a name="servlet">servlet</a>
                </h3>
                <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>

                <h3>
                        <a name="ejb">ejb</a>
                </h3>
                <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>

                <h3>
                        <a name="jstserver">server</a>
                </h3>
                <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>

                <h3>
                        <a name="ws">ws</a>
                </h3>
                <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>

        </body>
</html>
