Thursday, October 26, 2006

Is BEA far ahead in Java EE 5 game?

It was interesting to read this article in Dr Dobb's Java portal (and InfoQ' s thread ) that noted that BEA is ahead of others in the Java EE 5 game. In my personal opinion (note that this blog is my personal opinion and nothing to do with my employer's), these are really biased articles and reflects the mindset of the writer "BEA is always ahead!"

As per the article EJB 3/JPA covers significant portions of Java EE 5 and hence the reality shows otherwise. Oracle and JBoss had EJB 3 previews for years (yes years, we released our first EJB 3 preview in early March 2005, See my announcement) and both JBoss and Oracle have production release of EJB 3/JPA in their application server. Look for complete EJB 3/ JPA support in Oracle Application Server 10g 10.1.3.1 whereas BEA just has tech preview of a subset of EJB 3 specification. They have support for Java Persistence API in Kodo but the article in DDJ also acknowledges Kodo is not yet integrated with the WebLogic and hence you cannot use its full power. However Oracle’s JPA implementation TopLink Essentials is totally integrated with Oracle's Java EE container (OC4J) and is also shipped with Glassfish, TmaxSoft and popular Spring 2.0!.

Beside full implementation of EJB 3 and JPA, Oracle has also support for Web services metadata, annotations support in the Servlet (2.5) and application client container in Oracle Application Server (10.1.3.1). Above all these features work in a truly integrated fashion that customers can use in production today. You cannot use JSR-181 annotations with an EJB 3 session bean in a production environment with WebLogic but can do that today with OracleAS !

Try running a complicated application such as Java Adventure Builder that uses EJB 3 /JPA / Web services metadata in the WebLogic Tech Preview. If you can’t do these things then what made the author to assume that BEA is ahead of JBoss and Oracle in the Java EE 5 game.

It truly frustrates me when seeing such biased articles because many gullible readers treat such articles as bible.

Many Oracle customers have started deploying EJB 3.0/JPA applications in production. Can you do that with BEA? If not then how can you say that they are ahead in the game!


5 comments:

pcdinh said...

No one can go ahead Sun Microsystem in term of Java EE 5 as wel as Java in general. Sun is always the Java leader

Anonymous said...

Debu, debu, you said "Many Oracle customers have started deploying EJB 3.0/JPA applications in production. Can you do that with BEA? If not then how can you say that they are ahead in the game!"

I am Oracle customer, OC4J 10.1.3 is developmeent server and NOT A "PRODUCTION" SUPPORTED server !

Debu, you know more than all that the "production supported" release is "Oracle AS 10.1.3.0" and that there is not "Oracle AS 10.1.3.1" available. OC4J 10.1.3.1 is for development environments only and not suported in production environnemnts.
Thank you for your clarification; -)

Debu Panda said...

We had support for EJB 3 support (draft specifications) in 10.1.3.0.0 and some of customers who use EJB 3 features have gone production in 10.1.3.0.0. OracleAS 10.1.3.0 has been production and supported server since January 2006.

Also OracleAS 10.1.3.1 Production which has full support for EJB 3 (we cannot say compatibile) amd JPA 1.0 has been generally available for about two weeks now. See http://www.oracle.com/technology/tech/java/oc4j/index.html for details

regards
Debu

Hashim said...

Hi Debu, I think IBM is out of the game too.

What about Glassfish and Geronimo?

Regards,
Ahmed Hashim
http://www.egjug.org

Anonymous said...

Debu,

I somewhat agree with your comment on EJB3 and JPA.I have been a BEA person for more than 10 years now and I always saw BEA Servers leading the J2EE space.

Last year, I was evaluating the technologies and felt that BEA was little behind in getting on to EJB3, Java 5 or JPA bandwagon. That could be because they were re-branding there tools as Aqualogic platform. I believe that they also had made a bad decision do a develop an in-house tool like Weblogic workshop, which got bloated over the period of time and had to move it to an eclipse based tool recently. I thought things may take some time to turnaround with BEA and took a bold step to work on a project with Oracle application Server as Oracle was boasting about EJB3, J2EE5, TOPLINK, SOA, BPEL ETC... To my dismay 6 months into the product, I found there was no complete support for EJB3 till Sep/Oct 2006 release. I did not explore complete J2ee or TopLink support features so I cannot comment on that. BEA had supported a kind of EJB3 model in its Workshop tool, but this was not as per the EJB3 spec. It did support annotations (kind of Java % Model) long before when they released their 8.1 platform. They may not have been strict compliant with J2EE5 Spec, but it did provide a transition phase. If someone has to move to the J2EE5 and EJB3 spec in the future it was not that difficult.
On the BPEL and SOA world the Oracle Platform and the Jdeveloper tool was lacking many features that BEA and other vendors have already implemented long time ago. Some of the features were not completely implemented or breaking half way. I have given my suggestions to improve the features in the oracle forums site. (http://forums.oracle.com/forums/thread.jspa?threadID=282838&start=30&tstart=0)I was surprised when Oracle started out statements like support for SOA2.0, while the event driven model of SOA was already in place in BEA and other non-Oracle Worlds.

T conclude, If I compare the stability of the features claimed to be supported by the platform and ease of development I would still vote for BEA. On the other hand if I compare the features (working as well as broken implementations) I will vote for Oracle for J2ee platform ( not for the SOA platform).
Overall I think Oracle has a long way to go in providing a stable platform. Rather than telling that it supports the wide variety of standards, specifications, I would like to see that Oracle tries to provide a mature implementation on the features on one by one basis. That way the platform can be a Master than Jack of all trades.

Anil Datt