J2EE本身只是一种框架,没有规定具体的实现细节,所以websphere和weblogic的实现细节和扩展功能并不一致,但是在J2EE框架内,还是可以通过一些简单的操作使支持其中某种平台的企业应用转化为支持另外一种平台的企业应用。本文中作者根据自己的实际操作经验,给出了将支持Websphere的企业应用转化为支持Weblogic的方法,希望能够对大家有所帮助。

  由于J2EE只是一种企业应用的实现框架,他并没有对J2EE应用的实现细节给出更具体的描述,也没有对平台的外延进行设定,所以各大J2EE架构的平台提供商往往根据自身的特点使用不同的实现方式,比如websphere和weblogic的JMS服务器的具体实现技术就完全不一致;当然,他们也会根据各自对新技术发展的理解对平台中的扩展功能作出不同的选择,比如websphere平台中提供对ant和struts的支持,而weblogic使用了自己开发的page flow技术来实现基于MVC的web Framework;他们之间最大的差异在于:他们选择了不同的配置描述符文件,虽然这些文件描述的内容是一致的。
  正是由于这些差异,所以支持websphere的企业应用在weblogic平台上是不能直接用来配置使用的。但是实际工作中这种情况却不可避免,尤其是提供具体企业应用的独立软件开发商,比如一家提供基于J2EE架构的CRM(客户管理系统)或者SCM(供应链管理系统)的软件开发商,他们因为一些众所周知的原因(比如软件授权、雇员技术能力等),一般只能选择在其中某一个企业应用平台上开发和调试自己的产品,但是他们不能保证客户的现有技术环境或者需求和他们的提供产品支持的企业应用平台完全一致,如果碰巧他们的客户的现有技术环境或者需求和开发商的产品所支持的平台之间不一致,那么如何简单的将支持一种平台的企业应用简单的转化为支持另一种平台的企业应用就成了一个很大的问题。
  作者在随后的章节详细的描述了自己工作过程摸索出的一些经验,他们能解决这个问题中的大部分,但还是会存在某些问题会由于这两种产品之间实现差异太大而无法通过这些简单的方式加以解决,需要更多的工作,甚至需要修改代码才能完成。

1 将支持websphere的企业应用转化为支持weblogic的企业应用
  将支持websphere的企业应用转化为支持weblogic的企业应用因为一个工具的存在而变得非常简单――weblogic平台中提供的weblogic builder,使用这个工具,通过简单的操作后,我们可以轻松的实现这种转化,下面是详细的实现步骤:
  1. 使用WSAD5将支持websphere的企业应用打包成.EAR或者.WAR文件。
一般情况下这个步骤可以省了,因为websphere只支持基于.EAR或者.WAR文件的发布方式,所以需要的文件应该已经存在了。
  2. 用Winrar或者Winzip打开需要转化的.EAR或者.WAR文件(因为.EAR或者.WAR文件本来就是zip格式的文件),删除需要转化的文件中的配置符文件,如web应用的web.xml等,EJB应用的ejb-jar.xml文件等。
  3. 打开weblogic builder工具,打开删除了配置符文件的.EAR或者.WAR文件,这时weblogic builder会提示您"无法找到配置描述符,是否需要weblogic builder帮您生成"。

  4. 我们选择"是",之后weblogic builder会自动搜索该.EAR或者.WAR文件的可配置组件,包括可配置的servlet、EJB等,采用weblogic builder的默认命名规则自动生成一个符合weblogic要求的配置符文件。

  剩下的工作就简单多了,你只需要对这些可配置组件――包括可配置的servlet、EJB等的jndi名字等属性按照企业应用环境、已开发程序的要求,在weblogic builder提供的可视化修改界面上进行修改就可以了,最后保存一下所作的修改,一个支持weblogic的企业应用或者web应用就转化成功了

2 总结
  虽然websphere和weblogic应用平台的具体实现方式由于所属厂商的不同而存在很大的不同差异,但是他们在J2EE架构内的实现大同小异,最大的不同是采用了不同的描述配置符文件,所以让企业应用在支持websphere和在支持weblogic平台之间相互转化工作并不是非常困难,一般情况下只需要重新生成描述配置符文件基本就可以解决这个难题。而这个转化工作也由于这两家厂商提供的相关实用的操作工具变得简单起来,作者根据自己的工作经验给出了一些实现这种转化工作需要用到的工具和具体的实现过程,希望能够帮助更多的人解决这种转化问题,使大家可以将支持websphere的企业应用通过简单的工作就可以转化为支持weblogic。
  当然这些简单的操作过程可以解决大部分的问题,但是还是有些问题由于会因为这两种平台实现的差异太大而不能通过这种简单的配置就加以解决,比如涉及到EJB的调用时,由于BEA使用了t3协议,而IBM使用了IIOP协议,所以他们的EJB调用方式存在差异,这种情况下,我们只能通过修改程序代码来实现企业应用的转化,相信还会有其他的问题存在,希望各位读者通过自己的研究和实践解决这种转化问题,也希望大家能够将解决方法通过email和作者共享。

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 4, comments - 0, trackbacks - 0, articles - 2

Copyright © 林世军