Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

First step on Deployment plans for GeronimoV1.1

Introduction

Every service,application or resource in Geronimo is configured with an xml deployment plan.Deployment plans are the Geronimo version of the J2EE deployment descriptors. They are still XML files based on XML schemas and containing the configuration details for a specific application module. Via the deployment plans you can not only deploy application modules but also other configurations such as a security realm etc..This is the (f)First step on to geronimoV1Geronimo v1.1 deployment plans which with cover (a) very simple samples(sample).Upcoming,(n)Next step of deployment plans(plan) will be ready for users soon, which will provides(provide) you (with)on complex and advance samples.This first steps(step) will help (for -delete)
for beginners of (Apache Geronimo v1.1)apache geronimo V1.1 to play with it(get an insight).

Apache Geronimo V1.1 Deployment Plans(v1.1)

The following table illustrates the deployment descriptors name and file location for both standard J2EE and Apache Geronimo specific.

File

Standard Deployment Descriptors in the J2EE specification

Apache Geronimo specific Deployment plan

Web Application Archive (WAR)

web.xml under the WEB-INF directory

geronimo-web.xml

Enterprise Web application archive (EAR)

application.xml

geronimo-application.xml

J2EE Connector resources archive (RAR)

ra.xml

geronimo-ra.xml

J2EE client application archive (JAR)

client.xml

geronimo-application-client.xml

JAR containing EJBs

ejb-jar.xml under the META-INF directory

openejb-jar.xml

Work Out Deployment Plans with Samples

Assumptions

It's (It is) assumed that you have installed the either (T)tomcat or the (J)jetty version of Geronimo (v1.1)V1.1 successfully and it is working. Please find the further details to get the software and install it.(need to direct the link to Installation Guide and the User Guide)

Deployment plan for WAR Module

Deploying and Undeploying Helloworld sample.

This section will cover (best to put them as bulleted points)to understand how the deployment plan works for each one of different application modules.
First let's have look at the simple "HelloWorld"example which creates a Web Application Archive (WAR) under the WEB-INF directory and has a geronimo-web.xml as the apache Geronimo specific deployment Plan.

Here are the steps to understand the deployment plan for the "HelloWorld" Example
1.Create a folder in called <app_home> in your working directory
2.Open up a new text file and save it as "HelloWorld.jsp" in side the app_home directory
3.Copy and past the following code for the "HelloWorld.jsp" in it.

No Format
borderStylesolid
titleHelloWorld.jsp

...

code
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>HelloWorld!</title>
</head>
<body bgcolor="#707DB8">
     <h1>
        <font face="courier" color="white">
                 Hello world from GERONIMO V1.1!
         </font>
       </h1>
          <font face="courier" color="white"> ${datetime}</font>
</html>
{code}

4.Create a new folder called"WEB-INF" inside the app-home.

...



5.Open up new text file and save it as "geronimo-web.xml"(use simple letters)and this is the apache geronimo1.1deployment plan for this sample module.

...


6.Copy and paste the following xml code in that file and save it inside the <app_home\WEB-INF> directcory.

...




{noformat:borderStyle=solid| title=geronimo-web.xml

...

Code Block
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1">
  <dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1">
    <dep:moduleId>
      <dep:groupId>geronimo</dep:groupId>
      <dep:artifactId>HelloWorld</dep:artifactId>
      <dep:version>1.1</dep:version>
      <dep:type>war</dep:type>
    </dep:moduleId>
  </dep:environment>

  <context-root>/hello</context-root>

</web-app>

7.Open up a another new text file save it in <app_home\WEB_INF> directory and name it as "web.xml"
8.Copy and Paste the following xml code in it and save.

No Format
borderStylesolid
titleweb.xml
Code Block
<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4"

   xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <welcome-file-list>
         <welcome-file>HelloWorld.jsp</welcome-file>
    </welcome-file-list>

</web-app>

9.The next step is packaging the application.From a command line window change (the)directory to <app_home> and run the following command to package the HelloWorld application into a single .war file.

...


No Format
bgColor#000000
borderStylesolid

jar -cvf

...

HelloWorld.war

...

*

No Format
This will create a HelloWorld.war file in the <app_home> directory. The next step is to deploy this application.

...



10.User can use the preferable deployment approach either command line or the Geronimo Web Console.Here it describes how to use the command line.

...



11.Change directory to <geronimo_home>/bin and run the following command

...

:

{color:white}{noformat:borderStyle=solid| bgColor=#000000}
java -jar deployer.jar --user system --password manager deploy <app_home>/HelloWorld.war
{color}

12.For the further instructions about deployment process please refer the Quick Start or Sample working.The sample application code can be downloaded here.
HelloWorld web Sample

Access Hello World web sample
http://localhost:8080/hello

Deploying JAR containing Simple EJB application

This section will cover GeronimoV1.1 deployment plan for the a simple helloworld ejb.
Here is the folder structure for the above simple application.Sample Application is available to download here
HelloWorld ejb Sample

...

Here is the ejb-jar.xml for the above samplethe above sample

No Format
borderStylesolid
titleejb-jar.xml
Code Block
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
  <enterprise-beans>
    <session>
      <ejb-name>HelloBean</ejb-name>
      <home>org.geronimo.ejbsample.HelloHome</home>
      <remote>org.geronimo.ejbsample.HelloObject</remote>
      <ejb-class>org.geronimo.ejbsample.HelloBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
    </session>
  </enterprise-beans>
  <assembly-descriptor>
    <container-transaction>
      <method>
        <ejb-name>HelloBean</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
  </assembly-descriptor>
</ejb-jar>

GeronimoV1.1 deployment plan for the above sample

No Format
borderStylesolid
titleopenejb.jar

...

code
<openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1">
  <dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1">
    <dep:moduleId>
      <dep:groupId>org.geronimo.</dep:groupId>
      <dep:artifactId>ejbsample</dep:artifactId>
      <dep:version>1.0</dep:version>
      <dep:type>car</dep:type>
    </dep:moduleId>
    <dep:dependencies/>
    <dep:hidden-classes/>
    <dep:non-overridable-classes/>
  </dep:environment>
  <enterprise-beans>
    <session>
      <ejb-name>HelloBean</ejb-name>
      <jndi-name>org.geronimo.ejbsample.HomeBean</jndi-name>
    </session>
  </enterprise-beans>
</openejb-jar>

Steps to deploy the sample

The user either can build the sample from the begining using the build.xml by editing the required geronimo_home as your relevant or directly get the helloworld-ejbs.jar from the "dist" directory for the direct deployment.Geronimo wen console can be used for the direct deployment,what all you have to do is browse to the hellowolrd-ejbs.jar file and click the button install.Otherwise use the following command line option to deploy the application.

Code Block

...

Running the Client to test the HelloWorld ejb service

org.geronimo.ejbsample.client.HelloWorld.java is the client code for the above application.Set the necessary class path to run client in your environment.

...


No Format
bgColor#000000
borderStylesolid

< <app-home>/org/geronimo/ejbsampleclient>

...

>java

...

HelloWorld

No Format
You will see the "Hello world" print on your command

...

Code Block
 line
{color:white}{noformat:borderStyle=solid| bgColor=#000000}
  HelloWorld/org/geronimo/ejbsampleclient>
  Hello World!
{color}

*Image needed to be upload.

Deploying the EAR Application On Geronimo V1.1

This sample application gives you an overview of basic steps to deploy an ear application in (G)geronimo V1.1(v1.1)
Though this is a simple application it helps new users to understand the basics of GeronimoV1.1 (v1.1)specific deployment plan for an EAR and move on to work with complex applications. In this sample ,Servelts are used in the back end while JSP is used in the front end.
Following graft is shown the folder structure of it.

...

Code Block
java -jar <geronimo-home>/bin/deployer.jar deploy <app-home>helloworld.ear 

Deploying a J2EE Connector resources archive (RAR) with GeronimoV1.1

In this section will describe the deployment plan for RAR application with GeronimoV1.1.The base of this sample has been barrowed and modified from User Guide.(Migration to Apache Geronimo-JBoss to geronimo JCA migration.html)This sample contains a File Retriever JCA sample application it consists of two modules that, for this sample purposes, are deployed separately and not as a single EAR archive.
The first module is a simple file system resource adapter that conforms to the JCA architecture without any server-specific extensions. The adapter provides only two functions:

...

In this deployment plan the attribute <dep:moduleId> </dep:moduleId>segment specifies the unique name com/ibm/j2g/jca.rar used to identify the RAR module in Geronimo and that this module is deployed on the server as a separate component.
The descriptor also:
Defines the FileRetriever name which looks up for the resource adapter factory.
Specifies that neither transactions nor connection pool are supported.
Provides value of the repository path configuration parameter.

Building the sample Application.

In order to build the modules of the File Retriever JCA application you need to update the build.properties file and property such as geronimo-home matchs your environment.

...

Once the JCA application is deployed, open a Web browser and access the following URL:
http://localhost:8080/jca

Deploying an J2EE client application archive (JAR) with Geronimo V1.1