You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by km...@apache.org on 2011/06/11 23:33:39 UTC

svn commit: r1134776 [24/26] - in /openejb/trunk/website/html/old-site: ./ html/ html/images/ html/spec/ images/

Added: openejb/trunk/website/html/old-site/html/tomcat-object-factory.html
URL: http://svn.apache.org/viewvc/openejb/trunk/website/html/old-site/html/tomcat-object-factory.html?rev=1134776&view=auto
==============================================================================
--- openejb/trunk/website/html/old-site/html/tomcat-object-factory.html (added)
+++ openejb/trunk/website/html/old-site/html/tomcat-object-factory.html Sat Jun 11 21:33:33 2011
@@ -0,0 +1,368 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Setting up Tomcat with OpenEJB -- 
+              Leveraging J2EE JNDI principles</title><link href="default.css" rel="stylesheet"><link href="/images/favicon.ico" rel="SHORTCUT ICON"></head><body marginwidth="0" marginheight="0" leftmargin="0" bottommargin="0" topmargin="0" vlink="#6763a9" link="#6763a9" bgcolor="#ffffff"><a name="top"></a><table height="400" width="712" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#7270c2" align="left" valign="top" width="20"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td bgcolor="#7270c2" align="left" valign="top" width="95"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="7"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" width="40"><img border="0" height="6" width="40" src="images/dotTrans.gif"></td><td bgcolor="#5A5CB8" align="left" valign="top" width="430"><img border="0" height="6" width="430" src="images/top_2.gif"></td><td 
 bgcolor="#E24717" align="left" valign="top" width="120"><img src="images/top_3.gif" width="120" height="6" border="0"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="20"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#ffffff" width="7"></td><td align="left" valign="top" width="40"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="middle" width="430"><a href="faq.html"><span class="menuTopOff">[ f a q ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://wiki.codehaus.org/openejb"><span class="menuTopOff">[ w i k i ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://archive.openejb.codehaus.org/user/"><span class="menuTopOff">[ l i s t s ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://cvs.openejb.org/"><span c
 lass="menuTopOff">[ c v s ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://jira.codehaus.org/secure/BrowseProject.jspa?id=10401"><span class="menuTopOff">[ b u g s ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img border="0" height="2" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" height="20" width="120">&nbsp;</td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="20"><img border="0" height="3" width="20" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img border="0" height="3" width="105" src="images/line_sm.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="3" width="7" src="images/line_sm.gif"></td><td align="left" valign="top" width="40"><img border="0" height="3" width="40" src="images/line_light.gif"></td><td align="left" valign="top" width="430"><img border="0" height="3" width="430" src="images/line_light.gif"></td><td align="left" vali
 gn="top" width="120"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2"><img border="0" height="10" width="20" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img border="0" height="2" width="1" src="images/dotTrans.gif"><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Main</span></td></tr><tr><td align="left" valign="top"><a href="index.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Welcome!</span></a></td></tr><tr><td align="left" valign="top"><a href="download.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Download</span></a></td></tr><tr><td align="left" valign="top"><a href="lists.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Mailing Lists</span></a></td></tr><tr><td align="left" valign="top"><a href="cvs.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Source Code</span></a></td></tr><tr><td align="left" valign="top"><a href="contributors.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                The Team</span></a></td></tr><tr><td align="left" valign="top"><a href="status.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Status</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Users</span></td></tr><tr><td align="left" valign="top"><a href="quickstart.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Quickstart</span></a></td></tr><tr><td align="left" valign="top"><a href="hello-world.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Hello World!</span></a></td></tr><tr><td align="left" valign="top"><a href="cmp_entity_postgresql.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                CMP Example</span></a></td></tr><tr><td align="left" valign="top"><a href="cmp_guide.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                CMP Guide</span></a></td></tr><tr><td align="left" valign="top"><a href="deploy.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Deploy</span></a></td></tr><tr><td align="left" valign="top"><a href="start-command.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Startup</span></a></td></tr><tr><td align="left" valign="top"><a href="validate.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Validation</span></a></td></tr><tr><td align="left" valign="top"><a href="config_containers.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Configuration</span></a></td></tr><tr><td align="left" valign="top"><a href="properties.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Properties</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Servers</span></td></tr><tr><td align="left" valign="top"><a href="embedded.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Local Server</span></a></td></tr><tr><td align="left" valign="top"><a href="remote-server.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Remote Server</span></a></td></tr><tr><td align="left" valign="top"><a href="tomcat.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Tomcat</span></a></td></tr><tr><td align="left" valign="top"><a href="geronimo.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Geronimo</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Integrators</span></td></tr><tr><td align="left" valign="top"><a href="whyopenejb.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Why OpenEJB</span></a></td></tr><tr><td align="left" valign="top"><a href="containersystem.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Overview</span></a></td></tr><tr><td align="left" valign="top"><a href="design_openejb.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Design</span></a></td></tr><tr><td align="left" valign="top"><a href="OpenEJB_presentaion.ppt"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Presentation</span></a></td></tr></table><img border="0" height="15" width="1" src="images/dotTrans.gif"><br><img border="0" height="3" width="105" src="images/line_sm.gif"><br><A href="http://codehaus.org"><IMG alt="The Codehaus" border="0" height="17" width="88" src="http://www.openejb.org/codehaus-smaller.png"></A></td><td align="left" valign="top" bgcolor="#a9a5de" width="7">&nbsp;</td><td align="left" valign="top" width="40">&nbsp;</td><td valign="top" width="430" rowspan="4"><table width="430" cellspacing="0" cellpadding="0" border="0" rows="2" cols="1"><tr><td align="left" valign="top"><br><img width="200" vspace="0" src="./images/logo_ejb2.gif" hspace="0" height="55" border="0"><br><img src="images/dotTrans.gif" hspace="0" height="7" border="0"><br><span class="pageTitle">Setting up Tomcat with OpenEJB</span><br><span class="pageSubTitle">Leveraging J2EE JNDI principles</span><br><img src="images/dotTrans.gif" hspace="0" height="1" border="0"></td></t
 r></table><p></p><p></p><br><span class="toc"><a href="#abstract">Abstract</a><br></span><span class="toc"><a href="#intro">Before we start</a><br></span><span class="toc"><a href="#ejb-ref">Referencing EJBs in web application</a><br></span><span class="toc"><a href="#install">Installing OpenEJB's EJB factory in Tomcat</a><br></span><span class="toc"><a href="#example">Example application</a><br></span><br><a name="abstract"><h2>Abstract</h2></a>
+            <p><span class="bodyBlack">
+                Java 2 Enterprise Edition (J2EE) provides several technologies that lets build
+                J2EE-compliant applications that can be run in any J2EE-compliant application server.
+                One of the several technologies is Java Naming and Directory Interface (JNDI).
+                JNDI is a technology that provides a unified access
+                to different naming and directory services. Regardless of the underlaying service,
+                if it supports JNDI a client doesn't have to know what exactly application it's to talk to
+                other than it adheres to JNDI concepts and interfaces.
+            </span></p>
+            <p><span class="bodyBlack">
+                OpenEJB and Tomcat can complement each other in fullfiling J2EE principles. OpenEJB is
+                an EJB container whereas Tomcat is a servlet container. Although they serve different
+                clients, both products use JNDI extensively. Obviously, either container provides different JNDI "views"
+                of its managed components. The question pertaining to the integration is how to tie
+                the different naming systems so that when a client requests an object from Tomcat naming space,
+                Tomcat will know that it needs to pass the request along to OpenEJB naming space.
+                That's what the object factory is to solve out.
+            </span></p>
+            <p><span class="bodyBlack">
+                While reading JNDI specification you can come across the interface:
+                <a href="http://java.sun.com/j2se/1.4.1/docs/api/javax/naming/spi/ObjectFactory.html">
+                    javax.naming.spi.ObjectFactory</a>. The javadoc of the interface reads:
+            </span></p>
+            <hr noshadow="" size="1"><span class="bodyGrey">
+                This interface represents a factory for creating an object.
+                <br>
+                <br>
+                The JNDI framework allows for object implementations to be loaded in dynamically via object factories.
+                For example, when looking up a printer bound in the name space,
+                if the print service binds printer names to References, the printer Reference
+                could be used to create a printer object, so that the caller of lookup can
+                directly operate on the printer object after the lookup.
+            <hr noshadow="" size="1"></span>
+
+            <p><span class="bodyBlack">
+                Theorically, it seems to be possible to create a web application that makes use of EJBs,
+                deploy these EJBs in OpenEJB, and the web application in Tomcat, set up an object factory
+                and finally boot it up. The following sections are to outline what exactly the steps are in OpenEJB and Tomcat
+                with description of why they are required at all.
+            </span></p>
+
+        <a name="intro"><h2>Before we start</h2></a>
+
+            <p><span class="bodyBlack">
+                Before we start, ensure that OpenEJB and Tomcat are in appropriate releases.
+            </span></p>
+            <table bgcolor="#7270c2" width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#7270c2"><span class="note-caption">&nbsp;NOTE</span></td></tr><tr><td bgcolor="#7270c2"><table bgcolor="#7270c2" width="100%" cellspacing="2" cellpadding="7" border="0"><tr><td bgcolor="#FFFFFF"><span class="note">
+                What follows should be doable on any Tomcat 4.x or 5.x release. The author
+                tested it under Jakarta Tomcat 4.1.18 and 5.0.27 (the most recent public release at
+                that time).
+            </span></td></tr></table></td></tr></table>
+            <br>
+            <table bgcolor="#7270c2" width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#7270c2"><span class="note-caption">&nbsp;NOTE</span></td></tr><tr><td bgcolor="#7270c2"><table bgcolor="#7270c2" width="100%" cellspacing="2" cellpadding="7" border="0"><tr><td bgcolor="#FFFFFF"><span class="note">
+                It's assumed that Tomcat and OpenEJB are already installed and running properly
+                as a separate products.
+            </span></td></tr></table></td></tr></table>
+
+        <a name="ejb-ref"><h2>Referencing EJBs in web application</h2></a>
+            <p><span class="bodyBlack">J2EE 1.3 specification says (page 57):</span></p>
+            <p><span class="bodyBlack">
+                <hr noshadow="" size="1"><span class="bodyGrey">
+                    The Application Component Provider must declare all the EJB references
+                    using the ejb-ref elements of the deployment descriptor. This allows the consumer
+                    of the application component's jar file (the Application Assembler or Deployer) to
+                    discover all the EJB references used by the application component.
+                <hr noshadow="" size="1"></span>
+            </span></p>
+            <p><span class="bodyBlack">
+                It means that each time a web application needs to reference a bean, the bean has to be declared in
+                the web application's deployment descriptor (
+                <i>/WEB-INF/web.xml</i> file). The element which does so
+                is
+                <i>ejb-ref</i>.
+                Although most containers don't enforce that approach, it's always better to describe dependencies in
+                a standard, J2EE-compliant way, in the deployment descriptor of the corresponding components.
+            </span></p>
+            <table bgcolor="#7270c2" width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#7270c2"><span class="note-caption">&nbsp;NOTE</span></td></tr><tr><td bgcolor="#7270c2"><table bgcolor="#7270c2" width="100%" cellspacing="2" cellpadding="7" border="0"><tr><td bgcolor="#FFFFFF"><span class="note">
+                Tomcat won't refuse to activate the components even if they reference EJBs with no declaration in
+                the deployment descriptors.
+            </span></td></tr></table></td></tr></table>
+            <p><span class="bodyBlack">
+                Our example's web application declares the referenced bean in the deployment descriptor
+                (
+                <i>/WEB-INF/web.xml</i>) as follows:
+            </span></p>
+            <table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+
+&lt;ejb-ref&gt;
+    &lt;description&gt;
+        EJB Reference to the bean deployed to OpenEJB
+    &lt;/description&gt;
+    &lt;ejb-ref-name&gt;ejb/hello&lt;/ejb-ref-name&gt;
+    &lt;ejb-ref-type&gt;Session&lt;/ejb-ref-type&gt;
+    &lt;home&gt;org.acme.HelloHome&lt;/home&gt;
+    &lt;remote&gt;org.acme.Hello&lt;/remote&gt;
+&lt;/ejb-ref&gt;</pre></span></td></tr></table>
+            <p><span class="bodyBlack">
+                Here goes a JSP that uses the ejb-ref-name to get a reference to the declared bean.
+            </span></p>
+            <p><span class="bodyBlack">
+                <table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#c0c0c0"><i><span class="code-title">openejb.jsp</span></i></td></tr><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+
+&lt;%@ page import="org.acme.HelloObject,
+                 org.acme.HelloHome,
+                 javax.naming.InitialContext,
+                 javax.naming.Context"%&gt;
+
+&lt;html&gt;
+&lt;head&gt;
+	&lt;title&gt;OpenEJB -- EJB for Tomcat&lt;/title&gt;
+&lt;/head&gt;
+
+&lt;body&gt;
+&lt;%
+    Context initCtx = new InitialContext();
+
+    Object object = initCtx.lookup("java:comp/env/ejb/hello");
+    HelloHome helloHome = (HelloHome)
+            javax.rmi.PortableRemoteObject.narrow(object, HelloHome.class);
+    HelloObject bean = helloHome.create();
+%&gt;
+&lt;%= bean.sayHello() %&gt;
+&lt;/body&gt;
+&lt;/html&gt;</pre></span></td></tr></table>
+            </span></p>
+            <p><span class="bodyBlack">
+                As it's shown in the sample JSP above, there is no direct reference to the EJB container to be used.
+                The application component provider doesn't have to know what container the EJB is to be deployed to.
+                What it does have to ascertain is that the name the JSP uses is actually an ejb reference. Moreover, the reference
+                should be the one to HelloHome home interface or otherwise the application will fail.
+            </span></p>
+        <a name="install"><h2>Installing OpenEJB's EJB factory in Tomcat</h2></a>
+            <table bgcolor="#7270c2" width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#7270c2"><span class="note-caption">&nbsp;NOTE</span></td></tr><tr><td bgcolor="#7270c2"><table bgcolor="#7270c2" width="100%" cellspacing="2" cellpadding="7" border="0"><tr><td bgcolor="#FFFFFF"><span class="note">
+                <b>CATALINA_HOME</b> environment variable points to the directory where Jakarta Tomcat 4.x has
+                been installed.
+            </span></td></tr></table></td></tr></table>
+            <p><span class="bodyBlack">The J2EE 1.3 specification says (page 56):</span></p>
+            <p><span class="bodyBlack">
+                <hr noshadow="" size="1"><span class="bodyGrey">
+                    The Deployer binds the EJB references to the enterprise bean's homes
+                    in the target operational environment.
+                <hr noshadow="" size="1"></span>
+            </span></p>
+            <p><span class="bodyBlack">
+                It means that after an Application Component Provider (in the document, it's you) has created a web application
+                and specified an EJB reference in the deployment descriptor, a deployer (you, too) has to bind the reference
+                in Tomcat. The task boils down to put appropriate entry in Tomcat's configuration file.
+            </span></p>
+            <p><span class="bodyBlack">
+                Tomcat's default configuration file is
+                <i>server.xml</i> in
+                <i>$CATALINA_HOME/conf</i> directory. According to server.xml's documentation it's possible to
+                create an appropriate definition of a factory and let the factory to handle requests for the objects it
+                is registered to handle. That's what OpenEJB's EJB factory does. It intercepts messages for EJBs, passes it along
+                to OpenEJB and returns requested bean.
+            </span></p>
+            <p><span class="bodyBlack">
+                Tomcat registers resource factories in
+                <i>GlobalNamingResources</i> or
+                <i>Context</i>
+                elements which demarcate the name space of different web applications.
+            </span></p>
+            <p><span class="bodyBlack">
+                <table bgcolor="#7270c2" width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#7270c2"><span class="note-caption">&nbsp;NOTE</span></td></tr><tr><td bgcolor="#7270c2"><table bgcolor="#7270c2" width="100%" cellspacing="2" cellpadding="7" border="0"><tr><td bgcolor="#FFFFFF"><span class="note">
+                    It's recommended to place resource definitions within Context elements, which prevents name clashes
+                    to occur when the same names are to point to different resources (e.g. EJBs).
+                </span></td></tr></table></td></tr></table>
+            </span></p>
+            <p><span class="bodyBlack">
+                The following snippet shows the elements necessary to register the EJB reference, which has been defined
+                in the web application's deployment descriptor. The document doesn't describe the particular elements of
+                server.xml file other than
+                <i>ResourceParams</i> parameters.
+                The reader shall read the
+                <a href-="">Tomcat documentation</a> to get acquainted with the file's structure.
+            </span></p>
+            <p><span class="bodyBlack">
+                <table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#c0c0c0"><i><span class="code-title">$CATALINA_HOME/conf/server.xml</span></i></td></tr><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+
+&lt;Server&gt;
+    ...
+    &lt;Context path=...&gt;
+        ...
+        &lt;Ejb name="ejb/hello"
+             type="Session"
+             home="org.acme.HelloHome"
+             remote="org.acme.Hello"/&gt;
+        &lt;ResourceParams name="ejb/hello"&gt;
+            &lt;parameter&gt;
+                &lt;name&gt;factory&lt;/name&gt;
+                &lt;value&gt;org.openejb.client.TomcatEjbFactory&lt;/value&gt;
+            &lt;/parameter&gt;
+            &lt;parameter&gt;
+                &lt;name&gt;openejb.naming.factory.initial&lt;/name&gt;
+                &lt;value&gt;org.openejb.client.LocalInitialContextFactory&lt;/value&gt;
+            &lt;/parameter&gt;
+            &lt;parameter&gt;
+                &lt;name&gt;openejb.naming.security.principal&lt;/name&gt;
+                &lt;value&gt;username&lt;/value&gt;
+            &lt;/parameter&gt;
+            &lt;parameter&gt;
+                &lt;name&gt;openejb.naming.security.credentials&lt;/name&gt;
+                &lt;value&gt;password&lt;/value&gt;
+            &lt;/parameter&gt;
+            &lt;parameter&gt;
+                &lt;name&gt;openejb.naming.provider.url&lt;/name&gt;
+                &lt;value&gt;localhost:4201&lt;/value&gt;
+            &lt;/parameter&gt;
+            &lt;parameter&gt;
+                &lt;name&gt;openejb.ejb-link&lt;/name&gt;
+                &lt;value&gt;Hello&lt;/value&gt;
+            &lt;/parameter&gt;
+        &lt;/ResourceParams&gt;
+    &lt;/Context&gt;
+    ...
+&lt;/Server&gt;</pre></span></td></tr></table>
+            </span></p>
+            <p><span class="bodyBlack">
+                ResourceParams parameters consitute a bean reference. They inform Tomcat about who will know how to handle
+                requests for the bean.
+                <table cellspacing="2" cellpadding="2" border="0"><tr><td height="5" colspan="2"></td></tr><span class="bodyGrey">
+                    <tr><td width="10" valign="top" align="left"><img src="images/grayDot.gif"></td><td valign="top" align="left"><span class="bodyBlack">
+                        <b>factory</b> - (mandatory) the class instantiated by Tomcat when a request for a bean has arrived;
+                        it must be
+                        <b>org.openejb.client.TomcatEjbFactory</b> if the request ought to be handed over to OpenEJB.
+                    </span></td></tr>
+                    <tr><td width="10" valign="top" align="left"><img src="images/grayDot.gif"></td><td valign="top" align="left"><span class="bodyBlack">
+                        <b>openejb.naming.factory.initial</b> - (mandatory) OpenEJB JNDI InitialContext implementation;
+                        the parameter may be assigned to one of the two values:
+                        <table cellspacing="2" cellpadding="2" border="0"><tr><td height="5" colspan="2"></td></tr><span class="bodyGrey">
+                            <tr><td width="10" valign="top" align="left"><img src="images/grayDot.gif"></td><td valign="top" align="left"><span class="bodyBlack">
+                                <b>org.openejb.client.LocalInitialContextFactory</b> - OpenEJB is started in the same JVM as Tomcat;
+                                it boosts performance drastically as the beans are in the same JVM as a client (e.g. a web application); it boots up
+                                OpenEJB in the local mode - an Local (aka IntraVM) Server instance
+                            </span></td></tr>
+                            <tr><td width="10" valign="top" align="left"><img src="images/grayDot.gif"></td><td valign="top" align="left"><span class="bodyBlack">
+                                <b>org.openejb.client.RemoteInitialContextFactory</b> - OpenEJB is started outside of the current JVM;
+                                all calls are forwarded to a OpenEJB Remote Server instance
+                            </span></td></tr>
+                        </span></table>
+                    </span></td></tr>
+                    <tr><td width="10" valign="top" align="left"><img src="images/grayDot.gif"></td><td valign="top" align="left"><span class="bodyBlack">
+                        <b>openejb.ejb-link</b> - (mandatory) the bean's name to be looked up in OpenEJB; the name doesn't
+                        have to be the same as the reference's name in Tomcat; it's the name the bean may be found in OpenEJB
+                        JNDI name space.
+                    </span></td></tr>
+                </span></table>
+            </span></p>
+            <p><span class="bodyBlack">
+                The following parameters are only required when
+                <b>openejb.naming.factory.initial</b> is set to
+                <b>org.openejb.client.RemoteInitialContextFactory</b>.
+                <table cellspacing="2" cellpadding="2" border="0"><tr><td height="5" colspan="2"></td></tr><span class="bodyGrey">
+                    <tr><td width="10" valign="top" align="left"><img src="images/grayDot.gif"></td><td valign="top" align="left"><span class="bodyBlack">
+                        <b>openejb.naming.security.principal</b> - the name of the user who is allowed to access
+                        the JNDI context
+                    </span></td></tr>
+                    <tr><td width="10" valign="top" align="left"><img src="images/grayDot.gif"></td><td valign="top" align="left"><span class="bodyBlack">
+                        <b>openejb.naming.security.credentials</b> - the password of the user who is set up in
+                        openejb.naming.security.principal parameter
+                    </span></td></tr>
+                    <tr><td width="10" valign="top" align="left"><img src="images/grayDot.gif"></td><td valign="top" align="left"><span class="bodyBlack">
+                        <b>openejb.naming.provider.url</b> - the server and port OpenEJB handles remote requests
+                    </span></td></tr>
+                </span></table>
+            </span></p>
+            <p><span class="bodyBlack">
+                The
+                <b>factory</b> parameter indicates the class which passes a request for a bean to OpenEJB instance.
+                In order for the class to be instantiated by Tomcat, OpenEJB Loader has to be installed. The Loader takes
+                care of loading necessary classes from OpenEJB directory. It finds the directory relying upon
+                <b>OPENEJB_HOME</b> environament variable.
+            </span></p>
+            <p><span class="bodyBlack">
+                Create a file named setenv.sh (or setenv.bat on MS Windows) in $CATALINA_HOME/bin directory with the following
+                content:
+            </span></p>
+            <p><span class="bodyBlack">
+                <table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#c0c0c0"><i><span class="code-title">$CATALINA_HOME/bin/setenv.sh</span></i></td></tr><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+
+export CATALINA_OPTS="-Dopenejb.home=$OPENEJB_HOME"</pre></span></td></tr></table>
+            </span></p>
+            <p><span class="bodyBlack">
+                Finally, add the OpenEJB Loader to Tomcat.
+            </span></p>
+            <p><span class="bodyBlack">
+                <table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+
+$ cp $OPENEJB_HOME/dist/openejb_loader-0.9.0.war webapps/</pre></span></td></tr></table>
+            </span></p>
+            <p><span class="bodyBlack">
+                That's it. Tomcat is now fully configured to work with OpenEJB. Don't forget to start up OpenEJB instance
+                if the factory's been configured with RemoteInitialContextFactory.
+            </span></p>
+        <a name="example"><h2>Example application</h2></a>
+            <p><span class="bodyBlack">
+                You can use the OpenEJB Hello World as an
+                example EJB to test things out. You won't
+                need to do anything differently.  Deploy
+                the myHelloEjb.jar just as described in
+                <a href="http://www.openejb.org/hello-world.html" target="_blank">http://www.openejb.org/hello-world.html</a>
+            </span></p>
+            <p><span class="bodyBlack">
+                Register the factory in Tomcat by editing server.xml, i.e. add the above Ejb element declaration
+                between Context's tags of Tomcat's default <i>example</i> web application. Place the JSP - openejb.jsp -
+                in $CATALINA_HOME/webapps/examples directory.
+            </span></p>
+            <p><span class="bodyBlack">Start up Tomcat and enter <a href="http://localhost:8080/examples/openejb.jsp" target="_blank">http://localhost:8080/examples/openejb.jsp</a>. As a result, you should
+                see "Hello World!!!!!" on the screen.
+            </span></p>
+            <p><span class="bodyBlack">Tomcat should print out the following on its console (note OpenEJB messages about its startup):</span></p>
+            <table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+Using CATALINA_BASE:   C:\_Jacek\apps\jakarta-tomcat-4.1.18
+Using CATALINA_HOME:   C:\_Jacek\apps\jakarta-tomcat-4.1.18
+Using CATALINA_TMPDIR: C:\_Jacek\apps\jakarta-tomcat-4.1.18\temp
+Using JAVA_HOME:       C:\_JACEK\APPS\JDK1.3.1
+[INFO] Registry - -Loading registry information
+[INFO] Registry - -Creating new Registry instance
+[INFO] Registry - -Creating MBeanServer
+[INFO] Http11Protocol - -Initializing Coyote HTTP/1.1 on port 8080
+Starting service Tomcat-Standalone
+Apache Tomcat/4.1.18
+OpenEJB 0.9.0    build: 20030118-2205
+http://openejb.sf.net
+[INFO] Http11Protocol - -Starting Coyote HTTP/1.1 on port 8080
+[INFO] ChannelSocket - -JK2: ajp13 listening on 0.0.0.0/0.0.0.0:8009
+[INFO] JkMain - -Jk running ID=0 time=30/241
+    config=C:\_Jacek\apps\jakarta-tomcat-4.1.18\conf\jk2.properties</pre></span></td></tr></table>
+        </td><td align="left" valign="top" height="5" width="120"><img src="images/diagram-tomcat-adapter.gif" width="240" height="500" border="0"><br>
+        
+        
+        &nbsp;        
+        </td></tr><tr height="5"><td align="left" valign="top" bgcolor="#7270c2" height="5" width="20">&nbsp;</td><td valign="top" bgcolor="#7270c2" height="5" width="95">&nbsp;</td><td align="left" valign="top" bgcolor="#a9a5de" height="5" width="7">&nbsp;</td><td align="left" valign="top" height="5" width="40">&nbsp;</td><td align="left" valign="top" height="5" width="120">&nbsp;</td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" height="5" width="20">&nbsp;</td><td align="left" valign="top" bgcolor="#7270c2" width="95">&nbsp;</td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="40"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="120">&nbsp;</td></tr><tr height="5"><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="20"><img border="0" height="125" width="20" sr
 c="images/stripes1.gif"></td><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="95"><img border="0" height="125" width="105" src="images/stripe105.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" height="100%" rowspan="2" width="7">&nbsp;</td><td align="left" valign="top" height="100%" width="40">&nbsp;</td><td align="left" valign="top" height="100%" width="120">&nbsp;</td></tr><tr height="5"><td align="left" valign="top" height="25" width="40">&nbsp;</td><td align="left" valign="bottom" height="25" width="430"><br><br><img height="3" width="430" border="0" src="images/line_light.gif"><br><p></p><span class="bodyGrey"><small><notice>
+    OpenEJB is a trademark of the OpenEJB Group.
+    Java, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered
+    trademarks of Sun Microsystems, Inc. in the United States and in other
+    countries. XML, XML Schema, XSLT and related standards are trademarks or registered
+    trademarks of MIT, INRIA, Keio or others, and a product of the World Wide Web
+    Consortium. All other product names mentioned herein are trademarks of their respective
+    owners. 
+  </notice><br>&nbsp;<br></small></span><p></p>
+          &nbsp;
+        </td><td align="left" valign="top" height="25" width="120">&nbsp;</td></tr></table></body></html>
\ No newline at end of file

Added: openejb/trunk/website/html/old-site/html/tomcat-setup-win.html
URL: http://svn.apache.org/viewvc/openejb/trunk/website/html/old-site/html/tomcat-setup-win.html?rev=1134776&view=auto
==============================================================================
--- openejb/trunk/website/html/old-site/html/tomcat-setup-win.html (added)
+++ openejb/trunk/website/html/old-site/html/tomcat-setup-win.html Sat Jun 11 21:33:33 2011
@@ -0,0 +1,332 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Setting up Tomcat with OpenEJB On Window's 2000</title><link href="default.css" rel="stylesheet"><link href="/images/favicon.ico" rel="SHORTCUT ICON"></head><body marginwidth="0" marginheight="0" leftmargin="0" bottommargin="0" topmargin="0" vlink="#6763a9" link="#6763a9" bgcolor="#ffffff"><a name="top"></a><table height="400" width="712" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#7270c2" align="left" valign="top" width="20"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td bgcolor="#7270c2" align="left" valign="top" width="95"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="7"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" width="40"><img border="0" height="6" width="40" src="images/dotTrans.gif"></td><td bgcolor="#5A5CB8" align="left" valign="
 top" width="430"><img border="0" height="6" width="430" src="images/top_2.gif"></td><td bgcolor="#E24717" align="left" valign="top" width="120"><img src="images/top_3.gif" width="120" height="6" border="0"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="20"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#ffffff" width="7"></td><td align="left" valign="top" width="40"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="middle" width="430"><a href="faq.html"><span class="menuTopOff">[ f a q ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://wiki.codehaus.org/openejb"><span class="menuTopOff">[ w i k i ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://archive.openejb.codehaus.org/user/"><span class="menuTopOff">[ l i s
  t s ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://cvs.openejb.org/"><span class="menuTopOff">[ c v s ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://jira.codehaus.org/secure/BrowseProject.jspa?id=10401"><span class="menuTopOff">[ b u g s ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img border="0" height="2" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" height="20" width="120">&nbsp;</td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="20"><img border="0" height="3" width="20" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img border="0" height="3" width="105" src="images/line_sm.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="3" width="7" src="images/line_sm.gif"></td><td align="left" valign="top" width="40"><img border="0" height="3" width="40" src="images/line_light.gif"></td><td align="left" valign="top" width="430"><img 
 border="0" height="3" width="430" src="images/line_light.gif"></td><td align="left" valign="top" width="120"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2"><img border="0" height="10" width="20" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img border="0" height="2" width="1" src="images/dotTrans.gif"><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Main</span></td></tr><tr><td align="left" valign="top"><a href="index.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Welcome!</span></a></td></tr><tr><td align="left" valign="top"><a href="download.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Download</span></a></td></tr><tr><td align="left" valign="top"><a href="lists.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Mailing Lists</span></a></td></tr><tr><td align="left" valign="top"><a href="cvs.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Source Code</span></a></td></tr><tr><td align="left" valign="top"><a href="contributors.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                The Team</span></a></td></tr><tr><td align="left" valign="top"><a href="status.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Status</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Users</span></td></tr><tr><td align="left" valign="top"><a href="quickstart.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Quickstart</span></a></td></tr><tr><td align="left" valign="top"><a href="hello-world.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Hello World!</span></a></td></tr><tr><td align="left" valign="top"><a href="cmp_entity_postgresql.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                CMP Example</span></a></td></tr><tr><td align="left" valign="top"><a href="cmp_guide.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                CMP Guide</span></a></td></tr><tr><td align="left" valign="top"><a href="deploy.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Deploy</span></a></td></tr><tr><td align="left" valign="top"><a href="start-command.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Startup</span></a></td></tr><tr><td align="left" valign="top"><a href="validate.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Validation</span></a></td></tr><tr><td align="left" valign="top"><a href="config_containers.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Configuration</span></a></td></tr><tr><td align="left" valign="top"><a href="properties.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Properties</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Servers</span></td></tr><tr><td align="left" valign="top"><a href="embedded.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Local Server</span></a></td></tr><tr><td align="left" valign="top"><a href="remote-server.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Remote Server</span></a></td></tr><tr><td align="left" valign="top"><a href="tomcat.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Tomcat</span></a></td></tr><tr><td align="left" valign="top"><a href="geronimo.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Geronimo</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Integrators</span></td></tr><tr><td align="left" valign="top"><a href="whyopenejb.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Why OpenEJB</span></a></td></tr><tr><td align="left" valign="top"><a href="containersystem.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Overview</span></a></td></tr><tr><td align="left" valign="top"><a href="design_openejb.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Design</span></a></td></tr><tr><td align="left" valign="top"><a href="OpenEJB_presentaion.ppt"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Presentation</span></a></td></tr></table><img border="0" height="15" width="1" src="images/dotTrans.gif"><br><img border="0" height="3" width="105" src="images/line_sm.gif"><br><A href="http://codehaus.org"><IMG alt="The Codehaus" border="0" height="17" width="88" src="http://www.openejb.org/codehaus-smaller.png"></A></td><td align="left" valign="top" bgcolor="#a9a5de" width="7">&nbsp;</td><td align="left" valign="top" width="40">&nbsp;</td><td valign="top" width="430" rowspan="4"><table width="430" cellspacing="0" cellpadding="0" border="0" rows="2" cols="1"><tr><td align="left" valign="top"><br><img width="200" vspace="0" src="./images/logo_ejb2.gif" hspace="0" height="55" border="0"><br><img src="images/dotTrans.gif" hspace="0" height="7" border="0"><br><span class="pageTitle">Setting up Tomcat with OpenEJB On Window's 2000</span><br><img src="images/dotTrans.gif" hspace="0" height="1" border="0"></td></tr></table><p></p><p></p><br><span class="toc"><a hre
 f="#intro">Notes</a><br></span><span class="toc"><a href="#intro">Before we start</a><br></span><span class="toc"><a href="#intro">Installing Everything</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#download.tomcat">Install Tomcat</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#download.openejb">Install OpenEJB</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#download.openejb">Hook them together</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#restart">Restart Tomcat</a><br></span><span class="toc"><a href="#example">Example Servlet</a><br></span><span class="toc"><a href="#didnotwork">What if it Didn't Work?</a><br></span><br><a name="intro"><h2>Notes</h2></a>
+<p><span class="bodyBlack">
+This is a rough draft of how to set up Tomcat with OpenEJB on Window's 2000.
+These are the minimum steps for integrating OpenEJB into Tomcat. The commands 
+in this document are specifically for a Window's DOS prompt and Window's environment.
+Please feel free to add to this document or email the 
+<a href="mailto:user@openejb.org">openejb user</a> 
+mailing list with your suggetions. <b>Your suggestions are always welcome!</b>
+</span></p>
+<a name="intro"><h2>Before we start</h2></a>
+<p><span class="bodyBlack">
+We always tell users to send us info on their OS and what version of 
+OpenEJB, Java, or any other programs they are using when they submit 
+support requests.  So, I guess it's only fair I do the same.  
+</span></p>
+
+<p><span class="bodyBlack">
+Here is some 
+information about my setup </span></p>
+
+<p><span class="bodyBlack">
+Here's the version of Window's and Java that I'm using:
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+Microsoft Windows 2000 [Version 5.00.2195]
+(C) Copyright 1985-2000 Microsoft Corp.
+<br>
+C:\&gt;java -version
+java version "1.4.1-rc"
+Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-rc-b19)
+Java HotSpot(TM) Client VM (build 1.4.1-rc-b19, mixed mode)
+</pre></span></td></tr></table>
+</span></p>
+<a name="intro"><h2>Installing Everything</h2></a>
+<a name="download.tomcat"><h3>Install Tomcat</h3></a>
+<p><span class="bodyBlack">
+If you don't already have Tomcat on your machine, download the 
+Tomcat version of your choice from Apache.
+</span></p>
+<p><span class="bodyBlack">
+<a href="http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/" target="_blank">
+http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/</a><br>
+<br>
+Go into the latest version and click on the bin directory. 
+If you have version 1.4.x of the Java 2 SDK you could download:
+<b>jakarta-tomcat-4.x.x-LE-jdk14.exe</b> - which is a lighter version for 1.4.x
+and makes use of the libraries that version 1.4.x has.  
+Otherwise download <b>jakarta-tomcat-4.x.x.exe</b> which has the libraries that all 
+versions below Java 2 SDK 1.4.x are missing.  
+</span></p>
+
+<table bgcolor="#7270c2" width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#7270c2"><span class="note-caption">&nbsp;NOTE</span></td></tr><tr><td bgcolor="#7270c2"><table bgcolor="#7270c2" width="100%" cellspacing="2" cellpadding="7" border="0"><tr><td bgcolor="#FFFFFF"><span class="note">
+As an alternative to the self executable Tomcat download for Window's, you may also download the
+zip version named: jakarta-tomcat-4.x.x.zip or jakarta-tomcat-4.x.x-LE-jdk14.zip. Unzip this version
+into a directory instead of installing via the Window's installer.  The main difference between the two is that the zip
+version does not have an NT Service installer or Start menu additions, so you would have to start/stop Tomcat manually.
+<br><br>
+If you choose to download the zip version of Tomcat, unzip it to a directory that makes sense to you
+(such as C:\) and follow the post Tomcat install directions.  The start/stop Tomcat
+utility will not be in Start-&gt;Programs-&gt;Apache Tomcat 4.1, instead they will be in C:\tomcat-4.x.x\bin
+and you will need to run them manually by double clicking on them.  The rest of the Tomcat directory structure will 
+be the same in both versions.
+</span></td></tr></table></td></tr></table>
+
+<p><span class="bodyBlack">
+Install Tomcat
+</span></p>
+<p><span class="bodyBlack">
+Go to the directory you downloaded and double click jakarta-tomcat-xxx.exe.  An install
+shield will pop up and ask you for several options.  You may wish to click the check box that
+installs Tomcat as an NT service.<br>
+</span></p>
+<p><span class="bodyBlack">
+<img src="images/tomcat_windows_nt_service.jpg" width="426" height="288" border="0" alt="">
+</span></p>
+<p><span class="bodyBlack">
+Once Tomcat is finished installing, it will automatically start up and you can test it by
+visiting this link: <a href="http://localhost:8080" target="_blank">http://localhost:8080</a>.  If there are
+any problems, consult the Tomcat documentation on their website.
+</span></p>
+
+
+<a name="download.openejb"><h3>Install OpenEJB</h3></a>
+<p><span class="bodyBlack">
+You need OpenEJB 0.9.0 or higher, any older versions of OpenEJB will not 
+work.  You can get that here: <a href="http://www.openejb.org/download.html" target="_blank">
+http://www.openejb.org/download.html</a> - download the zip version of OpenEJB.  If you do not
+have a zip utility, you can get WinZip here: 
+<a href="http://download.com.com/3000-2250-10161502.html" target="_blank">
+http://download.com.com/3000-2250-10161502.html</a>
+</span></p>
+<p><span class="bodyBlack">
+Unpack OpenEJB 
+</span></p>
+<p><span class="bodyBlack">
+Open your zip utility and unpack OpenEJB into the C:\ folder, or one that makes sense to you.
+For our examples, we'll unpack it into c:\openejb-0.9.0
+</span></p>
+
+
+<a name="download.openejb"><h3>Hook them together</h3></a>
+<p><span class="bodyBlack">
+ Go to the Tomcat Dir.  In our case it should be:
+ <b>C:\Program Files\Apache Group\Tomcat 4.1</b>
+</span></p>
+
+<p><span class="bodyBlack">
+Add the OpenEJB Loader to Tomcat
+</span></p>    
+
+<p><span class="bodyBlack">
+We'll want to copy <b>openejb_loader-0.9.0.war</b> from the OpenEJB dist directory
+to the Tomcat webapps directory.
+</span></p>
+
+<img src="images/tomcat_windows_dist_dir.jpg" width="552" height="381" border="0" alt="">
+<img src="images/tomcat_windows_webapps_dir.jpg" width="552" height="381" border="0" alt="">
+
+<p><span class="bodyBlack">
+If you add openejb_loader-0.9.0.war to the webapps directory while Tomcat is running, it
+should automatically unpack the file and create a openejb_loader-0.9.0 
+folder. If it doesn't automatically extract, check the server.xml file 
+that comes with Tomcat.
+</span></p>
+
+
+<p><span class="bodyBlack">
+Now, let the OpenEJB Loader webapp know where to find your OpenEJB 
+distribution by setting the openejb.home init-param.
+</span></p>
+<p><span class="bodyBlack">
+Open the web.xml file in the directory 
+webapps\openejb_loader-0.9.0\WEB-INF.  Uncomment the openejb.home 
+init-param then change the value from the default value to the actual 
+path of your OpenEJB home directory.
+</span></p>
+
+<img src="images/tomcat_windows_webxml.gif" width="567" height="402" border="0" alt="">
+
+
+<a name="restart"><h3>Restart Tomcat</h3></a>
+
+<p><span class="bodyBlack">
+Now, stop Tomcat and then start it again.
+</span></p>
+
+<img src="images/tomcat_windows_stop.gif" width="395" height="186" border="0" alt="">
+
+<p><span class="bodyBlack">
+ At this point, you're actually finished.
+ All the libraries you need are in place.
+ </span></p>
+
+ <p><span class="bodyBlack">
+ Your servlets should use the following
+ InitialContextFactory when creating
+ an InitialContext to lookup beans
+</span></p>
+
+
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>org.openejb.client.LocalInitialContextFactory</pre></span></td></tr></table>
+</span></p>
+
+<p><span class="bodyBlack">
+The openejb.home is taken care of for us 
+with the OpenEJB Loader webapp , so no other
+JNDI options are needed by your servlets to get an
+InitialContext from OpenEJB
+</span></p>
+
+<a name="example"><h2>Example Servlet</h2></a>
+<p><span class="bodyBlack">
+You can use the OpenEJB Hello World as an
+example EJB to test things out. You won't
+need to do anything differently.  Deploy
+the myHelloEjb.jar just as described.
+</span></p>
+
+<p><span class="bodyBlack">
+<a href="http://www.openejb.org/hello-world.html" target="_blank">
+http://www.openejb.org/hello-world.html
+</a>
+</span></p>
+
+<p><span class="bodyBlack">
+Once deployed, the myHelloEjb.jar should be in the beans directory.
+</span></p>
+
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+C:\openejb-0.9.0\beans\myHelloEjb.jar
+</pre></span></td></tr></table>
+</span></p>
+
+<p><span class="bodyBlack">
+You can use the HelloOpenEJB servlet 
+below as an example of a
+servlet that looks up beans from OpenEJB.
+</span></p>
+
+<p><span class="bodyBlack">
+It uses the HelloBean created in the 
+OpenEJB Hello World document, so you'll
+need to run through that first.
+You can put the servlet in the following 
+webapps directory
+</span></p>    
+
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+C:\Program Files\Apache Group\Tomcat 4.1\webapps\examples\WEB-INF\classes
+</pre></span></td></tr></table>
+</span></p>
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#c0c0c0"><i><span class="code-title">HelloOpenEJB.java</span></i></td></tr><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+import java.io.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.naming.*;
+import javax.rmi.PortableRemoteObject;
+
+import org.acme.*;
+
+public class HelloOpenEJB extends HttpServlet {
+
+    String factory = "org.openejb.client.LocalInitialContextFactory";
+
+    public void doGet(HttpServletRequest request, HttpServletResponse response)
+    throws IOException, ServletException {
+    PrintWriter out = response.getWriter();
+    try{
+        
+        Properties p = new Properties();
+        
+        p.put(Context.INITIAL_CONTEXT_FACTORY, factory );
+        InitialContext ctx = new InitialContext( p );
+
+        //Lookup the bean using it's deployment id
+        Object obj = ctx.lookup("/Hello");
+
+        HelloHome ejbHome = (HelloHome) 
+                             PortableRemoteObject.narrow(obj, HelloHome.class);
+
+        //Use the HelloHome to create a HelloObject
+        HelloObject ejbObject = ejbHome.create();
+
+        //The part we've all been wainting for...
+
+        out.println("&lt;html&gt;");
+        out.println("&lt;body&gt;");
+        out.println("&lt;head&gt;");
+        out.println("&lt;title&gt;Hello World!&lt;/title&gt;");
+        out.println("&lt;/head&gt;");
+        out.println("&lt;body&gt;");
+        out.println("&lt;h1&gt;"+ ejbObject.sayHello() +"&lt;/h1&gt;");
+        out.println("&lt;/body&gt;");
+        out.println("&lt;/html&gt;");
+        } catch (Exception e){
+            response.setContentType("text/plain");
+            e.printStackTrace(out);
+        }
+
+    }
+}
+</pre></span></td></tr></table>
+</span></p>
+
+<p><span class="bodyBlack">
+Now, pop open your browser and go to the
+following URL.
+</span></p>
+
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+<a href="http://localhost:8080/examples/servlet/HelloOpenEJB" target="_blank">
+http://localhost:8080/examples/servlet/HelloOpenEJB</a>
+</pre></span></td></tr></table>
+</span></p>
+
+<p><span class="bodyBlack">
+Should say "Hello World!!!" on the screen
+</span></p>
+<a name="didnotwork"><h2>What if it Didn't Work?</h2></a>
+<p><span class="bodyBlack">
+1. Try re-starting Tomcat. The war file that was copied or the environment
+variable that we set may not have gotten picked up by Tomcat.<br>
+2. Make sure the openejb.home init-param in the web.xml file points 
+to where you installed OpenEJB.<br>
+3. Check C:\Program Files\Apache Group\Tomcat 4.1 to see if there is
+an openejb.log file.<br>
+4. Send an email to the email list <a href="mailto:user@openejb.org">
+user@openejb.org</a> and give a thorough explain the problem.
+</span></p>
+</td><td align="left" valign="top" height="5" width="120"><img src="images/diagram-tomcat-adapter.gif" width="240" height="500" border="0"><br>
+        
+        
+        &nbsp;        
+        </td></tr><tr height="5"><td align="left" valign="top" bgcolor="#7270c2" height="5" width="20">&nbsp;</td><td valign="top" bgcolor="#7270c2" height="5" width="95">&nbsp;</td><td align="left" valign="top" bgcolor="#a9a5de" height="5" width="7">&nbsp;</td><td align="left" valign="top" height="5" width="40">&nbsp;</td><td align="left" valign="top" height="5" width="120">&nbsp;</td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" height="5" width="20">&nbsp;</td><td align="left" valign="top" bgcolor="#7270c2" width="95">&nbsp;</td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="40"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="120">&nbsp;</td></tr><tr height="5"><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="20"><img border="0" height="125" width="20" sr
 c="images/stripes1.gif"></td><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="95"><img border="0" height="125" width="105" src="images/stripe105.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" height="100%" rowspan="2" width="7">&nbsp;</td><td align="left" valign="top" height="100%" width="40">&nbsp;</td><td align="left" valign="top" height="100%" width="120">&nbsp;</td></tr><tr height="5"><td align="left" valign="top" height="25" width="40">&nbsp;</td><td align="left" valign="bottom" height="25" width="430"><br><br><img height="3" width="430" border="0" src="images/line_light.gif"><br><p></p><span class="bodyGrey"><small><notice>
+    OpenEJB is a trademark of the OpenEJB Group.
+    Java, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered
+    trademarks of Sun Microsystems, Inc. in the United States and in other
+    countries. XML, XML Schema, XSLT and related standards are trademarks or registered
+    trademarks of MIT, INRIA, Keio or others, and a product of the World Wide Web
+    Consortium. All other product names mentioned herein are trademarks of their respective
+    owners. 
+  </notice><br>&nbsp;<br></small></span><p></p>
+          &nbsp;
+        </td><td align="left" valign="top" height="25" width="120">&nbsp;</td></tr></table></body></html>
\ No newline at end of file

Added: openejb/trunk/website/html/old-site/html/tomcat-setup.html
URL: http://svn.apache.org/viewvc/openejb/trunk/website/html/old-site/html/tomcat-setup.html?rev=1134776&view=auto
==============================================================================
--- openejb/trunk/website/html/old-site/html/tomcat-setup.html (added)
+++ openejb/trunk/website/html/old-site/html/tomcat-setup.html Sat Jun 11 21:33:33 2011
@@ -0,0 +1,313 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>David's notes on setting up Tomcat with OpenEJB</title><link href="default.css" rel="stylesheet"><link href="/images/favicon.ico" rel="SHORTCUT ICON"></head><body marginwidth="0" marginheight="0" leftmargin="0" bottommargin="0" topmargin="0" vlink="#6763a9" link="#6763a9" bgcolor="#ffffff"><a name="top"></a><table height="400" width="712" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#7270c2" align="left" valign="top" width="20"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td bgcolor="#7270c2" align="left" valign="top" width="95"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="7"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" width="40"><img border="0" height="6" width="40" src="images/dotTrans.gif"></td><td bgcolor="#5A5CB8" align="left" valign="
 top" width="430"><img border="0" height="6" width="430" src="images/top_2.gif"></td><td bgcolor="#E24717" align="left" valign="top" width="120"><img src="images/top_3.gif" width="120" height="6" border="0"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="20"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#ffffff" width="7"></td><td align="left" valign="top" width="40"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="middle" width="430"><a href="faq.html"><span class="menuTopOff">[ f a q ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://wiki.codehaus.org/openejb"><span class="menuTopOff">[ w i k i ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://archive.openejb.codehaus.org/user/"><span class="menuTopOff">[ l i s
  t s ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://cvs.openejb.org/"><span class="menuTopOff">[ c v s ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://jira.codehaus.org/secure/BrowseProject.jspa?id=10401"><span class="menuTopOff">[ b u g s ]</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img border="0" height="2" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" height="20" width="120">&nbsp;</td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="20"><img border="0" height="3" width="20" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img border="0" height="3" width="105" src="images/line_sm.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="3" width="7" src="images/line_sm.gif"></td><td align="left" valign="top" width="40"><img border="0" height="3" width="40" src="images/line_light.gif"></td><td align="left" valign="top" width="430"><img 
 border="0" height="3" width="430" src="images/line_light.gif"></td><td align="left" valign="top" width="120"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2"><img border="0" height="10" width="20" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="95"><img border="0" height="2" width="1" src="images/dotTrans.gif"><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Main</span></td></tr><tr><td align="left" valign="top"><a href="index.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Welcome!</span></a></td></tr><tr><td align="left" valign="top"><a href="download.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Download</span></a></td></tr><tr><td align="left" valign="top"><a href="lists.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Mailing Lists</span></a></td></tr><tr><td align="left" valign="top"><a href="cvs.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Source Code</span></a></td></tr><tr><td align="left" valign="top"><a href="contributors.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                The Team</span></a></td></tr><tr><td align="left" valign="top"><a href="status.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Status</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Users</span></td></tr><tr><td align="left" valign="top"><a href="quickstart.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Quickstart</span></a></td></tr><tr><td align="left" valign="top"><a href="hello-world.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Hello World!</span></a></td></tr><tr><td align="left" valign="top"><a href="cmp_entity_postgresql.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                CMP Example</span></a></td></tr><tr><td align="left" valign="top"><a href="cmp_guide.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                CMP Guide</span></a></td></tr><tr><td align="left" valign="top"><a href="deploy.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Deploy</span></a></td></tr><tr><td align="left" valign="top"><a href="start-command.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Startup</span></a></td></tr><tr><td align="left" valign="top"><a href="validate.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Validation</span></a></td></tr><tr><td align="left" valign="top"><a href="config_containers.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Configuration</span></a></td></tr><tr><td align="left" valign="top"><a href="properties.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Properties</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Servers</span></td></tr><tr><td align="left" valign="top"><a href="embedded.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Local Server</span></a></td></tr><tr><td align="left" valign="top"><a href="remote-server.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Remote Server</span></a></td></tr><tr><td align="left" valign="top"><a href="tomcat.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Tomcat</span></a></td></tr><tr><td align="left" valign="top"><a href="geronimo.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Geronimo</span></a></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Integrators</span></td></tr><tr><td align="left" valign="top"><a href="whyopenejb.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Why OpenEJB</span></a></td></tr><tr><td align="left" valign="top"><a href="containersystem.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Overview</span></a></td></tr><tr><td align="left" valign="top"><a href="design_openejb.html"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Design</span></a></td></tr><tr><td align="left" valign="top"><a href="OpenEJB_presentaion.ppt"><span class="subMenuOff">&nbsp;&nbsp;&nbsp;
+                Presentation</span></a></td></tr></table><img border="0" height="15" width="1" src="images/dotTrans.gif"><br><img border="0" height="3" width="105" src="images/line_sm.gif"><br><A href="http://codehaus.org"><IMG alt="The Codehaus" border="0" height="17" width="88" src="http://www.openejb.org/codehaus-smaller.png"></A></td><td align="left" valign="top" bgcolor="#a9a5de" width="7">&nbsp;</td><td align="left" valign="top" width="40">&nbsp;</td><td valign="top" width="430" rowspan="4"><table width="430" cellspacing="0" cellpadding="0" border="0" rows="2" cols="1"><tr><td align="left" valign="top"><br><img width="200" vspace="0" src="./images/logo_ejb2.gif" hspace="0" height="55" border="0"><br><img src="images/dotTrans.gif" hspace="0" height="7" border="0"><br><span class="pageTitle">David's notes on setting up Tomcat with OpenEJB</span><br><img src="images/dotTrans.gif" hspace="0" height="1" border="0"></td></tr></table><p></p><p></p><br><span class="toc"><a hre
 f="#intro">Notes</a><br></span><span class="toc"><a href="#intro">Before we start</a><br></span><span class="toc"><a href="#intro">Installing Everything</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#download.tomcat">Install Tomcat</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#download.openejb">Install OpenEJB</a><br></span><span class="toc"><img border="0" height="1" width="15" src="images/dotTrans.gif"><a href="#download.openejb">Hook them together</a><br></span><span class="toc"><a href="#example">Example Servlet</a><br></span><br><a name="intro"><h2>Notes</h2></a>
+<p><span class="bodyBlack">
+These are my notes from writing the Tomcat/OpenEJB integration.  These are 
+the minimum steps for integrating OpenEJB into Tomcat. The commands in this
+document are specifically for a bash shell in either Linux, Unix, Mac OS X 
+or Windows with Cygwin. 
+</span></p>
+
+<p><span class="bodyBlack">
+The steps will be the same for the Windows Command Prompt, but the 
+syntax of the commands themselves will obviously be different.  Aside from 
+that, there isn't a whole lot of information on what is going on behind 
+the sences.  So, I encourage *anyone* to feel completely welcome (perhaps 
+obligated) to rewrite this document.  
+</span></p>
+
+<p><span class="bodyBlack">
+<i>Anyone...anyone...Bueller...Bueller....</i>
+</span></p>
+<p><span class="bodyBlack">
+Regardless, this should help people get started. So here goes.
+</span></p>
+
+<a name="intro"><h2>Before we start</h2></a>
+
+<p><span class="bodyBlack">
+We always tell users to send us info on their OS and what version of 
+OpenEJB, Java, or any other programs they are using when they submit 
+support requests.  So, I guess it's only fair I do the same.  
+</span></p>
+
+<p><span class="bodyBlack">
+Here is some 
+information about my setup </span></p>
+
+<p><span class="bodyBlack">
+
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+dblevins@Miles /home/j2ee
+$ pwd
+/home/j2ee
+
+dblevins@Miles /home/j2ee
+$ uname -a
+CYGWIN_NT-5.0 Miles 1.3.12(0.54/3/2) 2002-07-06 02:16 i686 unknown
+
+dblevins@Miles /home/j2ee
+$ java -version
+java version "1.3.1"
+Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1-b24)
+Java HotSpot(TM) Client VM (build 1.3.1-b24, mixed mode)
+</pre></span></td></tr></table>
+</span></p>
+<a name="intro"><h2>Installing Everything</h2></a>
+<a name="download.tomcat"><h3>Install Tomcat</h3></a>
+<p><span class="bodyBlack">
+If you don't already have Tomcat on your machine, download the 
+Tomcat version of your choice from Apache we recommend the latest
+version as it has the most up-to-date libraries) In our example,
+we'll be using version 4.1.12.
+</span></p>
+<p><span class="bodyBlack">
+<a href="http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/" target="_blank">
+http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/</a>
+</span></p>
+<p><span class="bodyBlack">
+Unpack Tomcat
+</span></p>
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+dblevins@Miles /home/j2ee
+$ tar xzvf jakarta-tomcat-4.1.12.tar.gz
+</pre></span></td></tr></table>
+</span></p>
+
+
+
+<a name="download.openejb"><h3>Install OpenEJB</h3></a>
+<p><span class="bodyBlack">
+You need OpenEJB 0.9.0 or higher, any older versions of OpenEJB will not 
+work.  You can get that here: <a href="http://www.openejb.org/download.html" target="_blank">
+http://www.openejb.org/download.html</a>
+</span></p>
+<p><span class="bodyBlack">
+Unpack OpenEJB 
+</span></p>
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+dblevins@Miles /home/j2ee
+$ tar xzvf openejb-0.9.0.tar.gz
+</pre></span></td></tr></table>
+</span></p>
+
+
+<a name="download.openejb"><h3>Hook them together</h3></a>
+<p><span class="bodyBlack">
+ Go to the Tomcat Dir
+</span></p>
+
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+dblevins@Miles /home/j2ee
+$ cd jakarta-tomcat-4.1.12
+</pre></span></td></tr></table>
+</span></p>
+
+<p><span class="bodyBlack">
+Pass the OPENEJB_HOME dir into Tomcat
+using the CATALINA_OPTS environment variable
+</span></p>    
+
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+dblevins@Miles /home/j2ee/jakarta-tomcat-4.1.12
+$ export CATALINA_OPTS='-Dopenejb.home=/home/j2ee/openejb-0.9.0'
+</pre></span></td></tr></table>
+</span></p>
+
+<p><span class="bodyBlack">
+Add the OpenEJB Loader to Tomcat
+</span></p>    
+
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+dblevins@Miles /home/j2ee/jakarta-tomcat-4.1.12
+$ cp ../openejb-0.9.0/dist/openejb_loader-0.9.0.war webapps/
+</pre></span></td></tr></table>
+</span></p>
+
+<p><span class="bodyBlack">
+ At this point, you're actually finished.
+ All the libraries you need are in place.
+ Your servlets should use the following
+ InitialContextFactory when creating
+ an InitialContext to lookup beans
+</span></p>
+
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>org.openejb.client.LocalInitialContextFactory</pre></span></td></tr></table>
+</span></p>
+
+<p><span class="bodyBlack">
+The openejb.home is taken care of for us 
+with the CATALINA_OPTS variable, so no other
+JNDI options are needed to get an
+InitialContext from OpenEJB
+</span></p>
+
+<a name="example"><h2>Example Servlet</h2></a>
+<p><span class="bodyBlack">
+You can use the OpenEJB Hello World as an
+example EJB to test things out. You won't
+need to do anything differently.  Deploy
+the myHelloEjb.jar just as described.
+</span></p>
+
+<p><span class="bodyBlack">
+<a href="http://www.openejb.org/hello-world.html" target="_blank">http://www.openejb.org/hello-world.html</a>
+</span></p>
+
+<p><span class="bodyBlack">
+Once deployed, the myHelloEjb.jar should be in the beans directory.
+</span></p>
+
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+openejb-0.9.0/beans/myHelloEjb.jar
+</pre></span></td></tr></table>
+</span></p>
+
+<p><span class="bodyBlack">
+You can use the HelloOpenEJB servlet 
+below as an example of a
+servlet that looks up beans from OpenEJB.
+</span></p>
+
+<p><span class="bodyBlack">
+It uses the HelloBean created in the 
+OpenEJB Hello World document, so you'll
+need to run through that first.
+You can put the servlet in the following 
+webapps directory
+</span></p>    
+
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+jakarta-tomcat-4.1.12/webapps/examples/WEB-INF/classes
+</pre></span></td></tr></table>
+</span></p>
+<p><span class="bodyBlack">
+
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#c0c0c0"><i><span class="code-title">HelloOpenEJB.java</span></i></td></tr><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+import javax.servlet.http.*;
+import javax.naming.*;
+import javax.rmi.PortableRemoteObject; 
+
+import org.acme.*;
+
+public class HelloOpenEJB extends HttpServlet {
+
+    String factory = "org.openejb.client.LocalInitialContextFactory";
+
+    public void doGet(HttpServletRequest request, HttpServletResponse response)
+        throws IOException, ServletException 
+    { 
+    PrintWriter out = response.getWriter();
+
+    try{
+        Properties p = new Properties();
+        p.put(Context.INITIAL_CONTEXT_FACTORY, factory );
+        InitialContext ctx = new InitialContext( p );
+
+        //Lookup the bean using it's deployment id
+        Object obj = ctx.lookup("/Hello");
+
+        HelloHome ejbHome = (HelloHome) 
+                             PortableRemoteObject.narrow(obj, HelloHome.class);
+
+        //Use the HelloHome to create a HelloObject 
+        HelloObject ejbObject = ejbHome.create(); 
+
+        // Set content type.  If not done, only IE will be able 
+        // to interpret that it's HTML.  Otherwise, you'll 
+        // get nothing but tags and content, not HTML.
+        response.setContentType("text/html");
+
+        //The part we've all been wainting for...
+        out.println("&lt;html&gt;");
+        out.println("&lt;body&gt;");
+        out.println("&lt;head&gt;");
+        out.println("&lt;title&gt;Hello World!&lt;/title&gt;");
+        out.println("&lt;/head&gt;");
+        out.println("&lt;body&gt;");
+        out.println("&lt;h1&gt;"+ ejbObject.sayHello() +"&lt;/h1&gt;");
+        out.println("&lt;/body&gt;");
+        out.println("&lt;/html&gt;");
+        } catch (Exception e){
+            response.setContentType("text/plain");
+            e.printStackTrace(out);
+        }
+    }
+}
+</pre></span></td></tr></table>
+</span></p>
+<p><span class="bodyBlack">
+Now you can start Tomcat...
+</span></p>
+
+
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+dblevins@Miles /home/j2ee/jakarta-tomcat-4.1.12
+$ ./bin/startup.sh
+Using CATALINA_BASE:   C:\home\j2ee\jakarta-tomcat-4.1.12
+Using CATALINA_HOME:   C:\home\j2ee\jakarta-tomcat-4.1.12
+Using CATALINA_TMPDIR: /home/j2ee/jakarta-tomcat-4.1.12/temp
+Using JAVA_HOME:       C:\program_files\jdk1.3.1
+</pre></span></td></tr></table>
+</span></p>
+
+<p><span class="bodyBlack">
+Now, pop open your browser and go to the
+following URL.
+</span></p>
+
+
+<p><span class="bodyBlack">
+<table width="440" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#e0e0e0"><span class="code-block"><pre>
+<a href="http://localhost:8080/examples/servlet/HelloOpenEJB" target="_blank">http://localhost:8080/examples/servlet/HelloOpenEJB</a>
+</pre></span></td></tr></table>
+</span></p>
+
+<p><span class="bodyBlack">
+Should say "Hello World!!!" on the screen
+</span></p>
+</td><td align="left" valign="top" height="5" width="120"><img src="images/diagram-tomcat-adapter.gif" width="240" height="500" border="0"><br>
+        
+        
+        &nbsp;        
+        </td></tr><tr height="5"><td align="left" valign="top" bgcolor="#7270c2" height="5" width="20">&nbsp;</td><td valign="top" bgcolor="#7270c2" height="5" width="95">&nbsp;</td><td align="left" valign="top" bgcolor="#a9a5de" height="5" width="7">&nbsp;</td><td align="left" valign="top" height="5" width="40">&nbsp;</td><td align="left" valign="top" height="5" width="120">&nbsp;</td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" height="5" width="20">&nbsp;</td><td align="left" valign="top" bgcolor="#7270c2" width="95">&nbsp;</td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="40"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="120">&nbsp;</td></tr><tr height="5"><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="20"><img border="0" height="125" width="20" sr
 c="images/stripes1.gif"></td><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="95"><img border="0" height="125" width="105" src="images/stripe105.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" height="100%" rowspan="2" width="7">&nbsp;</td><td align="left" valign="top" height="100%" width="40">&nbsp;</td><td align="left" valign="top" height="100%" width="120">&nbsp;</td></tr><tr height="5"><td align="left" valign="top" height="25" width="40">&nbsp;</td><td align="left" valign="bottom" height="25" width="430"><br><br><img height="3" width="430" border="0" src="images/line_light.gif"><br><p></p><span class="bodyGrey"><small><notice>
+    OpenEJB is a trademark of the OpenEJB Group.
+    Java, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered
+    trademarks of Sun Microsystems, Inc. in the United States and in other
+    countries. XML, XML Schema, XSLT and related standards are trademarks or registered
+    trademarks of MIT, INRIA, Keio or others, and a product of the World Wide Web
+    Consortium. All other product names mentioned herein are trademarks of their respective
+    owners. 
+  </notice><br>&nbsp;<br></small></span><p></p>
+          &nbsp;
+        </td><td align="left" valign="top" height="25" width="120">&nbsp;</td></tr></table></body></html>
\ No newline at end of file