Other Third Party DependanciesOther Third Party Dependancies |
Other Third Party Dependancies
This document is to list and describe relationships with third party software which WTP depends on or works with. For background context, see Eclipse Policy and Procedure for Third Party Dependencies.
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.
Application Servers
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.
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:
Preview Server
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.
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.
Server Adapters
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.
Server Adapters that are built-in (shipped with WTP)
- Tomcat v3.2
- Tomcat v4.0
- Tomcat v4.1
- Tomcat v5.0
- Tomcat v5.5
- Tomcat v6.0
- IBM WebSphere V6.0
- JBoss v3.2.3
- JBoss v4.0
- JBoss v4.2
- JBoss v5.0
- JOnAS v4
- Oracle OC4J Standalone 10.1.3
- Oracle OC4J Standalone 10.1.3.n
Server Adapters that are available from built-in update sites
- BEA WebLogic 10.3
- BEA WebLogic 10.0
- BEA WebLogic 9.x
- BEA WebLogic 8.1
- Pramati Server 4.1
- Pramati Server 5.0
- Geronimo v1.0
- Geronimo v1.1.x
- Geronimo v2.0
- Glassfish v1
- Glassfish v2
- Glassfish v3
- Jetty 6.0
- WASCE v1.1.x
- WASCE v2.0
Installable Runtimes
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.
This option is provided just as an ease-of-use option to allow beginning users to get started easier and more quickly.
Java Persistence Frameworks
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.
JPA Open Source libraries
- EPL - EclipseLink
- Apache - Open JPA
- CDDL - TopLink Essentials (available from Glassfish project)
- GPL - JBoss Hibernate
JPA Proprietary libraries
- Oracle TopLink
- BEA Kodo
JSF Runtimes and Component Libraries
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
- Sun (https://javaserverfaces.dev.java.net/download.html)
- Apache MyFaces (http://myfaces.apache.org/download.html).
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
- Apache MyFaces Tomahawk
- Apache MyFaces Trinidad
- ICEFaces>
- JBoss RichFaces
- Oracle's ADF Faces
- Project Woodstock
Axis2 Runtimes
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 Apache Axis2). Then they will have to specify the location of the Axis2 runtime to the WTP Axis2 tools.
XDoclet
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 XDoclet at Sourceforge. 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.
For the more recent JEE 5 servers and EJB 3 (and JPA) this annotation technique is simply built in to the Java 5 language.
XSLT Engines
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.
ICU
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.
Other Third Party Code from Eclipse Platform
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.
Software | Version | License | Introduced in Version | Notes |
---|---|---|---|---|
Jetty Web Server | 5.1.14 (CQ 2296) | Apache License, 2.0 | 3.0 | |
Apache Jakarta Commons EL | 1.0 (CQ 1547) | Apache License, 2.0 | 2.0 | |
javax.servlet | 2.4 (CQ 1343) | Apache License, 2.0 | 2.0 | |
javax.servlet.jsp | 2.0 (CQ 1343) | Apache License, 2.0 | 2.0 |