Apache Geronimo is a certified java™2 Platform Enterprise Edition (Java EE) 1.4 Application Server. When most people think of Java EE, they think of things like transaction management, WEB applications, and asynchronous messaging. However, with these features will not necessarily be able to pass the Java EE certification. Application servers must provide many of the tools required for mission-critical production systems. One of these tools is remote deployment. Geronimo is designed to meet most deployment scenarios, so it includes support for remote deployments.
Remote Deployment and JSR 88
Remote deployment is one of the important features of any Java EE certified Application Server. Mission-critical application servers need to be run on a dedicated system. Security is also a problem that many systems must focus on, so restricting access to the system is limited. Restricted access means that an application cannot build and package on a system that is deployed and running.
The Java community recognizes the importance of remote deployments. In October 2000, the Java specification Request 88:java application Deployment (JSR 88) was introduced to address this problem. The Java Community Process (JCP) standardizes Many aspects of the application through a JSR. An example of this standardization is the packaging of applications. The Web application has a standard layout and is packaged as a Web application archive (WAR). This allows application developers to develop WEB applications without much consideration for deploying applications in any environment. This is the classic Java maxim "Write once, run everywhere" application in enterprise deployment.
Like the other JSR set up through JCP, JSR 88 is the result of negotiations among representatives of many industry-leading companies, such as IBM®, Sun Microsystems, BEA, and Oracle. This specification introduces a standard way to deploy any Java EE application to any Java EE application server. It provides the details of many important aspects of deployment, especially remote deployment, for standardization. It determines how the remote application server should be identified and positioned, and establishes a basic security model for accessing the application server. It also selected several core deployment phases that the application server should support, such as deployment, Undeploy, and redeployment.
Many of the results were concentrated in JSR 88. The draft of this specification was submitted to JCP in October 2001. Of course, prior to this, all the major application server vendors have provided some kind of remote deployment support in their products. Different vendors take different approaches, so there's a lot of debate about how to standardize deployments. JCP prepared a draft, which was released to the public in January 2002. JSR 88 was finalized and approved in June 2002. Since then, it has been updated in 2003 and updated in the year with the release of Java Platform, Enterprise Edition (Java EE) 5.
JSR 88 enables independent software vendors to develop Java-EE applications that can be deployed on any Java EE authentication application server. Of course, when JSR 88 is supported, the developers of each application server can add additional deployment capabilities. For example, Apache Geronimo provides many advanced deployment features through its Geronimo deployment plan. The deployment plan tells Geronimo about important meta data about the application. One of the important things to do with WEB applications is to set the context root of the application. This makes it easy for an application to appear in a location like http://
WEB Application Samples
To understand how remote deployment works on Geronimo, it's best to have an application to deploy. Figure 1 shows the layout of the simple Web application remoteApp used in this article.
Figure 1. File structure for simple WEB application remoteApp