User: mulder  
  Date: 00/10/09 21:18:31

  Modified:    manual   examples.html index.html third_party.html
                        warning.html
  Log:
  3rd-party software page:
   - add tomcat integration (still need classloader integration)
  examples page:
   - bare-bones outline of J2EE Blueprints/Pet Store precedures
  
  Revision  Changes    Path
  1.2       +26 -0     jbossweb/manual/examples.html
  
  Index: examples.html
  ===================================================================
  RCS file: /products/cvs/ejboss/jbossweb/manual/examples.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- examples.html     2000/09/14 18:28:36     1.1
  +++ examples.html     2000/10/10 04:18:30     1.2
  @@ -5,5 +5,31 @@
     </head>
     <body>
       <h1 ALIGN="CENTER">jBoss 2.0: Examples</h1>
  +
  +    <h2><a NAME="petstore">J2EE Blueprints: Pet Store</a></h2>
  +    <p>One common example is the Pet Store web app that Sun created
  +      as part of the "J2EE Blueprints" package.  Though it assumes
  +      you're using the J2EE RI server, it's not too difficult to
  +      adapt to jBoss and Tomcat.</p>
  +    <p>Here are the tasks you'll need to perform to deploy the
  +      Pet Store:</p>
  +    <ol>
  +      <li><a HREF="http://java.sun.com/j2ee/download.html">Download</a>
  +        the pet store source.</li>
  +      <li><a HREF="http://jakarta.apache.org/downloads/binindex.html">Download</a>
  +        a current version of Ant</li>
  +      <li>Update your build script to use J2EE components outside of
  +        Sun's <code>j2ee.jar</code></li>
  +      <li>Update your Ant script to use current Ant syntax and ignore
  +        the J2EE RI security implementation</li>
  +      <li>Resolve the Catalog DB Situation</li>
  +      <li>Build the Java code</li>
  +      <li>Make EJB client and server and support JARs</li>
  +      <li>Prepare the database</li>
  +      <li>Add the jBoss-specific EJB directives</li>
  +      <li>Deploy the JSPs to Tomcat</li>
  +      <li>Deploy the EJBs to jBoss</li>
  +      <li>Run the Pet Store!</li>
  +    </ol>
     </body>
   </html>
  
  
  
  1.10      +6 -6      jbossweb/manual/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /products/cvs/ejboss/jbossweb/manual/index.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- index.html        2000/10/02 17:43:26     1.9
  +++ index.html        2000/10/10 04:18:30     1.10
  @@ -117,11 +117,12 @@
           <p CLASS="tc2"><a CLASS="plain" HREF="clients.html#corba">CORBA 
Clients</a></p>
           <p CLASS="tc2"><a CLASS="plain" HREF="clients.html#ejb">EJB Clients</a></p>
         <p CLASS="tc1"><a CLASS="plain" HREF="third_party.html">Third-Party 
Software</a></p>
  -        <p CLASS="tc2">About JVM Integration</p>
  -        <p CLASS="tc2">J2EE</p>
  -          <p CLASS="tc3">Tomcat</p>
  -            <p CLASS="tc4">Same JVM</p>
  -            <p CLASS="tc4">Different JVM</p>
  +        <p CLASS="tc2"><a CLASS="plain" HREF="third_party.html#vm">About JVM 
Integration</a></p>
  +        <p CLASS="tc2"><a CLASS="plain" HREF="third_party.html#j2ee">J2EE</a></p>
  +          <p CLASS="tc3"><a CLASS="plain" 
HREF="third_party.html#tomcat">Tomcat</a></p>
  +            <p CLASS="tc4"><a CLASS="plain" 
HREF="third_party.html#tomcat-separate">Different JVMs</a></p>
  +            <p CLASS="tc4"><a CLASS="plain" 
HREF="third_party.html#tomcat-invm">Same JVM, Different ClassLoaders</a></p>
  +            <p CLASS="tc4"><a CLASS="plain" HREF="third_party.html#tomcat-cl">Same 
JVM, Same ClassLoader</a></p>
             <p CLASS="tc3">Resin</p>
           <p CLASS="tc2">Persistence</p>
             <p CLASS="tc3">Ozone</p>
  @@ -131,7 +132,6 @@
             <p CLASS="tc3">KAWA</p>
             <p CLASS="tc3">JBuilder</p>
             <p CLASS="tc3">VisualAge</p>
  -          <p CLASS="tc3">NetBeans</p>
             <p CLASS="tc3">Forte</p>
         <p CLASS="tc1"><a CLASS="plain" HREF="extending.html">Extending jBoss</a></p>
           <p CLASS="tc2">Licensing</p>
  
  
  
  1.2       +157 -0    jbossweb/manual/third_party.html
  
  Index: third_party.html
  ===================================================================
  RCS file: /products/cvs/ejboss/jbossweb/manual/third_party.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- third_party.html  2000/09/14 18:28:38     1.1
  +++ third_party.html  2000/10/10 04:18:30     1.2
  @@ -5,5 +5,162 @@
     </head>
     <body>
       <h1 ALIGN="CENTER">jBoss 2.0: Third-Party Software</h1>
  +    <p>jBoss is designed to be modular and configurable, and thus should
  +      integrate easily with a number of third-party packages.  Here we
  +      discuss some of the ones we already have configuration information
  +      for.  If you'd like to integrate jBoss with something that is not
  +      listed here, or you already have and would like to share, please
  +      let us know on the jBoss
  +      <a HREF="http://www.jboss.org/mailing.htm">Mailing List</a>.
  +
  +    <h2><a NAME="vm">About JVM Integration</a></h2>
  +    <p>In general, there are two ways to integrate jBoss with another
  +      package.  The first is to integrate within the jBoss JVM.
  +      Examples of this would include using a different Persistence
  +      Manager or Transaction Manager, where it essentially runs as
  +      part of jBoss.  The other way is to run outside the jBoss
  +      JVM.  An example of this might be a management console that
  +      communicates with jBoss over the network.  Some software can
  +      work either way: a servlet container, for example, may run in
  +      the JVM for better performance or outside the JVM for better
  +      flexibility.</p>
  +    <p>Each approach has a most common trouble spot for integration.
  +      The problem with integration within the JVM is that jBoss uses
  +      a number of ClassLoaders, and you must make sure that the other
  +      package uses the correct ClassLoader at any given time - the
  +      best way to do this is to use the JDK 1.2 API call
  +      <code>Thread.currentThread().getContextClassLoader()</code>.
  +      As for out-of-JVM integration, the most common problem is getting
  +      the JNDI and RMI settings right for communicating over the
  +      network (see <a HREF="clients.html#remote">Connecting To A
  +      Remote Server</a> in the <a HREF="clients.html">jBoss Clients</a>
  +      section).</p>
  +
  +    <h2><a NAME="j2ee">J2EE</a></h2>
  +    <p>The most common need for J2EE is to integrate jBoss with a
  +      servlet and JSP container.  This alone does not yet provide a
  +      full J2EE environment though - you also need JavaMail and JMS
  +      integration, among other things.  Here are the procedures for
  +      the packages we have already integrated with.</p>
  +
  +    <h3><a NAME="tomcat">Tomcat</a></h3>
  +    <p>Tomcat is the reference implementation for a Servlet and JSP
  +      container.  You can integrate in the same VM or outside: full
  +      integration gives the best performance but the least
  +      flexibility, and it hardest to implement.  In any of these
  +      cases, you can choose to locate your jBoss code at the top
  +      level of Tomcat, or for individual web apps - but you cannot mix
  +      the two (for example, by putting jBoss JARs at the top level but
  +      your EJB interfaces at the web app level).  We strongly
  +      recommend locating all jBoss and EJB code at the web app level,
  +      so that is how the directions are oriented.</p>
  +
  +    <h4><a NAME="tomcat-separate">Different JVMs</a></h4>
  +    <p>The easiest way to configure Tomcat and jBoss is to run them
  +      completely separately.  In this case, you just need to provide
  +      the jBoss and EJB client files for Tomcat:</p>
  +    <dl>
  +      <dt>jBoss Libraries</dt>
  +      <dd>The following jBoss libraries should be copied to
  +        <b>web app/WEB-INF/lib</b>: <code>jboss-client.jar</code>,
  +     <code>jnp-client.jar</code>, <code>ejb.jar</code>,
  +     <code>jta-spec1_0_1.jar</code>, and (for JDK <= 1.2.2 only)
  +     <code>jndi.jar</code> (see
  +     <a HREF="clients.html#libs">Required Client Libraries</a>
  +     for details on these files).</dd>
  +      <dt>JNDI Configuration</dt>
  +      <dd>The <code>jndi.properties</code> files should be copied to
  +        <b>web app/WEB-INF/classes</b> (see
  +     <a HREF="clients.html#jndi">Using JNDI</a> for details on
  +     on this file).</dd>
  +      <dt>EJB Client Code</dt>
  +      <dd>The EJB client code should go in
  +        <b>web app/WEB-INF/classes</b> (for individual classes) or
  +     <b>web app/WEB-INF/lib</b> (if you have prepared a client
  +     JAR).  The required classes are your EJB home and remote
  +     interfaces, the primary key for entity beans, and any helper
  +     classes used by the client.</dd>
  +    </dl>
  +   
  +    <h4><a NAME="tomcat-invm">Same JVM, Different ClassLoader</a></h4>
  +    <p>The next step of integration is to run Tomcat and jBoss in the
  +      same JVM, bet let them use their default ClassLoaders.  This is
  +      still quite easy to configure, and gives better performance
  +      than the separate setup, but not as good as the fully integrated
  +      configuration.</p>
  +    <p>You may still install Tomcat and jBoss in any way you like - 
  +      they do not need to be installed in the same location.  You
  +      should place your jBoss client libraries and EJB client code
  +      in your web app as above (for the non-integrated install).
  +      However, you must perform the following additional steps to
  +      enable the integrated configuration:</p>
  +    <dl>
  +      <dt>Setup Environment Variables</dt>
  +      <dd>In whatever batch or shell script you use to launch JBoss,
  +        add entries for the following environment variables:
  +        <table border="1">
  +          <tr><th>variable</th><th>value</th></tr>
  +          <tr>
  +            <td align="RIGHT" valign="TOP">TOMCAT_HOME</td>
  +            <td>The base directory of Tomcat's binaries.  With the
  +           binary distribution, this would be jakarta-tomcat under
  +           your installation root.</td>
  +          </tr>
  +          <tr>
  +         <td align="RIGHT" valign="TOP">JAVA_HOME</td>
  +         <td>The base directory of your JDK 1.2.2 or 1.3
  +           installation</td>
  +       </tr>
  +       <tr>
  +         <td align="RIGHT" valign="TOP">CLASSPATH</td>
  +         <td>This should <I>not include anything</I> (unless you
  +           really know what you're doing!).  Both Tomcat and JBoss
  +           have startup sequences that load the necessary JARs onto
  +           the classpath.</td>
  +          </tr>
  +     </table>
  +      </dd>
  +      <dt>Add Request Interceptor <font COLOR="RED"><i>(Tomcat 3.2+
  +        Only!)</i></font></dt>
  +      <dd>In order to enable the correct ClassLoader mechanics, you
  +        must add a RequestInterceptor to the default Tomcat
  +     configuration.  This is global across all web apps, and is
  +     generally a good idea when you're running in JDK 1.2 or
  +     greater, but it required for proper behavior with jBoss.  The
  +     configuration file you need to change is <b>server.xml</b>
  +     and it is located in the <b>conf</b> directory under the
  +     Tomcat install directory (jakarta-tomcat for the binary).
  +     There are a number of lines that deal with
  +     RequestInterceptors, the last of which are currently the
  +     Realms (SimpleRealm, JDBCRealm, etc.). <B>After</B> the other
  +     RequestInterceptors, add the following:
  +<pre>
  +    &lt;RequestInterceptor
  +        className="org.apache.tomcat.request.Jdk12Interceptor"
  +        debug="0" /&gt;
  +</pre>
  +      </dd>
  +      <dt>Enable Tomcat in jBoss</dt>
  +      <dd>To start Tomcat when you start jBoss, you need to edit
  +        the <b>jboss.conf</b> file located in the <b>conf</b>
  +     directory under your jBoss install directory.  You need to
  +     add the following entry to the end of the file:
  +<pre>
  +    &lt;MLET CODE = "org.jboss.tomcat.TomcatService" ARCHIVE="jboss.jar" 
CODEBASE="../lib/ext/"&gt;
  +    &lt;/MLET&gt;
  +</pre>
  +      </dd>
  +    </dl>
  +    <p>After that, when you start jBoss it will start Tomcat too,
  +      and when you shut down jBoss it will shut down Tomcat.  If you
  +      have any problems, make sure that all the environment variables
  +      above are set correctly in your startup script.</p>
  +
  +    <h4><a NAME="tomcat-cl">Same JVM, Same ClassLoader</a></h4>
  +    <p>This is the best-performing option.  Again, you should first
  +      locate all the jBoss and EJB code as above (for the
  +      non-integrated install).  Then perform the follow additional
  +      steps to enable the fully integrated configuration:</p>
  +    <p><i>Forthcoming</i></p>
     </body>
   </html>
  
  
  
  1.10      +14 -0     jbossweb/manual/warning.html
  
  Index: warning.html
  ===================================================================
  RCS file: /products/cvs/ejboss/jbossweb/manual/warning.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- warning.html      2000/10/02 17:43:27     1.9
  +++ warning.html      2000/10/10 04:18:30     1.10
  @@ -95,6 +95,20 @@
             <li>Write advanced dynamic loading section</li>
           </ul>
         </li>
  +      <li>Third-Party Software
  +        <ul>
  +          <li>Get procedures for total Tomcat+jBoss integration
  +            (ContextInterceptor must be written!)</li>
  +          <li>Get procedures for Resin integration</li>
  +          <li>Get procedures for Ozone integration</li>
  +          <li>Get procedures for CocoBase integration</li>
  +          <li>Get procedures for Castor integration</li>
  +          <li>Get procedures for Kawa integration</li>
  +          <li>Get procedures for JBuilder integration</li>
  +          <li>Get procedures for VisualAge integration</li>
  +          <li>Get procedures for Forte integration</li>
  +        </ul>
  +      </li>
         <li>Extending jBoss
           <ul>
             <li>This section must be written</li>
  
  
  

Reply via email to