Actually OpenEJB works great as an embeddable.

Just dowloand openejb.war, deploy it into tomcat/webapp that is it! You can use all EJB container functionality in your web applications!

Actually the point is that EJB  is just a technology related with Java EE distribution model/architecture. Its usage heavily depends on where you would like to use it. If you want to create a (simple) web application that depends on single database resource, maybe it is not necessary to include EJBs into your application. But if you would like to use 2PC (for example, integrating JMS with Databases etc.), to distribute your business code into more than one machine , to integrate with legacy CORBA systems or other messaging systems etc. you could likely to use EJBs in Java EE environment.

Thanks;

--Gurkan


From: Dan Allen <dan.j.allen@gmail.com>
To: Gurkan Erdogdu <gurkanerdogdu@yahoo.com>
Cc: reza_rahman@lycos.com; Weld-Dev <weld-dev@lists.jboss.org>
Sent: Tue, November 24, 2009 10:22:42 PM
Subject: Re: [weld-dev] persistence and transactions outside Java EE

On Tue, Nov 24, 2009 at 3:17 PM, Gurkan Erdogdu <gurkanerdogdu@yahoo.com> wrote:
>>>the main concern is that JTA transactions simply aren't available in a servlet environment (without extra configuration).
AFAIK, you can use UserTransaction object

If I download Tomcat or Jetty right now (unless I didn't get the memo) I won't have a UserTransaction.

Yes, if I spend half the day searching the web to find a tutorial that actually works, maybe I can "upgrade" these containers to support JTA, but that's a PITA.

If you can tell me that placing a single JAR file in the container so that EJB lite works, then we have something.

-Dan

--
Dan Allen
Senior Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597

http://mojavelinux.com
http://mojavelinux.com/seaminaction
http://www.google.com/profiles/dan.j.allen