tomee-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] OpenEJB 3.0.x documentation > Apache TomEE
Date Tue, 04 Oct 2011 21:11:00 GMT
    <base href="">
            <link rel="stylesheet" href="/confluence/s/2042/9/1/_/styles/combined.css?spaceKey=OPENEJBx30&amp;forWysiwyg=true"
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="">Apache
    <h4>Page <b>edited</b> by             <a href="">David
                         <h4>Changes (1)</h4>
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
            <tr><td class="diff-changed-lines" >Apache TomEE, pronounced &quot;Tommy&quot;,
is an all-Apache <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">stack
aimed at</span> *Java EE 6 Web Profile* <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">certification</span>
<span class="diff-added-words"style="background-color: #dfd;">certified stack</span>
where Tomcat is top dog. <br></td></tr>
            <tr><td class="diff-unchanged" > <br>h3. Overview <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <p>Apache TomEE, pronounced "Tommy", is an all-Apache <b>Java EE 6 Web
Profile</b> certified stack where Tomcat is top dog.</p>

<h3><a name="ApacheTomEE-Overview"></a>Overview</h3>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<td class='confluenceTd'>CDI </td>
<td class='confluenceTd'> Apache OpenWebBeans </td>
<td class='confluenceTd'>EJB</td>
<td class='confluenceTd'> Apache OpenEJB </td>
<td class='confluenceTd'>Javamail</td>
<td class='confluenceTd'> Apache Geronimo JavaMail </td>
<td class='confluenceTd'>JPA</td>
<td class='confluenceTd'> Apache OpenJPA </td>
<td class='confluenceTd'>JSF </td>
<td class='confluenceTd'> Apache MyFaces </td>
<td class='confluenceTd'>JSP </td>
<td class='confluenceTd'> Apache Tomcat </td>
<td class='confluenceTd'>JSTL </td>
<td class='confluenceTd'> Apache Tomcat </td>
<td class='confluenceTd'>JTA </td>
<td class='confluenceTd'> Apache Geronimo Transaction </td>
<td class='confluenceTd'>Servlet </td>
<td class='confluenceTd'> Apache Tomcat </td>

<h3><a name="ApacheTomEE-ApacheTomEEPlus"></a>Apache TomEE Plus</h3>
<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<td class='confluenceTd'>Connector </td>
<td class='confluenceTd'> Apache Geronimo Connector </td>
<td class='confluenceTd'>JMS</td>
<td class='confluenceTd'> Apache ActiveMQ </td>
<td class='confluenceTd'>Web Services </td>
<td class='confluenceTd'> Apache CXF</td>

<div style="clear:both;"></div>

<h1><a name="ApacheTomEE-Goal"></a>Goal</h1>

<p>Simple, Get more from Tomcat without giving anything up.</p>

<h1><a name="ApacheTomEE-Focuses"></a>Focuses</h1>

<p>Some core focuses guide the integration:</p>

<ul class="alternate" type="square">
	<li>Don't mess with Tomcat</li>
	<li>Keep it simple</li>
	<li>Avoid architecture overhead</li>

<p>The desire to beef up Tomcat installations has persisted despite the existence of
full-blown app servers, many of which include Tomcat in some truncated and stripped-down form.
 Not TomEE.</p>

<h1><a name="ApacheTomEE-UndertheCovers"></a>Under the Covers</h1>

<p>Apache TomEE is assembled from a vanilla Apache Tomcat zip file.  No picking and
choosing individual parts of Tomcat and building a "new" server leveraging Tomcat.  We start
with Tomcat, add our jars and zip up the rest.  The result is Tomcat with added EE features,

<p>Tomcat provides plenty of hooks for filling out parts of its lifecycle.  We leverage
them all to fill the gaps.  The result is a whole lotta sharing!</p>

<p>Servlets now get access to JPA and Transactions, EJBs get access to Tomcat provided
Security.  Any Tomcat provided resources, say from a context.xml, can be looked up or injected
by <b>any</b> managed component in the system.</p>

<h1><a name="ApacheTomEE-KeepitTight%2CKeepitSimple"></a>Keep it Tight,
Keep it Simple</h1>

<p>There's a definite "less is more" philosophy in Apache TomEE.  It's too easy to go
too far when developing an app server.  The result is usually a slow to start, memory hogging,
beast.  We're not here to create an ultra flexible, super powerful, infinitely composable,
be anything to anyone platform.  We're here to deliver Java EE 6 Web Profile in the simplest
way possible.</p>

<p>If you were to imagine taking a plain Tomcat install and integrating the missing
components in the most direct and to-the-point style possible, you'd end up with TomEE.  The
result speaks for itself:</p>

<ul class="alternate" type="square">
	<li>Runs without any additional memory requirements</li>
	<li>Compatible with most Tomcat-aware tools</li>
	<li>Compatible with Tomcat-tested apps</li>

<h1><a name="ApacheTomEE-History"></a>History</h1>

<p>In Apache TomEE's previous life, it was simply known as the OpenEJB+Tomcat integration.
 That description was always quite misleading.  For one, there's incredible benefit even if
EJB is never used.</p>

<p>Quite simply, EJB as a technology integrates with the most number of specs than any
other spec.  It touches JMS, Web Services, Connectors, Servlets (EJB Web Services are still
driven by Servlets!), JPA, JDBC, Transactions, Security.  Integrating with all these technologies
takes time and expertise and in the end has very little to do with EJB specifically.  To apply
this all to Tomcat and leverage it all from a simple Servlet is a natural extension and the
reason most app servers started out as EJB servers.</p>

<p>Whereas most app servers pluck Tomcat out of its environment, Apache OpenEJB has
always existed as an embeddable container focused on being as tiny and invisible as possible.
 The natural extension of this is to embed the "EE" into Tomcat, rather than the other way

<p>But in the end, it is not about EJB.  It's about the other guys: ActiveMQ, CXF, MyFaces,
OpenJPA, OpenWebBeans, and of course Tomcat!  So out with OpenEJB+Tomcat and in with Apache

        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href=""
class="grey">Change Notification Preferences</a>
        <a href="">View
        <a href="">View
        <a href=";showCommentArea=true#addcomment">Add

View raw message