FeaturesPluginsDocs & SupportCommunityPartners

J2EE Server Management UI Spec


Author: Jiri Kopsa, Ann Sunhachawee, Jan Rojcek

$Revision: 1.3 $
$Date: 2005/04/26 15:53:41 $

This document specifies the UI for management of J2EE server instances, that are used to compile and run Web Applications, EJB Modules and Enterprise Applications.

Table of Contents:


Overview

A server instance consists of:

  • set of libraries (used for compilation), javadocs and sources,
  • deployment information (i.e. host name and port of the server, admin's user name and password, etc.).

Before a server instance can be used, it has to be registered within the IDE. The server instances can be registered and managed in the Server Manager and Runtime Window.

When a project is created, the user has to select a server instance that will be used for compilation and deployment (target server instance). The user can later select a different target server instance in the project properties dialog.

Server Manager

The Server Manager is a counter part of Java Platform manager in the J2EE world. It is activated by the Server Manager item from the Tools menu.  It is a modal dialog with following structure:

Figure: Server Manager dialog for Sun App Server

+-------------------------------------------------------------------------------------+
| Server Manager |
+-------------------------------------------------------------------------------------+
| Servers: |
| +-------------------------+ |
| |J2EE Servers | Server Name: |_Sun Java System Application Server 8___| |
| |//Sun Java System Appli./| Server Type: |_Sun Java System Application Server 8___| |
| | Tomcat 5 | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <Server Type Specific Section> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| +-------------------------+ |
| [ Add Server...] [ Remove ] |
| |
| [[ OK ]] [ Cancel ] |
+-------------------------------------------------------------------------------------+
Components of this dialog are:
  • Servers list (S) - shows the list of all registered server instances.
  • Add Server button (A) - opens the Add Server wizard.
  • Remove button (R) - removes the selected server from the list. Disabled if the bundled Tomcat is selected.
  • Server Name read-only text field (N) - shows the name of selected server.
  • Server Type read-only text field (N) - shows the type of selected server.

Server Manager - Sun App Server Connection Tab

Figure: Server Manager dialog for Sun App Server

+-------------------------------------------------------------------------------------+
| Server Manager |
+-------------------------------------------------------------------------------------+
| Servers: |
| +-------------------------+ |
| |J2EE Servers | Server Name: |_Sun Java System Application Server 8___| |
| |//Sun Java System Appli./| Server Type: |_Sun Java System Application Server 8___| |
| | Tomcat 5 | |
| | | ____________ ___________ __________ __________ |
| | | / Connection \/ Classes \/ Sources \/ Javadoc \ |
| | | | \---------------------------------------+ |
| | | | | |
| | | | Location: |_localhost:4848_________________| | |
| | | | | |
| | | | Admin Username: |________________________________| | |
| | | | Admin Password: |________________________________| | |
| | | | | |
| | | | Domains Folder: |________________________________| | |
| | | | Domain: |____________________| | |
| | | | | |
| | | | | |
| | | | | |
| +-------------------------+ +-----------------------------------------------------+ |
| [ Add Server...] [ Remove ] |
| |
| [[ OK ]] [ Cancel ] |
+-------------------------------------------------------------------------------------+
Components of this dialog are:
  • Location noneditable text field - host name and port of the server instance
  • Admin Username editable text field (U)
  • Admin Password editable password field (P)
  • Domains Folder noneditable text field
  • Domain noneditable text field

Server Manager - Tomcat 5 Connection Tab

Figure: Server Manager dialog for Tomcat

+-------------------------------------------------------------------------------------+
| Server Manager |
+-------------------------------------------------------------------------------------+
| Servers: |
| +-------------------------+ |
| |J2EE Servers | Server Name: |_Tomcat 5_______________________________| |
| | Sun Java System Appli..| Server Type: |_Tomcat 5_______________________________| |
| |//Tomcat 5///////////////| ____________ ___________ __________ __________ |
| | | / Connection \/ Classes \/ Sources \/ Javadoc \ |
| | | | \---------------------------------------+ |
| | | | | |
| | | | Server Folder: |____________________| [ Browse... ] | |
| | | | | |
| | | | [ ] Use Base Folder for Configuration and Deployment| |
| | | | Base Folder: |____________________| [ Browse... ] | |
| | | | | |
| | | | User Name: |_________________| (for "manager" role) | |
| | | | Password: |_________________| | |
| | | | | |
| | | | [x] Enable HTTP Monitor | |
| | | | | |
| | | | | |
| +-------------------------+ +-----------------------------------------------------+ |
| [ Add Server...] [ Remove ] |
| |
| [[ OK ]] [ Cancel ] |
+-------------------------------------------------------------------------------------+
Components of this dialog are:
  • Server Folder editable text field (F) - specifies the location of Tomcat installation.
  • Browse (Server Folder) button (o) - opens a file chooser titled Browse Server Installation Folder with OK and Cancel buttons. The Files of Type combo box shows one value - Folder. The initial browse location is the user home.
  • Use Base Folder for Configuration and Deployment check box (C) - specifies that a separate folder should be used for server configuration and deployment.
  • Base Folder editable text field (B) - specifies the location of base directory. Disabled together with its label, if the Use Base Folder... checkbox is unchecked.
  • Browse (Base Folder) button (e) - opens a file chooser titled Browse Server Installation Folder with OK and Cancel buttons. The Files of Type combo box shows one value - Folder. The initial browse location is the user home.
  • User Name editable text field (U) - specifies the manager role user name.
  • Password editable text field (P) - specifies the password.
  • Enable HTTP Monitor check box - specifies whether to use HTTP monitor or not.

Server Manager - Classes Tab

Figure: Server Manager dialog showing Classes Tab

+-------------------------------------------------------------------------------------+
| Server Manager |
+-------------------------------------------------------------------------------------+
| Servers: |
| +-------------------------+ |
| |J2EE Servers | Server Name: |_Sun Java System Application Server 8___| |
| |//Sun Java System Appli./| Server Type: |_Sun Java System Application Server 8___| |
| | Tomcat 5 | ____________ ___________ __________ __________ |
| | | / Connection \/ Classes \/ Sources \/ Javadoc \ |
| | | +------------/ \--------------------------+ |
| | | | Server Classpath: | |
| | | | +-------------------------------------------------+ | |
| | | | | /opt/SunAppServer8/lib/j2ee.jar | | |
| | | | | ... | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | +-------------------------------------------------+ | |
| +-------------------------+ +-----------------------------------------------------+ |
| [ Add Server...] [ Remove ] |
| |
| [[ OK ]] [ Cancel ] |
+-------------------------------------------------------------------------------------+
Components of this dialog are:
  • Server Classpath list (C) - shows the list of server JAR files that are needed for compilation

Server Manager - Sources Tab

This tab contains the sources of the server, that can be used for debugging. The sources are not usually bundled in the distribution; this list can be empty.

Figure: Server Manager dialog showing Sources Tab

+-------------------------------------------------------------------------------------+
| Server Manager |
+-------------------------------------------------------------------------------------+
| Servers: |
| +-------------------------+ |
| |J2EE Servers | Server Name: |_Tomcat 5.5.1___________________________| |
| | Sun Java System Applica| Server Type: |_Tomcat 5.5_____________________________| |
| |//Tomcat 5///////////////| ____________ ___________ __________ __________ |
| | | / Connection \/ Classes \/ Sources \/ Javadoc \ |
| | | |-------------------------/ \--------------+ |
| | | | Server Sources: | |
| | | | +---------------------------+ | |
| | | | | /opt/tomcat-5.5.1/src/jaka| [ Add JAR/Folder... ] | |
| | | | | | | |
| | | | | | [ Remove ] | |
| | | | | | | |
| | | | | | [ Move Up ] | |
| | | | | | [ Move Down ] | |
| | | | | | | |
| | | | | | | |
| | | | +---------------------------+ | |
| | | | | |
| +-------------------------+ +-----------------------------------------------------+ |
| [ Add Server...] [ Remove ] |
| |
| [[ OK ]] [ Cancel ] |
+-------------------------------------------------------------------------------------+
Components of this dialog are:
  • Server Sources list (v): Shows the list of server sources. The items can be either folders or JAR files.
  • Add JAR/Folder button (J): Opens a file chooser named Add JAR/Folder for selecting a jar, zip or folder on the disk. The file chooser has Add JAR/Folder and Cancel buttons. The File of Types shows one item: Sourcepath Entry (Folder, JAR or Zip File). Always enabled.
  • Remove button (m): Removes the selected item from sources list. Enabled only if an item in the sources list is selected.
  • Move Up/Down buttons (U/D): As usual.

Server Manager - Javadoc Tab

The list on this tab contains Javadoc for the J2EE API plus additional documentation that comes with the server, its sources or libraries. The J2EE 1.4 API documentation is bundled with the IDE and is added automatically to this list.

Figure: Server Manager dialog showing Javadoc Tab

+-------------------------------------------------------------------------------------+
| Server Manager |
+-------------------------------------------------------------------------------------+
| Servers: |
| +-------------------------+ |
| |J2EE Servers | Server Name: |_Sun Java System Application Server 8___| |
| |//Sun Java System Appli./| Server Type: |_Sun Java System Application Server 8___| |
| | Tomcat 5 | ____________ ___________ __________ __________ |
| | | / Connection \/ Classes \/ Sources \/ Javadoc \ |
| | | |-------------------------------------/ \--+ |
| | | | Server Javadoc: | |
| | | | +---------------------------+ | |
| | | | | .../j2eeri-1-4-doc-api.zip| [ Add Zip/Folder... ] | |
| | | | | | [ Add URL... ] | |
| | | | | | | |
| | | | | | [ Remove ] | |
| | | | | | | |
| | | | | | [ Move Up ] | |
| | | | | | [ Move Down ] | |
| | | | | | | |
| | | | +---------------------------+ | |
| | | | | |
| +-------------------------+ +-----------------------------------------------------+ |
| [ Add Server...] [ Remove ] |
| |
| [[ OK ]] [ Cancel ] |
+-------------------------------------------------------------------------------------+
Components of this dialog are:
  • Server Javadoc list (J): Shows the list of library javadoc items. The items can be either folders or Archive files.
  • Add Zip/Folder button (Z): Opens a file chooser with "Add Zip/Folder" and "Cancel" buttons allowing the user to add a zip archive or folder to the list of sources. Always enabled.
  • Add URL button (L): Opens a Add URL dialog asking the user for specifying the URL to add. Always enabled.
  • Remove button (m): Removes the selected item from the javadoc list. Enabled only if an item in the javadoc list is selected.
  • Move Up/Down buttons (U/D): As usual.

Wizard: Add Server Instance

Step 1: Add Server Instance - Server Type and Name

Figure: Server Type and Name wizard panel

+----------------------------------------------------------------------------+
| Add Server |
+----------------------------------------------------------------------------+
| Server Type and Name |
| -------------------------------------------------------------------------- |
| |
| Chooser server type and specify name of the server to add. |
| |
| Server: |_Sun Java System Application Server 8_________________________v_| |
| Name: |_Sun Java System Application Server 8___________________________| |
| |
| |
| |
| |
+----------------------------------------------------------------------------+

Components of this wizard panel are following:

  1. Server read-only combo box (S) -
  2. Name editable text field (N) -

Wizard buttons' behavior:

  • Back button - always enabled.
  • Next button - enabled only if a server name is valid.
  • Finish button - always disabled.

In-line error messages:


Step 2: Add Sun App Server - Connection

Figure: Connection wizard panel (current state)

+----------------------------------------------------------------------------+
| Add Sun Java System Application Server 8 |
+----------------------------------------------------------------------------+
| Connection |
| -------------------------------------------------------------------------- |
| |
| Specify server location and login details. |
| |
| Location: |_localhost:4848__________________________________________|_v_| |
| (host:port) |
| |
| Admin User Name: |_______________________________________________________| |
| Admin Password: |_______________________________________________________| |
| |
| |
| Specify the server folder and domain if it is installed locally. |
| |
| Server Folder: |___________________________________________| [ Browse... ] |
| Domain: |___________________________________________| |
| |
| |
+----------------------------------------------------------------------------+

Components of this wizard panel are following:

  1. Location editable combo box (L) -
  2. Admin User Name editable text field (U) -
  3. Admin Password editable text field (P) -
  4. Server Folder editable text field (S) -
  5. Browse button (B) -
  6. Domain editable text field (D) -

Wizard buttons' behavior:

  • Back button - always enabled.
  • Next button - enabled only if all values are valid and location, user name and password are non-empty.
  • Finish button - always disabled.

In-line error messages:


Figure: Connection wizard panel (alternative design)

+----------------------------------------------------------------------------+
| Add Sun Java System Application Server 8 |
+----------------------------------------------------------------------------+
| Server Instance |
| -------------------------------------------------------------------------- |
| |
| Specify the location of local instance of the server. This needs to be |
| specified for remote servers as well in order to build the projects. |
| |
| Installation Folder: |_____________________________________| [ Browse... ] |
| |
| Specify the server server instance details. |
| |
| (o) Local Server Instance |
| |
| Domain: |_domain1 (localhost:4848)______________v_| [ New Domain] |
| |
| ( ) Remote Server Instance |
| |
| Host: |_________________________________________| |
| Admin Port: |_4848____| |
| Domain: |_domain1_________________________________| [ New Domain] |
| |
| Specify the login details. |
| |
| Admin User Name: |_________________________________________| |
| Admin Password: |_________________________________________| |
| |
| |
+----------------------------------------------------------------------------+

Components of this wizard panel are following:

  1. Installation Folder - a folder that contains a local instance of the SJS Application Server. The value of the field defaults to the location of a known local instance (if any). This reduces the number of steps in certain cases (e.g. using both a local and a remote instance).
  2. Domain comboboxes - contain lists of domains defined in the local or remote Application Server. The remote domains combobox is refilled when the host is entered or host or port is changed. If the chosen domain is "read-only", a warning message "The domain is read-only!" is shown and the Finish button is disabled.
  3. New Domain button - pops up the New Domain dialog. If the dialog is confirmed, the created domain is selected in the accompanied combobox.

Figure: New Domain dialog

+-----------------------------------------------------------------+
| New Domain |
+-----------------------------------------------------------------+
| |
| Domain Name: |_____________________________| |
| Domain Folder: |_____________________________| [ Browse... ] |
| |
| Admin User Name: |____________________| |
| Password: |____________________| (minimum 8 characters) |
| Re-type Password: |____________________| |
| |
| Admin Port: |_4848__| |
| HTTP Port: |_8080__| |
| HTTPS Port: |_8181__| |
| |
| [ OK ] [ Cancel ] |
+-----------------------------------------------------------------+

Step 2: Add Tomcat Server - Connection

Figure: Connection wizard panel

+----------------------------------------------------------------------------+
| Add Tomcat 5 Server |
+----------------------------------------------------------------------------+
| Connection |
| -------------------------------------------------------------------------- |
| |
| Specify the server folder and login details. |
| |
| Server Folder: |___________________________________________| [ Browse... ] |
| |
| [ ] Use Base Folder for Configuration and Deployment |
| Base Folder: |___________________________________________| [ Browse... ] |
| |
| User Name: |________________________________________| (for "manager" role) |
| Password: |________________________________________| |
| |
| |
| |
| |
+----------------------------------------------------------------------------+

Components of this wizard panel are following:

  1. Server Folder editable text field (F) - specifies the location of Tomcat installation.
  2. Browse (Server Folder) button (o) - opens a file chooser titled Browse Server Installation Folder with OK and Cancel buttons. The Files of Type combo box shows one value - Folder. The initial browse location is the user home.
  3. Use Base Folder for Configuration and Deployment check box (C) - specifies that a separate folder should be used for server configuration and deployment.
  4. Base Folder editable text field (B) - specifies the location of base directory. Disabled together with its label, if the Use Base Folder... checkbox is unchecked.
  5. Browse (Base Folder) button (e) - opens a file chooser titled Browse Server Installation Folder with OK and Cancel buttons. The Files of Type combo box shows one value - Folder. The initial browse location is the user home.
  6. User Name editable text field (U) - specifies the manager role user name.
  7. Password editable text field (P) - specifies the password.

Wizard buttons' behavior:

  • Back button - always enabled.
  • Next button - enabled only if all values are valid and location, user name and password are non-empty.
  • Finish button - always disabled.

In-line error messages:


Server Properties

A Server Properties dialog opens from the server instance contextual menu and allows the user to change the server properties. It shows the same panel as the panel used in the Server Manger dialog for every server instance.

Sun App Server Properties

Figure: Sun App Server Properties dialog

+---------------------------------------------------------------------+
| Sun Java System Application Server 8 - Properties |
+---------------------------------------------------------------------+
| |
| Server Name: |_Sun Java System Application Server 8_______________| |
| Server Type: |_Sun Java System Application Server 8_______________| |
| |
| ____________ ___________ __________ __________ |
| / Connection \/ Classes \/ Sources \/ Javadoc \ |
| | \---------------------------------------------------+ |
| | | |
| | Location: |_localhost:4848_______________________________|_v_| | |
| | | |
| | Admin User Name: |____________________________________________| | |
| | Admin Password: |____________________________________________| | |
| | | |
| | Server Folder: |________________________________| [ Browse... ] | |
| | Domain: |________________________________| | |
| | | |
| | | |
| | | |
| +-----------------------------------------------------------------+ |
| |
| [[ OK ]] [ Cancel ] |
+---------------------------------------------------------------------+
Components of this dialog are:

Tomcat Server Properties

Figure: Tomcat Server Properties dialog

+---------------------------------------------------------------------+
| Tomcat 5 - Properties |
+---------------------------------------------------------------------+
| |
| Server Name: |_Tomcat 5___________________________________________| |
| Server Type: |_Tomcat 5___________________________________________| |
| ____________ ___________ __________ __________ |
| / Connection \/ Classes \/ Sources \/ Javadoc \ |
| | \---------------------------------------------------+ |
| | | |
| | Server Folder: |________________________________| [ Browse... ] | |
| | | |
| | [ ] Use Base Folder for Configuration and Deployment | |
| | Base Folder: |________________________________| [ Browse... ] | |
| | | |
| | User Name: |_____________________________| (for "manager" role) | |
| | Password: |_____________________________| | |
| | | |
| | [x] Enable HTTP Monitor | |
| | | |
| | | |
| +-----------------------------------------------------------------+ |
| |
| [[ OK ]] [ Cancel ] |
+---------------------------------------------------------------------+
Components of this dialog are:

Runtime Window

This window serves to view and manage server instance's content. It also displays database servers and web services.

The child nodes of each individual server instance are provided by the plugin. They are not discussed here (they are same as those of individual servers in previous versions of NetBeans IDE). The difference is, that the servers were grouped by plugin in previous version.

Figure: Servers node in Runtime window

+-----------------------------------------------------+
| Runtime |
+-----------------------------------------------------+
| [S] Servers |
| +- [s] Sun Java System Application Server 8 |
| +- [t] Tomcat 5 |
| [W] Web Services |
| [D] Database Drivers |
| ... |
| |
| |
| |
| |
| |
+-----------------------------------------------------+

[S] - Servers node icon
[s] - Sun Java System Application Server 8 icon
[t] - Tomcat Server node icon
[W] - Web Services node icon

Node: Servers

  • Read-only name Servers
  • Tooltip: Application and Web Servers
  • Contextual menu:
    Add Server...
  • Add Server - opens the Add Server Instance wizard

Node: Sun App Server instance

  • Read-only name
  • Tooltip: <server-url> [<server-status>], e.g. http://localhost:4848 [Stopped]
  • Contextual menu:
    Start/Stop Server...
    Refresh
    View Admin Console
    View Server Log
    Properties
  • Start/Stop Server - opens the start/stop server dialog
  • Refresh - refreshed child nodes of the node (may be used by the user if the server is manager from an external tool, e.g. admin console)
  • View Admin Console - opens the web browser with admin console
  • View Server Log - opens the Output Window with output named <server-host>:<server-port> [Server Log], e.g. localhost:4848 [Server Log]
  • Properties - opens the Sun Java System Application Server Properties dialog

Node: Tomcat Server instance

  • Read-only name
  • Tooltip: <server-url> [<server-status>], e.g. http://localhost:4848 [Stopped]
  • Contextual menu:
    Start/Stop Server...
    Refresh
    View Admin Console
    View Server Log
    Properties
  • Start/Stop Server - opens the start/stop server dialog
  • Refresh - refreshed child nodes of the node (may be used by the user if the server is manager from an external tool, e.g. admin console)
  • View Admin Console - opens the web browser with admin console
  • View Server Log - Opens the Output Window with output named <server-host>:<server-port> [Server Log], e.g. localhost:4848 [Server Log]
  • Properties - opens the Tomcat Server Properties dialog

Main Menu

Tools Menu

| Tools |     
---------
...
Library Manager
Java Platform Manager
Server Manager
-----------------------------------------------
Setup Wizard
...

Behavior of Tools menu items is following:

  • Server Manager - opens the Server Manager dialog.

Open Issues, Missing or Planned Features, TODOs


This is a list of know issues and UI specificaiton vs implementation inconsistencies. The major items are highlighted.

Status
Summary
Description
Issued, no conclusion yet
Removal confirmation in Server Manager http://www.netbeans.org/issues/show_bug.cgi?id=54617
Issued, no conclusion yet
Unify the wording: "Server" to "Server Instance" http://www.netbeans.org/issues/show_bug.cgi?id=54617
Design needs to be precised
Wrong layout and wording in the Server Manager tab panes
SJSAS:
Labels are out of spec: Admin Username, Admin Password, Domains Folder, Domain

The word "domain" needs to be discussed. Instance name would be better (and in sync with wizard and help set) but there is conflict with the name under which the server instance is registered in the IDE.

The components left borders should be aligned.

Tomcat:

Connection tab is missing in implementation. Design needs to be precised and brought in sync with the Add Server Instance wizard.

All:

The spacing between the components and the border of the tabbed panes should be 12 pixels (or 6 pixels).

The names of the tabs (especially Connection) and the titles of the lists should be polished (e.g. "Server Javadoc" is not optimal); currently they are different from the spec. The titles of the lists should be terminated with colons.


Design needs to be precised
Enabling HTTP monitor
The Add Server Instance wizard allows to enable/disable HTTP monitor for Tomcat, but does not allow it for SJSAS.


Designed, not implemented,
to be issued
Sources tab
User should be able to attach soruces to registered server instance.
Designed, not implemented,
to be issued
Javadoc tab
User should be able to attach Javadoc to registered server instance.
Design needs to be precised
Tomcat Server Instance Properties dialog Not implemented for Tomcat (it's still using the Properties table).
The UI spec version shows a partially different set of properties.
To be issued
SJSAS Server Instance Properties dialog title
The SJSAS Properties dialog has a wrong title. It should be "<server instance name> - Properties" instead of "Properties".
Needs to be designed
Logging
Currently only one log file can be shown, but there may be more than just one log file.

There are also some minor issues:
- Tomcat server instance should have action "View Server Log" instead of "View Server Output"
- Titles of the Server Log tabs (in the Output Window) does not comply with the UI spec.
Tomcat: "<server instance>"
SJSAS: "<server-host>:<server-port>"
Should be: "<server-host>:<server-port> [Server Log]"
- but it might be too long, this needs to be discussed
To be issued
Server Instance tooltips
Tooltips on the server instance nodes does not comply with the UI specs
Needs to be designed
Add Server Instance wizard The SJSAS step #2 (and the first-time step #2 - setting the SJSAS installation location) needs to be redesigned.

There are also some minor issues:
- Titles of the step are invalid and inconsistent; both in UI spec and implementation, e.g. the title "Connection" is wrong, the "Choose Server" in impl. is also wrong, etc.
- The layout of step #2 in Tomcat is odd (invalid spacing by the left border), the wording and logic (of the basefolder checkbox) does not comply with the UI spec.
To be discussed
Missing "Add URL..." button in Java doc pane It was designed but wasn't implemented.
It isn't neither in the Java Platform Manager.
Needs to be designed Starting and stopping server
Needs to be redesigned with the background process management in mind.
To be discussed
Server Instance subtrees
Their content needs to be discussed and designed.
To be discussed
Uploading libraries
Might be done within the zero configuration deployment effort.
To be discussed
Bundled servers names
Currently it's "Bundled Tomcat (5.5.7)" for Tomcat. Is it important to say that the server is bundled? Should be the users able to unregister a bundled server?
To be done
Icons
The three server icons should be moved from the EJB Module Project UI spec to this one.
Design needs to be precised
Normal vs Debug mode not clearly shown
http://www.netbeans.org/issues/show_bug.cgi?id=56423

Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by