You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by da...@apache.org on 2005/12/12 06:27:58 UTC

svn commit: r356160 [4/11] - in /geronimo/branches/1.0/modules/scripts/src/resources/docs: ./ Administrative tasks_attachments/ Apache Geronimo V1 - Documentation_attachments/ Architecture_attachments/ Configuring LDAP_attachments/ Geronimo Administrat...

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo Administration Console_attachments/ico_mail_16x16.gif
------------------------------------------------------------------------------
    svn:executable = *

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo Administration Console_attachments/ico_mail_16x16.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo Administration Console_attachments/ico_servcomp_16x16.gif
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo%20Administration%20Console_attachments/ico_servcomp_16x16.gif?rev=356160&view=auto
==============================================================================
Binary file - no diff available.

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo Administration Console_attachments/ico_servcomp_16x16.gif
------------------------------------------------------------------------------
    svn:executable = *

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo Administration Console_attachments/ico_servcomp_16x16.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo Administration Console_attachments/ico_x_16x16.gif
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo%20Administration%20Console_attachments/ico_x_16x16.gif?rev=356160&view=auto
==============================================================================
Binary file - no diff available.

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo Administration Console_attachments/ico_x_16x16.gif
------------------------------------------------------------------------------
    svn:executable = *

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo Administration Console_attachments/ico_x_16x16.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo Login Config Schema.html
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo%20Login%20Config%20Schema.html?rev=356160&view=auto
==============================================================================
--- geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo Login Config Schema.html (added)
+++ geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo Login Config Schema.html Sun Dec 11 21:27:20 2005
@@ -0,0 +1,175 @@
+<html>
+    <head>
+        <title>Geronimo : Geronimo Login Config Schema</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Geronimo : Geronimo Login Config Schema
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Nov 18, 2005 by <font color="#0050B2">hcunico@gmail.com</font>.
+				    </div>
+
+				    
+<p><a name="GeronimoLoginConfigSchema-top"></a></p>
+
+<p><em><b>Article donated by:</b> <a href="mailto:simon@godik.com" title="Send mail to Simon Godik">Simon Godik</a>, <a href="mailto:hcunico@gmail.com" title="Send mail to Hernan Cunico">Hernan Cunico</a></em></p>
+
+<p>As was explained before, Geronimo login configuration schema was devised as a user-friendly syntax for configuring Security Realm GBeans. It is included with <tt>xml-reference</tt> element into the host GBean and processed by the syntax-aware deployer.</p>
+
+<p>Geronimo login configuration namespace is <a href="http://geronimo.apache.org/xml/ns/loginconfig-1.0" title="Visit page outside Confluence">&#104;ttp://geronimo.apache.org/xml/ns/loginconfig-1.0</a> and the schema file is geronimo-login-config-1.0.xsd. All types are defined in this namespace.</p>
+
+<h2><a name="GeronimoLoginConfigSchema-TypeLoginconfigType"></a>Type Login-configType</h2>
+<p>Element <tt>login-config</tt> of the <tt>login-configType</tt> type is the top-level element in the login configuration schema.<br/>
+It defines <b>login module</b> configurations for the enclosing <b>Security Realm</b> GBean. Currently the only GBean that implements the <tt>SecuritRealm</tt> interface is <tt>GenericSecurityRealm</tt>.</p>
+
+<div class="code" style="border-style: solid; "><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;xsd:complexType name=<span class="code-quote">"login-configType"</span>&gt;</span>
+	<span class="code-tag">&lt;xsd:annotation&gt;</span>
+            <span class="code-tag">&lt;xsd:documentation&gt;</span>
+                Defines the list of login modules for a login configuration represented by a GenericSecurityRealm
+            <span class="code-tag">&lt;/xsd:documentation&gt;</span>
+      <span class="code-tag">&lt;/xsd:annotation&gt;</span>
+      <span class="code-tag">&lt;xsd:sequence&gt;</span>
+            <span class="code-tag">&lt;xsd:choice minOccurs=<span class="code-quote">"0"</span> maxOccurs=<span class="code-quote">"unbounded"</span>&gt;</span>
+                <span class="code-tag">&lt;xsd:element name=<span class="code-quote">"login-module-ref"</span> type=<span class="code-quote">"geronimo:login-module-refType"</span> minOccurs=<span class="code-quote">"0"</span> maxOccurs=<span class="code-quote">"unbounded"</span>/&gt;</span>
+                <span class="code-tag">&lt;xsd:element name=<span class="code-quote">"login-module"</span> type=<span class="code-quote">"geronimo:login-moduleType"</span> minOccurs=<span class="code-quote">"0"</span> maxOccurs=<span class="code-quote">"unbounded"</span>/&gt;</span>
+            <span class="code-tag">&lt;/xsd:choice&gt;</span>
+      <span class="code-tag">&lt;/xsd:sequence&gt;</span>
+<span class="code-tag">&lt;/xsd:complexType&gt;</span></pre>
+</div></div>
+
+<p><tt>login-module-ref</tt> - optinal element in the sequence of choices. Defines reference to a login module.<br/>
+<tt>login-module</tt> - optional element in the sequence of choices. Defines login module.</p>
+
+<p><a href="#GeronimoLoginConfigSchema-top" title="top on Geronimo Login Config Schema">Back to Top</a></p>
+
+<h2><a name="GeronimoLoginConfigSchema-TypeabstractloginmoduleType"></a>Type abstract-login-moduleType</h2>
+<p>This is an abstract base type from which all other <b>login module</b> types are derived.</p>
+
+<div class="code" style="border-style: solid; "><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;xsd:complexType name=<span class="code-quote">"abstract-login-moduleType"</span> abstract=<span class="code-quote">"true"</span>&gt;</span>
+    <span class="code-tag">&lt;xsd:attribute name=<span class="code-quote">"control-flag"</span> type=<span class="code-quote">"geronimo:control-flagType"</span> use=<span class="code-quote">"required"</span>/&gt;</span>
+<span class="code-tag">&lt;/xsd:complexType&gt;</span></pre>
+</div></div>
+
+<p><tt>@control-flag</tt> - <b>login module</b> control flag of the <tt>geronimo:control-flagType</tt>. Defines how authentication outcome from the <b>login module</b> must be combined with authentication outcomes from other login modules.</p>
+
+<p><a href="#GeronimoLoginConfigSchema-top" title="top on Geronimo Login Config Schema">Back to Top</a></p>
+
+<h2><a name="GeronimoLoginConfigSchema-TypecontrolflagType"></a>Type control-flagType</h2>
+<p>This type constrains the values of the module control flag. Values of this type emulate JAAS module combination semantics.</p>
+
+<div class="code" style="border-style: solid; "><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;xsd:simpleType name=<span class="code-quote">"control-flagType"</span>&gt;</span>
+    <span class="code-tag">&lt;xsd:restriction base=<span class="code-quote">"xsd:string"</span>&gt;</span>
+        <span class="code-tag">&lt;xsd:enumeration value=<span class="code-quote">"REQUIRED"</span>/&gt;</span>
+        <span class="code-tag">&lt;xsd:enumeration value=<span class="code-quote">"REQUISITE"</span>/&gt;</span>
+        <span class="code-tag">&lt;xsd:enumeration value=<span class="code-quote">"SUFFICIENT"</span>/&gt;</span>
+        <span class="code-tag">&lt;xsd:enumeration value=<span class="code-quote">"OPTIONAL"</span>/&gt;</span>
+    <span class="code-tag">&lt;/xsd:restriction&gt;</span>
+<span class="code-tag">&lt;/xsd:simpleType&gt;</span></pre>
+</div></div>
+
+<p><a href="#GeronimoLoginConfigSchema-top" title="top on Geronimo Login Config Schema">Back to Top</a></p>
+
+<h2><a name="GeronimoLoginConfigSchema-TypeloginmodulerefType"></a>Type login-module-refType</h2>
+<p>This type allows reference to the <b>login module</b> by the <b>object name</b>. Object name is split into <b>components</b>, so you do not have to write an extensive object name by hand, just a extensive object-name enclosed in pointy brackets.</p>
+
+<p><tt>Login-module-refType</tt> extends from <tt>abstract-login-moduleType</tt>.</p>
+
+<div class="code" style="border-style: solid; "><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;xsd:complexType name=<span class="code-quote">"login-module-refType"</span>&gt;</span>
+    <span class="code-tag">&lt;xsd:complexContent&gt;</span>
+        <span class="code-tag">&lt;xsd:extension base=<span class="code-quote">"geronimo:abstract-login-moduleType"</span>&gt;</span>
+            <span class="code-tag">&lt;xsd:sequence&gt;</span>
+                <span class="code-tag">&lt;xsd:element name=<span class="code-quote">"domain"</span> type=<span class="code-quote">"xsd:string"</span> minOccurs=<span class="code-quote">"0"</span>/&gt;</span>
+                <span class="code-tag">&lt;xsd:element name=<span class="code-quote">"server"</span> type=<span class="code-quote">"xsd:string"</span> minOccurs=<span class="code-quote">"0"</span>/&gt;</span>
+                <span class="code-tag">&lt;xsd:element name=<span class="code-quote">"application"</span> type=<span class="code-quote">"xsd:string"</span> minOccurs=<span class="code-quote">"0"</span>/&gt;</span>
+                <span class="code-tag">&lt;xsd:element name=<span class="code-quote">"module"</span> type=<span class="code-quote">"xsd:string"</span> minOccurs=<span class="code-quote">"0"</span>/&gt;</span>
+                <span class="code-tag">&lt;xsd:element name=<span class="code-quote">"type"</span> type=<span class="code-quote">"xsd:string"</span> minOccurs=<span class="code-quote">"0"</span>/&gt;</span>
+                <span class="code-tag">&lt;xsd:element name=<span class="code-quote">"name"</span> type=<span class="code-quote">"xsd:string"</span>/&gt;</span>
+            <span class="code-tag">&lt;/xsd:sequence&gt;</span>
+        <span class="code-tag">&lt;/xsd:extension&gt;</span>
+    <span class="code-tag">&lt;/xsd:complexContent&gt;</span>
+<span class="code-tag">&lt;/xsd:complexType&gt;</span></pre>
+</div></div>
+
+<p><tt>@control-flag</tt> - required attribute of the <tt>control-flagType</tt> type. It is inherited from the abstract base class. Defines how referenced <b>login module</b> authentication outcome must be combined with authentication outcome of other modules.</p>
+
+<p><tt>domain</tt> - optional element of the <tt>xs:string</tt> type that defines <tt>domain</tt> component of the <b>login module</b> object name.<br/>
+<tt>server</tt> - optional element of the <tt>xs:string</tt> type that defines <tt>server</tt> component of the <b>login module</b> object name.<br/>
+<tt>application</tt> - optional element of the <tt>xs:string</tt> type that defines <tt>application</tt> component of the <b>login module</b> object name.<br/>
+<tt>module</tt> - optional element of the <tt>xs:string</tt> type that defines <tt>module</tt> component of the <b>login module</b> object name<br/>
+<tt>type</tt> - optional element of the <tt>xs:string</tt> type that defines <tt>j2eeType</tt> component of the <b>login module</b> object name.<br/>
+<tt>name</tt> - required element of the <tt>xs:string</tt> type that defines <tt>name</tt> component of the <b>login module</b> object name.</p>
+
+<p><a href="#GeronimoLoginConfigSchema-top" title="top on Geronimo Login Config Schema">Back to Top</a></p>
+
+<h2><a name="GeronimoLoginConfigSchema-TypeloginmoduleType"></a>Type login-moduleType</h2>
+<p>The <tt>login-moduleType</tt> describes configuration for one login module within the enclosing <tt>GenericSecurityRealm</tt> GBean.</p>
+
+<div class="code" style="border-style: solid; "><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;xsd:complexType name=<span class="code-quote">"login-moduleType"</span>&gt;</span>
+    <span class="code-tag">&lt;xsd:complexContent&gt;</span>
+        <span class="code-tag">&lt;xsd:extension base=<span class="code-quote">"geronimo:abstract-login-moduleType"</span>&gt;</span>
+            <span class="code-tag">&lt;xsd:sequence&gt;</span>
+                <span class="code-tag">&lt;xsd:element name=<span class="code-quote">"login-domain-name"</span> type=<span class="code-quote">"xsd:string"</span>/&gt;</span>
+                <span class="code-tag">&lt;xsd:element name=<span class="code-quote">"login-module-class"</span> type=<span class="code-quote">"xsd:string"</span>/&gt;</span>
+                <span class="code-tag">&lt;xsd:element name=<span class="code-quote">"option"</span> type=<span class="code-quote">"geronimo:optionType"</span> minOccurs=<span class="code-quote">"0"</span> maxOccurs=<span class="code-quote">"unbounded"</span>/&gt;</span>
+            <span class="code-tag">&lt;/xsd:sequence&gt;</span>
+            <span class="code-tag">&lt;xsd:attribute name=<span class="code-quote">"server-side"</span> type=<span class="code-quote">"xsd:boolean"</span> use=<span class="code-quote">"required"</span>/&gt;</span>
+        <span class="code-tag">&lt;/xsd:extension&gt;</span>
+    <span class="code-tag">&lt;/xsd:complexContent&gt;</span>
+<span class="code-tag">&lt;/xsd:complexType&gt;</span></pre>
+</div></div>
+
+<p><tt>@control-flag</tt> - required attribute of the <tt>control-flagType</tt> type. It is inherited from the abstract base class. Defines how login module authentication outcome must be combined with authentication outcome of other modules.<br/>
+<tt>@server-side</tt> - required attribute of the <tt>xs:boolean</tt> type. If set to true login module is server-side login module.</p>
+
+<p><tt>login-domain-name</tt> - required element of the <tt>xs:string</tt> type. This is <b>Login Domain</b> name.<br/>
+<tt>login-module-class</tt> - required element of the <tt>xs:string</tt> type. This is a name of the class that implements this login module.<br/>
+<tt>option</tt> - optional sequence of options of type <tt>optionType</tt> from 0 to many. Options are specific to the login module.</p>
+
+
+<p><a href="#GeronimoLoginConfigSchema-top" title="top on Geronimo Login Config Schema">Back to Top</a></p>
+
+<h2><a name="GeronimoLoginConfigSchema-TypeoptionType"></a>Type optionType</h2>
+<p>This type defines login module specific option, like location of the authentication database, etc.</p>
+
+<div class="code" style="border-style: solid; "><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;xsd:complexType name=<span class="code-quote">"optionType"</span>&gt;</span>
+    <span class="code-tag">&lt;xsd:simpleContent&gt;</span>
+        <span class="code-tag">&lt;xsd:extension base=<span class="code-quote">"xsd:string"</span>&gt;</span>
+            <span class="code-tag">&lt;xsd:attribute name=<span class="code-quote">"name"</span> type=<span class="code-quote">"xsd:string"</span> use=<span class="code-quote">"required"</span>/&gt;</span>
+        <span class="code-tag">&lt;/xsd:extension&gt;</span>
+    <span class="code-tag">&lt;/xsd:simpleContent&gt;</span>
+<span class="code-tag">&lt;/xsd:complexType&gt;</span></pre>
+</div></div>
+
+<p><tt>@name</tt> - required attribute of type <tt>xs:string</tt>. This is login module option name.</p>
+
+<p><a href="#GeronimoLoginConfigSchema-top" title="top on Geronimo Login Config Schema">Back to Top</a></p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="border/border_bottom.gif"><img src="border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Dec 09, 2005 22:10</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo Login Config Schema.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo Login Config Schema.html
------------------------------------------------------------------------------
    svn:executable = *

Added: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo and JAAS.html
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo%20and%20JAAS.html?rev=356160&view=auto
==============================================================================
--- geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo and JAAS.html (added)
+++ geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo and JAAS.html Sun Dec 11 21:27:20 2005
@@ -0,0 +1,109 @@
+<html>
+    <head>
+        <title>Geronimo : Geronimo and JAAS</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Geronimo : Geronimo and JAAS
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Nov 17, 2005 by <font color="#0050B2">hcunico@gmail.com</font>.
+				    </div>
+
+				    
+<p><a name="GeronimoandJAAS-top"></a></p>
+
+<p><em><b>Article donated by:</b> <a href="mailto:simon@godik.com" title="Send mail to Simon Godik">Simon Godik</a>, <a href="mailto:hcunico@gmail.com" title="Send mail to Hernan Cunico">Hernan Cunico</a></em></p>
+
+<h1><a name="GeronimoandJAAS-IntegratingGeronimosecuritywiththeJAASAPI"></a>Integrating Geronimo security with the JAAS API <a name="GeronimoandJAAS-jaas"></a></h1>
+<p>This section covers how Geronimo authentication integrates into the JAAS framework. For the description of JAAS concepts and how to do JAAS login, please see java documentation for the javax.security.auth.Configuration and javax.security.auth.login.LoginContext classes.</p>
+
+<p>Here we just summarize what is going on and how it hooks into Geronimo.</p>
+
+<p>To log into the application with the JAAS API, a client does something like this:</p>
+
+<div class="preformatted" style="border-style: solid; "><div class="preformattedContent">
+<pre>LoginContext lg = new LoginContext(app-config-name, callback-handler); 
+lg.login();
+Subject subject = lg.getSubject(); </pre>
+</div></div>
+
+<p>The first parameter passed to the <tt>LoginContext</tt> constructor is the application configuration name, it selects the JAAS login module configuration. The second parameter is a callback handler. <tt>LoginContext.login()</tt> logs the client in, and <tt>LoginContext.getSubject()</tt> returns the authenticated subject populated with <b>Principals</b>.</p>
+
+<p>Under the covers, the <tt>LoginContext.login()</tt> method will obtain an instance of the <tt>javax.security.auth.login.Configuration</tt> class to do it's work.</p>
+
+<p><tt>java.security.auth.login.Configuration</tt> is an <b>abstract base class</b> that must be implemented by the <b>JAAS service provider</b>. The following example shows the most important method of the Configuration class that must be implemented by the <b>Configuration provider</b>.</p>
+
+<div class="preformatted" style="border-style: solid; "><div class="preformattedContent">
+<pre>public abstract class javax.security.auth.login.Configuration {
+   public abstract AppConfigurationEntry[] getAppConfigurationEntry(String app-name);
+}
+</pre>
+</div></div>
+
+<p><tt>org.apache.geronimo.security.jaas.GeronimoLoginConfiguration</tt> is installed as JAAS Configuration factory in the <tt>doStart()</tt> method of the <tt>GeronimoLoginConfiguration</tt> GBean by calling <tt>Configuration.setConfiguration(this)</tt> method.</p>
+
+<p>Before going into details of how this works, we will compare JAAS with the Geronimo security framework. Geronimo security framework has it's own concepts of Login Domain, Security Realm, Principals, etc. Those are defined without reference to the JAAS framework. For it's implementation Geronimo security framework borrows from JAAS: Login modules, login module combination semantics, etc. This JAAS implementation artifact reutilization makes sense and makes it easier for other developers to contribute to the Geronimo security (by writing custom login modules).</p>
+
+<p>But when Geronimo security framework implementation is wiring into JAAS it makes very little use of it, practically reducing it to the trivial wrapper: you just need one login module (which is <tt>JaasLoginCoordinator</tt>) and it is required to succeed.  Keep this in mind when you look at the Geronimo security and JAAS glue code.</p>
+
+<p>Geronimo hook into the JAAS is the implementation of the <tt>AppConfigurationEntry[] Configuration.getAppConfigurationEntry(String app-name)</tt> method in the <tt>GeronimoLoginConfiguration</tt> class derived from the abstract JAAS Configuration class.</p>
+
+<p><tt>org.apache.geronimo.security.jaas.GeronimoLoginConfiguration</tt> is a GBean that is injected with references to other GBeans that implement the <tt>org.apache.geronimo.security.jaas.ConfigurationEntryFactory</tt> interface.</p>
+
+<div class="preformatted" style="border-style: solid; "><div class="preformattedContent">
+<pre>interface ConfigurationEntryFactory {
+   String getConfigurationName();
+   JaasLoginModuleConfiguration generateConfiguration();
+}
+</pre>
+</div></div>
+
+<p>You can see that implementations of the <tt>ConfigurationEntryFactory</tt> interface have names that can be retrieved with the <tt>getConfigurationName()</tt> call. Also note that <tt>ConfigurationEntryFactory</tt> interface produces just one <tt>JaasLoginModuleConfiguration</tt> instance (not an array). This is because you need just one login module to log into Geronimo.</p>
+
+<p>Implementation of the <tt>GeronimoLoginConfiguration.getAppConfigurationEntry(String app-name)</tt> finds implementation of the <tt>ConfigurationEntryFactory</tt> with the same name as input argument and retrieves corresponding <tt>JaasLoginModuleConfiguration</tt> with the call to <tt>generateConfiguration()</tt>. It then wraps the <tt>JaasLoginModuleConfiguration</tt> into one-element array of the <tt>AppConfigurationEntry</tt> type and returns it to the caller.</p>
+
+<p><tt>AppConfigurationEntry</tt> is injected with the login module from the <tt>JaasLoginModuleConfiguration</tt> that is created by the implementation of the <tt>ConfigurationEntryFactory</tt>. If you want to log into Geronimo, this login module must be a special login module (<tt>JaasLoginCoordinator</tt>, see the <a href="JaasLoginService API Discussion.html" title="JaasLoginService API Discussion">JaasLoginService API Discussion</a> section). It is flagged as <b>REQUIRED</b>. Here JAAS becomes a trivial wrapper, JAAS-compatible login module combination semantics is implemented by the <tt>JaasLoginCoordinator</tt>.</p>
+
+<p>Also note that the names of the <tt>ConfigurationEntryFactories</tt> map to the JAAS app-name that is passed to the JAAS LoginContext constructor.</p>
+
+<h1><a name="GeronimoandJAAS-ConfigurationEntryFactoryimplementations"></a>ConfigurationEntryFactory implementations <a name="GeronimoandJAAS-implementations"></a></h1>
+<p>There are several implementations of the <tt>ConfigurationEntryFactory</tt> interface in Geronimo:</p>
+
+<ul>
+	<li><tt>org.apache.geronimo.security.jaas.DirectConfigurationEntry</tt></li>
+	<li><tt>org.apache.geronimo.security.jaas.ServerRealmConfigurationEntry</tt></li>
+	<li><tt>org.apache.geronimo.security.realm.GenericSecurityRealm</tt></li>
+</ul>
+
+
+<p>The most simple is the <tt>DirectConfigurationEntry</tt> class. It exposes one login module to the clients without any intervention from Geronimo. It is injected with the application-name, login-module, and control flag. Note that if you wire up any old login module in here you will not be able to log into Geronimo. Use this class if you want to have (possibly) different names for the application configuration name and security realm name.</p>
+
+<p><tt>ServerRealmConfigurationEntry</tt> is a helper class that simplifies wiring of the server-side component (such as a servlet) to the security realm. This class is injected with the application-configuration name, realm name, and <tt>JaasLoginService reference</tt>. It uses special login module <tt>JaasLoginCoordinator</tt> in it's configuration. <tt>JaasLoginCoordinator</tt> represents a client in the authentication protocol that is enforcing consistent access to the <tt>JaasLoginService</tt> (and ultimately to the <b>security realm</b>) during authentication procedure. Use this class if you want to have (possibly) different names for the application configuration name and security realm name.</p>
+
+<p><tt>GenericSecurityRealm</tt> implements 2 interfaces: <tt>ConfigurationEntryFactory</tt> and <tt>SecurityRealm</tt>. As far as the <tt>ConfigurationEntryFactory</tt> interface is concerned, <tt>JaasLoginCoordinator</tt> is compiled in this class as a login module that is injected into <tt>JaasLoginModuleConfiguration</tt>. If you use this class, application configuration name is always the same as the realm name. The use of this class is recommended in most cases.</p>
+
+<p>See the <a href="Component Configuration.html" title="Component Configuration">Component Configuration</a> section for the configuration details.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="border/border_bottom.gif"><img src="border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Dec 09, 2005 22:10</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo and JAAS.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Geronimo and JAAS.html
------------------------------------------------------------------------------
    svn:executable = *

Added: geronimo/branches/1.0/modules/scripts/src/resources/docs/Hints and Tips.html
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.0/modules/scripts/src/resources/docs/Hints%20and%20Tips.html?rev=356160&view=auto
==============================================================================
--- geronimo/branches/1.0/modules/scripts/src/resources/docs/Hints and Tips.html (added)
+++ geronimo/branches/1.0/modules/scripts/src/resources/docs/Hints and Tips.html Sun Dec 11 21:27:20 2005
@@ -0,0 +1,36 @@
+<html>
+    <head>
+        <title>Geronimo : Hints and Tips</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Geronimo : Hints and Tips
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Nov 08, 2005 by <font color="#0050B2">hcunico@gmail.com</font>.
+				    </div>
+
+				    
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="border/border_bottom.gif"><img src="border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Dec 09, 2005 22:10</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Hints and Tips.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Hints and Tips.html
------------------------------------------------------------------------------
    svn:executable = *

Added: geronimo/branches/1.0/modules/scripts/src/resources/docs/Hot deployment.html
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.0/modules/scripts/src/resources/docs/Hot%20deployment.html?rev=356160&view=auto
==============================================================================
--- geronimo/branches/1.0/modules/scripts/src/resources/docs/Hot deployment.html (added)
+++ geronimo/branches/1.0/modules/scripts/src/resources/docs/Hot deployment.html Sun Dec 11 21:27:20 2005
@@ -0,0 +1,43 @@
+<html>
+    <head>
+        <title>Geronimo : Hot deployment</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Geronimo : Hot deployment
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Dec 06, 2005 by <font color="#0050B2">hcunico@gmail.com</font>.
+				    </div>
+
+				    
+<p><a name="Hotdeployment-top"></a></p>
+
+<p><em><b>Article donated by:</b> <a href="mailto:hcunico@gmail.com" title="Send mail to Hernan Cunico">Hernan Cunico</a></em></p>
+
+<p>Apache Geronimo has now support for <b>Hot Deployment</b>. You can copy an application JAR file into the <b>&lt;geronimo_home&gt;/deploy</b> directory and the application will be deployed automatically. This will also work for uninstalling or refreshing applications previously deployed via this method. Alternatively, you may also copy the <b>directory</b> (umpacked) for teh application module instead of copying a single  JAR file.</p>
+
+<p>Note that with this deployment method you have to include the <b>deployment plan</b> in the package, this method does not support external plans. Also note that applications deployed via the <a href="Deployer tool.html" title="Deployer tool">Deployer tool</a> will not be listed in the <b>&lt;geronimo_home&gt;/deploy</b> directory.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="border/border_bottom.gif"><img src="border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Dec 09, 2005 22:10</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Hot deployment.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Hot deployment.html
------------------------------------------------------------------------------
    svn:executable = *

Added: geronimo/branches/1.0/modules/scripts/src/resources/docs/Implementing security - working examples.html
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.0/modules/scripts/src/resources/docs/Implementing%20security%20-%20working%20examples.html?rev=356160&view=auto
==============================================================================
--- geronimo/branches/1.0/modules/scripts/src/resources/docs/Implementing security - working examples.html (added)
+++ geronimo/branches/1.0/modules/scripts/src/resources/docs/Implementing security - working examples.html Sun Dec 11 21:27:20 2005
@@ -0,0 +1,43 @@
+<html>
+    <head>
+        <title>Geronimo : Implementing security - working examples</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Geronimo : Implementing security - working examples
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Nov 21, 2005 by <font color="#0050B2">hcunico@gmail.com</font>.
+				    </div>
+
+				    
+<p><a name="Implementingsecurity-workingexamples-top"></a></p>
+
+<p><em><b>Article donated by:</b> <a href="mailto:hcunico@gmail.com" title="Send mail to Hernan Cunico">Hernan Cunico</a></em></p>
+
+
+
+<p>See <a href="Configuring LDAP.html" title="Configuring LDAP">Configuring LDAP</a> for a detailed working example in Geronimo M5 using Jetty as the Web container.</p>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="border/border_bottom.gif"><img src="border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Dec 09, 2005 22:10</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Implementing security - working examples.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Implementing security - working examples.html
------------------------------------------------------------------------------
    svn:executable = *

Added: geronimo/branches/1.0/modules/scripts/src/resources/docs/Installation.html
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.0/modules/scripts/src/resources/docs/Installation.html?rev=356160&view=auto
==============================================================================
--- geronimo/branches/1.0/modules/scripts/src/resources/docs/Installation.html (added)
+++ geronimo/branches/1.0/modules/scripts/src/resources/docs/Installation.html Sun Dec 11 21:27:20 2005
@@ -0,0 +1,44 @@
+<html>
+    <head>
+        <title>Geronimo : Installation</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Geronimo : Installation
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Nov 16, 2005 by <font color="#0050B2">hcunico@gmail.com</font>.
+				    </div>
+
+				    
+
+<p><em><b>Article donated by:</b> <a href="mailto:" title="Send mail to "></a></em></p>
+
+<h1><a name="Installation-Supportedplatforms"></a>Supported platforms</h1>
+<h1><a name="Installation-Hardwareandsoftwareprerequisites"></a>Hardware and software prerequisites </h1>
+<h1><a name="Installation-Gettingthesourcecode"></a>Getting the source code </h1>
+<h1><a name="Installation-Buildfromthesource"></a>Build from the source </h1>
+<h1><a name="Installation-Installation"></a>Installation </h1>
+
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="border/border_bottom.gif"><img src="border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Dec 09, 2005 22:10</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Installation.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/Installation.html
------------------------------------------------------------------------------
    svn:executable = *

Added: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration.html
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss%20to%20Geronimo%20-%20EJB-BMP%20Migration.html?rev=356160&view=auto
==============================================================================
--- geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration.html (added)
+++ geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration.html Sun Dec 11 21:27:20 2005
@@ -0,0 +1,577 @@
+<html>
+    <head>
+        <title>Geronimo : JBoss to Geronimo - EJB-BMP Migration</title>
+	    <link rel="stylesheet" href="styles/site.css" type="text/css" />
+        <META http-equiv="Content-Type" content="text/html; charset=UTF-8">	    
+    </head>
+
+    <body>
+	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
+		    <tr>
+			    <td valign="top" class="pagebody">
+				    <div class="pageheader">
+					    <span class="pagetitle">
+                            Geronimo : JBoss to Geronimo - EJB-BMP Migration
+                                                    </span>
+				    </div>
+				    <div class="pagesubheading">
+					    This page last changed on Dec 09, 2005 by <font color="#0050B2">system</font>.
+				    </div>
+
+				    <p><a name="JBosstoGeronimo-EJB-BMPMigration-top"></a><br/>
+<em><b>Article donated by:</b> <a href="mailto:dimperial@exist.com" title="Send mail to Dondi Imperial">Dondi Imperial</a>, <a href="mailto:lenflour@comcast.net" title="Send mail to Leonard Flournoy">Leonard Flournoy</a>, <a href="mailto:hcunico@gmail.com" title="Send mail to Hernan Cunico">Hernan Cunico</a></em></p>
+
+<h1><a name="JBosstoGeronimo-EJB-BMPMigration-Overview"></a>Overview</h1>
+<p>An entity bean is defined as a representation of persistent data that has the ability to read from database and populate its fields with data.  It can be updated and stored back to the database.  There are two types: Bean-Managed Persistence(BMP) and Container-Managed Persistent(CMP). This article covers the migration of a BMP sample application.  For this type of entity bean, actual code must be written to handle persistent operations  such as loading, saving and finding data.  The developer must use persistence API such as JDBC to select, insert, update, delete from a database.</p>
+
+<p>This article is organized in the following sections:</p>
+
+<ul>
+	<li><a href="#JBosstoGeronimo-EJB-BMPMigration-implementation" title="implementation on JBoss to Geronimo - EJB-BMP Migration">BMP implementation analysis</a></li>
+	<li><a href="#JBosstoGeronimo-EJB-BMPMigration-sampleApp" title="sampleApp on JBoss to Geronimo - EJB-BMP Migration">Sample application</a></li>
+	<li><a href="#JBosstoGeronimo-EJB-BMPMigration-JBoss" title="JBoss on JBoss to Geronimo - EJB-BMP Migration">The JBoss environment</a></li>
+	<li><a href="#JBosstoGeronimo-EJB-BMPMigration-Geronimo" title="Geronimo on JBoss to Geronimo - EJB-BMP Migration">The Geronimo environment</a></li>
+	<li><a href="#JBosstoGeronimo-EJB-BMPMigration-migration" title="migration on JBoss to Geronimo - EJB-BMP Migration">Step-by-step migration</a></li>
+	<li><a href="#JBosstoGeronimo-EJB-BMPMigration-summary" title="summary on JBoss to Geronimo - EJB-BMP Migration">Summary</a></li>
+</ul>
+
+
+
+<h1><a name="JBosstoGeronimo-EJB-BMPMigration-BMPimplementationanalysis"></a>BMP implementation analysis <a name="JBosstoGeronimo-EJB-BMPMigration-implementation"></a></h1>
+<p>BMP implementation may vary from one vendor to another. The purpose of this section is to provide a BMP specific feature-to-feature comparison between JBoss v4 and Apache Geronimo so you can clearly identify the differences and plan accordingly before migration.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>Features</th>
+<th class='confluenceTh'>JBoss v4</th>
+<th class='confluenceTh'>Apache Geronimo</th>
+</tr>
+<tr>
+<td class='confluenceTd'>EJB Container</td>
+<td class='confluenceTd'>JBoss comes with its own EJB Container implementation.</td>
+<td class='confluenceTd'>Geronimo uses OpenEJB as its EJB Container.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>JMS implementation</td>
+<td class='confluenceTd'>JBoss is packaged with JBoss MQ.</td>
+<td class='confluenceTd'>Geronimo uses ActiveMQ as its JMS implementation.</td>
+</tr>
+</tbody></table>
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h1><a name="JBosstoGeronimo-EJB-BMPMigration-Sampleapplication"></a>Sample application <a name="JBosstoGeronimo-EJB-BMPMigration-sampleApp"></a></h1>
+<p>The <a href="http://localhost:8080/download/attachments/66/loan-bmp.zip?version=6" title="loan-bmp.zip attached to JBoss to Geronimo - EJB-BMP Migration">Loan BMP</a> application is very simple. When the command line client is run,  an entry is made into the database.  The findByPrimaryKey() method of the CustomerHomeRemote interface is called and the field values of the returned CustomerRemote object are printed to the console.  This is followed by a call to the findBySssNo() method after which  the field values of the returned CustomerRemote object are printed to the console.</p>
+
+<p>The following figure illustrates the application flow:</p>
+
+<p><img src="JBoss to Geronimo - EJB-BMP Migration_attachments/BMP_flow.jpg" align="absmiddle" border="0" /></p>
+
+<p>The user runs the command line client which then either creates an entity bean (which then adds itself to the datasource) or asks for one, by primary key, which is created from information that is stored in the database.</p>
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h2><a name="JBosstoGeronimo-EJB-BMPMigration-ApplicationBeans"></a>Application Beans</h2>
+<p>The Loan BMP application consists of the following packages:</p>
+
+<ul>
+	<li>com.ibm.demo.entity.client
+	<ul>
+		<li>BMPClient
+		<ul>
+			<li>contains the main class that is called from the console.</li>
+		</ul>
+		</li>
+	</ul>
+	</li>
+	<li>com.ibm.demo.entity.bmp
+	<ul>
+		<li>CustomerBean
+		<ul>
+			<li>Implements javax.ejb.EntityBean fields of the bean are defined here.</li>
+			<li>Contains business methods corresponding to the methods exposed by the CustomerRemote interface.</li>
+			<li>Conatins callback methods that are called by the container to manage the bean. These methods include the create and find methods which use jdbc to make entries to the database and to search the database.</li>
+			<li>Has a helper method that looks up the datasource through jndi.</li>
+		</ul>
+		</li>
+		<li>CustomerRemote
+		<ul>
+			<li>Interface that extends javax.ejb.EJBObject.</li>
+			<li>Exposes the setter and getter methods of the EJB.</li>
+		</ul>
+		</li>
+		<li>CustomerHomeRemote
+		<ul>
+			<li>Interface that extends javax.ejb.EJBHome.</li>
+			<li>Exposes the create and find methods of the EJB.</li>
+		</ul>
+		</li>
+	</ul>
+	</li>
+</ul>
+
+
+<p>In addition to these classes, the Loan BMP sample application provides a Web Application client with two JSPs (create.jsp and list.jsp).</p>
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h2><a name="JBosstoGeronimo-EJB-BMPMigration-Toolsused"></a>Tools used</h2>
+<p>The tools used for developing and building the Loan BMP sampple application are:</p>
+
+<h3><a name="JBosstoGeronimo-EJB-BMPMigration-Eclipse"></a>Eclipse</h3>
+<p>The Eclipse IDE was used for development of the sample application. This is a very powerful and popular open source development tool. Integration plug-ins are available for both JBoss and Geronimo. Eclipse can be downloaded from the following URL:</p>
+
+<p><a href="http://www.eclipse.org" title="Visit page outside Confluence">&#104;ttp://www.eclipse.org</a></p>
+
+<h3><a name="JBosstoGeronimo-EJB-BMPMigration-ApacheMaven"></a>Apache Maven</h3>
+<p>Maven is a software project management and comprehension tool. Based on the concept of a project object model (<a href="http://maven.apache.org/reference/glossary.html#POM" title="Visit page outside Confluence">POM</a>). Maven can manage a project's build, reporting and documentation from a central piece of information.</p>
+
+<p>For this migration example Maven 1.0.2 was used. Maven can be downloaded from the followinf URL:</p>
+
+<p><a href="http://maven.apache.org" title="Visit page outside Confluence">&#104;ttp://maven.apache.org</a></p>
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h2><a name="JBosstoGeronimo-EJB-BMPMigration-Sampledatabase"></a>Sample database</h2>
+<p>The sample database for the Loan BMP application has only one table. This is an in-memory table. The <b>MEMORY</b> storage engine creates tables with contents that are stored in just in memory. These were formerly known as HEAP tables.</p>
+
+<p>The following table describes the fields of the <b>CUSTOMER</b> table.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>Field</th>
+<th class='confluenceTh'>data type</th>
+</tr>
+<tr>
+<td class='confluenceTd'>id</td>
+<td class='confluenceTd'>INTEGER</td>
+</tr>
+<tr>
+<td class='confluenceTd'>name</td>
+<td class='confluenceTd'>VARCHAR(45)</td>
+</tr>
+<tr>
+<td class='confluenceTd'>birthdate</td>
+<td class='confluenceTd'>DATE</td>
+</tr>
+<tr>
+<td class='confluenceTd'>sss_no</td>
+<td class='confluenceTd'>VARCHAR(25)</td>
+</tr>
+<tr>
+<td class='confluenceTd'>address</td>
+<td class='confluenceTd'>VARCHAR(60)</td>
+</tr>
+<tr>
+<td class='confluenceTd'>annual_salary</td>
+<td class='confluenceTd'>DOUBLE</td>
+</tr>
+<tr>
+<td class='confluenceTd'>loan_amount</td>
+<td class='confluenceTd'>DOUBLE</td>
+</tr>
+</tbody></table>
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h1><a name="JBosstoGeronimo-EJB-BMPMigration-TheJBossenvironment"></a>The JBoss environment <a name="JBosstoGeronimo-EJB-BMPMigration-JBoss"></a></h1>
+<p>This section shows you how and where the sample JBoss reference environment was installed so you can map this scenario to your own implementation. Note that for this migration example JBoss v4.0.2 was used.</p>
+
+<p>Detailed instructions for installing, configuring, and managing JBoss are provided in the product documentation. Check the product Web site for the most updated documents.</p>
+
+<p>The following list highlights the general tasks you will need to complete to install and configure the initial environment as the starting point for deploying the sample application.</p>
+
+<ol>
+	<li>Download and install JBoss v4 as explained in the product documentation guides. From now on the installation directory will be referred as <b>&lt;jboss_home&gt;</b></li>
+	<li>Create a copy of the default JBoss v4 application server. Copy recursively <b>&lt;jboss_home&gt;\server\default</b> to <b>&lt;jboss_home&gt;\server\&lt;your_server_name&gt;</b></li>
+	<li>Start the new server by running the <tt>run.sh -c &lt;your_server_name&gt;</tt> command from the <b>&lt;jboss_home&gt;\bin</b> directory.</li>
+	<li>Once the server is started, you can verify that it is running by opening a Web browser and pointing it to this URL: <a href="http://localhost:8080" title="Visit page outside Confluence">&#104;ttp://localhost:8080</a>. You should see the JBoss Welcome window and be able to access the JBoss console.</li>
+	<li>Once the application server is up and running, the next step is to install and configure all the remaining prerequisite software required by the sample application. This step is described in the following section.</li>
+</ol>
+
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h2><a name="JBosstoGeronimo-EJB-BMPMigration-Installandconfigureprerequisitesoftware"></a>Install and configure prerequisite software</h2>
+<p>In order to build and run the Loan BMP application included in this article, you need to install and configure the build tool and the database that is used by the application. </p>
+
+<h3><a name="JBosstoGeronimo-EJB-BMPMigration-Modifydatabasesettings"></a>Modify database settings</h3>
+<p>This application is using the HSQL database that comes as part of the JBoss bundle. You need to modify the script for creating the database. Edit the <b>localDB.script</b> file located in the following directory:</p>
+
+<p>&lt;jboss_home&gt;\server\&lt;your_server_name&gt;\data\hypersonic</p>
+
+<p>Add at the top of the <b>localDB.script</b> file the content of the following example in order to create the sample HSQL database.</p>
+
+<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Make sure JBoss is not running at the time of modifying this file.</b></td></tr></table>
+
+<p><tt>CREATE MEMORY TABLE CUSTOMER(ID INTEGER NOT NULL PRIMARY KEY,NAME VARCHAR(45),BIRTHDATE DATE,SSS_NO VARCHAR(25),ADDRESS VARCHAR(60),ANNUAL_SALARY DOUBLE,LOAN_AMOUNT DOUBLE)</tt></p>
+
+<h3><a name="JBosstoGeronimo-EJB-BMPMigration-ConfigureMaven"></a>Configure Maven</h3>
+<p>As mentioned before, Apache Maven is used to build the binaries for the Loan BMP application. If you do not have Maven installed this is a good time for doing it.</p>
+
+<p>Apache Maven can be downloaded from the following URL:</p>
+
+<p><a href="http://maven.apache.org" title="Visit page outside Confluence">&#104;ttp://maven.apache.org</a></p>
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h2><a name="JBosstoGeronimo-EJB-BMPMigration-Buildthesampleapplication"></a>Build the sample application</h2>
+<p>In order to build the loan application a Maven script has been provided. Download the Loan application from the following link:</p>
+
+<p><a href="http://localhost:8080/download/attachments/66/loan-bmp.zip?version=6" title="loan-bmp.zip attached to JBoss to Geronimo - EJB-BMP Migration">Loan BMP Sample</a></p>
+
+<p>After extracting the zip file, a <b>loan-bmp</b> directory will be created. From now on, this directory will be referred as &lt;bmp_home&gt;. In that directory open the <b>project.properties</b> file.  Edit the maven.jboss.home property to match your environment. </p>
+
+<p><tt>maven.jboss.home=&lt;jboss_home&gt;</tt></p>
+
+<p>From a command prompt or shell go to the &lt;bmp_home&gt; directory and run the following command:</p>
+
+<p><tt>maven</tt></p>
+
+<p>This will build the jar and war files and put them in the &lt;bmp_home&gt;/target directory. The jar created by the Maven build contains a JBoss specific deployment descriptor, the <b>jboss.xml</b> file in located the META-INF directory of the JAR is shown in the following example:</p>
+
+<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>JBoss deployment descriptor - jboss.xml</b></div><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span>?&gt;</span>
+
+<span class="code-tag">&lt;jboss&gt;</span>
+   <span class="code-tag">&lt;enterprise-beans&gt;</span>
+      <span class="code-tag">&lt;entity&gt;</span>
+         <span class="code-tag">&lt;ejb-name&gt;</span>CustomerEJB<span class="code-tag">&lt;/ejb-name&gt;</span>
+         <span class="code-tag">&lt;jndi-name&gt;</span>CustomerHomeRemote<span class="code-tag">&lt;/jndi-name&gt;</span>
+      <span class="code-tag">&lt;/entity&gt;</span>
+   <span class="code-tag">&lt;/enterprise-beans&gt;</span>
+<span class="code-tag">&lt;/jboss&gt;</span></pre>
+</div></div>
+
+<p>The jndi-name element is used to bind the CustomerEJB to the name CustomerHomeRemote in JNDI.</p>
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h2><a name="JBosstoGeronimo-EJB-BMPMigration-Deploythesampleapplication"></a>Deploy the sample application</h2>
+<p>To deploy the Loan BMP application in JBoss, copy the <b>entity-ejb-SNAPSHOT.jar</b> and <b>entity-ejb.war</b> files you just built with Maven to the following directory:</p>
+
+<p>&lt;jboss_home&gt;\server\&lt;your_server_name&gt;\deploy</p>
+
+<p>If JBoss is already started, it will automatically deploy and start the application; otherwise, the application will be deployed and started at the next startup. </p>
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h2><a name="JBosstoGeronimo-EJB-BMPMigration-Testthesampleapplication"></a>Test the sample application</h2>
+<p>To test the sample client application type the following command from the &lt;bmp_home&gt; directory:</p>
+
+<p><tt>maven run:client</tt></p>
+
+<p>When you run this command, you will receive a list of all the loans that were retireved from the database, you should see a screen similar to the one shown in the following example:</p>
+
+<p><font color="white"><div class="preformatted" style="border-style: solid; "><div class="preformattedContent" style="background-color: #000000; ">
+<pre>E:\loan-bmp&gt;maven run:client
+ __  __
+|  \/  |__ _Apache__ ___
+| |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
+|_|  |_\__,_|\_/\___|_||_|  v. 1.0.2
+
+build:start:
+
+run:client:
+    [java] creating customer...
+    [java] done.findByPrimaryKeyTest... 1
+    [java] customer name: Customer 1
+    [java] customer sss no: 2323232
+    [java] customer loan amount: 0.0
+    [java] customer annual salary: 0.0
+    [java] customer birthdate: Fri Oct 21 15:40:39 EDT 2005
+    [java] updating ejb...
+    [java] done.findBySssNoTest... 2323232
+    [java] customer name: Customer 2
+    [java] customer sss no: 2323232
+    [java] customer loan amount: 0.0
+    [java] customer annual salary: 0.0
+    [java] customer birthdate: Fri Oct 21 15:40:39 EDT 2005
+BUILD SUCCESSFUL
+Total time: 3 seconds
+Finished at: Fri Oct 21 15:40:39 EDT 2005
+
+E:\loan-bmp&gt;</pre>
+</div></div></font></p>
+
+<p>To test the sample Web application point your browser to: </p>
+
+<p><a href="http://localhost:8080/entity-ejb" title="Visit page outside Confluence">&#104;ttp://localhost:8080/entity-ejb</a></p>
+
+<p>You should see the following screen:</p>
+
+<p><img src="JBoss to Geronimo - EJB-BMP Migration_attachments/BMP_JB_test.jpg" align="absmiddle" border="0" /></p>
+
+<p>Click on <b>Add Customer</b>. Enter the new customer information then click <b>Create</b>, this will take you to the first page showing the updated list of customers.</p>
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h1><a name="JBosstoGeronimo-EJB-BMPMigration-TheGeronimoenvironment"></a>The Geronimo environment <a name="JBosstoGeronimo-EJB-BMPMigration-Geronimo"></a></h1>
+<p>Download and install Geronimo from the following URL:</p>
+
+<p><a href="http://geronimo.apache.org/downloads.html" title="Visit page outside Confluence">&#104;ttp://geronimo.apache.org/downloads.html</a></p>
+
+<p>The release notes available there provide clear instructions on system requirements and how to install and start Geronimo.  Throughout the rest of this article we will refer to the Geronimo installation directory as <b>&lt;geronimo_home&gt;</b>.</p>
+
+<table cellpadding='5' width='85%' cellspacing='8px' class='warningMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">TCP/IP ports conflict</b><br />If you are planning to run JBoss and Geronimo on the same machine consider to change the default service ports on, at least, one of these servers.</td></tr></table>
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h2><a name="JBosstoGeronimo-EJB-BMPMigration-Configureresources"></a>Configure resources</h2>
+<p>For this scenario the Loan BMP will use directly the SystemDatabase from Geronimo. In this case there is no need to set up a new connector for the SystemDatabase since it is already configured as the DefaultDatasource.</p>
+
+<h3><a name="JBosstoGeronimo-EJB-BMPMigration-StarttheGeronimoserver"></a>Start the Geronimo server</h3>
+<p>Ensure that Geronimo is up and running. If the server has not been started yet, do so by typing the following command:</p>
+
+<p><tt>&lt;geronimo_home&gt;/bin/startup.sh</tt></p>
+
+<p>Once the server is started you should see a screen similar as the one illustrated in the following example:</p>
+
+<p><font color="white"><div class="preformatted" style="border-style: solid; "><div class="preformattedContent" style="background-color: #000000; ">
+<pre>E:\geronimo\bin&gt;startup
+Booting Geronimo Kernel (in Java 1.4.2_09)...
+Starting Geronimo Application Server
+[*************] 100%  32s Startup complete
+  Listening on Ports:
+    1099 0.0.0.0 RMI Naming
+    1527 0.0.0.0 Derby Connector
+    4201 0.0.0.0 ActiveIO Connector EJB
+    4242 0.0.0.0 Remote Login Listener
+    8019 0.0.0.0 Tomcat Connector AJP
+    8080 0.0.0.0 Jetty Connector HTTP
+    8090 0.0.0.0 Tomcat Connector HTTP
+    8443 0.0.0.0 Jetty Connector HTTPS
+    8453 0.0.0.0 Tomcat Connector HTTPS
+   61616 0.0.0.0 ActiveMQ Message Broker Connector
+  Started Application Modules:
+    EAR: org/apache/geronimo/Console
+    WAR: org/apache/geronimo/applications/Welcome
+  Web Applications:
+    http://hcunico:8080/
+    http://hcunico:8080/console
+    http://hcunico:8080/console-standard
+Geronimo Application Server started</pre>
+</div></div></font></p>
+
+<h3><a name="JBosstoGeronimo-EJB-BMPMigration-ConfiguredatabaseviaGeronimoConsole"></a>Configure database via Geronimo Console</h3>
+<p>Access the Geronimo Console by pointing your Web browser to the following URL:</p>
+
+<p><a href="http://localhost:8080/console" title="Visit page outside Confluence">&#104;ttp://localhost:8080/console</a></p>
+
+<p>Enter the following <b>system</b> as the username and <b>manager</b> as the password, click <b>Login</b>.</p>
+
+<p>Once logged in, on the bottom left corner from the left navigation panel click on <b>DB Manager</b>. In the text area labeled <b>SQL Command/s</b> enter the following SQL statement and click <b>Run SQL</b>; this will create the table used by the Entity Bean.</p>
+
+<p><tt>CREATE TABLE CUSTOMER(ID INTEGER NOT NULL PRIMARY KEY,NAME VARCHAR(45),BIRTHDATE DATE,SSS_NO VARCHAR(25),ADDRESS VARCHAR(60),ANNUAL_SALARY DOUBLE,LOAN_AMOUNT DOUBLE)</tt></p>
+
+<p><img src="JBoss to Geronimo - EJB-BMP Migration_attachments/BMP-console-DB.jpg" align="absmiddle" border="0" /></p>
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h1><a name="JBosstoGeronimo-EJB-BMPMigration-Stepbystepmigration"></a>Step-by-step migration <a name="JBosstoGeronimo-EJB-BMPMigration-migration"></a></h1>
+<p>The same EJB jar file that was created and deployed in jboss may be deployed in Geronimo with no changes  to its contents but you still need to edit the jndi properties of sample application. Edit the <b>jndi.properties</b> file located in in the &lt;bmp_home&gt;/jndi directory as shown in the following example:</p>
+
+<div class="preformatted" style="border-style: solid; "><div class="preformattedHeader" style="border-bottom-style: solid; "><b>jndi.properties</b></div><div class="preformattedContent">
+<pre>####################################################################
+### JBoss Settings
+####################################################################
+#java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+#java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
+#java.naming.provider.url=localhost
+
+
+####################################################################
+### Geronimo Settings
+####################################################################
+java.naming.factory.initial=org.openejb.client.RemoteInitialContextFactory
+java.naming.provider.url=localhost:4201
+java.naming.security.principal=username
+java.naming.security.credentials=passwd</pre>
+</div></div>
+
+<p>The following example shows the <b>customer-ejb.xml</b> deployment plan used for deploying the EJB application, this deployment plan in located in the &lt;bmp_home&gt;/dd directory.</p>
+
+<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>customer-ejb.xml</b></div><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;</span>
+
+&lt;openejb-jar
+    xmlns=<span class="code-quote">"http://www.openejb.org/xml/ns/openejb-jar"</span>
+    <span class="code-keyword">xmlns:naming</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming"</span>
+    <span class="code-keyword">xmlns:security</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/security"</span>
+    <span class="code-keyword">xmlns:sys</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/deployment"</span>
+    configId=<span class="code-quote">"CustomerEJB"</span>
+    parentId=<span class="code-quote">"org/apache/geronimo/SystemDatabase"</span>&gt;
+ <span class="code-tag">&lt;enterprise-beans&gt;</span>
+    <span class="code-tag">&lt;entity&gt;</span>
+        <span class="code-tag">&lt;ejb-name&gt;</span>CustomerEJB<span class="code-tag">&lt;/ejb-name&gt;</span>
+        <span class="code-tag">&lt;jndi-name&gt;</span>CustomerHomeRemote<span class="code-tag">&lt;/jndi-name&gt;</span>
+        <span class="code-tag">&lt;local-jndi-name&gt;</span>CustomerRemote<span class="code-tag">&lt;/local-jndi-name&gt;</span>
+        <span class="code-tag">&lt;resource-ref&gt;</span>
+            <span class="code-tag">&lt;ref-name&gt;</span>jdbc/ibm-demo<span class="code-tag">&lt;/ref-name&gt;</span>
+            <span class="code-tag">&lt;resource-link&gt;</span>SystemDatasource<span class="code-tag">&lt;/resource-link&gt;</span>
+        <span class="code-tag">&lt;/resource-ref&gt;</span>
+    <span class="code-tag">&lt;/entity&gt;</span>
+ <span class="code-tag">&lt;/enterprise-beans&gt;</span>
+<span class="code-tag">&lt;/openejb-jar&gt;</span></pre>
+</div></div>
+
+<p>This plan sets <b>org/apache/geronimo/SystemDatabase</b> as the parent.  What follows is the definition of the entity bean.  The <b>jndi-name</b> element indicates the jndi name of the entity bean's home interface <b>CustomerHomeRemote</b>.   This is the name that the Loan BMP sample application will lookup in the jndi context.  The element <b>local-jndi-name</b> indicates the jndi name of the local interface, which in this case happens to be a remote interface, <b>CustomerRemote</b>.  Next, a reference to the <b>SystemDatasource</b> is defined giving the application access to the database.</p>
+
+<p>The Web Application client can be direclty deployed in Geronimo. This is because the build step packages both the JBoss <b>jboss-web.xml</b> and Geronimo <b>geronimo-web.xml</b> specific deployment plans in the war file. You can see both of these files in the &lt;bmp_home&gt;\src\webapp\WEB-INF directory.</p>
+
+<p>The <b>geronimo-web.xml</b> deployment plan should look like the following example.</p>
+
+<div class="code" style="border-style: solid; "><div class="codeHeader" style="border-bottom-style: solid; "><b>Geronimo deployment plan geronimo-web.xml</b></div><div class="codeContent">
+<pre class="code-xml">&lt;web-app xmlns=<span class="code-quote">"http://geronimo.apache.org/xml/ns/web"</span>
+         <span class="code-keyword">xmlns:naming</span>=<span class="code-quote">"http://geronimo.apache.org/xml/ns/naming"</span>
+         configId=<span class="code-quote">"EntityDemoWebApp"</span>
+         parentId=<span class="code-quote">"CustomerEJB"</span>&gt;
+         
+    <span class="code-tag">&lt;context-root&gt;</span>entity-ejb<span class="code-tag">&lt;/context-root&gt;</span>    
+     
+    <span class="code-tag">&lt;ejb-ref&gt;</span>
+        <span class="code-tag">&lt;ref-name&gt;</span>ejb/CustomerHome<span class="code-tag">&lt;/ref-name&gt;</span>
+        <span class="code-tag">&lt;target-name&gt;</span>
+             geronimo.server:EJBModule=MDBDemo,J2EEApplication=null,J2EEServer=geronimo,
+             j2eeType=EntityBean,name=CustomerEJB
+        <span class="code-tag">&lt;/target-name&gt;</span>
+    <span class="code-tag">&lt;/ejb-ref&gt;</span>
+<span class="code-tag">&lt;/web-app&gt;</span></pre>
+</div></div>
+
+<p>Build the Loan BMP application by typing <b>maven</b> from the &lt;bmp_home&gt; directory. This will create the <b>entity-ejb-SNAPSHOT.jar</b> and <b>entity-ejb.war</b> in the &lt;bmp_home&gt;/target directory.</p>
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h2><a name="JBosstoGeronimo-EJB-BMPMigration-Deploythemigratedapplication"></a>Deploy the migrated application</h2>
+<p>To deploy the migrated Loan BMP application, make sure the Geronimo server is up and running. </p>
+
+<p>From a command line, change directory to &lt;geronimo_home&gt; and type the following command:</p>
+
+<p><tt>java -jar bin/deployer.jar --user system --password manager deploy &lt;bmp_home&gt;/target/entity-ejb-SNAPSHOT.jar &lt;bmp_home&gt;/dd/customer-ejb.xml</tt></p>
+
+<p>With this command you first tell the deployer tool where is the module to deploy, then you tell the deployer tool how to deploy the application by specifying the deployment plan.</p>
+
+<p>Deploy the Web Application by typing the following command:</p>
+
+<p><tt>java -jar bin/deployer.jar --user system --password manager deploy &lt;bmp_home&gt;/target/entity-ejb.war</tt></p>
+
+<p>From the command line change the the &lt;bmp_home&gt; directory and type the following command:</p>
+
+<p><tt>maven run:client</tt></p>
+
+<p>You should see something similar to the following example:</p>
+
+<p><font color="white"><div class="preformatted" style="border-style: solid; "><div class="preformattedContent" style="background-color: #000000; ">
+<pre>E:\loan-bmp&gt;maven run:client
+ __  __
+|  \/  |__ _Apache__ ___
+| |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
+|_|  |_\__,_|\_/\___|_||_|  v. 1.0.2
+
+build:start:
+
+run:client:
+    [java] creating customer...
+    [java] done.findByPrimaryKeyTest... 1
+    [java] customer name: Customer 1
+    [java] customer sss no: 2323232
+    [java] customer loan amount: 0.0
+    [java] customer annual salary: 0.0
+    [java] customer birthdate: Thu Oct 27 00:00:00 EDT 2005
+    [java] updating ejb...
+    [java] done.findBySssNoTest... 2323232
+    [java] customer name: Customer 2
+    [java] customer sss no: 2323232
+    [java] customer loan amount: 0.0
+    [java] customer annual salary: 0.0
+    [java] customer birthdate: Thu Oct 27 00:00:00 EDT 2005
+BUILD SUCCESSFUL
+Total time: 4 seconds
+Finished at: Thu Oct 27 18:59:44 EDT 2005
+
+E:\loan-bmp&gt;</pre>
+</div></div></font></p>
+
+<p>Test the applications the same way you tested on JBoss.</p>
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+<h1><a name="JBosstoGeronimo-EJB-BMPMigration-Summary"></a>Summary <a name="JBosstoGeronimo-EJB-BMPMigration-summary"></a></h1>
+<p>This article covered how to migrate a sample application, from JBoss to the Apache Geronimo application server. You followed step-by-step instructions to build the application, deploy and run it, and then migrate it to the Geronimo environment.</p>
+
+<p>The following list summarizes the major differences found during this sample application migration.</p>
+<ul>
+	<li>In the Geronimo specific deployment plan, the <b>ejbreference</b> name is mapped to the gbean name of the ejb unlike in the JBoss specific deployment descriptor where the resource name is mapped to the JNDI name of the ejb.</li>
+	<li>In order to deploy a datasource in JBoss you need to just copy the configuration file to the deploy directory but in Geronimo you need to use the deployer tool or the Web console.</li>
+</ul>
+
+
+<p><a href="#JBosstoGeronimo-EJB-BMPMigration-top" title="top on JBoss to Geronimo - EJB-BMP Migration">Back to Top</a></p>
+
+				    					    <br/>
+                        <div class="tabletitle">
+                            <a name="attachments">Attachments:</a>
+                        </div>
+
+                        <div class="greybox" align="left">
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/BMP_flow.jpg">BMP_flow.jpg</a> (image/pjpeg)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/BMP_flow.jpg">BMP_flow.jpg</a> (image/pjpeg)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/BMP_flow.jpg">BMP_flow.jpg</a> (image/pjpeg)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/loan-bmp.zip">loan-bmp.zip</a> (application/x-zip-compressed)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/loan-bmp.zip">loan-bmp.zip</a> (application/x-zip-compressed)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/loan-bmp.zip">loan-bmp.zip</a> (application/x-zip-compressed)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/loan-bmp.zip">loan-bmp.zip</a> (application/x-zip-compressed)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/loan-bmp.zip">loan-bmp.zip</a> (application/x-zip-compressed)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/loan-bmp.zip">loan-bmp.zip</a> (application/x-zip-compressed)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/BMP-console-DB.jpg">BMP-console-DB.jpg</a> (image/pjpeg)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/BMP-console-DB.jpg">BMP-console-DB.jpg</a> (image/pjpeg)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/BMP-console-DB.jpg">BMP-console-DB.jpg</a> (image/pjpeg)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/BMP-console-DB.jpg">BMP-console-DB.jpg</a> (image/pjpeg)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/BMP_JB_test.jpg">BMP_JB_test.jpg</a> (image/pjpeg)
+                                <br/>
+                                                            <img src="icons/bullet_blue.gif" height="8" width="8" alt=""/>
+                                <a href="JBoss to Geronimo - EJB-BMP Migration_attachments/BMP_JB_test.jpg">BMP_JB_test.jpg</a> (image/pjpeg)
+                                <br/>
+                                                    </div>
+				    
+                    			    </td>
+		    </tr>
+	    </table>
+	    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+			<tr>
+				<td height="12" background="border/border_bottom.gif"><img src="border/spacer.gif" width="1" height="1" border="0"/></td>
+			</tr>
+		    <tr>
+			    <td align="center"><font color="grey">Document generated by Confluence on Dec 09, 2005 22:10</font></td>
+		    </tr>
+	    </table>
+    </body>
+</html>
\ No newline at end of file

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration.html
------------------------------------------------------------------------------
    svn:executable = *

Added: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration_attachments/BMP-console-DB.jpg
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss%20to%20Geronimo%20-%20EJB-BMP%20Migration_attachments/BMP-console-DB.jpg?rev=356160&view=auto
==============================================================================
Binary file - no diff available.

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration_attachments/BMP-console-DB.jpg
------------------------------------------------------------------------------
    svn:executable = *

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration_attachments/BMP-console-DB.jpg
------------------------------------------------------------------------------
    svn:mime-type = image/jpeg

Added: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration_attachments/BMP_JB_test.jpg
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss%20to%20Geronimo%20-%20EJB-BMP%20Migration_attachments/BMP_JB_test.jpg?rev=356160&view=auto
==============================================================================
Binary file - no diff available.

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration_attachments/BMP_JB_test.jpg
------------------------------------------------------------------------------
    svn:executable = *

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration_attachments/BMP_JB_test.jpg
------------------------------------------------------------------------------
    svn:mime-type = image/jpeg

Added: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration_attachments/BMP_flow.jpg
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss%20to%20Geronimo%20-%20EJB-BMP%20Migration_attachments/BMP_flow.jpg?rev=356160&view=auto
==============================================================================
Binary file - no diff available.

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration_attachments/BMP_flow.jpg
------------------------------------------------------------------------------
    svn:executable = *

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration_attachments/BMP_flow.jpg
------------------------------------------------------------------------------
    svn:mime-type = image/jpeg

Added: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration_attachments/loan-bmp.zip
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss%20to%20Geronimo%20-%20EJB-BMP%20Migration_attachments/loan-bmp.zip?rev=356160&view=auto
==============================================================================
Binary file - no diff available.

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration_attachments/loan-bmp.zip
------------------------------------------------------------------------------
    svn:executable = *

Propchange: geronimo/branches/1.0/modules/scripts/src/resources/docs/JBoss to Geronimo - EJB-BMP Migration_attachments/loan-bmp.zip
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream