[prev in list] [next in list] [prev in thread] [next in thread]
List: openejb-cvs
Subject: [CONF] OpenEJB > Local Server
From: confluence () apache ! org
Date: 2009-08-29 20:45:00
Message-ID: 931165928.2267.1251578700039.JavaMail.www-data () brutus
[Download RAW message or body]
<html>
<head>
<base href="http://cwiki.apache.org/confluence">
<link rel="stylesheet" \
href="/confluence/s/1519/1/1/_/styles/combined.css?spaceKey=OPENEJB&forWysiwyg=true" \
type="text/css"> </head>
<body style="background-color: white" bgcolor="white">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
<h2><a href="http://cwiki.apache.org/confluence/display/OPENEJB/Local+Server">Local \
Server</a></h2>
<h4>Page <b>edited</b> by <a \
href="http://cwiki.apache.org/confluence/display/~dblevins">David Blevins</a> </h4>
<br/>
<div class="notificationGreySide">
<p><img src="http://www.openejb.org/images/diagram-local-server.gif" \
align="right" border="0" hspace="15" /></p> <h1><a \
name="LocalServer-AccessingEJBsLocally"></a>Accessing EJBs Locally</h1>
<p>When OpenEJB embedded in your app, server, IDE, or JUnit, you can use what we call \
the Local Server and avoid the network overhead and enjoy an easy way to embedd \
OpenEJB.</p>
<h1><a name="LocalServer-Saywhat%3F%21Alocalserver%3F"></a>Say what?! A local \
server?</h1>
<p>Yes, you read correctly. OpenEJB can be embedded and treated as your very own \
personal EJB container.</p>
<p>If they can have Local and Remote EJB's, why not Local and Remote EJB Servers \
too?</p>
<p>Haven't you ever wanted EJBs without the heavy? I mean you need the "heavy" \
eventually, but not while you're developing. Well, there's the advantage of an EJB \
implementation that was designed with a very clean and well defined server-container \
contract, you can cut the server part out completely!</p>
<p>So, if you wish to access ejbs locally and not in client/server mode, you can do \
so by embedding OpenEJB as a library and accessing ejbs through OpenEJB's built-in \
IntraVM (Local) Server. Why would someone want to do this?</p> <ul>
<li>Your application is a server or other middleware</li>
<li>You want to write an app that can be both stand alone <b>and</b> \
distributed</li> <li>To test your EJBs with JUnit and don't want to start/stop \
servers and other nonsense</li> <li>Imagine the power from being able to use your \
IDE debugger to step from your Client all the way into your EJB and back with no \
remote debugging voodoo.</li> </ul>
<p>In this case, your application, test suite, IDE, or client accesses beans as you \
would from any other EJB Server. The EJB Server just happens to be running in the \
same virtual machine as your application. This EJB Server is thusly called the \
IntraVM Server, and, for all intense purposes, your application an IntraVM \
Client.</p>
<p>There are some interesting differences though. The IntraVM Server isn't a \
heavyweight server as one normally associates with EJB. It doesn't open connections, \
launch threads for processing requests, introduce complex classloading heirarchies, \
or any of those "heavy" kind of things. All it does is dish out proxies to your app \
that can be used to shoot calls right into the EJB Container. Very light, very fast, \
very easy for testing, debugging, developing, etc.</p>
<h1><a name="LocalServer-EmbeddingOpenEJBDynamically"></a>Embedding OpenEJB \
Dynamically</h1>
<p>Read the <a href="/confluence/display/OPENEJB/Embedding" \
title="Embedding">Embedding</a> guide for all the details on how to embed OpenEJB in \
a Plain Old Java Program (POJP) – how's that for an acronym.</p>
</div>
<div id="commentsSection" class="wiki-content pageSection">
<div style="float: right;">
<a href="http://cwiki.apache.org/confluence/users/viewnotifications.action" \
class="grey">Change Notification Preferences</a> </div>
<a href="http://cwiki.apache.org/confluence/display/OPENEJB/Local+Server">View \
Online</a> |
<a href="http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=26515&revisedVersion=2&originalVersion=1">View \
Change</a> |
<a href="http://cwiki.apache.org/confluence/display/OPENEJB/Local+Server?showComments=true&showCommentArea=true#addcomment">Add \
Comment</a> </div>
</div>
</div>
</div>
</div>
</body>
</html>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic