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 2012/01/14 00:07:40 UTC

svn commit: r802585 - /websites/staging/openejb/trunk/content/comparison.html

Author: buildbot
Date: Fri Jan 13 23:07:40 2012
New Revision: 802585

Log:
Staging update by buildbot for openejb

Added:
    websites/staging/openejb/trunk/content/comparison.html

Added: websites/staging/openejb/trunk/content/comparison.html
==============================================================================
--- websites/staging/openejb/trunk/content/comparison.html (added)
+++ websites/staging/openejb/trunk/content/comparison.html Fri Jan 13 23:07:40 2012
@@ -0,0 +1,192 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+
+    <meta charset="utf-8">
+      <title>Comparison</title>
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="./bootstrap.css" rel="stylesheet">
+    <link href="./prettify.css" rel="stylesheet">
+    <link href="./bootstrap-mods.css" rel="stylesheet">
+
+    <style type="text/css">
+      body {
+        padding-top: 60px;
+      }
+    </style>
+
+
+    <!-- Le fav and touch icons -->
+    <link rel="shortcut icon" href="./images/favicon.ico">
+    <link rel="apple-touch-icon" href="./images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="./images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="./images/apple-touch-icon-114x114.png">
+
+    <script src="./javascript/prettify.js" type="text/javascript"></script>
+    <script src="./javascript/jquery-latest.js"></script>
+    <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
+    <script src="./javascript/common.js"></script>
+    <script src="./javascript/prettyprint.js"></script>
+
+  </head>
+
+  <body>
+
+    <div class="topbar">
+      <div class="fill">
+        <div class="container">
+          <a class="brand" href="./index.html">Apache TomEE</a>
+          <ul class="nav">
+            <li><a href="./index.html">Home</a></li>
+            <li><a href="./downloads.html">Downloads</a></li>
+            <li><a href="./documentation.html">Documentation</a></li>
+            <li><a href="./support.html">Support</a></li>
+          </ul>
+
+            <!-- Google CSE Search Box Begins  -->
+            <FORM class="pull-right" id="searchbox_010475492895890475512:_t4iqjrgx90" action="http://www.google.com/cse">
+                <INPUT type="hidden" name="cx" value="010475492895890475512:_t4iqjrgx90">
+                <INPUT type="hidden" name="cof" value="FORID:0">
+                <INPUT name="q" type="text" placeholder="Search">
+            </FORM>
+            <!--<SCRIPT type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_010475492895890475512:_t4iqjrgx90"></SCRIPT>-->
+            <!-- Google CSE Search Box Ends -->
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+
+    
+
+<div class="page-header">
+<small><a href=".//index.html">Home</a></small><br>
+<h1>Comparison</h1>
+</div>
+
+<p>EJB as a technology has been historically misunderstood.  Many people do not realize, for example, that EJB is only a tiny bit smaller than Java EE itself.</p>
+
+<p>Due to the many things integrated with EJB, the API effectively pulls in nearly all the Java EE APIs.</p>
+
+<p>It is impossible to implement "just" an EJB container and there really is no such thing as "just EJB".</p>
+
+<h1>The EJB "Profile"</h1>
+
+<p>There is no such thing as the "EJB Profile" in Java EE, but in many ways that's exactly what EJB is; a profile like the Web Profile or the Full Profile.</p>
+
+<p>Some concrete examples of how EJB is really just a "profile" of Java EE.</p>
+
+<ul>
+<li>JTA and EXTENDED JPA EntityManagers are created and managed by the EJB Container</li>
+<li>Message-Driven Beans (MDBs) require support for the Java EE Connector Architecture and the Java Message Service (JMS)</li>
+<li>Stateless and Singleton beans can be exposed as JAX-WS and JAX-RS services</li>
+<li>All EJBs <em>are</em> CDI beans ... always</li>
+<li>Transactions (TransactionManager) and Security (JAAS &amp; JACC) are basic services of any EJB</li>
+<li>Timers and Schedules require integration with things like Quartz</li>
+<li>The following resource can be injected into any EJB
+<ul>
+<li>Bean Validation <code>javax.validation.Validator</code> and <code>javax.validation.ValidatorFactory</code></li>
+<li>JavaMail <code>javax.mail.Session</code></li>
+<li>JMS <code>javax.jms.Topic</code>, <code>javax.jms.Queue</code> and <code>javax.jms.ConnectionFactory</code></li>
+<li>CORBA <code>org.omg.CORBA</code></li>
+<li>JAX-WS WebService endpoints</li>
+<li>JTA <code>javax.transaction.UserTransaction</code></li>
+<li>CDI <code>javax.enterprise.inject.spi.BeanManager</code></li>
+</ul></li>
+</ul>
+
+<p>When you break apart "E" "J" and "B", what it means is the seamless integration of the following technologies:</p>
+
+<ul>
+<li>Java Transaction API (JTA)</li>
+<li>Java Persistence API (JPA)</li>
+<li>Java API for XML Web Services (JAX-WS)</li>
+<li>Java API for RESTful Web Services (JAX-RS)</li>
+<li>Java Messaging Service (JMS)</li>
+<li>Java Contexts and Dependency Injection (CDI)</li>
+<li>Java EE Connector Architecture (inaccurately called JCA sometimes)</li>
+<li>Java Authentication and Authorization Service (JAAS)</li>
+<li>Java Authorization Contract for Containers (JACC)</li>
+<li>JavaMail API</li>
+<li>Bean Validation</li>
+</ul>
+
+<h1>Outside the EJB "profile"</h1>
+
+<p>So what is left out of the EJB "profile" ?</p>
+
+<ul>
+<li>Java Servlets</li>
+<li>Java ServerPages (JSP)</li>
+<li>Java ServerFaces (JSF)</li>
+</ul>
+
+<p>Why wasn't TomEE done as a separate project?  Actually it effectively was, that other project is Tomcat.  Tomcat and MyFaces to be exact.</p>
+
+<h1>How is OpenEJB different than TomEE?</h1>
+
+<p>It's different in two major ways, only one of them technical:</p>
+
+<ul>
+<li>TomEE incorporates two additional projects; Tomcat and MyFaces</li>
+<li>TomEE, as a name, more easily implies the breadth of technologies included</li>
+</ul>
+
+<p>Effectively, TomEE is a superset of OpenEJB.</p>
+
+<table>
+<tr>
+<th></th>
+<th>Tomcat</th>
+<th>OpenEJB</th>
+<th>TomEE+</th>
+</tr>
+
+<tr><td>Java Servlets</td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>Java ServerPages (JSP)</td> <td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td> <td></td> <td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>Java ServerFaces (JSF)</td><td></td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>Java Transaction API (JTA)</td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>Java Persistence API (JPA)</td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>Java API for XML Web Services (JAX-WS)</td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>Java API for RESTful Web Services (JAX-RS)</td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>Java Messaging Service (JMS)</td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>Java Contexts and Dependency Injection (CDI)</td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>Java EE Connector Architecture (inaccurately called JCA sometimes)</td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>Java Authentication and Authorization Service (JAAS)</td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>Java Authorization Contract for Containers (JACC)</td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>JavaMail API</td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>Bean Validation</td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+<tr><td>Enterprise JavaBeans</td><td></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td><td><IMG class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"></td></tr>
+</table>
+
+
+
+
+      <footer>
+        <p>
+        Copyright &copy; 2011 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+        Apache and the Apache feather logo are trademarks of The Apache Software Foundation.
+        </p>
+      </footer>
+
+    </div> <!-- /container -->
+
+  <SPAN style="display: none">
+    <SCRIPT src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+    </SCRIPT>
+    <SCRIPT type="text/javascript">
+      _uacct = "UA-2717626-1";
+      urchinTracker();
+    </SCRIPT>
+  </SPAN>
+
+  </body>
+</html>