Hi Tim!

On Jul 5, 2012, at 9:15 AM, ymaraner wrote:

> I have an existing J2EE 1.4 Enterprise Application (w/ ejb2.1, JMS, and WS)
> that deploys and runs successfully on WebSphere, WebLogic, and JBoss. I
> would like to port it to TomEE+.

TomEE does support all of EJB 1.1 to 3.1, including CMP2.  The documentation 
for CMP2 was non-existent.  I've gone ahead and written some up for you:

  http://tomee.apache.org/examples-trunk/simple-cmp2/README.html

Our legacy EJB 2.x support is very stellar as we put a tremendous amount of 
work ensuring that EJB 2x and EJB 3x use the same runtime code -- so EJB 2x 
beans continue to get the new features and bug fixes we give to EJB 3x beans, 
including CMP2 which gets a steady stream of persistence fixes and tuning via 
OpenJPA.  One of the more amazing features we have that we just have no time to 
promote.

We don't, however, support JAX-RPC at all.  If the WS you mention is JAX-RPC, 
the only
route to take would be to upgrade that to JAX-WS.  Or if you were supporting 
your own WS usage (and not using what was bundled in the server) by putting 
jars in your WEB-INF/lib dir, that should continue to work.  In which case, 
you're in luck.

> Are there any currently maintained tools to generate TomEE+ descriptors
> using descriptors for another app server as input?

We do have tools to convert GlassFish or Geronimo descriptors to TomEE 
descriptors, both include complex things like CMP mappings.

We do this at deploy time automatically when we see GlassFish descriptors in 
the application.  Under the covers the code is fairly simple: one JAXB tree for 
the GlassFish descriptors, one JAXB for our descriptors, read both in and a 
couple pages of "moving data" over code and done.  We actually run the Java EE 
6 TCK daily using the GlassFish descriptors, relying on our ability to convert 
them on-the-fly to TomEE descriptors.

Here is 100% of the logic (not the JAXB trees) for doing the GlassFish to TomEE 
descriptor conversion:

http://svn.apache.org/repos/asf/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/SunConversion.java

It was always our intent to write the same code for WebSphere, WebLogic and 
JBoss as well.  We actually do have the JAXB trees for each of those servers 
already, we simply lack the translation layer.   A WebLogic (WlsConversion) is 
partially in place, but nowhere near complete:

http://svn.apache.org/repos/asf/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/WlsConversion.java

Note the same `openejb.descriptors.output` property mentioned in the CMP2 doc 
works for outputting these generated descriptors too.

The moral of the conversion tool story is we're one keenly written class away 
from X server to TomEE conversion; the framework and even descriptor trees are 
already there.  We're more than happy to help people write that and we love it 
when we get to make users into committers on the project.

Hope the above helps!


-David

Reply via email to