  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Tomcat - JSP/Servlet container | | Struts - A MVC web framework | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | JSP - A mailing list about Java Server Pages specification and reference | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | |
Struts & Hibernate
|
|
|
  | | | Porting an existing J2EE application : weblogic - > jboss | Porting an existing J2EE application : weblogic - > jboss 2004-09-25 - By Chester Chen
Back Hi, I know this is not Design pattern specific. But it's kind of experience many of us wish other could share with.
Here is my breif experience with porting Weblogic to Jboss. We are in the middle of doing it. So my experience is prelimary and can only be used as reference.
Before I start, here is some background info. We are ISV, We did not use any BEA specific functions exception BEA's lib for support Oracle BLOB. This can be easily replaced with Jboss's libary. We are using XDoclet to generate deployment desriptors and other files. We are using weblogic 8.1 SP2 currently and is porting JBOSS 4.0. Our code base must support both Weblogic and Jboss.
Here are the main steps and issues we experienced:
1. Add Jboss specific XDoclet tags. This is tideous work. As each change can only be varified by xdoclet, compile, jar, deployment to varify. This process takes a while.
2. For JBoss 4.0.0 RC1, there are several other concerns: a. JNDI name and connection pool name. JBOSS prepend the JNDI name, jDBC connection pool with "java:/". So you need to change your code JNDI reference to "java:/<jndi name>. In our case, as we have to support both Weblogic and Jboss server. A method is used to get the specific JNDI name based on the application server.
b. JMS topic, queue and othre names. JBOSS prepend "topic:/" and "queue:/" (JBOSS 4.0.0RC1) on topic and queue names respectively.
c. To make JMS works for Oracle, you need to delete the default Hypersonic database configuration and copy (and modify) the oracle configuration from the doc/example/jms doctory.
The JBOSS documentation is not very good. So you may need to search the JBOSS forum to find your answers.
d. There are some transaction model difference between Weblogic and JBOSS. Weblogic default transaction is "database " ( I could not remember exactly", while Jboss does not have this option. We have to re-work some part of code to avoid dead-locks in JBOSS.
e. ServeletContect.getReource() function retuns different URLs for Weblogic and JBoss. Weblogic returns a file URL point to the location of the resource file. JBOSS returns a jmp://host:.... URL.
You might need to change your API call if you try to load you properties file.
3. JBOSS 4.0 just relesed a few days ago. There are apparently some difference JBOSS 4.0.0 RC1. I still can not make my app work on it even though it works fine in JBOSS 4.0.0RC1.
Chester
--- "Hyne, David" <David.Hyne@(protected)> wrote:
> Hi Peter, > > 1) I would concentrate on two aspects: > a) UI - WLS has custom tag libraries for page > caching etc. We used > these tags extensively in our old projects, when we > decided to port our > application to another web server we ran into major > dilemma. There is a > product called OSCachea by OpenSymphony > http://www.opensymphony.com/oscache/, we used their > tags to replace WLS > tags. We did several benchmark tests and it was way > faster than WLS > tags. > b) server-side Java - There are proprietary > libraries that come with > WLS, we used a few so we need to replace with other > libraries. For > example, we used weblogic.jdbc.common.OracleClob > pacakge for Oracle > CLOB. > > 2) If you are using JSP/Servlet only, check out > Resin > http://caucho.com/resin/, it is light-weight server > easy to configure > and run. Have not done migration to Jboss so no > comment. > > Good luck! > D > > -- --Original Message-- -- > From: An interest list for Sun Java Center J2EE > Pattern Catalog > [mailto:J2EEPATTERNS-INTEREST@(protected)] On > Behalf Of Peter Petrov > Sent: Thursday, August 19, 2004 5:49 AM > To: J2EEPATTERNS-INTEREST@(protected) > Subject: Porting an existing J2EE application : > weblogic -> jboss > > Hi all, > > We have a task of porting a complex existing J2EE > application which is > currently running on weblogic 7.0 to jboss 3.2.x. > > I have one very high-level and one concrete > question. > > 1) In general what is the right point to start from > when such a task > arises > ? > The application is pretty complex ( though not > rocket science of course > ). > There are > parts of it which are nicely implemented and parts > which are badly > implemented. > Another factor is we don't know everything about it > from a business > point of > view. > So does anyone have an idea what kind of plan can we > make at first about > the > steps we > should take for implementing that porting to JBoss. > The plan would be for our own usage. I think it > could can also help > ourselves > maintaining a clear idea of the steps we follow > during the process a > porting > and also give > us a mechanism for estimating our progress in > implementing the task. > Having even unprecise or too high-level plan and > mechanism is still > better > then having no > such plan/mechanism at all. > > 2) My second question is more technical, more > specific. Has anyone used > this > http://www.jboss.org/index.html?module=html&op=userdisplay&id=services/b > ea-p > ort ? > If so what do you think about it ? Is it applicable > and really doing its > job > ? > One more thing - on the page I mention above they > say this tool is > applicable for > Weblogic 6.1 while our application is running on > Weblogic 7.0. > Could that be a big problem if choosing the above > tool as a helper one > for > doing > the port to JBoss. > > > > > > > > Peter Petrov > > ==================================================================== > Companion Site: http://www.corej2eepatterns.com > J2EE BluePrints: > http://java.sun.com/blueprints/corej2eepatterns > List Archive: > http://archives.java.sun.com/archives/j2eepatterns-interest.html > Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" > to > listserv@(protected) > > > > > -- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----- > > This email is confidential and may be legally > privileged. > > It is intended solely for the addressee. Access to > this email by anyone else, unless expressly approved > by the sender or an authorized addressee, is > unauthorized. > > If you are not the intended recipient, any > disclosure, copying, distribution or any action > omitted or taken in reliance on it, is prohibited > and may be unlawful. If you believe that you have > received this email in error, please contact the > sender, delete this e-mail and destroy all copies. > > ============================================================================== > > ==================================================================== > Companion Site: http://www.corej2eepatterns.com > J2EE BluePrints: > http://java.sun.com/blueprints/corej2eepatterns > List Archive: > http://archives.java.sun.com/archives/j2eepatterns-interest.html > Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" > to listserv@(protected) >
__ ____ ____ ____ ____ ____ ___ Do you Yahoo!? Express yourself with Y! Messenger! Free. Download now. http://messenger.yahoo.com
==================================================================== Companion Site: http://www.corej2eepatterns.com J2EE BluePrints: http://java.sun.com/blueprints/corej2eepatterns List Archive: http://archives.java.sun.com/archives/j2eepatterns-interest.html Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to listserv@(protected)
|
|
 |