版权所有IBM公司2002商标把部署到BEAWebLogicServer上的WebGainVisualCafWeb应用程序迁移到IBMWebSphereStudioApplicationDeveloper:第1部分第1页,共11把部署到BEAWebLogicServer上的WebGainVisualCafWeb应用程序迁移到IBMWebSphereStudioApplicationDeveloper:第1部分BarrySearle(searle@ca.
ibm.
com)WebSphereStudioApplicationDeveloper迁移小组负责人IBM多伦多实验室EllenMcKayWebSphereStudioApplicationDeveloper信息开发人员IBM多伦多实验室2002年9月01日把部署到BEAWebLogicServer上的WebGainVisualCafWeb应用程序迁移到IBMWebSphereStudioApplicationDeveloper第1部分CopyrightInternationalBusinessMachinesCorporation2002.
Allrightsreserved.
介绍有些开发者使用WebGainVisualCafEnterpriseSuite(以后称为VisualCaf,它是WebGain,Inc.
的WebGainStudio的一部分)开发将部署到BEAWebLogicServer(以后称为WebLogic)的Web应用程序.
这个由三篇文章组成的系列描述了如何将开发应用程序从VisualCaf迁移到IBMWebSphereStudioApplicationDeveloper(以后称为ApplicationDeveloper).
本系列中的许多信息也可以用于将应用程序(特别是Web应用程序(servlet、JSp和HTML))从其它开发工具迁移到ApplicationDeveloper.
使用同类产品的用户可以升级到ApplicationDeveloper,并可获得25%的折扣.
关于从其它环境迁移到WebSphereStudio工具的更多信息,请参阅WebSphere开发者园地上的新迁移页面和ApplicationDeveloper转换页面.
如果您遵循本系列文章中的步骤,则不需要将自己的部署运行时更改为WebSphereApplicationServer(尽管我们描述了这个选项).
您将学会如何把ApplicationDeveloper用于正在进行的开发,同时仍然保持向WebLogic服务器进行部署(或者同时向WebLogicServers和WebSphereApplicationServers进行部署).
尽管这一系列文章在其示例中使用VisualCaf版本4.
5.
2、WebLogic版本6.
1和ApplicationDeveloper版本4.
0.
3,但相同的概念也适用于这些产品的其它版本(区别很小或者没有).
本系列的三篇文章是:developerWorksibm.
com/developerWorks/cn/把部署到BEAWebLogicServer上的WebGainVisualCafWeb应用程序迁移到IBMWebSphereStudioApplicationDeveloper:第1部分第2页,共11第1部分(就是您正阅读的)描述了一般的迁移注意事项,如何把WebLogic样本应用程序迁移到WebGainVisualCaf中,如何把WebWAR应用程序从VisualCaf迁移到ApplicationDeveloper中,以及如何使用WebLogic服务器和/或嵌入的WebSphereApplicationServer部署和调试WebWAR应用程序.
第2部分描述如何使用一种工具将EnterpriseJavaBean(EJB)应用程序从VisualCaf迁移到ApplicationDeveloper,该工具在转换EJB部署描述符的同时仍保留WebLogic版本的描述符.
第3部分详细描述了第2部分中使用的WebLogic2WebSphere(WL2WAS)迁移工具,该工具将WebLogic部署描述符加工并转换为WebSphere部署描述符(特别是转换更复杂的EJB部署描述符).
至于对背景信息不感兴趣的专家,可以直接跳到迁移步骤.
什么是ApplicationDeveloper那么为什么要把J2EE应用程序开发迁移到ApplicationDeveloper呢我们将尽量少用煽动性的广告语言,重点对主要功能进行简要概述.
关于详细的产品信息,请联系IBM的销售人员,或者浏览ApplicationDeveloper产品Web页面.
ApplicationDeveloper是整个WebSphereStudio系列的一部分,关于WebSphereStudio系列开发工具一文中描述了这个产品系列.
Studio系列运行在WebSphereStudioWorkbench上,WebSphereStudioWorkbench基于开放源代码的Eclipse平台.
ApplicationDeveloper已经在Javapro杂志举行的最有价值产品与最好的Java部署工具评选活动以及InfoWorld举行的最好的应用程序开发产品评选活动中获得了名次.
ApplicationDeveloper是一个易于使用的、集成的开发环境,用于构建、测试和部署J2EE应用程序.
它还提供了许多其它的功能.
您可以通过它:用HTML页面、servlet、JavaServerpage(JSp)文件和EnterpriseJavaBean(EJB)组件构建J2EE应用程序.
使用集成开发环境(IntegratedDevelopmentEnvironment,IDE)快速编写代码,IDE有许多强大的功能:面向Java、HTML、JSp和XML的代码助手.
增量保存和构建以及本地版本历史.
用于代码片段执行的剪贴薄.
重构功能和许多编辑功能.
高级搜索功能(引用和声明).
用开放的标准创建Web服务应用程序.
根据DTD和模式(schema)生成XML文档.
提供一个合作的团队环境.
最优化应用程序性能.
为使用第三方插件向WebLogic进行部署,对WebSphereApplicationServer和ApacheTomCat进行端到端的本地和远程测试.
通过使用向导与代码生成器提高工作效率,并创建高质量的应用程序.
迁移注意事项在改变应用程序的开发工具时,您需要考虑几个因素,特别是对于Web应用程序、Java应用程序和J2EE应用程序来说更是如此.
下面是一些主要的迁移注意事项:ibm.
com/developerWorks/cn/developerWorks把部署到BEAWebLogicServer上的WebGainVisualCafWeb应用程序迁移到IBMWebSphereStudioApplicationDeveloper:第1部分第3页,共111.
在开始任何迁移之前,都要有一个稳定的、可运行的应用程序.
这一点可能看起来无关紧要,而且是理所当然的,但必须考虑这一点,这样您就不必担心进行过程中发生变化而导致出现运行时问题.
2.
将应用程序迁移出旧工具(将其从VisualCaf导出).
3.
将应用程序迁移到新工具中(将其导入ApplicationDeveloper).
4.
您将需要对新工具有基本的了解(要有足够进行编辑、编译、部署和调试的知识).
5.
您需要能够修正产生的编译警告或错误(如果有的话).
这正是Java标准化和可移植性真正能够大显身手的地方.
6.
您需要能够维护自己以前的目标J2EE运行时包部署描述符(如果仍是向WebLogic部署的话),并且/或者要能够为新的目标运行时修改它们(如果现在是向WebSphereApplicationServer部署):Webproject描述符(在WAR文件中)一般移动顺利,但EnterpriseJavaBean(EJB)描述符通常有一些特定于供应商的扩展需要映射.
即使您仍是以WebLogic服务器为目标,可能也需要一些描述符映射以便开发工具理解您的应用程序并正确地操作它.
7.
您需要能够将应用程序部署到自己的目标应用程序服务器上,并确保您的应用程序仍能够运行.
本文说明了如何使用来自第三方IBM独立软件供应商(IBMIndependentSoftwareVendor,ISV)Genuitec的一个插件将应用程序从ApplicationDeveloper部署到WebLogic服务器.
8.
您可以(可选)选择改变您的源代码管理(SourceCodeManagement,SCM)系统.
9.
如果您选择还要将自己的应用程序部署运行时从一个服务器(比如WebLogic)迁移到另一个服务器(比如WebSphereApplicationServer),那么由于特定于供应商的功能或特征,您可能还要注意其它的内部事项:如果您的应用程序是完全符合J2EE的,就可以最大程度地减少这些注意事项.
您可能需要更改代码以便使用功能相当的特定于供应商的服务(WebLogicT3StartUp类更改为WebSphereCustomServices等).
我们希望所有的第三方库都应保证为100%支持Java并且与服务器无关,但您应该检查它们,看看它们是否使用特定于服务器的功能,从而确定是否需要该库特定于服务器的版本.
业界规范级的区别(JDK、JSp、Servlet、EJB、HTML等).
EJB容器管理的持久性(ContainerManagedpersistence,CMp)数据库字段映射或供应商扩展(比如EJB1.
1关系或继承)或EJB-1.
1查询语法.
您可以(可选)选择更改自己的目标数据库.
如果您的确更改了目标服务器,并且有更复杂的代码需要迁移(比如安全性代码、事务管理等),请参阅IBM红皮书MigratingWebLogicV5.
X/6.
1ApplicationstoWebSphereAdvancedEditionV4(SG24-6179-00).
10.
如果您对自己正在使用的任何工具都是只有非常基本的了解,那么您应该抽出些时间来加强对其它功能的了解并在随后的几周内使自己的工作效率达到最高.
11.
您将需要长期的工具供应商支持(以便修正、改进新功能等)以及对额外的第三方工具的长期支持(以提供专门的或加强的功能).
IBM的顾问WayneBeaton已经写了一系列很不错的关于移植到WebSphereApplicationServer的文章,这些文章很好地概述了迁移注意事项.
虽然上面的列表可能有点让人望而生畏,但请记住,所有可能的东西都已列在上面了.
大多数Web应用程序(WAR文件)都可以毫不费力地迁移.
EJB要多花一点力气;本系列的第2部分提供了详情.
developerWorksibm.
com/developerWorks/cn/把部署到BEAWebLogicServer上的WebGainVisualCafWeb应用程序迁移到IBMWebSphereStudioApplicationDeveloper:第1部分第4页,共11ApplicationDeveloper是IBM的用来开发J2EE应用程序的首要工具,它将为长期开发提供坚实的、业界领先的基础.
另外,一个大型的、规模不断增长的开放源代码开发者社区正在以Eclipse工作台为基础为其创建工具,使它的功能和特征的范围不断扩大.
把WebLogic样本迁移到VisualCaf中这个标题可能会使人感到迷惑为什么要把WebLogic样本迁移到VisualCaf中,我们的目标是把应用程序从VisualCaf迁移出去,并迁移到ApplicationDeveloper呀您可以仅仅阅读一下这篇文章并使用里面的步骤指导您迁移自己的应用程序,但我们已经决定给出具体的示例来指导您,以确保大多数细节问题不会被隐藏或忽略.
在迁移您的应用程序时您可能还需注意这里没提到的其它注意事项,但这些样本已经涉及到了大多数常见注意事项.
我们已经在每篇文章的末尾都留下了我们的电子邮件地址,如果您有任何自己认为应该向这些文章补充的注意事项,可以与我们联系.
BarrySearle是主要的技术联系人.
我们已经选择迁移一些标准WebLogic样本.
如果您想自己尝试这些样本,这部分描述了如何把样本迁移到VisualCaf中,以及如何确保样本在迁移到ApplicationDeveloper之前已经被构建,并且在WebLogic中运行正常.
您必须确保安装了WebLogic和VisualCaf.
我们所需的样本应该是简单易懂,并且在WebLogic样本集中已经提供了的,这些样本应该可以演示常见应用程序注意事项.
我们已经选择的WebLogic样本有:本系列的第1部分选择的是Cookie(Javaservlet、JSp、HTML和图像,所有这些都打包在WAR中)本系列的第2部分选择的是ContainerManaged(容器管理的持久性EJB)把Cookie样本从WebLogic迁移到VisualCaf中1.
启动VisualCaf.
2.
创建一个新Cookie工程:1.
单击File=>Newproject=>Emptyproject=>OK.
2.
选择Cookie工程窗口.
单击File=>Saveas.
在Filename域中,输入Cookie.
单击Save.
3.
单击project=>Options.
单击project选项卡.
在projecttype域中,单击Servlet,然后单击OK.
看到提示后,在保存时不要选择覆盖.
3.
把WebLogicCookie示例复制到Cookie工程中:1.
选择Cookie工程窗口.
2.
单击Insert=>Filesintoproject.
转到下面的目录:X:\BEA\wlserver6.
1\samples\examples\webapp\cookie,其中X:\是您安装WebGain的目录.
3.
在FilesofType域,单击AllFiles,然后选择下列文件:BEA_Button_Final_web、cookie、error、hello和web.
单击Add,然后单击OK.
4.
单击Insert=>Filesintoproject.
转到下面的目录:X:\BEA\wlserver6.
1\samples\examples\servlets,在FilesofType域单击AllFiles,然后选择CookieCounter.
java文件.
单击Add,然后单击OK.
4.
配置WebLogic服务器(当您使用EJB时,只有本系列的第2部分需要CloudScape数据库步骤):1.
单击project=>Options.
单击Servers选项卡.
在DeploymentTarget域,单击WebLogicServer6.
1.
ibm.
com/developerWorks/cn/developerWorks把部署到BEAWebLogicServer上的WebGainVisualCafWeb应用程序迁移到IBMWebSphereStudioApplicationDeveloper:第1部分第5页,共112.
单击ManageDeploymentTarget.
向下滚动到TARGETSERVER部分.
3.
把WebLogicHomeDirectory域的值更改为:X:\WebGain452\bea\wlserver6.
1sp1,其中x:\WebGain452是您安装WebGain的目录.
4.
把BEAHomeDirectory域的值更改为X:\WebGain452\bea.
5.
把DomainName域的值更改为examples(缺省值为mydomain).
6.
把ServerName域的值更改为examplesServer(缺省值为myserver).
7.
把OptionalVMArguments域的值更改为-Dweblogic.
system.
nativeIO.
enable=false.
8.
如果您正在使用EJB,还要把这个值添加到OptionalVMArguments域-Dcloudscape.
system.
home=.
/samples/eval/cloudscape/data.
9.
把AdditionalclasspathEntries域的值更改为X:\WebGain452\bea\wlserver6.
1sp1\samples\eval\cloudscape\lib\cloudscape.
jar.
10.
向上滚动到DeploymentTools部分.
11.
把JDBCDriverclasspath域的值更改为X:\WebGain452\bea\wlserver6.
1sp1\samples\eval\cloudscape\lib\cloudscape.
jar.
12.
单击OK,然后再次单击OK.
5.
启动WebGain中的WebLogic-6.
1服务器(当您使用EJB时,只有本系列的第2部分需要CloudScape数据库步骤):1.
选择Cookie工程,然后单击project=>StartApplicationServer.
2.
通过让您的浏览器指向http://localhost:7001/console/actions/mbean/MBeanFramesetActionisNew=true打开WebLogic服务器控制台.
3.
用户标识是system,密码是WebGainStudio.
4.
验证下列数据库设置是否存在(它们将是domain=examples且servername=examplesServer):单击Services=>JDBC=>Connectionpools=>demopool.
单击Services=>JDBC=>TxDataSources=>examples-dataSource-demopool.
单击Security=>Realms=>defaultLDApRealmForCloudscape.
单击Security=>CachingRealms=>defaultCachingRealmForCloudscape.
6.
将Web工程CookieWAR部署到服务器并测试它:1.
单击project=>BuildApplication.
2.
单击project=>Deploy.
这样将产生WAR文件:X:\BEA\wlserver6.
1\config\examples\applications\cookie.
war其中,X:\是您安装WebGain的目录.
3.
让您的Web转向:http://localhost:7001/Cookie.
7.
重要提示:VisualCaf4.
5.
2好象支持WebWAR和EJBJAR工程(J2EE模块)的构建与部署,但不支持J2EEEnterpriseApplications(EARs)的构建与部署.
并存的web上下文根:现在您已经部署了cookie.
war,它有一个上下文根/cookie.
稍后当您试图使用ApplicationDeveloper(或者任何其它J2EE开发工具)构建包含cookie.
war的XXXX.
ear文件时,将会遇到问题,因为当您向WebLogic部署自己的XXXX.
ear文件时,WebLogic将拒绝内部cookie.
war文件,并声称它已经有了一个带上下文根/cookie的Web模块.
您可以使用WebLogic控制台删除cookie.
war文件,但随后您需要记住绝对不要再部署VisualCafCookieWeb工程(这种部署将被拒绝,因为除非首先删除那个EAR模块,否则cookie.
war文件将在XXXX.
ear文件内).
developerWorksibm.
com/developerWorks/cn/把部署到BEAWebLogicServer上的WebGainVisualCafWeb应用程序迁移到IBMWebSphereStudioApplicationDeveloper:第1部分第6页,共11重命名Web上下文根会更简单,这样ApplicationDeveloperWAR和VisualCafWAR就会有不同的名称,两者可以部署到同一个WebLogic服务器上.
因此,当您将cookie.
war导入您的新ApplicationDeveloperWeb工程时,您将使用VCafeCookie这个名称(导致VCafeCookie.
war文件包含一个名为/VCafeCookie的上下文根).
在ApplicationDeveloper内,您可以保持Web工程的名称为cookie,只将.
websetting文件内上下文根的值更改为类似VCafeCookie的值,但(为了便于长期维护)让上下文根与Web工程名称和WAR名称匹配会更好.
VisualCaf内的Cookie工程应该如下所示:将Web应用程序(WAR)从VisualCaf迁移到ApplicationDeveloper将Web应用程序(WAR)从VisualCaf迁移到ApplicationDeveloper相当简单.
请遵循下列步骤:1.
将Cookie应用程序WAR(和源代码)从VisualCaf导出:1.
VisualCaf构建了一个WAR文件作为构建、部署和测试Web应用程序的一部分(通常是在X:\WebGain\VCafe\projects\MyWebproject中).
2.
如果ApplicationDeveloper正运行在不同的机器上,请把Cookie应用程序WAR复制到一个方便的位置,比如一个临时目录.
最好是把您的servlet的Java源代码文件复制到临时目录中.
可以将源代码文件作为目录的扩展集导出,也可以作为ZIp文件导出.
3.
如果ApplicationDeveloper运行在同一个机器上,那么您不需要做任何事情,因为您将能够直接从文件系统导入.
2.
将WAR和源代码文件导入到ApplicationDeveloper:1.
单击File=>Import=>WARfile.
单击Next.
在WARfile域,导航至目录X:\WebGain\VCafe\projects\Cookie.
war.
2.
在Webproject域,选择New来创建一个新工程,并输入VCafeCookie.
3.
在ContextRoot域,输入VCafeCookie.
4.
在EARproject域,创建一个名为VCafeEAR的新工程.
单击Finish.
5.
单击File=>Import=>Filesystem.
单击Next.
在Directory域,导航到下面的目录:X:\BEA\wlserver6.
1\samples\examples\servlets并单击OK.
选择CookieCounter.
java复选框.
6.
在Folder域,浏览到目录VCafeCookie/source/examples/servlets并单击OK.
7.
单击Finish.
3.
要理解为什么选择重命名Web工程(WAR),请参阅上面的部分并存的web上下文根.
4.
将Web文件移到VCafeCookie工程webAplication文件夹内正确的结构位置中:1.
在Navigator视图中,展开VCafeCookie=>webApplication=>BEA=>wlserver6.
1=>samples=>examples=>webapp=>cookie.
2.
右键单击BEA_Button_Final_Web.
gif并选择Move.
在Destination域,输入VCafeCookie/webApplication/images,然后单击OK.
提示:当您移动Web文件时,ApplicationDeveloper将提示您是否调整对这些文件的引用.
在大多数情况下这都很方便,但在这里请单击No,因为相对于这个文件的引用来说,该文件处于一个错误的位置上,您实际上是要将它移到一个正确的位置上.
3.
按住Ctrl键并选择error.
jsp,hello.
html,cookie.
jpg.
4.
先右键单击,然后单击Move.
在Destination域,输入VCafeCookie/webApplication,然后单击OK.
您将再次被询问是否想调整对这些文件的引用再次单击No.
ibm.
com/developerWorks/cn/developerWorks把部署到BEAWebLogicServer上的WebGainVisualCafWeb应用程序迁移到IBMWebSphereStudioApplicationDeveloper:第1部分第7页,共115.
在Tasks视图中,您将看到三个关于HTML有效性的警告,警告blockquote和/或center标记的位置不正确.
忽略它们出现这些警告的原因是HTML4.
01规范声明标记不可以包含标记,即便如此,这并不会导致任何问题.
6.
移去所有不再使用的文件和文件夹.
现在所有的CookieWeb文件都应该直接在webApplication目录中或者在其子目录中(java包/文件除外,它们将在源代码目录中)1.
选择webApplication/BEA子文件夹,右键单击它并单击Delete(因为它现在是空的).
2.
选择webApplication/META-INF子文件夹,右键单击它并单击Delete(因为它现在只包含旧的MANIFEST).
3.
选择lib/cookie_classes.
jar文件,右键单击它并单击Delete.
它只包含旧的类文件,而我们有这些类文件的源代码,这些类文件只要发生一点改变,就会自动重新构建.
产生的Cookie工程如下所示:使用Genuitec插件将Web应用程序(EAR)部署到WebLogic为WebLogic6.
1安装并配置Genuitec插件1.
从Genuitec下载WebLogic6.
1插件.
另外,请下载它们的安装指示并遵守这些指示.
如果您要下载它们的Trader.
ear样本,请不要使用Netscape一些Netscape版本在保存EAR文件时会出问题,使这些文件无法解压缩,或无法使用.
提示:它们的ZIp目录是从顶级插件开始,因此您需要将它们解压缩到ApplicationDeveloper目录的根目录.
2.
按照它们的指示定制您选择的透视图,然后单击Window=>Saveperspectiveas保存Genuitecactionsenablement.
3.
单击Window=>ShowView=>Other=>Ant=>Antconsole.
单击OK.
单击Window=>Saveperspectiveas.
4.
请遵照它们的设置首选项指示,但如果您正运行WebLogic示例(该示例使用CloudScape数据库),那么还需要设置下列首选项:1.
单击Window=>preferences=>Weblogic6.
在OptionalJavaVMArguments域中,将该域的值改为:-Dcloudscape.
system.
home=.
/samples/eval/cloudscape/data.
2.
单击Window=>preferences=>Weblogic6.
在prependToClasspath域,将该域的值改为:.
\samples\eval\cloudscape\lib\cloudscape.
jar.
5.
不管遇到什么问题,您都可以与GenuitecSupport联系.
重要提示:确保ApplicationDeveloper仍然运行它支持的Ant版本1.
3.
如果您改用Ant的其它版本,Genuitec插件的早期版本在构建部署tie/stub时会出问题.
ApplicationDeveloper附带Ant1.
3.
当前的Genuitec插件有一个局限性,即一个EAR只可以包含一个WAR和/或一个EJBJAR也就是,您的EAR文件无法包含2个以上的WAR(Web工程)或者2个以上的EJBJAR(EJB工程).
当然,您的EAR可以在一个EJBJAR(一个EJB工程)中包含许多EJBBean.
启动WebLogic服务器,部署并运行应用程序1.
您需要决定是将您的开发应用程序"热部署"还是"冷部署"到您的服务器上:developerWorksibm.
com/developerWorks/cn/把部署到BEAWebLogicServer上的WebGainVisualCafWeb应用程序迁移到IBMWebSphereStudioApplicationDeveloper:第1部分第8页,共11热部署:首先启动服务器,然后再将您的应用程序(和任何更新)部署到该服务器上.
近日华纳云商家正式上线了美国服务器产品,这次美国机房上线的产品包括美国云服务器、美国独立服务器、美国高防御服务器以及美国高防云服务器等产品,新产品上线华纳云推出了史上优惠力度最高的特价优惠活动,美国云服务器低至3折,1核心1G内存5Mbps带宽低至24元/月,20G ddos高防御服务器低至688元/月,年付周期再送2个月、两年送4个月、三年送6个月,终身续费同价,有需要的朋友可以关注一下。华纳云...
美国特价云服务器 2核4G 19.9元杭州王小玉网络科技有限公司成立于2020是拥有IDC ISP资质的正规公司,这次推荐的美国云服务器也是商家主打产品,有点在于稳定 速度 数据安全。企业级数据安全保障,支持异地灾备,数据安全系数达到了100%安全级别,是国内唯一一家美国云服务器拥有这个安全级别的商家。E5 2696v2x2 2核 4G内存 20G系统盘 10G数据盘 20M带宽 100G流量 1...
提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...