blob: 1b7003a8c79ea401c32cd32c05bd3d84058629ea [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Apache TomEE</title>
<meta name="description"
content="Apache TomEE is a lightweight, yet powerful, JavaEE Application server with feature rich tooling." />
<meta name="keywords" content="tomee,asf,apache,javaee,jee,shade,embedded,test,junit,applicationcomposer,maven,arquillian" />
<meta name="author" content="Luka Cvetinovic for Codrops" />
<link rel="icon" href="../../favicon.ico">
<link rel="icon" type="image/png" href="../../favicon.png">
<meta name="msapplication-TileColor" content="#80287a">
<meta name="theme-color" content="#80287a">
<link rel="stylesheet" type="text/css" href="../../css/normalize.css">
<link rel="stylesheet" type="text/css" href="../../css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="../../css/owl.css">
<link rel="stylesheet" type="text/css" href="../../css/animate.css">
<link rel="stylesheet" type="text/css" href="../../fonts/font-awesome-4.1.0/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="../../fonts/eleganticons/et-icons.css">
<link rel="stylesheet" type="text/css" href="../../css/jqtree.css">
<link rel="stylesheet" type="text/css" href="../../css/idea.css">
<link rel="stylesheet" type="text/css" href="../../css/cardio.css">
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-2717626-1']);
_gaq.push(['_setDomainName', 'apache.org']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div class="preloader">
<img src="../../img/loader.gif" alt="Preloader image">
</div>
<nav class="navbar">
<div class="container">
<div class="row"> <div class="col-md-12">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">
<span>
<img src="../../img/logo-active.png">
</span>
Apache TomEE
</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right main-nav">
<li><a href="../../docs.html">Documentation</a></li>
<li><a href="../../community/index.html">Community</a></li>
<li><a href="../../security/security.html">Security</a></li>
<li><a href="../../download-ng.html">Downloads</a></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div></div>
</div>
<!-- /.container-fluid -->
</nav>
<div id="main-block" class="container main-block">
<div class="row title">
<div class="col-md-12">
<div class='page-header'>
<h1>OpenEJB 3</h1>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h1 id="_past_present_and_future" class="sect0">Past, Present, and Future</h1>
<div class="paragraph">
<p>The goal of OpenEJB 3 is to merge our past, present, and future into one
codebase. OpenEJB 3 will take the excellent features in OpenEJB 1.0
(tomcat integration, testability, embeddibility, ease of use, etc), move
towards an IoC architecture based on Gbean.org and Spring, bring in the
OpenEJB 2 code, and implement the EJB 3.0 specification.</p>
</div>
<h1 id="_the_plan" class="sect0">The Plan</h1>
<div class="paragraph">
<p>We will start on OpenEJB 3 by taking the 1.0 code (pretty much the same
as 0.9.2), merging in the 2.0 code, and ensuring that the entire time
the code we write is code you can use! We will never drop a feature,
even temporarily. We will start from code that users are now using and
always keep, maintain, and improve those features as we add new
features. Releasing early and often.</p>
</div>
<div class="sect1">
<h2 id="_past">Past</h2>
<div class="sectionbody">
<div class="paragraph">
<p>OpenEJB 1.0 (from 0.9.2 lineage) has some great features and many people
that depend on them. Tomcat integration, Collapsed EARs, Container
Driven Testing, easy embedding, and other features make OpenEJB a unique
EJB implementation. We&#8217;re going to take this code, kill all the static
old-school techniques, modernize it with and IoC architecture based on
the gbean.org kernel. The gbean kernel is an IoC kernel compatible with
both Spring and Geronimo.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_present">Present</h2>
<div class="sectionbody">
<div class="paragraph">
<p>OpenEJB 2.0 is an awesome fast implementation of EJB 2.1 that runs in
Apache Geronimo. As the gbean.org kernel is both Spring and Geronimo
compatible, it provides a great way for us to take the
Geronimo-compatible EJB containers and deployers in OpenEJB 2 and start
hammering them out and releasing them to long-time OpenEJB users. It
will also allow people using OpenEJB to start experimenting with
Spring&#8217;s sophisticated IoC features.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_future">Future</h2>
<div class="sectionbody">
<div class="paragraph">
<p>EJB 3.0 is a new direction for EJB and we&#8217;re going to do it with style.
A focus on simplicity is where OpenEJB shines. Combining the EJB 3.0
Simplified specification with our existing lightweight features, like
Container Driven Testing, is just the beginning. We plan to go way
beyond the planned additions and into areas the J2EE spec groups won&#8217;t
go such as deployment descriptors with attributes, simpler packaging,
more flexible classloader setup, more powerful IoC support, simpler web
services support and more.</p>
</div>
</div>
</div>
<h1 id="_release_on_day_one" class="sect0">Release on Day One</h1>
<div class="paragraph">
<p>Keep it working, keep it progressing, keep releasing. The 3.0 version
number won&#8217;t be the finishing line, but the starting line. Our work will
start out as 3.0 on day one and keep incrementing the version number as
we get further along our feature list. The EJB 3.0 spec is not completed
and the OpenEJB 3.0 code line will be equally dynamic and best suited
for adventurous developers who enjoy reading release notes and
participating on user lists. There will be an incredible focus on
keeping things stable enough to use the entire time as we work towards
feature completion.</p>
</div>
<div class="paragraph">
<p>The effect of all this is that you get a fixed-up, far more extensible,
version of the code you are already using delivered to you right away.</p>
</div>
</div>
</div>
</div>
<footer>
<div class="container">
<div class="row">
<div class="col-sm-6 text-center-mobile">
<h3 class="white">Be simple. Be certified. Be Tomcat.</h3>
<h5 class="light regular light-white">"A good application in a good server"</h5>
<ul class="social-footer">
<li><a href="https://www.facebook.com/ApacheTomEE/"><i class="fa fa-facebook"></i></a></li>
<li><a href="https://twitter.com/apachetomee"><i class="fa fa-twitter"></i></a></li>
<li><a href="https://plus.google.com/communities/105208241852045684449"><i class="fa fa-google-plus"></i></a></li>
</ul>
</div>
<div class="col-sm-6 text-center-mobile">
<div class="row opening-hours">
<div class="col-sm-3 text-center-mobile">
<h5><a href="../../latest/docs/" class="white">Documentation</a></h5>
<ul class="list-unstyled">
<li><a href="../../latest/docs/admin/configuration/index.html" class="regular light-white">How to configure</a></li>
<li><a href="../../latest/docs/admin/file-layout.html" class="regular light-white">Dir. Structure</a></li>
<li><a href="../../latest/docs/developer/testing/index.html" class="regular light-white">Testing</a></li>
<li><a href="../../latest/docs/admin/cluster/index.html" class="regular light-white">Clustering</a></li>
</ul>
</div>
<div class="col-sm-3 text-center-mobile">
<h5><a href="../../latest/examples/" class="white">Examples</a></h5>
<ul class="list-unstyled">
<li><a href="../../latest/examples/simple-cdi-interceptor.html" class="regular light-white">CDI Interceptor</a></li>
<li><a href="../../latest/examples/rest-cdi.html" class="regular light-white">REST with CDI</a></li>
<li><a href="../../latest/examples/ejb-examples.html" class="regular light-white">EJB</a></li>
<li><a href="../../latest/examples/jsf-managedBean-and-ejb.html" class="regular light-white">JSF</a></li>
</ul>
</div>
<div class="col-sm-3 text-center-mobile">
<h5><a href="../../community/index.html" class="white">Community</a></h5>
<ul class="list-unstyled">
<li><a href="../../community/contributors.html" class="regular light-white">Contributors</a></li>
<li><a href="../../community/social.html" class="regular light-white">Social</a></li>
<li><a href="../../community/sources.html" class="regular light-white">Sources</a></li>
</ul>
</div>
<div class="col-sm-3 text-center-mobile">
<h5><a href="../../security/index.html" class="white">Security</a></h5>
<ul class="list-unstyled">
<li><a href="http://apache.org/security" target="_blank" class="regular light-white">Apache Security</a></li>
<li><a href="http://apache.org/security/projects.html" target="_blank" class="regular light-white">Security Projects</a></li>
<li><a href="http://cve.mitre.org" target="_blank" class="regular light-white">CVE</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="row bottom-footer text-center-mobile">
<div class="col-sm-12 light-white">
<p>Copyright &copy; 1999-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
</div>
</div>
</div>
</footer>
<!-- Holder for mobile navigation -->
<div class="mobile-nav">
<ul>
<li><a hef="../../latest/docs/admin/index.html">Administrators</a>
<li><a hef="../../latest/docs/developer/index.html">Developers</a>
<li><a hef="../../latest/docs/advanced/index.html">Advanced</a>
<li><a hef="../../community/index.html">Community</a>
</ul>
<a href="#" class="close-link"><i class="arrow_up"></i></a>
</div>
<!-- Scripts -->
<script src="../../js/jquery-1.11.1.min.js"></script>
<script src="../../js/owl.carousel.min.js"></script>
<script src="../../js/bootstrap.min.js"></script>
<script src="../../js/wow.min.js"></script>
<script src="../../js/typewriter.js"></script>
<script src="../../js/jquery.onepagenav.js"></script>
<script src="../../js/tree.jquery.js"></script>
<script src="../../js/highlight.pack.js"></script>
<script src="../../js/main.js"></script>
</body>
</html>