blob: bd97a8120305a0a5764dec8239d802ab10fcdef9 [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type"
content="text/html; charset=ISO-8859-1" />
<title>Other Third Party Dependancies</title>
</head>
<body>
<h1>Other Third Party Dependancies</h1>
<h2>Other Third Party Dependancies</h2>
<p>This document is to list and describe relationships with third party software which WTP depends on or works with.
For background context, see <a
href="http://www.eclipse.org/org/documents/Eclipse_Policy_and_Procedure_for_3rd_Party_Dependencies_Final.pdf">Eclipse
Policy and Procedure for Third Party Dependencies</a>.
<p><strong>Note: Where we list available third party software in this document, we do so only to
domonstrate there are many choices for end-users. We do not mean to say those are the only available options nor do we
advocate the use of any particular one.</strong></p>
<h2>Application Servers</h2>
<p>We depend on Application Servers in two ways. First, and least important, we do have one function, Web Service
Explorer that actually runs as a web application. We happen to depend on and use what ever Application Server ships in
the Eclipse Platform, which for the Ganymede releases happens to be Jetty Version 5.x. We could run our WSE web app on
any JEE compliant server, but we do need to know it in advance ... it can not be "swapped out" by users or adopters.</p>
<p>Second, and most important, creating web applications -- the whole purpose of WTP! -- depends on having some
application server available. Ultimately it is up to the end user to provide their own Application Server to use with
WTP, but there are some "ease of use" options that provide different paths to using one or more Application Servers:
<h3>Preview Server</h3>
<p>We do offer, and users can make use of, a "preview server" that is built in to WTP. This is actually just making
use of what ever Application server ships with the Eclipse Platform, which is currently Jetty Version 5.x. We, in WTP,
do not surface the fact that this is Jetty, in order to be more "vendor neutral" and in fact could work with any JEE
compliant server, but, we do need to know in advance what server it is, in order to adapt to it specifically. There is
also an HTTP Preview Server that non-java users can use to "run" HTML and Javascript documents. Under the covers, the
built in HTTP Preview Server is the same as the JEE Preview Server.</p>
<p>These Preview Servers are offered simply to improve "out of the box" experience for novice end-users. It provides
capabilities to run servlets and JSPs. Most professional web developers will want to use some specific application
server that has the capabilities they need.</p>
<h3>Server Adapters</h3>
<p>Any server that's used with WTP needs a server adapter. This just provides a common interface for WTP to interact
with the server; to start, stop, and publish to the server. There are some server adapters that are shipped with WTP,
and others that are available from any vendor that wants to provide one. In some cases, those other adapters have
provided us with URLs to update sites, to make it easier for users to get their server adatper. There are, undoubtedly
other server adapters (and servers) we know nothing about.
<h4>Server Adapters that are built-in (shipped with WTP)</h4>
<ul>
<li>Tomcat v3.2</li>
<li>Tomcat v4.0</li>
<li>Tomcat v4.1</li>
<li>Tomcat v5.0</li>
<li>Tomcat v5.5</li>
<li>Tomcat v6.0</li>
<li>IBM WebSphere V6.0</li>
<li>JBoss v3.2.3</li>
<li>JBoss v4.0</li>
<li>JBoss v4.2</li>
<li>JBoss v5.0</li>
<li>JOnAS v4</li>
<li>Oracle OC4J Standalone 10.1.3</li>
<li>Oracle OC4J Standalone 10.1.3.n</li>
</ul>
<h4>Server Adapters that are available from built-in update sites</h4>
<ul>
<li>BEA WebLogic 10.3</li>
<li>BEA WebLogic 10.0</li>
<li>BEA WebLogic 9.x</li>
<li>BEA WebLogic 8.1</li>
<li>Pramati Server 4.1</li>
<li>Pramati Server 5.0</li>
<li>Geronimo v1.0</li>
<li>Geronimo v1.1.x</li>
<li>Geronimo v2.0</li>
<li>Glassfish v1</li>
<li>Glassfish v2</li>
<li>Glassfish v3</li>
<li>Jetty 6.0</li>
<li>WASCE v1.1.x</li>
<li>WASCE v2.0</li>
</ul>
<h4>Installable Runtimes</h4>
<p>Normally when users install their own Application Server, they simply tell us where, on their file system, it is
(already) installed. If someone picks that they want to use a Tomcat server, we do offer an option (along with the
already existing location option) that they can download and install Tomcat from the Apache download site. In that case,
we do show them the appropriate Apache license which they must agree to, before the download of the zip file proceeds.</p>
<p>This option is provided just as an ease-of-use option to allow beginning users to get started easier and more
quickly.</p>
<h2>Java Persistence Frameworks</h2>
<p>JPA runtimes come built in with some application servers, but if not, users would have to download and install
their own. Several of these frameworks are listed below to demonstrate the many options available to the end-user.</p>
<h3>JPA Open Source libraries</h3>
<ul>
<li>EPL - EclipseLink</li>
<li>Apache - Open JPA</li>
<li>CDDL - TopLink Essentials (available from Glassfish project)</li>
<li>GPL - JBoss Hibernate</li>
</ul>
<h3>JPA Proprietary libraries</h3>
<ul>
<li>Oracle TopLink</li>
<li>BEA Kodo</li>
</ul>
<h2>JSF Runtimes and Component Libraries</h2>
<p>To execute a JSF application you need an implementation of the JSF spec and one or more component libraries. You
can get the implementation plus a core set of components from</p>
<ul>
<li>Sun (https://javaserverfaces.dev.java.net/download.html)</li>
<li>Apache MyFaces (http://myfaces.apache.org/download.html).</li>
</ul>
<p>JEE 5 compliant application servers implementations come with the JSF support built-in. Users can get additional
component libraries from a wide range of vendors including</p>
<ul>
<li>Apache MyFaces Tomahawk</li>
<li>Apache MyFaces Trinidad</li>
<li>ICEFaces></li>
<li>JBoss RichFaces</li>
<li>Oracle's ADF Faces</li>
<li>Project Woodstock</li>
</ul>
<h2>Axis2 Runtimes</h2>
<p>The Axis2 Web services tools in WTP are an optional feature. If users want to install those tools and make use of
them, they will need to have an Axis2 Runtime available. Users can download and install the Axis2 runtime from readily
available open source projects (e.g. see <a href="http://ws.apache.org/axis2/">Apache Axis2</a>). Then they will have to
specify the location of the Axis2 runtime to the WTP Axis2 tools.</p>
<h2>XDoclet</h2>
<p>For Java EE 1.4, EJB 2.1, there is a technique of developing (defining) EJBs that depend on having extra
annotations in JavaDoc comments. To make use of this technique, users have to download and install XDoclet, which is
readily available from free, open source projects (e.g. see <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">XDoclet
at Sourceforge</a>. We do not ship this support built-in to WTP, simply because it would add a fairly substantial amount of
code (roughly 8 M Bytes) to the foot print, and we felt there are not enough users of this particular technique to
justify that increased footprint. In earlier versions of WTP, XDoclet was also (optionally) used in Servlet Wizards. But
this support is not needed anymore.</p>
<p>For the more recent JEE 5 servers and EJB 3 (and JPA) this annotation technique is simply built in to the Java 5
language.
<h2>XSLT Engines</h2>
<p>We provide one XSLT engine (Xalan 1.0) that works out of the box, but users can choose to install additional XSL
engines, such as Saxon 2.0 if they desire. There's no requirement to install it, but naturally every runtime (and
version) offers it's own special features.</p>
<h2>ICU</h2>
<p>ICU is some library code that improves the base internationalization support in Java (e.g. for sorting lists
correctly, etc). This comes shipped with the base Eclipse Platform, but our code does depend on it being present, so it
is technically a pre-req. We consider this an "exempt pre-req" (exempt from separate IP review) since the Eclipse
Foundation, via the Yearly Release Train requirements, requires its use where appropriate.</p>
<h2>Other Third Party Code from Eclipse Platform</h2>
<p>In addition to what ever application server happens to ship in the base platform, which we mentioned above, there
are some other packages that we depend on, but which are shipped as part of the platform. We do not re-distribute them
(though, we used to) but want to call them out here since we would still require them even if the platform decided not
to re-distribute them, or, for example, if someone was making a "custom install" and maybe not including the complete
platform.</p>
<table border="1">
<tr>
<th width="20%">Software</th>
<th width="15%">Version</th>
<th width="20%">License</th>
<th>Introduced in Version</th>
<th>Notes</th>
</tr>
<tr>
<td>Jetty Web Server</td>
<td>5.1.14 (<a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=2296">CQ 2296</a>)</td>
<td>Apache License, 2.0</td>
<td>3.0</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Apache Jakarta Commons EL</td>
<td>1.0 (<a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=1547">CQ 1547</a>)</td>
<td>Apache License, 2.0</td>
<td>2.0</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>javax.servlet</td>
<td>2.4 (<a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=1343">CQ 1343</a>)</td>
<td>Apache License, 2.0</td>
<td>2.0</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>javax.servlet.jsp</td>
<td>2.0 (<a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=1344">CQ 1343</a>)</td>
<td>Apache License, 2.0</td>
<td>2.0</td>
<td>&nbsp;</td>
</tr>
</table>
</body>
</html>