Win a copy of Murach's Python Programming this week in the Jython/Python forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

server compatibility question  RSS feed

 
PradeepPillai Pradeep
Ranch Hand
Posts: 190
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If I have a jar file (or war file) that I have created using sun app server deploy tool, would I be able to deploy it in Weblogic server (or JBoss) or vice versa. I see some difference between the deployment descriptors that sun appserver deploy tool has created and WebLogic Workshop has created.
Thank you very much.
[ December 01, 2005: Message edited by: PradeepPillai Pradeep ]
 
Valentin Tanase
Ranch Hand
Posts: 704
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Pradeep,

Actually there is nothing to laugh at here. In theory at least you should be able to deploy any application that is 100% j2ee compatible to every j2ee compatible container. In practice though the answer is not trivial and in order to comprehend one needs to look at the way every container implements ejbs specs. They all follow the specs, but most of the beans are heavily configured using vendor specific configurations. As an example look at WebLogic. The container provides the standard ejb-jar.xml as per specs, but it provides another container specific configuration file weblogic-ejb-jar.xml. If this file would contain only very specific vendor configuration information, like specific appropriate concurrency options, or support for mapping entity beans to multiple tables, etc. it would still be ok. But this file contains fundamental configuration tags for maintaining the free pool for entity ejbs & SLSB, as well as configuring the cache for entity ejbs and SFSBs, vital security enhancements, etc. These are basic configuration settings and most of the real applications are going to make use of them. Again you should be able to deploy your weblogic-compatible ejbs to every j2ee compatible container admitting they are simplistic enough and they don�t require the presence of weblogic-ejb-jar.xml (which by the way should not be mandatory).
Packing properly could be another serious issue. J2EE doesn�t specify very clearly how common libraries should be packed, nor does it say much about the classloading architecture. It is more than conceivable (and it often happens in practice) that applications running just fine within one container to raise bunch of ClassNotFound errors once deployed to another container.
Regards.
 
PradeepPillai Pradeep
Ranch Hand
Posts: 190
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Valentin, thanks again for stepping in. I guess if I need more compatibility it is better to use a tool with minimum functionality (like sun app server/deploytool).
When I opened up a jar file that I created using sun deploytool, in Weblogic Workshop it threw an error that says it is not compatible(or some message that is similar).
Would you recomment any tool that you think is good (sorry, I am not forcing you to do this)?
 
Valentin Tanase
Ranch Hand
Posts: 704
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Pradeep,

We�re building/packing applications using Ant & Maven and we always use tasks provided by each container vendor. WebLogic for example has it own ant deployer task, which always builds bea compatible applications. The same with JBoss and I�m pretty sure that Resin or WebSphere are no exceptions. As you can see containers are not compatible, their tools are not either, and so on. What I�m trying to say I guess is that you should better stop aiming to achieve vendor neutral paradigm since in real life this is probably never going to happen.
By the way you�re very welcome.
Regards.
 
PradeepPillai Pradeep
Ranch Hand
Posts: 190
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!