You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by bu...@apache.org on 2011/07/10 06:35:00 UTC

svn commit: r792464 [18/23] - /websites/staging/openejb/trunk/content/

Added: websites/staging/openejb/trunk/content/privacy-policy.cwiki
==============================================================================
--- websites/staging/openejb/trunk/content/privacy-policy.cwiki (added)
+++ websites/staging/openejb/trunk/content/privacy-policy.cwiki Sun Jul 10 04:34:53 2011
@@ -0,0 +1,13 @@
+Information about your use of this website is collected using server access logs and a tracking cookie. The collected information consists of the following:
+
+  # The IP address from which you access the website;
+  # The type of browser and operating system you use to access our site;
+  # The date and time you access our site;
+  # The pages you visit; and
+  # The addresses of pages from where you followed a link to our site.
+
+Part of this information is gathered using a tracking cookie set by the [Google Analytics|http://www.google.com/analytics/] service and handled by Google as described in their [privacy policy|http://www.google.com/privacy.html]. See your browser documentation for instructions on how to disable the cookie if you prefer not to share this data with Google.
+
+We use the gathered information to help us make our site more useful to visitors and to better understand how and when our site is used. We do not track or collect personally identifiable information or associate gathered data with any personally identifying information from other sources.
+
+By using this website, you consent to the collection of this data in the manner and for the purpose described above.
\ No newline at end of file

Added: websites/staging/openejb/trunk/content/privacy-policy.html
==============================================================================
--- websites/staging/openejb/trunk/content/privacy-policy.html (added)
+++ websites/staging/openejb/trunk/content/privacy-policy.html Sun Jul 10 04:34:53 2011
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <title>Privacy Policy</title>
+    <link rel="stylesheet" type="text/css" media="screen" href="http://incubator.apache.org/lucy/css/lucy.css">
+  </head>
+
+  <body>
+
+    <div id="lucy-rigid_wrapper">
+
+      <div id="lucy-top" class="container_16 lucy-white_box_3d">
+
+        <div id="lucy-logo_box" class="grid_8">
+          <a href="/OpenEJB/"><img src="http://openejb.apache.org/images/logo_openejb.gif" alt="Apache OpenEJB™"></a>
+        </div> <!-- lucy-logo_box -->
+
+        <div #id="lucy-top_nav_box" class="grid_8">
+          <div id="lucy-top_nav_bar" class="container_8">
+            <ul>
+              <li><a href="http://www.apache.org/" title="Apache Software Foundation">Apache Software Foundation</a></li>
+              <li><a href="http://www.apache.org/licenses/" title="License">License</a></li>
+              <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li>
+              <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li>
+              <li><a href="http://www.apache.org/security/ " title="Security">Security</a></li>
+            </ul>
+          </div> <!-- lucy-top_nav_bar -->
+          <p><a href="http://www.apache.org/">Apache</a>&nbsp;&raquo&nbsp;<a href="/">Incubator</a></p>
+          <form name="lucy-top_search_box" id="lucy-top_search_box" action="http://www.google.com/search" method="get">
+            <input value="*.apache.org" name="sitesearch" type="hidden"/>
+            <input type="text" name="q" id="query" style="width:85%">
+            <input type="submit" id="submit" value="Search">
+          </form>
+        </div> <!-- lucy-top_nav_box -->
+
+        <div class="clear"></div>
+
+      </div> <!-- lucy-top -->
+
+      <div id="lucy-main_content" class="container_16 lucy-white_box_3d">
+
+        <div class="grid_4" id="lucy-left_nav_box">
+          <h6>About</h6>
+            <ul>
+              <li><a href="/lucy/">Welcome</a></li>
+              <li><a href="/lucy/faq.html">FAQ</a></li>
+              <li><a href="/lucy/people.html">People</a></li>
+            </ul>
+          <h6>Resources</h6>
+            <ul>
+              <li><a href="/lucy/download.html">Download</a></li>
+              <li><a href="/lucy/mailing_lists.html">Mailing Lists</a></li>
+              <li><a href="/lucy/docs/perl/">Documentation</a></li>
+              <li><a href="http://wiki.apache.org/lucy/">Wiki</a></li>
+              <li><a href="https://issues.apache.org/jira/browse/LUCY">Issue Tracker</a></li>
+              <li><a href="/lucy/version_control.html">Version Control</a></li>
+            </ul>
+          <h6>Related Projects</h6>
+            <ul>
+              <li><a href="http://lucene.apache.org/java/">Lucene</a></li>
+              <li><a href="http://lucene.apache.org/solr/">Solr</a></li>
+              <li><a href="http://incubator.apache.org/lucene.net/">Lucene.NET</a></li>
+              <li><a href="http://lucene.apache.org/pylucene/">PyLucene</a></li>
+              <li><a href="http://lucene.apache.org/openrelevance/">Open Relevance</a></li>
+            </ul>
+        </div> <!-- lucy-left_nav_box -->
+
+        <div id="lucy-main_content_box" class="grid_9">
+          <p>Information about your use of this website is collected using server access
+logs and a tracking cookie. The collected information consists of the
+following:</p>
+
+<ol>
+<li>The IP address from which you access the website;</li>
+<li>The type of browser and operating system you use to access our site;</li>
+<li>The date and time you access our site;</li>
+<li>The pages you visit; and</li>
+<li>The addresses of pages from where you followed a link to our site.</li>
+</ol>
+
+<p>Part of this information is gathered using a tracking cookie set by the <a href="http://www.google.com/analytics/">Google Analytics</a>
+ service and handled by Google as described in their [privacy policy|http://www.google.com/privacy.html]
+. See your browser documentation for instructions on how to disable the
+cookie if you prefer not to share this data with Google.</p>
+
+<p>We use the gathered information to help us make our site more useful to
+visitors and to better understand how and when our site is used. We do not
+track or collect personally identifiable information or associate gathered
+data with any personally identifying information from other sources.</p>
+
+<p>By using this website, you consent to the collection of this data in the
+manner and for the purpose described above.</p>
+
+        </div> <!-- lucy-main_content_box --> 
+        <div class="clear"></div>
+
+      </div> <!-- lucy-main_content -->
+
+      <div id="lucy-copyright" class="container_16">
+        <p>Copyright &#169; 2010-2011 The Apache Software Foundation, Licensed under the 
+           <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+           <br/>
+          
+        </p>
+      </div> <!-- lucy-copyright -->
+
+    </div> <!-- lucy-rigid_wrapper -->
+
+  </body>
+</html>

Added: websites/staging/openejb/trunk/content/proxies.cwiki
==============================================================================
--- websites/staging/openejb/trunk/content/proxies.cwiki (added)
+++ websites/staging/openejb/trunk/content/proxies.cwiki Sun Jul 10 04:34:53 2011
@@ -0,0 +1,11 @@
+h1.  Where's the Java source for the proxies?
+
+The short answer is we do not generate java code containing any ejb logic at all as other platforms like WebSphere and WebLogic do.  We use dynamic proxy generation via java.lang.reflect.Proxy.
+
+Most of the commercial platforms predate dynamic proxy generation and not only statically generate java files which are then compiled and included in the app but decided as long as they were generating java files that they would jam-pack them with as many optimizations as they could.  The result was that significant portions of your application data such as transaction attributes and database queries were stuck in generated vendor code.  We don't have any equivalent to that.
+
+Dynamic proxies such as java.lang.reflect.Proxy or cglib byte code in memory, not java source, which is immediately turned into a class definition and used.  The basic paradigm is that you give the library the interfaces you want implemented and some sort of Handler object.  The library will give you back a proxy instance that does nothing more than call your handler every time a method is called.  Now it's possible with some trickery to pull the byte code for any java.lang.Class instance out of the classloader and then use some sort of java decompiler library to turn that into some sort of java source file, however there's no real motivation to do so as the VM generated proxies are quite dumb and the code that does all the work is not generated and available for download or svn checkout.
+
+If you are coming from a commercial vendor and simply looking for a good place to begin your debugging, look for implementations java.lang.reflect.InvocationHandler and slap a breakpoint in the "invoke" method and you'll be all set.
+
+

Added: websites/staging/openejb/trunk/content/proxies.html
==============================================================================
--- websites/staging/openejb/trunk/content/proxies.html (added)
+++ websites/staging/openejb/trunk/content/proxies.html Sun Jul 10 04:34:53 2011
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <title>Proxies</title>
+    <link rel="stylesheet" type="text/css" media="screen" href="http://incubator.apache.org/lucy/css/lucy.css">
+  </head>
+
+  <body>
+
+    <div id="lucy-rigid_wrapper">
+
+      <div id="lucy-top" class="container_16 lucy-white_box_3d">
+
+        <div id="lucy-logo_box" class="grid_8">
+          <a href="/OpenEJB/"><img src="http://openejb.apache.org/images/logo_openejb.gif" alt="Apache OpenEJB™"></a>
+        </div> <!-- lucy-logo_box -->
+
+        <div #id="lucy-top_nav_box" class="grid_8">
+          <div id="lucy-top_nav_bar" class="container_8">
+            <ul>
+              <li><a href="http://www.apache.org/" title="Apache Software Foundation">Apache Software Foundation</a></li>
+              <li><a href="http://www.apache.org/licenses/" title="License">License</a></li>
+              <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li>
+              <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li>
+              <li><a href="http://www.apache.org/security/ " title="Security">Security</a></li>
+            </ul>
+          </div> <!-- lucy-top_nav_bar -->
+          <p><a href="http://www.apache.org/">Apache</a>&nbsp;&raquo&nbsp;<a href="/">Incubator</a></p>
+          <form name="lucy-top_search_box" id="lucy-top_search_box" action="http://www.google.com/search" method="get">
+            <input value="*.apache.org" name="sitesearch" type="hidden"/>
+            <input type="text" name="q" id="query" style="width:85%">
+            <input type="submit" id="submit" value="Search">
+          </form>
+        </div> <!-- lucy-top_nav_box -->
+
+        <div class="clear"></div>
+
+      </div> <!-- lucy-top -->
+
+      <div id="lucy-main_content" class="container_16 lucy-white_box_3d">
+
+        <div class="grid_4" id="lucy-left_nav_box">
+          <h6>About</h6>
+            <ul>
+              <li><a href="/lucy/">Welcome</a></li>
+              <li><a href="/lucy/faq.html">FAQ</a></li>
+              <li><a href="/lucy/people.html">People</a></li>
+            </ul>
+          <h6>Resources</h6>
+            <ul>
+              <li><a href="/lucy/download.html">Download</a></li>
+              <li><a href="/lucy/mailing_lists.html">Mailing Lists</a></li>
+              <li><a href="/lucy/docs/perl/">Documentation</a></li>
+              <li><a href="http://wiki.apache.org/lucy/">Wiki</a></li>
+              <li><a href="https://issues.apache.org/jira/browse/LUCY">Issue Tracker</a></li>
+              <li><a href="/lucy/version_control.html">Version Control</a></li>
+            </ul>
+          <h6>Related Projects</h6>
+            <ul>
+              <li><a href="http://lucene.apache.org/java/">Lucene</a></li>
+              <li><a href="http://lucene.apache.org/solr/">Solr</a></li>
+              <li><a href="http://incubator.apache.org/lucene.net/">Lucene.NET</a></li>
+              <li><a href="http://lucene.apache.org/pylucene/">PyLucene</a></li>
+              <li><a href="http://lucene.apache.org/openrelevance/">Open Relevance</a></li>
+            </ul>
+        </div> <!-- lucy-left_nav_box -->
+
+        <div id="lucy-main_content_box" class="grid_9">
+          <p><a name="Proxies-Where'stheJavasourcefortheproxies?"></a></p>
+
+<h1>Where's the Java source for the proxies?</h1>
+
+<p>The short answer is we do not generate java code containing any ejb logic
+at all as other platforms like WebSphere and WebLogic do.  We use dynamic
+proxy generation via java.lang.reflect.Proxy.</p>
+
+<p>Most of the commercial platforms predate dynamic proxy generation and not
+only statically generate java files which are then compiled and included in
+the app but decided as long as they were generating java files that they
+would jam-pack them with as many optimizations as they could.  The result
+was that significant portions of your application data such as transaction
+attributes and database queries were stuck in generated vendor code.  We
+don't have any equivalent to that.</p>
+
+<p>Dynamic proxies such as java.lang.reflect.Proxy or cglib byte code in
+memory, not java source, which is immediately turned into a class
+definition and used.  The basic paradigm is that you give the library the
+interfaces you want implemented and some sort of Handler object.  The
+library will give you back a proxy instance that does nothing more than
+call your handler every time a method is called.  Now it's possible with
+some trickery to pull the byte code for any java.lang.Class instance out of
+the classloader and then use some sort of java decompiler library to turn
+that into some sort of java source file, however there's no real motivation
+to do so as the VM generated proxies are quite dumb and the code that does
+all the work is not generated and available for download or svn checkout.</p>
+
+<p>If you are coming from a commercial vendor and simply looking for a good
+place to begin your debugging, look for implementations
+java.lang.reflect.InvocationHandler and slap a breakpoint in the "invoke"
+method and you'll be all set.</p>
+
+        </div> <!-- lucy-main_content_box --> 
+        <div class="clear"></div>
+
+      </div> <!-- lucy-main_content -->
+
+      <div id="lucy-copyright" class="container_16">
+        <p>Copyright &#169; 2010-2011 The Apache Software Foundation, Licensed under the 
+           <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+           <br/>
+          
+        </p>
+      </div> <!-- lucy-copyright -->
+
+    </div> <!-- lucy-rigid_wrapper -->
+
+  </body>
+</html>

Added: websites/staging/openejb/trunk/content/quicklinks.cwiki
==============================================================================
--- websites/staging/openejb/trunk/content/quicklinks.cwiki (added)
+++ websites/staging/openejb/trunk/content/quicklinks.cwiki Sun Jul 10 04:34:53 2011
@@ -0,0 +1 @@
+[Home|Index] | [News] | [FAQ] | [Download] | [Lists|Mailing Lists] | {link:Issues|http://issues.apache.org/jira/browse/OPENEJB}
\ No newline at end of file

Added: websites/staging/openejb/trunk/content/quicklinks.html
==============================================================================
--- websites/staging/openejb/trunk/content/quicklinks.html (added)
+++ websites/staging/openejb/trunk/content/quicklinks.html Sun Jul 10 04:34:53 2011
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <title>QuickLinks</title>
+    <link rel="stylesheet" type="text/css" media="screen" href="http://incubator.apache.org/lucy/css/lucy.css">
+  </head>
+
+  <body>
+
+    <div id="lucy-rigid_wrapper">
+
+      <div id="lucy-top" class="container_16 lucy-white_box_3d">
+
+        <div id="lucy-logo_box" class="grid_8">
+          <a href="/OpenEJB/"><img src="http://openejb.apache.org/images/logo_openejb.gif" alt="Apache OpenEJB™"></a>
+        </div> <!-- lucy-logo_box -->
+
+        <div #id="lucy-top_nav_box" class="grid_8">
+          <div id="lucy-top_nav_bar" class="container_8">
+            <ul>
+              <li><a href="http://www.apache.org/" title="Apache Software Foundation">Apache Software Foundation</a></li>
+              <li><a href="http://www.apache.org/licenses/" title="License">License</a></li>
+              <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li>
+              <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li>
+              <li><a href="http://www.apache.org/security/ " title="Security">Security</a></li>
+            </ul>
+          </div> <!-- lucy-top_nav_bar -->
+          <p><a href="http://www.apache.org/">Apache</a>&nbsp;&raquo&nbsp;<a href="/">Incubator</a></p>
+          <form name="lucy-top_search_box" id="lucy-top_search_box" action="http://www.google.com/search" method="get">
+            <input value="*.apache.org" name="sitesearch" type="hidden"/>
+            <input type="text" name="q" id="query" style="width:85%">
+            <input type="submit" id="submit" value="Search">
+          </form>
+        </div> <!-- lucy-top_nav_box -->
+
+        <div class="clear"></div>
+
+      </div> <!-- lucy-top -->
+
+      <div id="lucy-main_content" class="container_16 lucy-white_box_3d">
+
+        <div class="grid_4" id="lucy-left_nav_box">
+          <h6>About</h6>
+            <ul>
+              <li><a href="/lucy/">Welcome</a></li>
+              <li><a href="/lucy/faq.html">FAQ</a></li>
+              <li><a href="/lucy/people.html">People</a></li>
+            </ul>
+          <h6>Resources</h6>
+            <ul>
+              <li><a href="/lucy/download.html">Download</a></li>
+              <li><a href="/lucy/mailing_lists.html">Mailing Lists</a></li>
+              <li><a href="/lucy/docs/perl/">Documentation</a></li>
+              <li><a href="http://wiki.apache.org/lucy/">Wiki</a></li>
+              <li><a href="https://issues.apache.org/jira/browse/LUCY">Issue Tracker</a></li>
+              <li><a href="/lucy/version_control.html">Version Control</a></li>
+            </ul>
+          <h6>Related Projects</h6>
+            <ul>
+              <li><a href="http://lucene.apache.org/java/">Lucene</a></li>
+              <li><a href="http://lucene.apache.org/solr/">Solr</a></li>
+              <li><a href="http://incubator.apache.org/lucene.net/">Lucene.NET</a></li>
+              <li><a href="http://lucene.apache.org/pylucene/">PyLucene</a></li>
+              <li><a href="http://lucene.apache.org/openrelevance/">Open Relevance</a></li>
+            </ul>
+        </div> <!-- lucy-left_nav_box -->
+
+        <div id="lucy-main_content_box" class="grid_9">
+          <p><a href="index.html">Home</a>
+ | [News]
+ | [FAQ]
+ | [Download]
+ | [Lists|Mailing Lists]
+ | {link:Issues|http://issues.apache.org/jira/browse/OPENEJB}</p>
+
+        </div> <!-- lucy-main_content_box --> 
+        <div class="clear"></div>
+
+      </div> <!-- lucy-main_content -->
+
+      <div id="lucy-copyright" class="container_16">
+        <p>Copyright &#169; 2010-2011 The Apache Software Foundation, Licensed under the 
+           <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+           <br/>
+          
+        </p>
+      </div> <!-- lucy-copyright -->
+
+    </div> <!-- lucy-rigid_wrapper -->
+
+  </body>
+</html>

Added: websites/staging/openejb/trunk/content/quickstart.cwiki
==============================================================================
--- websites/staging/openejb/trunk/content/quickstart.cwiki (added)
+++ websites/staging/openejb/trunk/content/quickstart.cwiki Sun Jul 10 04:34:53 2011
@@ -0,0 +1,53 @@
+h1. Installation
+
+
+To install OpenEJB, simply [download the latest binary|Downloads] and unpack your zip or tar.gz into the directory where you want OpenEJB to live.
+
+Windows users can download the zip and unpack it with the WinZip program.
+
+Linux users can download the tar.gz and unpack it with the following command:
+
+{{tar xzvf openejb-3.0.tar.gz}}
+
+
+Congratulations, you've installed OpenEJB.
+
+If you've unpacked OpenEJB into the directory C:\openejb-3.0, for example, then this directory is your OPENEJB_HOME directory. The OPENEJB_HOME directory is referred to in various parts of the documentation, so it's good to remember where it is.
+
+h1. Using OpenEJB
+
+
+Now all you need to do is move to the bin directory in OPENEJB_HOME, the directory where OpenEJB was unpacked, and type:
+
+{{openejb}}
+
+For Windows users, that looks like this:
+
+{{C:\openejb-3.0> bin\openejb}}
+
+For UNIX/Linux/Mac OS X users, that looks like this:
+
+{{[user@host openejb-3.0]# ./bin/openejb}}
+
+You really only need to know two commands to use OpenEJB, [deploy|OPENEJBx30:Deploy Tool] and [start|OPENEJBx30:Startup]. Both are completely documented and have examples.
+
+For help information and command options, try this:
+
+{quote}
+openejb deploy --help
+openejb start --help
+{quote}
+
+For examples on using the start command and options, try this:
+
+{quote}
+openejb start --examples
+{quote}
+
+That's it!
+
+If you don't have any EJBs or clients to run, try the ubiquitous [Hello World|OPENEJBx30:Hello World] example.
+
+h1. Join the mailing list
+
+The OpenEJB User list is where the general OpenEJB community goes to ask questions, make suggestions, chat with other users, and keep a finger on the pulse of the project. More information about the user list and dev list can be found [here|Mailing Lists] 

Added: websites/staging/openejb/trunk/content/quickstart.html
==============================================================================
--- websites/staging/openejb/trunk/content/quickstart.html (added)
+++ websites/staging/openejb/trunk/content/quickstart.html Sun Jul 10 04:34:53 2011
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <title>Quickstart</title>
+    <link rel="stylesheet" type="text/css" media="screen" href="http://incubator.apache.org/lucy/css/lucy.css">
+  </head>
+
+  <body>
+
+    <div id="lucy-rigid_wrapper">
+
+      <div id="lucy-top" class="container_16 lucy-white_box_3d">
+
+        <div id="lucy-logo_box" class="grid_8">
+          <a href="/OpenEJB/"><img src="http://openejb.apache.org/images/logo_openejb.gif" alt="Apache OpenEJB™"></a>
+        </div> <!-- lucy-logo_box -->
+
+        <div #id="lucy-top_nav_box" class="grid_8">
+          <div id="lucy-top_nav_bar" class="container_8">
+            <ul>
+              <li><a href="http://www.apache.org/" title="Apache Software Foundation">Apache Software Foundation</a></li>
+              <li><a href="http://www.apache.org/licenses/" title="License">License</a></li>
+              <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li>
+              <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li>
+              <li><a href="http://www.apache.org/security/ " title="Security">Security</a></li>
+            </ul>
+          </div> <!-- lucy-top_nav_bar -->
+          <p><a href="http://www.apache.org/">Apache</a>&nbsp;&raquo&nbsp;<a href="/">Incubator</a></p>
+          <form name="lucy-top_search_box" id="lucy-top_search_box" action="http://www.google.com/search" method="get">
+            <input value="*.apache.org" name="sitesearch" type="hidden"/>
+            <input type="text" name="q" id="query" style="width:85%">
+            <input type="submit" id="submit" value="Search">
+          </form>
+        </div> <!-- lucy-top_nav_box -->
+
+        <div class="clear"></div>
+
+      </div> <!-- lucy-top -->
+
+      <div id="lucy-main_content" class="container_16 lucy-white_box_3d">
+
+        <div class="grid_4" id="lucy-left_nav_box">
+          <h6>About</h6>
+            <ul>
+              <li><a href="/lucy/">Welcome</a></li>
+              <li><a href="/lucy/faq.html">FAQ</a></li>
+              <li><a href="/lucy/people.html">People</a></li>
+            </ul>
+          <h6>Resources</h6>
+            <ul>
+              <li><a href="/lucy/download.html">Download</a></li>
+              <li><a href="/lucy/mailing_lists.html">Mailing Lists</a></li>
+              <li><a href="/lucy/docs/perl/">Documentation</a></li>
+              <li><a href="http://wiki.apache.org/lucy/">Wiki</a></li>
+              <li><a href="https://issues.apache.org/jira/browse/LUCY">Issue Tracker</a></li>
+              <li><a href="/lucy/version_control.html">Version Control</a></li>
+            </ul>
+          <h6>Related Projects</h6>
+            <ul>
+              <li><a href="http://lucene.apache.org/java/">Lucene</a></li>
+              <li><a href="http://lucene.apache.org/solr/">Solr</a></li>
+              <li><a href="http://incubator.apache.org/lucene.net/">Lucene.NET</a></li>
+              <li><a href="http://lucene.apache.org/pylucene/">PyLucene</a></li>
+              <li><a href="http://lucene.apache.org/openrelevance/">Open Relevance</a></li>
+            </ul>
+        </div> <!-- lucy-left_nav_box -->
+
+        <div id="lucy-main_content_box" class="grid_9">
+          <p><a name="Quickstart-Installation"></a></p>
+
+<h1>Installation</h1>
+
+<p>To install OpenEJB, simply <a href="downloads.html">download the latest binary</a>
+ and unpack your zip or tar.gz into the directory where you want OpenEJB to
+live.</p>
+
+<p>Windows users can download the zip and unpack it with the WinZip program.</p>
+
+<p>Linux users can download the tar.gz and unpack it with the following
+command:</p>
+
+<p><em>tar xzvf openejb-3.0.tar.gz</em></p>
+
+<p>Congratulations, you've installed OpenEJB.</p>
+
+<p>If you've unpacked OpenEJB into the directory C:\openejb-3.0, for example,
+then this directory is your OPENEJB_HOME directory. The OPENEJB_HOME
+directory is referred to in various parts of the documentation, so it's
+good to remember where it is.</p>
+
+<p><a name="Quickstart-UsingOpenEJB"></a></p>
+
+<h1>Using OpenEJB</h1>
+
+<p>Now all you need to do is move to the bin directory in OPENEJB_HOME, the
+directory where OpenEJB was unpacked, and type:</p>
+
+<p><em>openejb</em></p>
+
+<p>For Windows users, that looks like this:</p>
+
+<p><em>C:\openejb-3.0> bin\openejb</em></p>
+
+<p>For UNIX/Linux/Mac OS X users, that looks like this:</p>
+
+<p>{{<a href="user@host-openejb-3.0.html">user@host openejb-3.0</a></p>
+
+<h1>./bin/openejb}}</h1>
+
+<p>You really only need to know two commands to use OpenEJB, <a href="openejbx30:deploy-tool.html">deploy</a>
+ and [start|OPENEJBx30:Startup]
+. Both are completely documented and have examples.</p>
+
+<p>For help information and command options, try this:</p>
+
+<p>{quote}
+openejb deploy --help
+openejb start --help
+{quote}</p>
+
+<p>For examples on using the start command and options, try this:</p>
+
+<p>{quote}
+openejb start --examples
+{quote}</p>
+
+<p>That's it!</p>
+
+<p>If you don't have any EJBs or clients to run, try the ubiquitous <a href="openejbx30:hello-world.html">Hello World</a>
+ example.</p>
+
+<p><a name="Quickstart-Jointhemailinglist"></a></p>
+
+<h1>Join the mailing list</h1>
+
+<p>The OpenEJB User list is where the general OpenEJB community goes to ask
+questions, make suggestions, chat with other users, and keep a finger on
+the pulse of the project. More information about the user list and dev list
+can be found <a href="mailing-lists.html">here</a></p>
+
+        </div> <!-- lucy-main_content_box --> 
+        <div class="clear"></div>
+
+      </div> <!-- lucy-main_content -->
+
+      <div id="lucy-copyright" class="container_16">
+        <p>Copyright &#169; 2010-2011 The Apache Software Foundation, Licensed under the 
+           <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+           <br/>
+          
+        </p>
+      </div> <!-- lucy-copyright -->
+
+    </div> <!-- lucy-rigid_wrapper -->
+
+  </body>
+</html>

Added: websites/staging/openejb/trunk/content/release-notes.cwiki
==============================================================================
    (empty)

Added: websites/staging/openejb/trunk/content/release-notes.html
==============================================================================
--- websites/staging/openejb/trunk/content/release-notes.html (added)
+++ websites/staging/openejb/trunk/content/release-notes.html Sun Jul 10 04:34:53 2011
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <title>Release Notes</title>
+    <link rel="stylesheet" type="text/css" media="screen" href="http://incubator.apache.org/lucy/css/lucy.css">
+  </head>
+
+  <body>
+
+    <div id="lucy-rigid_wrapper">
+
+      <div id="lucy-top" class="container_16 lucy-white_box_3d">
+
+        <div id="lucy-logo_box" class="grid_8">
+          <a href="/OpenEJB/"><img src="http://openejb.apache.org/images/logo_openejb.gif" alt="Apache OpenEJB™"></a>
+        </div> <!-- lucy-logo_box -->
+
+        <div #id="lucy-top_nav_box" class="grid_8">
+          <div id="lucy-top_nav_bar" class="container_8">
+            <ul>
+              <li><a href="http://www.apache.org/" title="Apache Software Foundation">Apache Software Foundation</a></li>
+              <li><a href="http://www.apache.org/licenses/" title="License">License</a></li>
+              <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li>
+              <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li>
+              <li><a href="http://www.apache.org/security/ " title="Security">Security</a></li>
+            </ul>
+          </div> <!-- lucy-top_nav_bar -->
+          <p><a href="http://www.apache.org/">Apache</a>&nbsp;&raquo&nbsp;<a href="/">Incubator</a></p>
+          <form name="lucy-top_search_box" id="lucy-top_search_box" action="http://www.google.com/search" method="get">
+            <input value="*.apache.org" name="sitesearch" type="hidden"/>
+            <input type="text" name="q" id="query" style="width:85%">
+            <input type="submit" id="submit" value="Search">
+          </form>
+        </div> <!-- lucy-top_nav_box -->
+
+        <div class="clear"></div>
+
+      </div> <!-- lucy-top -->
+
+      <div id="lucy-main_content" class="container_16 lucy-white_box_3d">
+
+        <div class="grid_4" id="lucy-left_nav_box">
+          <h6>About</h6>
+            <ul>
+              <li><a href="/lucy/">Welcome</a></li>
+              <li><a href="/lucy/faq.html">FAQ</a></li>
+              <li><a href="/lucy/people.html">People</a></li>
+            </ul>
+          <h6>Resources</h6>
+            <ul>
+              <li><a href="/lucy/download.html">Download</a></li>
+              <li><a href="/lucy/mailing_lists.html">Mailing Lists</a></li>
+              <li><a href="/lucy/docs/perl/">Documentation</a></li>
+              <li><a href="http://wiki.apache.org/lucy/">Wiki</a></li>
+              <li><a href="https://issues.apache.org/jira/browse/LUCY">Issue Tracker</a></li>
+              <li><a href="/lucy/version_control.html">Version Control</a></li>
+            </ul>
+          <h6>Related Projects</h6>
+            <ul>
+              <li><a href="http://lucene.apache.org/java/">Lucene</a></li>
+              <li><a href="http://lucene.apache.org/solr/">Solr</a></li>
+              <li><a href="http://incubator.apache.org/lucene.net/">Lucene.NET</a></li>
+              <li><a href="http://lucene.apache.org/pylucene/">PyLucene</a></li>
+              <li><a href="http://lucene.apache.org/openrelevance/">Open Relevance</a></li>
+            </ul>
+        </div> <!-- lucy-left_nav_box -->
+
+        <div id="lucy-main_content_box" class="grid_9">
+          
+
+        </div> <!-- lucy-main_content_box --> 
+        <div class="clear"></div>
+
+      </div> <!-- lucy-main_content -->
+
+      <div id="lucy-copyright" class="container_16">
+        <p>Copyright &#169; 2010-2011 The Apache Software Foundation, Licensed under the 
+           <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+           <br/>
+          
+        </p>
+      </div> <!-- lucy-copyright -->
+
+    </div> <!-- lucy-rigid_wrapper -->
+
+  </body>
+</html>

Added: websites/staging/openejb/trunk/content/remote-server.cwiki
==============================================================================
--- websites/staging/openejb/trunk/content/remote-server.cwiki (added)
+++ websites/staging/openejb/trunk/content/remote-server.cwiki Sun Jul 10 04:34:53 2011
@@ -0,0 +1,49 @@
+!http://www.openejb.org/images/diagram-remote-server.gif|valign=top, align=right, hspace=15!
+h1. Accessing EJBs Remotely
+
+When using OpenEJB as a stand-alone server you can connect across a network and access EJBs from a remote client.  The client code for accessing an EJB's Remote Interface is the same, however to actually connect across a network to the server, you need to specify different JNDI parameters.
+
+h1. Short version
+
+Using OpenEJB's default remote server implementation is pretty straight forward. You simply need to:
+# Deploy your bean.
+# Start the server on the IP and Port you want, 25.14.3.92 and 4201 for example.
+# Use that information in your client to create an initial context
+# Add the right jars to your client's classpath
+
+So, here it is in short.
+
+Deploy your bean with the Deploy Tool:
+
+bq. c:\openejb> openejb.bat deploy beans\myBean.jar
+
+See the [OPENEJBx30:Deploy Tool] documentation for more details on deploying beans.
+
+Start the server:
+
+bq. c:\openejb> openejb.bat start -h 25.14.3.92 -p 4201
+
+See the Remote Server command-line guide for more details on starting the Remote Server.
+
+Create an initial context in your client as such:
+
+{code}
+Properties p = new Properties();
+p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory");
+p.put("java.naming.provider.url", "ejbd://25.14.3.92:4201");
+p.put("java.naming.security.principal", "myuser");
+p.put("java.naming.security.credentials", "mypass");
+    
+InitialContext ctx = new InitialContext(p);
+{code}
+
+If you don't have any EJBs or clients to run, try the ubiquitous [Hello World|OPENEJBx30:Hello World] example.
+
+In OpenEJB 0.9.2 and before, add the following libraries to your clients classpath:
+* openejb-x.x.x.jar
+* openejb_client-x.x.x.jar
+
+In OpenEJB 1.0 beta 1, add the following libraries to your clients classpath:
+* openejb-core-10-beta1.jar
+
+Both can be found in the lib directory where you installed OpenEJB.
\ No newline at end of file

Added: websites/staging/openejb/trunk/content/remote-server.html
==============================================================================
--- websites/staging/openejb/trunk/content/remote-server.html (added)
+++ websites/staging/openejb/trunk/content/remote-server.html Sun Jul 10 04:34:53 2011
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <title>Remote Server</title>
+    <link rel="stylesheet" type="text/css" media="screen" href="http://incubator.apache.org/lucy/css/lucy.css">
+  </head>
+
+  <body>
+
+    <div id="lucy-rigid_wrapper">
+
+      <div id="lucy-top" class="container_16 lucy-white_box_3d">
+
+        <div id="lucy-logo_box" class="grid_8">
+          <a href="/OpenEJB/"><img src="http://openejb.apache.org/images/logo_openejb.gif" alt="Apache OpenEJB™"></a>
+        </div> <!-- lucy-logo_box -->
+
+        <div #id="lucy-top_nav_box" class="grid_8">
+          <div id="lucy-top_nav_bar" class="container_8">
+            <ul>
+              <li><a href="http://www.apache.org/" title="Apache Software Foundation">Apache Software Foundation</a></li>
+              <li><a href="http://www.apache.org/licenses/" title="License">License</a></li>
+              <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li>
+              <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li>
+              <li><a href="http://www.apache.org/security/ " title="Security">Security</a></li>
+            </ul>
+          </div> <!-- lucy-top_nav_bar -->
+          <p><a href="http://www.apache.org/">Apache</a>&nbsp;&raquo&nbsp;<a href="/">Incubator</a></p>
+          <form name="lucy-top_search_box" id="lucy-top_search_box" action="http://www.google.com/search" method="get">
+            <input value="*.apache.org" name="sitesearch" type="hidden"/>
+            <input type="text" name="q" id="query" style="width:85%">
+            <input type="submit" id="submit" value="Search">
+          </form>
+        </div> <!-- lucy-top_nav_box -->
+
+        <div class="clear"></div>
+
+      </div> <!-- lucy-top -->
+
+      <div id="lucy-main_content" class="container_16 lucy-white_box_3d">
+
+        <div class="grid_4" id="lucy-left_nav_box">
+          <h6>About</h6>
+            <ul>
+              <li><a href="/lucy/">Welcome</a></li>
+              <li><a href="/lucy/faq.html">FAQ</a></li>
+              <li><a href="/lucy/people.html">People</a></li>
+            </ul>
+          <h6>Resources</h6>
+            <ul>
+              <li><a href="/lucy/download.html">Download</a></li>
+              <li><a href="/lucy/mailing_lists.html">Mailing Lists</a></li>
+              <li><a href="/lucy/docs/perl/">Documentation</a></li>
+              <li><a href="http://wiki.apache.org/lucy/">Wiki</a></li>
+              <li><a href="https://issues.apache.org/jira/browse/LUCY">Issue Tracker</a></li>
+              <li><a href="/lucy/version_control.html">Version Control</a></li>
+            </ul>
+          <h6>Related Projects</h6>
+            <ul>
+              <li><a href="http://lucene.apache.org/java/">Lucene</a></li>
+              <li><a href="http://lucene.apache.org/solr/">Solr</a></li>
+              <li><a href="http://incubator.apache.org/lucene.net/">Lucene.NET</a></li>
+              <li><a href="http://lucene.apache.org/pylucene/">PyLucene</a></li>
+              <li><a href="http://lucene.apache.org/openrelevance/">Open Relevance</a></li>
+            </ul>
+        </div> <!-- lucy-left_nav_box -->
+
+        <div id="lucy-main_content_box" class="grid_9">
+          <p>!http://www.openejb.org/images/diagram-remote-server.gif|valign=top,
+align=right, hspace=15!
+<a name="RemoteServer-AccessingEJBsRemotely"></a></p>
+
+<h1>Accessing EJBs Remotely</h1>
+
+<p>When using OpenEJB as a stand-alone server you can connect across a network
+and access EJBs from a remote client.  The client code for accessing an
+EJB's Remote Interface is the same, however to actually connect across a
+network to the server, you need to specify different JNDI parameters.</p>
+
+<p><a name="RemoteServer-Shortversion"></a></p>
+
+<h1>Short version</h1>
+
+<p>Using OpenEJB's default remote server implementation is pretty straight
+forward. You simply need to:
+1. Deploy your bean.
+1. Start the server on the IP and Port you want, 25.14.3.92 and 4201 for
+example.
+1. Use that information in your client to create an initial context
+1. Add the right jars to your client's classpath</p>
+
+<p>So, here it is in short.</p>
+
+<p>Deploy your bean with the Deploy Tool:</p>
+
+<p>bq. c:\openejb> openejb.bat deploy beans\myBean.jar</p>
+
+<p>See the <a href="openejbx30:deploy-tool.html">OPENEJBx30:Deploy Tool</a>
+ documentation for more details on deploying beans.</p>
+
+<p>Start the server:</p>
+
+<p>bq. c:\openejb> openejb.bat start -h 25.14.3.92 -p 4201</p>
+
+<p>See the Remote Server command-line guide for more details on starting the
+Remote Server.</p>
+
+<p>Create an initial context in your client as such:</p>
+
+<pre><code>Properties p = new Properties();
+p.put("java.naming.factory.initial",
+</code></pre>
+
+<p>"org.apache.openejb.client.RemoteInitialContextFactory");
+    p.put("java.naming.provider.url", "ejbd://25.14.3.92:4201");
+    p.put("java.naming.security.principal", "myuser");
+    p.put("java.naming.security.credentials", "mypass");</p>
+
+<pre><code>InitialContext ctx = new InitialContext(p);
+</code></pre>
+
+<p>If you don't have any EJBs or clients to run, try the ubiquitous <a href="openejbx30:hello-world.html">Hello World</a>
+ example.</p>
+
+<p>In OpenEJB 0.9.2 and before, add the following libraries to your clients
+classpath:
+* openejb-x.x.x.jar
+* openejb_client-x.x.x.jar</p>
+
+<p>In OpenEJB 1.0 beta 1, add the following libraries to your clients
+classpath:
+* openejb-core-10-beta1.jar</p>
+
+<p>Both can be found in the lib directory where you installed OpenEJB.</p>
+
+        </div> <!-- lucy-main_content_box --> 
+        <div class="clear"></div>
+
+      </div> <!-- lucy-main_content -->
+
+      <div id="lucy-copyright" class="container_16">
+        <p>Copyright &#169; 2010-2011 The Apache Software Foundation, Licensed under the 
+           <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+           <br/>
+          
+        </p>
+      </div> <!-- lucy-copyright -->
+
+    </div> <!-- lucy-rigid_wrapper -->
+
+  </body>
+</html>

Added: websites/staging/openejb/trunk/content/repository.cwiki
==============================================================================
    (empty)

Added: websites/staging/openejb/trunk/content/repository.html
==============================================================================
--- websites/staging/openejb/trunk/content/repository.html (added)
+++ websites/staging/openejb/trunk/content/repository.html Sun Jul 10 04:34:53 2011
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <title>Repository</title>
+    <link rel="stylesheet" type="text/css" media="screen" href="http://incubator.apache.org/lucy/css/lucy.css">
+  </head>
+
+  <body>
+
+    <div id="lucy-rigid_wrapper">
+
+      <div id="lucy-top" class="container_16 lucy-white_box_3d">
+
+        <div id="lucy-logo_box" class="grid_8">
+          <a href="/OpenEJB/"><img src="http://openejb.apache.org/images/logo_openejb.gif" alt="Apache OpenEJB™"></a>
+        </div> <!-- lucy-logo_box -->
+
+        <div #id="lucy-top_nav_box" class="grid_8">
+          <div id="lucy-top_nav_bar" class="container_8">
+            <ul>
+              <li><a href="http://www.apache.org/" title="Apache Software Foundation">Apache Software Foundation</a></li>
+              <li><a href="http://www.apache.org/licenses/" title="License">License</a></li>
+              <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li>
+              <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li>
+              <li><a href="http://www.apache.org/security/ " title="Security">Security</a></li>
+            </ul>
+          </div> <!-- lucy-top_nav_bar -->
+          <p><a href="http://www.apache.org/">Apache</a>&nbsp;&raquo&nbsp;<a href="/">Incubator</a></p>
+          <form name="lucy-top_search_box" id="lucy-top_search_box" action="http://www.google.com/search" method="get">
+            <input value="*.apache.org" name="sitesearch" type="hidden"/>
+            <input type="text" name="q" id="query" style="width:85%">
+            <input type="submit" id="submit" value="Search">
+          </form>
+        </div> <!-- lucy-top_nav_box -->
+
+        <div class="clear"></div>
+
+      </div> <!-- lucy-top -->
+
+      <div id="lucy-main_content" class="container_16 lucy-white_box_3d">
+
+        <div class="grid_4" id="lucy-left_nav_box">
+          <h6>About</h6>
+            <ul>
+              <li><a href="/lucy/">Welcome</a></li>
+              <li><a href="/lucy/faq.html">FAQ</a></li>
+              <li><a href="/lucy/people.html">People</a></li>
+            </ul>
+          <h6>Resources</h6>
+            <ul>
+              <li><a href="/lucy/download.html">Download</a></li>
+              <li><a href="/lucy/mailing_lists.html">Mailing Lists</a></li>
+              <li><a href="/lucy/docs/perl/">Documentation</a></li>
+              <li><a href="http://wiki.apache.org/lucy/">Wiki</a></li>
+              <li><a href="https://issues.apache.org/jira/browse/LUCY">Issue Tracker</a></li>
+              <li><a href="/lucy/version_control.html">Version Control</a></li>
+            </ul>
+          <h6>Related Projects</h6>
+            <ul>
+              <li><a href="http://lucene.apache.org/java/">Lucene</a></li>
+              <li><a href="http://lucene.apache.org/solr/">Solr</a></li>
+              <li><a href="http://incubator.apache.org/lucene.net/">Lucene.NET</a></li>
+              <li><a href="http://lucene.apache.org/pylucene/">PyLucene</a></li>
+              <li><a href="http://lucene.apache.org/openrelevance/">Open Relevance</a></li>
+            </ul>
+        </div> <!-- lucy-left_nav_box -->
+
+        <div id="lucy-main_content_box" class="grid_9">
+          
+
+        </div> <!-- lucy-main_content_box --> 
+        <div class="clear"></div>
+
+      </div> <!-- lucy-main_content -->
+
+      <div id="lucy-copyright" class="container_16">
+        <p>Copyright &#169; 2010-2011 The Apache Software Foundation, Licensed under the 
+           <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+           <br/>
+          
+        </p>
+      </div> <!-- lucy-copyright -->
+
+    </div> <!-- lucy-rigid_wrapper -->
+
+  </body>
+</html>

Added: websites/staging/openejb/trunk/content/rules-of-thumb.cwiki
==============================================================================
--- websites/staging/openejb/trunk/content/rules-of-thumb.cwiki (added)
+++ websites/staging/openejb/trunk/content/rules-of-thumb.cwiki Sun Jul 10 04:34:53 2011
@@ -0,0 +1,10 @@
+
+h3. Configuration
+
+* Configuration settings should have configurable defaults at the module, ear, server and cluster level (when clustering is added).  For example, security settings should be configurable on a per ejb, ejb jar, ear and server levels.  
+
+* Settings should have a smooth increase in complexity from very simple to complex.  For example, a cache setting could start with a simple max-size, and over time the user could increase the complexity by adding configuration for disk paging up to specification of complex flushing rules.
+
+h3. Validation
+
+* Applications should be fully validated before handing it off to the deployment system.  This vastly simplifies the deployment system because it assumes that an application is valid.  As a corollary, the deployment system should not be complicated with code that tests for invalid deployments or with code to print graceful error messages to a user.

Added: websites/staging/openejb/trunk/content/rules-of-thumb.html
==============================================================================
--- websites/staging/openejb/trunk/content/rules-of-thumb.html (added)
+++ websites/staging/openejb/trunk/content/rules-of-thumb.html Sun Jul 10 04:34:53 2011
@@ -0,0 +1,114 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <title>Rules of Thumb</title>
+    <link rel="stylesheet" type="text/css" media="screen" href="http://incubator.apache.org/lucy/css/lucy.css">
+  </head>
+
+  <body>
+
+    <div id="lucy-rigid_wrapper">
+
+      <div id="lucy-top" class="container_16 lucy-white_box_3d">
+
+        <div id="lucy-logo_box" class="grid_8">
+          <a href="/OpenEJB/"><img src="http://openejb.apache.org/images/logo_openejb.gif" alt="Apache OpenEJB™"></a>
+        </div> <!-- lucy-logo_box -->
+
+        <div #id="lucy-top_nav_box" class="grid_8">
+          <div id="lucy-top_nav_bar" class="container_8">
+            <ul>
+              <li><a href="http://www.apache.org/" title="Apache Software Foundation">Apache Software Foundation</a></li>
+              <li><a href="http://www.apache.org/licenses/" title="License">License</a></li>
+              <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li>
+              <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li>
+              <li><a href="http://www.apache.org/security/ " title="Security">Security</a></li>
+            </ul>
+          </div> <!-- lucy-top_nav_bar -->
+          <p><a href="http://www.apache.org/">Apache</a>&nbsp;&raquo&nbsp;<a href="/">Incubator</a></p>
+          <form name="lucy-top_search_box" id="lucy-top_search_box" action="http://www.google.com/search" method="get">
+            <input value="*.apache.org" name="sitesearch" type="hidden"/>
+            <input type="text" name="q" id="query" style="width:85%">
+            <input type="submit" id="submit" value="Search">
+          </form>
+        </div> <!-- lucy-top_nav_box -->
+
+        <div class="clear"></div>
+
+      </div> <!-- lucy-top -->
+
+      <div id="lucy-main_content" class="container_16 lucy-white_box_3d">
+
+        <div class="grid_4" id="lucy-left_nav_box">
+          <h6>About</h6>
+            <ul>
+              <li><a href="/lucy/">Welcome</a></li>
+              <li><a href="/lucy/faq.html">FAQ</a></li>
+              <li><a href="/lucy/people.html">People</a></li>
+            </ul>
+          <h6>Resources</h6>
+            <ul>
+              <li><a href="/lucy/download.html">Download</a></li>
+              <li><a href="/lucy/mailing_lists.html">Mailing Lists</a></li>
+              <li><a href="/lucy/docs/perl/">Documentation</a></li>
+              <li><a href="http://wiki.apache.org/lucy/">Wiki</a></li>
+              <li><a href="https://issues.apache.org/jira/browse/LUCY">Issue Tracker</a></li>
+              <li><a href="/lucy/version_control.html">Version Control</a></li>
+            </ul>
+          <h6>Related Projects</h6>
+            <ul>
+              <li><a href="http://lucene.apache.org/java/">Lucene</a></li>
+              <li><a href="http://lucene.apache.org/solr/">Solr</a></li>
+              <li><a href="http://incubator.apache.org/lucene.net/">Lucene.NET</a></li>
+              <li><a href="http://lucene.apache.org/pylucene/">PyLucene</a></li>
+              <li><a href="http://lucene.apache.org/openrelevance/">Open Relevance</a></li>
+            </ul>
+        </div> <!-- lucy-left_nav_box -->
+
+        <div id="lucy-main_content_box" class="grid_9">
+          <p><a name="RulesofThumb-Configuration"></a></p>
+
+<h3>Configuration</h3>
+
+<ul>
+<li><p>Configuration settings should have configurable defaults at the module,
+ear, server and cluster level (when clustering is added).  For example,
+security settings should be configurable on a per ejb, ejb jar, ear and
+server levels.  </p></li>
+<li><p>Settings should have a smooth increase in complexity from very simple to
+complex.  For example, a cache setting could start with a simple max-size,
+and over time the user could increase the complexity by adding
+configuration for disk paging up to specification of complex flushing
+rules.</p></li>
+</ul>
+
+<p><a name="RulesofThumb-Validation"></a></p>
+
+<h3>Validation</h3>
+
+<ul>
+<li>Applications should be fully validated before handing it off to the
+deployment system.  This vastly simplifies the deployment system because it
+assumes that an application is valid.  As a corollary, the deployment
+system should not be complicated with code that tests for invalid
+deployments or with code to print graceful error messages to a user.</li>
+</ul>
+
+        </div> <!-- lucy-main_content_box --> 
+        <div class="clear"></div>
+
+      </div> <!-- lucy-main_content -->
+
+      <div id="lucy-copyright" class="container_16">
+        <p>Copyright &#169; 2010-2011 The Apache Software Foundation, Licensed under the 
+           <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+           <br/>
+          
+        </p>
+      </div> <!-- lucy-copyright -->
+
+    </div> <!-- lucy-rigid_wrapper -->
+
+  </body>
+</html>

Added: websites/staging/openejb/trunk/content/running-a-standalone-openejb-server.cwiki
==============================================================================
--- websites/staging/openejb/trunk/content/running-a-standalone-openejb-server.cwiki (added)
+++ websites/staging/openejb/trunk/content/running-a-standalone-openejb-server.cwiki Sun Jul 10 04:34:53 2011
@@ -0,0 +1,57 @@
+h1. Configuring the OpenEJB Runtime
+The OpenEJB Eclipse plugin provides support for running OpenEJB as a standalone server in Eclipse using WTP.
+
+To setup a server, first of all, you will need to have a copy of OpenEJB extracted on your machine. Once you have that, the next step is to set up a runtime.
+
+To set up a new runtime, click on Window, Preferences, and select Installed Runtimes under the Server category. Click the Add button.
+
+!http://people.apache.org/~jgallimore/images/server_step_4.jpg!
+ 
+Select OpenEJB 3.0.0 from the Apache category, and click next. If you choose to 'also create a new server' on this panel, you can add a server straight after configuring the runtime.
+
+!http://people.apache.org/~jgallimore/images/server_step_5.jpg!
+ 
+Browse to, or enter the path to your copy of OpenEJB. Click on Finish.
+
+h1. Configuring the OpenEJB Server
+Open the Servers view (if it isn't already), and right click and select New->Server.
+
+!http://people.apache.org/~jgallimore/images/server_step_8.jpg!
+ 
+Select OpenEJB 3.0.0 from the Apache category, ensure you have the OpenEJB runtime selected, and click Next.
+
+!http://people.apache.org/~jgallimore/images/server_step_9.jpg!
+ 
+Select the EJB port for the server, and select Finish.
+
+!http://people.apache.org/~jgallimore/images/server_step_10.jpg!
+
+h1. Deploying a project
+In order to deploy your project to an OpenEJB server in Eclipse, your project must be a Java EE project, with the EJB facet enabled. If your project doesn't have the Faceted nature, you can use the OpenEJB plugin to add it. Simply select OpenEJB->Add Faceted Nature from the menu bar.
+
+!http://people.apache.org/~jgallimore/images/server_step_1.jpg!
+ 
+To add the EJB facet, right click on the project in the navigator, and select Properties. Select Project Facets on the left hand side. Click on the Modify Project button.
+
+!http://people.apache.org/~jgallimore/images/server_step_2.jpg!
+ 
+Select the EJB Module facet, and the Java Facet. Remember to select your OpenEJB runtime too. Click Next.
+
+!http://people.apache.org/~jgallimore/images/server_step_6.jpg!
+ 
+Enter the source folder for the EJBs in your project and click Finish.
+
+!http://people.apache.org/~jgallimore/images/server_step_7.jpg!
+ 
+Now right click on your OpenEJB server in the servers view, and select Add and Remove Projects.
+
+!http://people.apache.org/~jgallimore/images/server_step_11.jpg!
+ 
+Add your project to the server, and click Finish.
+
+!http://people.apache.org/~jgallimore/images/server_step_12.jpg!
+ 
+To start the server, Right click on your OpenEJB server, and select Start.
+
+!http://people.apache.org/~jgallimore/images/server_step_13.jpg!
+ 

Added: websites/staging/openejb/trunk/content/running-a-standalone-openejb-server.html
==============================================================================
--- websites/staging/openejb/trunk/content/running-a-standalone-openejb-server.html (added)
+++ websites/staging/openejb/trunk/content/running-a-standalone-openejb-server.html Sun Jul 10 04:34:53 2011
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <title>Running a standalone OpenEJB server</title>
+    <link rel="stylesheet" type="text/css" media="screen" href="http://incubator.apache.org/lucy/css/lucy.css">
+  </head>
+
+  <body>
+
+    <div id="lucy-rigid_wrapper">
+
+      <div id="lucy-top" class="container_16 lucy-white_box_3d">
+
+        <div id="lucy-logo_box" class="grid_8">
+          <a href="/OpenEJB/"><img src="http://openejb.apache.org/images/logo_openejb.gif" alt="Apache OpenEJB™"></a>
+        </div> <!-- lucy-logo_box -->
+
+        <div #id="lucy-top_nav_box" class="grid_8">
+          <div id="lucy-top_nav_bar" class="container_8">
+            <ul>
+              <li><a href="http://www.apache.org/" title="Apache Software Foundation">Apache Software Foundation</a></li>
+              <li><a href="http://www.apache.org/licenses/" title="License">License</a></li>
+              <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li>
+              <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li>
+              <li><a href="http://www.apache.org/security/ " title="Security">Security</a></li>
+            </ul>
+          </div> <!-- lucy-top_nav_bar -->
+          <p><a href="http://www.apache.org/">Apache</a>&nbsp;&raquo&nbsp;<a href="/">Incubator</a></p>
+          <form name="lucy-top_search_box" id="lucy-top_search_box" action="http://www.google.com/search" method="get">
+            <input value="*.apache.org" name="sitesearch" type="hidden"/>
+            <input type="text" name="q" id="query" style="width:85%">
+            <input type="submit" id="submit" value="Search">
+          </form>
+        </div> <!-- lucy-top_nav_box -->
+
+        <div class="clear"></div>
+
+      </div> <!-- lucy-top -->
+
+      <div id="lucy-main_content" class="container_16 lucy-white_box_3d">
+
+        <div class="grid_4" id="lucy-left_nav_box">
+          <h6>About</h6>
+            <ul>
+              <li><a href="/lucy/">Welcome</a></li>
+              <li><a href="/lucy/faq.html">FAQ</a></li>
+              <li><a href="/lucy/people.html">People</a></li>
+            </ul>
+          <h6>Resources</h6>
+            <ul>
+              <li><a href="/lucy/download.html">Download</a></li>
+              <li><a href="/lucy/mailing_lists.html">Mailing Lists</a></li>
+              <li><a href="/lucy/docs/perl/">Documentation</a></li>
+              <li><a href="http://wiki.apache.org/lucy/">Wiki</a></li>
+              <li><a href="https://issues.apache.org/jira/browse/LUCY">Issue Tracker</a></li>
+              <li><a href="/lucy/version_control.html">Version Control</a></li>
+            </ul>
+          <h6>Related Projects</h6>
+            <ul>
+              <li><a href="http://lucene.apache.org/java/">Lucene</a></li>
+              <li><a href="http://lucene.apache.org/solr/">Solr</a></li>
+              <li><a href="http://incubator.apache.org/lucene.net/">Lucene.NET</a></li>
+              <li><a href="http://lucene.apache.org/pylucene/">PyLucene</a></li>
+              <li><a href="http://lucene.apache.org/openrelevance/">Open Relevance</a></li>
+            </ul>
+        </div> <!-- lucy-left_nav_box -->
+
+        <div id="lucy-main_content_box" class="grid_9">
+          <p><a name="RunningastandaloneOpenEJBserver-ConfiguringtheOpenEJBRuntime"></a></p>
+
+<h1>Configuring the OpenEJB Runtime</h1>
+
+<p>The OpenEJB Eclipse plugin provides support for running OpenEJB as a
+standalone server in Eclipse using WTP.</p>
+
+<p>To setup a server, first of all, you will need to have a copy of OpenEJB
+extracted on your machine. Once you have that, the next step is to set up a
+runtime.</p>
+
+<p>To set up a new runtime, click on Window, Preferences, and select Installed
+Runtimes under the Server category. Click the Add button.</p>
+
+<p>!http://people.apache.org/~jgallimore/images/server_step_4.jpg!</p>
+
+<p>Select OpenEJB 3.0.0 from the Apache category, and click next. If you
+choose to 'also create a new server' on this panel, you can add a server
+straight after configuring the runtime.</p>
+
+<p>!http://people.apache.org/~jgallimore/images/server_step_5.jpg!</p>
+
+<p>Browse to, or enter the path to your copy of OpenEJB. Click on Finish.</p>
+
+<p><a name="RunningastandaloneOpenEJBserver-ConfiguringtheOpenEJBServer"></a></p>
+
+<h1>Configuring the OpenEJB Server</h1>
+
+<p>Open the Servers view (if it isn't already), and right click and select
+New->Server.</p>
+
+<p>!http://people.apache.org/~jgallimore/images/server_step_8.jpg!</p>
+
+<p>Select OpenEJB 3.0.0 from the Apache category, ensure you have the OpenEJB
+runtime selected, and click Next.</p>
+
+<p>!http://people.apache.org/~jgallimore/images/server_step_9.jpg!</p>
+
+<p>Select the EJB port for the server, and select Finish.</p>
+
+<p>!http://people.apache.org/~jgallimore/images/server_step_10.jpg!</p>
+
+<p><a name="RunningastandaloneOpenEJBserver-Deployingaproject"></a></p>
+
+<h1>Deploying a project</h1>
+
+<p>In order to deploy your project to an OpenEJB server in Eclipse, your
+project must be a Java EE project, with the EJB facet enabled. If your
+project doesn't have the Faceted nature, you can use the OpenEJB plugin to
+add it. Simply select OpenEJB->Add Faceted Nature from the menu bar.</p>
+
+<p>!http://people.apache.org/~jgallimore/images/server_step_1.jpg!</p>
+
+<p>To add the EJB facet, right click on the project in the navigator, and
+select Properties. Select Project Facets on the left hand side. Click on
+the Modify Project button.</p>
+
+<p>!http://people.apache.org/~jgallimore/images/server_step_2.jpg!</p>
+
+<p>Select the EJB Module facet, and the Java Facet. Remember to select your
+OpenEJB runtime too. Click Next.</p>
+
+<p>!http://people.apache.org/~jgallimore/images/server_step_6.jpg!</p>
+
+<p>Enter the source folder for the EJBs in your project and click Finish.</p>
+
+<p>!http://people.apache.org/~jgallimore/images/server_step_7.jpg!</p>
+
+<p>Now right click on your OpenEJB server in the servers view, and select Add
+and Remove Projects.</p>
+
+<p>!http://people.apache.org/~jgallimore/images/server_step_11.jpg!</p>
+
+<p>Add your project to the server, and click Finish.</p>
+
+<p>!http://people.apache.org/~jgallimore/images/server_step_12.jpg!</p>
+
+<p>To start the server, Right click on your OpenEJB server, and select Start.</p>
+
+<p>!http://people.apache.org/~jgallimore/images/server_step_13.jpg!</p>
+
+        </div> <!-- lucy-main_content_box --> 
+        <div class="clear"></div>
+
+      </div> <!-- lucy-main_content -->
+
+      <div id="lucy-copyright" class="container_16">
+        <p>Copyright &#169; 2010-2011 The Apache Software Foundation, Licensed under the 
+           <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+           <br/>
+          
+        </p>
+      </div> <!-- lucy-copyright -->
+
+    </div> <!-- lucy-rigid_wrapper -->
+
+  </body>
+</html>

Added: websites/staging/openejb/trunk/content/securing-a-web-service.cwiki
==============================================================================
--- websites/staging/openejb/trunk/content/securing-a-web-service.cwiki (added)
+++ websites/staging/openejb/trunk/content/securing-a-web-service.cwiki Sun Jul 10 04:34:53 2011
@@ -0,0 +1,191 @@
+Web Services are a very common way to implement a Service Oriented Architecture (SOA).
+ 
+There are lots of web service standards/specifications (XML, SOAP, WSDL, UUDI, WS-*, ...) coming from organizations like W3C, OASIS, WS-I, ...
+And there are java web service standards like JAX-WS 1.x (JSR 181), JAX-WS 2.0 (JSR 224). 
+
+OpenEJB provides a standard way to implement web services transport protocol throughout the JAX-WS specification.
+Java basic standards for web services (JAX-WS) do lack some features that are required in most real world applications, e.g. standard ways for handling security and authentication (there is no java specification for Oasis's WS-Security specification).
+
+OpenEJB provides two mechanisms to secure webservices - HTTP authentication and WS-Security: 
+
+* HTTPS : works at the transport level, enables a point-to-point security. It has no impact on developments. It allows you to:
+## To secure data over the network with data encrypted during transport
+## To identify the end user with SSLv3 with client certificate required
+## OpenEJB supports BASIC authentication over HTTP(S), using the configured JAAS provider. This will honour any EJB security roles you have setup using @RolesAllowed. See the webservice-security example in the OpenEJB codebase [http://svn.apache.org/repos/asf/openejb/trunk/openejb3/examples/]
+
+{warning:title=Warning}
+Currently only BASIC is the only HTTP authentication mechanism available when running OpenEJB standalone or in a unit test, but we hope to support DIGEST in the future.
+{warning}
+
+* WS-Security: works at the message (SOAP) level, enables a higher-level security, 
+Nowadays, SOAP implementations use other protocols than just HTTP so we need to apply security to the message itself and not only at the transport layer. Moreover, HTTPS can only be used for securing point-to-point services which tend to decrease with Enterprise Service Bus for example. 
+
+The Oasis organization has defined a standard (part of well-known WS-*) which aims at providing high level features in the context of web services: WS-Security. It provides a standard way to secure your services above and beyond transport level protocols such as HTTPS. WS-Security relies on other standards like XML-Encryption. Main features are:
+* Timestamp a message,
+* Pass credentials (plain text and/or ciphered) between services,
+* Sign messages,
+* Encrypt messages or part of messages.
+
+Again, JAX-WS doesn't standardize security for web services. OpenEJB provides a common and highly configurable way to configure WS-Security in association with the JAX-WS usage without vendor dependence. Internally, OpenEJB integrates Apache WSS4J as the WS-Security implementation. To use the integration, you will need to configure WSS4J using the {{openejb-jar.xml}}.
+ 
+{warning:title=Warning}
+the proposed WS-Security integration is only used at server side. Currently, WS-Security client configuration is not managed by OpenEJB. You can use the JAX-WS API to create a stub and then rely on the implementation to set up WS-Security properties. 
+{warning} 
+
+This configuration file lets you set up incoming and outgoing security parameters. Incoming and outgoing configuration is independent so that you can configure either one or the other or both. You can decide to check client credentials for incoming messages and sign outgoing messages (response).
+
+h1. Configuration principles
+The configuration is made in the {{openejb-jar.xml}}. Each endpoint web service can provide a set of properties to customize WS-Security behavior through the <properties> element. The content of this element is consistent with the overall structure of {{openejb.xml}}. The format for properties is the same as if you would use a common java property file.
+
+{code:xml}
+[...]
+<properties>
+  wss4j.in.action = UsernameToken
+  wss4j.in.passwordType = PasswordDigest
+  wss4j.in.passwordCallbackClass=org.superbiz.calculator.CustomPasswordHandler
+</properties>
+[...]
+{code} 
+
+In order to recover WSS4J properties both for input and output, we use naming conventions.
+Each property is made of 
+{quote}
+{{<wss4j>.<in|out>.<wss4j property name>=<wss4j property value>}}
+{quote}
+
+For example : {{wss4j.in.action = UsernameToken}}
+
+h1. Username Token (Password digest) example
+h4. Excerpt from {{openejb-jar.xml}}.
+
+{code:xml}
+<openejb-jar xmlns="http://openejb.apache.org/xml/ns/openejb-jar-2.2">
+    <enterprise-beans>
+        ...
+        <session>
+            <ejb-name>CalculatorImpl</ejb-name>
+            <web-service-security>
+                <security-realm-name/>
+                <transport-guarantee>NONE</transport-guarantee>
+                <auth-method>WS-SECURITY</auth-method>
+                <properties>
+                    wss4j.in.action = UsernameToken
+                    wss4j.in.passwordType = PasswordDigest
+                    wss4j.in.passwordCallbackClass=org.superbiz.calculator.CustomPasswordHandler
+                </properties>
+            </web-service-security>
+        </session>
+        ...
+    </enterprise-beans>
+</openejb-jar>
+{code} 
+
+h4. Request sent by the client. 
+This request contains SOAP headers to manage security. You can see {{UsernameToken}} tag from the WS-Security specification.
+{code:xml}
+POST /CalculatorImplUsernameTokenHashedPassword HTTP/1.1
+Content-Type: text/xml; charset=UTF-8
+SOAPAction: ""
+Accept: *
+Cache-Control: no-cache
+Pragma: no-cache
+User-Agent: Java/1.5.0_05
+Host: 127.0.0.1:8204
+Connection: keep-alive
+Transfer-Encoding: chunked
+ 
+524
+<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
+  <soap:Header>
+    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soap:mustUnderstand="1">
+      <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
+wsu:Id="UsernameToken-22402238" 
+xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+        <wsse:Username xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">jane</wsse:Username>
+        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest" 
+xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">tf7k3a4GREIt1xec/KXVmBdRNIg=</wsse:Password>
+        <wsse:Nonce xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">cKhUhmjQ1hGYPsdOLez5kA==</wsse:Nonce>
+        <wsu:Created xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2009-04-14T20:16:26.203Z</wsu:Created>
+      </wsse:UsernameToken>
+    </wsse:Security>
+  </soap:Header>
+  <soap:Body>
+    <ns1:sum xmlns:ns1="http://superbiz.org/wsdl">
+      <arg0>4</arg0>
+      <arg1>6</arg1>
+    </ns1:sum>
+  </soap:Body>
+</soap:Envelope>
+{code}
+
+h4. The response returned from the server.
+{code:xml}
+HTTP/1.1 200 OK
+Content-Length: 200
+Connection: close
+Content-Type: text/xml; charset=UTF-8
+Server: OpenEJB/??? (unknown os)
+
+<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
+  <soap:Body>
+    <ns1:sumResponse xmlns:ns1="http://superbiz.org/wsdl">
+      <return>10</return>
+    </ns1:sumResponse>
+  </soap:Body>
+</soap:Envelope>
+{code}
+
+h1. JAAS with WS-Security
+
+@RolesAllowed doesn't work straight off with WS-Security, but you can add calls to the OpenEJB SecurityService to login to a JAAS provider to a CallbackHandler. Once you have done this, any permissions configured with @RolesAllowed should be honoured.
+
+Here is a snippet from the webservice-ws-security example demonstrating this:
+
+{code}
+
+public class CustomPasswordHandler implements CallbackHandler {
+    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
+        WSPasswordCallback pc = (WSPasswordCallback) callbacks[0];
+        
+        if(pc.getUsage() == WSPasswordCallback.USERNAME_TOKEN) {
+            // TODO get the password from the users.properties if possible
+            pc.setPassword("waterfall");
+            
+        } else if(pc.getUsage() == WSPasswordCallback.DECRYPT) {
+            pc.setPassword("serverPassword");
+            
+        } else if(pc.getUsage() == WSPasswordCallback.SIGNATURE) {
+            pc.setPassword("serverPassword");
+            
+        }
+        
+        if ((pc.getUsage() == WSPasswordCallback.USERNAME_TOKEN)
+        	|| (pc.getUsage() == WSPasswordCallback.USERNAME_TOKEN_UNKNOWN)) {
+            
+            SecurityService securityService = SystemInstance.get()
+		    .getComponent(SecurityService.class);
+	    Object token = null;
+	    try {
+		securityService.disassociate();
+
+		token = securityService.login(pc.getIdentifer(), pc.getPassword());
+		securityService.associate(token);
+		
+	    } catch (LoginException e) {
+		e.printStackTrace();
+		throw new SecurityException("wrong password");
+	    } finally {
+	    }
+	}
+            
+
+    }
+}
+
+{code}
+
+
+
+h1. Examples
+A full example (webservice-ws-security) is available with OpenEJB Examples.
+

Added: websites/staging/openejb/trunk/content/securing-a-web-service.html
==============================================================================
--- websites/staging/openejb/trunk/content/securing-a-web-service.html (added)
+++ websites/staging/openejb/trunk/content/securing-a-web-service.html Sun Jul 10 04:34:53 2011
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <title>Securing a Web Service</title>
+    <link rel="stylesheet" type="text/css" media="screen" href="http://incubator.apache.org/lucy/css/lucy.css">
+  </head>
+
+  <body>
+
+    <div id="lucy-rigid_wrapper">
+
+      <div id="lucy-top" class="container_16 lucy-white_box_3d">
+
+        <div id="lucy-logo_box" class="grid_8">
+          <a href="/OpenEJB/"><img src="http://openejb.apache.org/images/logo_openejb.gif" alt="Apache OpenEJB™"></a>
+        </div> <!-- lucy-logo_box -->
+
+        <div #id="lucy-top_nav_box" class="grid_8">
+          <div id="lucy-top_nav_bar" class="container_8">
+            <ul>
+              <li><a href="http://www.apache.org/" title="Apache Software Foundation">Apache Software Foundation</a></li>
+              <li><a href="http://www.apache.org/licenses/" title="License">License</a></li>
+              <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li>
+              <li><a href="http://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li>
+              <li><a href="http://www.apache.org/security/ " title="Security">Security</a></li>
+            </ul>
+          </div> <!-- lucy-top_nav_bar -->
+          <p><a href="http://www.apache.org/">Apache</a>&nbsp;&raquo&nbsp;<a href="/">Incubator</a></p>
+          <form name="lucy-top_search_box" id="lucy-top_search_box" action="http://www.google.com/search" method="get">
+            <input value="*.apache.org" name="sitesearch" type="hidden"/>
+            <input type="text" name="q" id="query" style="width:85%">
+            <input type="submit" id="submit" value="Search">
+          </form>
+        </div> <!-- lucy-top_nav_box -->
+
+        <div class="clear"></div>
+
+      </div> <!-- lucy-top -->
+
+      <div id="lucy-main_content" class="container_16 lucy-white_box_3d">
+
+        <div class="grid_4" id="lucy-left_nav_box">
+          <h6>About</h6>
+            <ul>
+              <li><a href="/lucy/">Welcome</a></li>
+              <li><a href="/lucy/faq.html">FAQ</a></li>
+              <li><a href="/lucy/people.html">People</a></li>
+            </ul>
+          <h6>Resources</h6>
+            <ul>
+              <li><a href="/lucy/download.html">Download</a></li>
+              <li><a href="/lucy/mailing_lists.html">Mailing Lists</a></li>
+              <li><a href="/lucy/docs/perl/">Documentation</a></li>
+              <li><a href="http://wiki.apache.org/lucy/">Wiki</a></li>
+              <li><a href="https://issues.apache.org/jira/browse/LUCY">Issue Tracker</a></li>
+              <li><a href="/lucy/version_control.html">Version Control</a></li>
+            </ul>
+          <h6>Related Projects</h6>
+            <ul>
+              <li><a href="http://lucene.apache.org/java/">Lucene</a></li>
+              <li><a href="http://lucene.apache.org/solr/">Solr</a></li>
+              <li><a href="http://incubator.apache.org/lucene.net/">Lucene.NET</a></li>
+              <li><a href="http://lucene.apache.org/pylucene/">PyLucene</a></li>
+              <li><a href="http://lucene.apache.org/openrelevance/">Open Relevance</a></li>
+            </ul>
+        </div> <!-- lucy-left_nav_box -->
+
+        <div id="lucy-main_content_box" class="grid_9">
+          <p>Web Services are a very common way to implement a Service Oriented
+Architecture (SOA).</p>
+
+<p>There are lots of web service standards/specifications (XML, SOAP, WSDL,
+UUDI, WS-*, ...) coming from organizations like W3C, OASIS, WS-I, ...
+And there are java web service standards like JAX-WS 1.x (JSR 181), JAX-WS
+2.0 (JSR 224). </p>
+
+<p>OpenEJB provides a standard way to implement web services transport
+protocol throughout the JAX-WS specification.
+Java basic standards for web services (JAX-WS) do lack some features that
+are required in most real world applications, e.g. standard ways for
+handling security and authentication (there is no java specification for
+Oasis's WS-Security specification).</p>
+
+<p>OpenEJB provides two mechanisms to secure webservices - HTTP authentication
+and WS-Security: </p>
+
+<ul>
+<li>HTTPS : works at the transport level, enables a point-to-point security.
+It has no impact on developments. It allows you to:
+<ol>
+<li># To secure data over the network with data encrypted during transport</li>
+<li># To identify the end user with SSLv3 with client certificate required</li>
+<li># OpenEJB supports BASIC authentication over HTTP(S), using the configured
+JAAS provider. This will honour any EJB security roles you have setup using
+@RolesAllowed. See the webservice-security example in the OpenEJB codebase <a href="http://svn.apache.org/repos/asf/openejb/trunk/openejb3/examples/">http://svn.apache.org/repos/asf/openejb/trunk/openejb3/examples/</a></li>
+</ol></li>
+</ul>
+
+<p>{warning:title=Warning}
+Currently only BASIC is the only HTTP authentication mechanism available
+when running OpenEJB standalone or in a unit test, but we hope to support
+DIGEST in the future.
+{warning}</p>
+
+<ul>
+<li>WS-Security: works at the message (SOAP) level, enables a higher-level
+security, 
+Nowadays, SOAP implementations use other protocols than just HTTP so we
+need to apply security to the message itself and not only at the transport
+layer. Moreover, HTTPS can only be used for securing point-to-point
+services which tend to decrease with Enterprise Service Bus for example. </li>
+</ul>
+
+<p>The Oasis organization has defined a standard (part of well-known WS-*)
+which aims at providing high level features in the context of web services:
+WS-Security. It provides a standard way to secure your services above and
+beyond transport level protocols such as HTTPS. WS-Security relies on other
+standards like XML-Encryption. Main features are:
+* Timestamp a message,
+* Pass credentials (plain text and/or ciphered) between services,
+* Sign messages,
+* Encrypt messages or part of messages.</p>
+
+<p>Again, JAX-WS doesn't standardize security for web services. OpenEJB
+provides a common and highly configurable way to configure WS-Security in
+association with the JAX-WS usage without vendor dependence. Internally,
+OpenEJB integrates Apache WSS4J as the WS-Security implementation. To use
+the integration, you will need to configure WSS4J using the
+<em>openejb-jar.xml</em>.</p>
+
+<p>{warning:title=Warning}
+the proposed WS-Security integration is only used at server side.
+Currently, WS-Security client configuration is not managed by OpenEJB. You
+can use the JAX-WS API to create a stub and then rely on the implementation
+to set up WS-Security properties. 
+{warning} </p>
+
+<p>This configuration file lets you set up incoming and outgoing security
+parameters. Incoming and outgoing configuration is independent so that you
+can configure either one or the other or both. You can decide to check
+client credentials for incoming messages and sign outgoing messages
+(response).</p>
+
+<p><a name="SecuringaWebService-Configurationprinciples"></a></p>
+
+<h1>Configuration principles</h1>
+
+<p>The configuration is made in the <em>openejb-jar.xml</em>. Each endpoint web
+service can provide a set of properties to customize WS-Security behavior
+through the <properties> element. The content of this element is consistent
+with the overall structure of <em>openejb.xml</em>. The format for properties is
+the same as if you would use a common java property file.</p>
+
+<pre><code>[...]
+&lt;properties&gt;
+  wss4j.in.action = UsernameToken
+  wss4j.in.passwordType = PasswordDigest
+</code></pre>
+
+<p>wss4j.in.passwordCallbackClass=org.superbiz.calculator.CustomPasswordHandler
+    </properties>
+    [...]</p>
+
+<p>In order to recover WSS4J properties both for input and output, we use
+naming conventions.
+Each property is made of 
+{quote}
+<em><wss4j>.<in|out>.<wss4j property name>=<wss4j property value></em>
+{quote}</p>
+
+<p>For example : <em>wss4j.in.action = UsernameToken</em></p>
+
+<p><a name="SecuringaWebService-UsernameToken(Passworddigest)example"></a></p>
+
+<h1>Username Token (Password digest) example</h1>
+
+<p><a name="SecuringaWebService-Excerptfrom*openejb-jar.xml*."></a></p>
+
+<h4>Excerpt from <em>openejb-jar.xml</em>.</h4>
+
+<pre><code>&lt;openejb-jar xmlns="http://openejb.apache.org/xml/ns/openejb-jar-2.2"&gt;
+    &lt;enterprise-beans&gt;
+    ...
+    &lt;session&gt;
+        &lt;ejb-name&gt;CalculatorImpl&lt;/ejb-name&gt;
+        &lt;web-service-security&gt;
+        &lt;security-realm-name/&gt;
+        &lt;transport-guarantee&gt;NONE&lt;/transport-guarantee&gt;
+        &lt;auth-method&gt;WS-SECURITY&lt;/auth-method&gt;
+        &lt;properties&gt;
+            wss4j.in.action = UsernameToken
+            wss4j.in.passwordType = PasswordDigest
+</code></pre>
+
+<p>wss4j.in.passwordCallbackClass=org.superbiz.calculator.CustomPasswordHandler
+            </properties>
+            </web-service-security>
+        </session>
+        ...
+        </enterprise-beans>
+    </openejb-jar></p>
+
+<p><a name="SecuringaWebService-Requestsentbytheclient."></a></p>
+
+<h4>Request sent by the client.</h4>
+
+<p>This request contains SOAP headers to manage security. You can see
+<em>UsernameToken</em> tag from the WS-Security specification.</p>
+
+<pre><code>POST /CalculatorImplUsernameTokenHashedPassword HTTP/1.1
+Content-Type: text/xml; charset=UTF-8
+SOAPAction: ""
+Accept: *
+Cache-Control: no-cache
+Pragma: no-cache
+User-Agent: Java/1.5.0_05
+Host: 127.0.0.1:8204
+Connection: keep-alive
+Transfer-Encoding: chunked
+
+524
+&lt;soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;
+  &lt;soap:Header&gt;
+    &lt;wsse:Security
+</code></pre>
+
+<p>xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
+soap:mustUnderstand="1">
+          <wsse:UsernameToken
+xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
+    wsu:Id="UsernameToken-22402238" 
+    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+        <wsse:Username
+xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">jane</wsse:Username>
+        <wsse:Password
+Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest" 
+    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">tf7k3a4GREIt1xec/KXVmBdRNIg=</wsse:Password>
+        <wsse:Nonce
+xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">cKhUhmjQ1hGYPsdOLez5kA==</wsse:Nonce>
+        <wsu:Created
+xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2009-04-14T20:16:26.203Z</wsu:Created>
+          </wsse:UsernameToken>
+        </wsse:Security>
+      </soap:Header>
+      <soap:Body>
+        <ns1:sum xmlns:ns1="http://superbiz.org/wsdl">
+          <arg0>4</arg0>
+          <arg1>6</arg1>
+        </ns1:sum>
+      </soap:Body>
+    </soap:Envelope></p>
+
+<p><a name="SecuringaWebService-Theresponsereturnedfromtheserver."></a></p>
+
+<h4>The response returned from the server.</h4>
+
+<pre><code>HTTP/1.1 200 OK
+Content-Length: 200
+Connection: close
+Content-Type: text/xml; charset=UTF-8
+Server: OpenEJB/??? (unknown os)
+
+&lt;soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;
+  &lt;soap:Body&gt;
+    &lt;ns1:sumResponse xmlns:ns1="http://superbiz.org/wsdl"&gt;
+      &lt;return&gt;10&lt;/return&gt;
+    &lt;/ns1:sumResponse&gt;
+  &lt;/soap:Body&gt;
+&lt;/soap:Envelope&gt;
+</code></pre>
+
+<p><a name="SecuringaWebService-JAASwithWS-Security"></a></p>
+
+<h1>JAAS with WS-Security</h1>
+
+<p>@RolesAllowed doesn't work straight off with WS-Security, but you can add
+calls to the OpenEJB SecurityService to login to a JAAS provider to a
+CallbackHandler. Once you have done this, any permissions configured with
+@RolesAllowed should be honoured.</p>
+
+<p>Here is a snippet from the webservice-ws-security example demonstrating
+this:</p>
+
+<pre><code>public class CustomPasswordHandler implements CallbackHandler {
+    public void handle(Callback[]
+</code></pre>
+
+<p>callbacks) throws IOException, UnsupportedCallbackException {
+            WSPasswordCallback pc = (WSPasswordCallback) callbacks[0]
+;</p>
+
+<pre><code>    if(pc.getUsage() == WSPasswordCallback.USERNAME_TOKEN) {
+        // TODO get the password from the users.properties if possible
+        pc.setPassword("waterfall");
+
+    } else if(pc.getUsage() == WSPasswordCallback.DECRYPT) {
+        pc.setPassword("serverPassword");
+
+    } else if(pc.getUsage() == WSPasswordCallback.SIGNATURE) {
+        pc.setPassword("serverPassword");
+
+    }
+
+    if ((pc.getUsage() == WSPasswordCallback.USERNAME_TOKEN)
+        || (pc.getUsage() ==
+</code></pre>
+
+<p>WSPasswordCallback.USERNAME_TOKEN_UNKNOWN)) {</p>
+
+<pre><code>        SecurityService securityService = SystemInstance.get()
+            .getComponent(SecurityService.class);
+        Object token = null;
+        try {
+        securityService.disassociate();
+
+        token = securityService.login(pc.getIdentifer(),
+</code></pre>
+
+<p>pc.getPassword());
+            securityService.associate(token);</p>
+
+<pre><code>        } catch (LoginException e) {
+        e.printStackTrace();
+        throw new SecurityException("wrong password");
+        } finally {
+        }
+    }
+
+
+    }
+}
+</code></pre>
+
+<p><a name="SecuringaWebService-Examples"></a></p>
+
+<h1>Examples</h1>
+
+<p>A full example (webservice-ws-security) is available with OpenEJB Examples.</p>
+
+        </div> <!-- lucy-main_content_box --> 
+        <div class="clear"></div>
+
+      </div> <!-- lucy-main_content -->
+
+      <div id="lucy-copyright" class="container_16">
+        <p>Copyright &#169; 2010-2011 The Apache Software Foundation, Licensed under the 
+           <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+           <br/>
+          
+        </p>
+      </div> <!-- lucy-copyright -->
+
+    </div> <!-- lucy-rigid_wrapper -->
+
+  </body>
+</html>

Added: websites/staging/openejb/trunk/content/singleton-beans.cwiki
==============================================================================
--- websites/staging/openejb/trunk/content/singleton-beans.cwiki (added)
+++ websites/staging/openejb/trunk/content/singleton-beans.cwiki Sun Jul 10 04:34:53 2011
@@ -0,0 +1 @@
+{include:OPENEJBx30:Singleton Beans}
\ No newline at end of file