简介
IBM WebSphere® Studio Application Developer 是 WebSphere Studio,高级版和 VisualAge® for Java™,企业版的后续技术。它提供 J2EE 应用程序的端到端开发、测试和部署的支持。WebSphere Studio Application Developer 为所有电子商务开发人员,包括 Web 开发人员、Java 开发人员、业务分析人员、设计师和企业程序员,都提供了集成的开发工具。WebSphere Studio Application Developer 的这种可定制的、基于目标角色的方法将成为构建在 WebSphere Studio Workbench 之上的所有新产品的特征。
从 VisualAge for Java 用户的角度看来,WebSphere Studio Application Developer 增加了许多新功能,包括 HTML 和 JSp™ 编辑器、丰富的媒体工具、XML 开发工具和 Web 服务向导。在 Java 开发方面,第一个版本着重于 J2EE 服务器端(EJB 和 servlet)开发、部署和概要分析。VisualAge for Java 仍然有更广的作用范围,包括通过 Visual Composition Editor 使用 Swing 的客户机开发以及象 Enterprise Access Builder 这样的工具,这类工具用来访问便于连接到各种各样的后端系统的后端事务服务器。
因此在 2001 和 2002 年期间,有些开发人员会选择将这两种产品一起使用以利用它们各自的功能部件和优势。VisualAge for Java 免费与 WebSphere Studio Application Developer,版本 4.0 捆绑在一起。用户可以继续使用 VisualAge for Java 中的诸如 Visual Composition Editor、persistence Builder、数据访问 Bean 或 Enterprise Access Builder 等工具,然后将它们的代码转移到 WebSphere Studio Application Developer 以在那里开发的应用程序中使用。本文描述了几个这样的共存方案。
在未来的发行版中,将会把 VisualAge for Java 更多的丰富功能迁移到 WebSphere Studio Application Developer。目前的意图是随时间的推移,不断添加一些附加的功能,这些功能要么添加到核心产品中,要么打包成单独的工作台插件。本文顺便提到了一些产品增强特性,有些正在开发中而有些已经在新闻组或发表的文章中讨论过。但是请注意,这些被提议的增强特性 并非IBM 的承诺,而只是代表当前的意向。
有关 WebSphere Studio Workbench 和正在其上构建的 WebSphere Studio 新产品的背景信息,请参阅 WebSphere Studio Workbench 网站和文章“ IBM WebSphere Studio -- 最终的应用程序开发环境”。
迁移对共存
只要 WebSphere Studio Application Developer 中有相似或改进的功能,预计就会有开发人员将这方面的应用程序开发永久地迁移到 WebSphere Studio Application Developer 中。例如,WebSphere Studio Application Developer 为 J2EE 服务器端企业 bean(EJB)和 servlet 开发提供了强大的工具,加上新的 Web 设计能力,因此应用程序的这些方面就很可能要迁移到 WebSphere Studio Application Developer。如果那样满足了应用程序开发需要,那么应用程序迁移就完成了。
有关从 VisualAge for Java 迁移应用程序的指示和技巧,请参阅 迁移指南。
然而目前,有些开发人员很可能会选择继续使用某些特定的 VisualAge for Java 工具,以便生成应用程序组件,然后转移到 WebSphere Studio Application Developer 作为更大的完整应用程序的一部分。一个典型的示例就是,使用 VisualAge for Java 内的 Visual Composition Editor 为应用程序生成一个客户机前端,这个应用程序另外在 WebSphere Studio Application Developer 中开发。同样地,VisualAge for Java 中的 Enterprise Access Builder for Transactions(Enterprise Access Builder)可用来创建客户机和服务器端的 Java 应用程序组件以访问企业信息系统(EIS)。在此共存方案下,需要 VisualAge for Java 工具的开发工作在正在进行的基础上完成,并且其结果定期地导出到 WebSphere Studio Application Developer,在那里它们和其它应用程序组件组合起来用于生产环境的测试和部署。
IBM 的商业伙伴 Instantiations,Inc.分发了一个产品“VA Assist Enterprise/J V3.0”,该产品提供了对 VisualAge for Java 和 WebSphere Studio Application Developer 共存的支持 -- 包括文件的完全双向导出/导入和任务自动化。Instantiations 正在提供一个免费的、无使用限制的 VisualAge for Java => WebSphere Studio Application Developer 导出工具作为其 VA Assist Enterprise/J V3.0 限时评估版副本的一部分。可以 下载此评估版副本。
除了部署工具所生成的代码外,还需要将可应用的工具运行时 JAR(根据 VisualAge for Java 联机帮助)部署到 WebSphere Studio Application Developer,并最后和最终应用程序一起部署。
方案 1 -- Visual Composition Editor
可以使用 VisualAge for Java 中的 Visual Composition Editor 为一个应用程序生成客户机前端,这个应用程序另外在 WebSphere Studio Application Developer 中开发。WebSphere Studio Application Developer “迁移指南”(以上提到过)向您展示如何将 VisualAge for Java“HelloWorld”样本应用程序从 VisualAge for Java 迁移到 WebSphere Studio Application Developer。这个应用程序包含一个企业 bean(EJB),它充当一个简单的服务器端应用程序,还包含一个用 Visual Composition Editor 生成的“HelloWorldClient”程序。
“迁移指南”告诉您如何使用 VisualAge for Java EJB-1.1 Export Tool 导出服务器端 EJB,然后在 WebSphere Studio Application Developer 中将它导入到一个 EJB 项目。“迁移指南”还说明了如何导出客户机方“HelloWorldClient”Java 程序,然后在 WebSphere Studio Application Developer 中将它导入到一个 Java 项目中。没有 Visual Composition Editor 运行时文件要导出到 WebSphere Studio Application Developer,因为 Visual Composition Editor 产生独立的程序,而且可视客户机实际上在工作台之外(即,在 VisualAge for Jave 中)生成,这一点与 WebSphere Studio Application Developer 没有关系。VisualAge for Java EJB 运行时文件( ivjejb35.jar
)也不需要导出到 WebSphere Studio Application Developer,因为它已经在那里。
如果客户机方接口更改,那么只要在 VisualAge for Java 中运行 Visual Composition Editor 然后更新客户机实现,再重新导出由 Visual Composition Editor 生成的代码,并将它重新导入到 WebSphere Studio Application Developer。正如前面提到的,Instantiations 的“VA Assist Enterprise/J V3.0”自动化工具可以几乎无缝地做到这一点。之后,可以将它与应用程序的其余部分一起测试。
当在 WebSphere Studio Application Developer 中完成了应用程序的构建之后,只要用部署任何其它 WebSphere Studio Application Developer 应用程序同样的方法,就可以将它部署到目标环境中。没有特别的 Visual Composition Editor 运行时文件要打包或部署。
将在 WebSphere Studio Application Developer 中所做的更改移回 Visual Composition Editor 中
VisualAge for Java 中的 Visual Composition Editor 支持图形化开发,其中 bean 的布局和连接都是在组合编辑器中完成的,然后 Java 源代码从这个设计时信息生成。开发人员可以在生成的源代码的某些位置也就是“用户代码点”上添加代码,并且可以在该代码周围加注释,表示这里的更改将不被覆盖。生成的源代码可以移到 WebSphere Studio Application Developer 中,然后作为更大应用程序的一部分导出并执行。如果,在某个时候,您想把源代码移回 VisualAge for Java,以便在 Visual Composition Editor 中编辑这个类,那么在您最初导出源代码之前,必须已经在 VisualAge for Java 中启用了“Export with metadata”选项。它用一个称为 getBuilderData()
的方法捕获存储在 VisualAge for Java 资源库中的元数据信息,这允许元数据从其源代码重建。
当在 WebSphere Studio Application Developer 中对源代码做了更改后,它们可能会使用项目 JRE 构建路径中 Java 开发人员工具箱的某些功能,但这些功能在 VisualAge for Java 的 1.2.2 级别 Java 开发人员工具箱中是不可用的。这意味着当代码移回 VisualAge for Java 后,它或许不能编译。
当前意图是向 WebSphere Studio Application Developer 添加一个可视化组合编辑器。意图是产生一个导出向导,以将大部分应用程序的 Visual Composition Editor 元数据从 VisualAge for Java 实际移到 WebSphere Studio Application Developer。(不能从源代码获得的信息,如不在容器内的 Java bean 的位置或连接弯曲点的位置,最初将为缺省值。)其结果是正在进行设计和代码重新生成中的完全“迁移的”应用程序,可以在 WebSphere Studio Application Developer 中获得支持。这与当前的 VisualAge for Java EJB-1.1 Export Wizard 在概念上非常相似,该向导将 VisualAge for Java EJB 元数据转成非专用的、基于文件的格式,以在 WebSphere Studio Application Developer 中使用。如果要将 Visual Composition Editor 类带到 WebSphere Studio Application Developer 中并继续在有效的用户代码点中进行修改,那么新的可视化组合编辑器能够按其被设计的那样打开类,以将 Java 源代码作为它的主副本使用并且仅依靠元数据获得附加信息。
方案 2 -- 数据访问 Bean
VisualAge for Java 的数据访问 Bean 功能部件对简化和优化关系数据库访问提供支持。尽管数据访问 Bean 功能通常与 Visual Composition Editor 一起使用,这些 bean 也可以直接使用。除了 VisualAge for Java 数据访问 Bean 的运行时文件( ivjdab.jar
)必须和开发的应用程序一起部署之外,数据访问 Bean 共存方案基本上和 Visual Composition Editor 方案相同。
当把数据访问 Bean 的运行时 JAR 文件导入到 WebSphere Studio Application Developer 的项目中时,必须选择 File system,而不是 Zip file,为的是确保 JAR 文件在导入时不展开。然后把它添加到项目特性的 Java 构建路径(在项目上单击右键,然后选择 properties => Java Build path。单击 libraries选项卡,然后单击 Add Jars)。这将使数据访问 Bean 运行时 JAR 作为与应用程序一起的 JAR 文件部署。
如果应用程序数据访问功能更改了,则运行 VisualAge for Java Visual Composition Editor 中的数据访问 Bean 工具来更新代码,然后重新导出生成的代码并把它重新导入到 WebSphere Studio Application Developer。正如前面提到的,Instantiations “VA Assist Enterprise/J V3.0”自动化工具可以几乎无缝地帮助实现这一点。之后,可以与当前应用程序一起重新测试它。不必重新复制数据访问 Bean 运行时 JAR 文件,因为它并没有改变。
当应用程序在 WebSphere Studio Application Developer 中完成以后,可以用与部署在 WebSphere Studio Application Developer 中开发的其它应用程序相同的方法把它部署到目标环境中。(必须包含数据访问 Bean 运行时 JAR 文件。)
WebSphere Studio Application Developer 中的 Web 开发工具使用一组新的数据库 bean(称为 DB Bean),它们与数据访问 Bean 类似但更符合 JDBC 2.0 rowset 规范。这些 dB Bean(在它们新的 dbbeans.jar
文件中)可用于新的应用程序,但与以前使用 VisualAge for Java Visual Composition Editor 或数据访问 Bean 开发的应用程序不直接兼容。
方案 3 -- Enterprise Access Builder
目前,VisualAge for Java 的 Enterprise Access Builder for Transaction(EAB)功能部件仍然是构建需要连接到各种后端(包括 MQSeries®、CICS® 和 IMS®)的应用程序的主要工具。最初构建它来使用 VisualAge for Java Common Connector Framework(CCF),而还有对一组测试版 J2EE 连接器的支持。意图是为访问企业系统提供一个新工具箱。这个新工具箱将正式支持 J2EE 连接器,但现有的 CCF 连接器应用程序将仅可由 VisualAge for Java 中的现有 EAB 工具箱来支持。(下一代企业访问工具可能是插入到 WebSphere Studio Application Developer 工作台的单独产品,或可能作为一部分包含在一个或多个 WebSphere Studio 系列产品中。这些产品决策还没有最终决定。)
除了 EAB 的运行时 Jar 文件必须与开发的应用程序一起导出之外,EAB 共存方案基本上与 Visual Composition Editor 或数据访问 Bean 相同。对于使用 CCF 连接器的 CICS 应用程序,必须部署 CCF、EAB 和 CICS Jar 文件( eablib.jar
、 recjava.jar
、 ccf.jar
、 ctgclient.jar
和 ctgserver.jar
)。对于使用测试版 J2EE 连接器的 CICS 应用程序,必须导出 J2EE 连接器、EAB 和 CICS Jar 文件( eablib.jar
、 recjava.jar
、 ccf.jar
、 ctgclient.jar
、 ctgserver.jar
、 cicsframe.jar
、 cicseci.jar
(或 cicsepi.jar
)、 ccf2.jar
、 ccf2poolmgr.jar
、 connector.jar
、 jaas.jar
和 jndi.jar
)。对于数据访问 Bean 的运行时 JAR 文件,当把 EAB 的运行时 JAR 文件导入到 WebSphere Studio Application Developer 中的项目时,必须在 Import 向导中选择 File system,而不是 Zip file,以确保 JAR 文件在导入时不展开。然后,将它们添加到项目特性的 Java 构建路径。(在项目上单击右键,然后选择 properties => Java Build path。单击 libraries选项卡,然后单击 Add Jars。)EAB 的运行时 Jar 文件将作为与应用程序一起的 Jar 文件部署。
如果在 EAB 中开发的应用程序功能需要更改,那么在 VisualAge for Java 进行更改,重新生成代码,然后重新导出 EAB 代码并把它重新导入到 WebSphere Studio Application Developer 中。正如前面提到的,Instantiations“VA Assist Enterprise/J V3.0”自动化工具可以几乎无缝地帮助做到这一点。之后,与当前应用程序一起重新测试它。不必重新复制 EAB 的运行时 JAR 文件,因为它没有改变。
当应用程序在 WebSphere Studio Application Developer 中完成以后,可以用部署在 WebSphere Studio Application Developer 中开发的其它应用程序的同样方法把它部署到目标环境中。(必须包含 Enterprise Access Builder 运行时 Jar 文件。)
受管的连接器和服务质量
VisualAge for Java 中的 WebSphere Test Environment 不支持受管的连接,因此应用程序必须处理服务质量(Quality-Of-Service (QOS))特性,如:事务性上下文、连接池、跟踪、安全性等等。因此,部署到 WebSphere Studio Application Developer 中的 EAB 生成的应用程序也是不受管的。因为打算让下一代企业访问工具正式支持 J2EE 连接器而 QOS 将由 J2EE EJB 容器提供,所以将有可能在受管的环境中开发、测试和部署应用程序。
基于 CCF 的应用程序到 J2EE WebSphere Studio 应用程序的迁移
如果有现有的测试版 J2EE 连接器,作为朝着 WebSphere Studio 的下一代企业访问工具发展的一个步骤,则可以使用 VisualAge for Java,版本 4.0 中的 EAB 迁移工具以把现有的基于 CCF 的应用程序迁移到 J2EE。现在这还不是必需的(现有 CCF 连接器应用程序可以按以上描述的部署),但将是迁移到计划中的工具箱(目前,打算包含管理服务质量的资源管理)中的一个必要步骤。为了帮助向下一代工具迁移,打算有一个附加的迁移辅助来帮助将大部分 J2EE 设计时元数据从 VisualAge for Java EAB 功能部件导出为 WebSphere Studio Enterprise Access Builder 格式。于是,这将完成把 VisualAge for Java 基于 CCF 的应用程序迁移到在 WebSphere Studio 产品中维护的符合 J2EE 的应用程序。
有关补充信息,请参考文章“ 在 Non-managed 中使用 J2EE 资源适配器”,其中还包括了关于使用 JNDI 的有用的详细信息。
方案 4 -- VisualAge persistence Builder
VisualAge for Java 的 persistence Builder 功能部件为应用程序构建健壮的、可扩展的持久性支持提供了一个框架。除了 VisualAge for Javapersistence Builder 的运行时文件(对于 WAS 标准版(WAS-Standard)或其它服务器,是完整的 ivjpb353.jar
;对于 WebSphere Application Server 高级版,是 ivjpb353wsa353.jar
的子集)必须与开发的应用程序一起导出,persistence Builder 共存方案基本上与 Visual Composition Editor 相同。
对于 EAB 或数据访问 Bean 的运行时 Jar 文件,当把 persistence Builder 的运行时 JAR 文件导入到 WebSphere Studio Application Developer 中的项目时,必须在 Import 向导中选择 File system,而不是 Zip file,以确保 JAR 文件在导入时没有展开。然后把 JAR 文件添加到项目的 Java 构建路径(在项目上单击右键,然后选择 properties => Java Build path。单击 libraries选项卡,然后单击 Add Jars)。persistence Builder 运行时 JAR 文件将最终作为与应用程序一起的 JAR 文件部署。然而,WebSphere Studio Application Developer 是基于 EJB 规范级别 1.1 的并且为了编译代码需要有一个新方法;因此必须手工编辑每个 persistence Builder BusinessObject HomeImpl 类(例如:VapVehicleHomeImpl),并且向每个类添加以下方法: public javax.ejb.HomeHandle getHomeHandle() { return null; }
。
如果在 persistence Builder 中开发的功能需要更改,那么在 VisualAge for Java 中进行更改,重新在 persistence Builder 中生成代码,然后重新导出代码并把它重新导入到 WebSphere Studio Application Developer。正如前面提到的,Instantiations“VA Assist Enterprise/J V3.0”自动化工具可以几乎无缝地帮助做到这一点。之后,可以与整个应用程序一起测试它。不必重新复制 persistence Builder 运行时 JAR 文件,因为它没有改变。但是需要向任何重新部署的 persistence Builder BusinessObject HomeImpl 类添加新的 getHomeHandle()
方法。
当应用程序完成以后,只要用部署在 WebSphere Studio Application Developer 中开发的其它应用程序的同样方法,就可以把它部署到目标环境中。(必须包含 persistence Builder 运行时 JAR 文件。)
结束语
您可以继续在 VisualAge for Java 中使用象 Visual Composition Editor、数据访问 Bean、persistence Builder 或 Enterprise Access Builder 这样的工具,然后将代码导入到 WebSphere Studio Application Developer,以作为在那里开发的更大应用程序的一部分。
本文顺便提到了某些产品增强特性,有些正在开发中而有些已经在新闻组或发表的文章中讨论过。但是请注意,这些所提议的增强特性 并非IBM 的承诺,只是代表当前的意向,并且这些意向可能会因时间的改变而改变。
在 迁移指南中提供了一些迁移方案,详述了有关如何移动代码循序渐进的指示。
有关 WebSphere Studio Workbench 和正在此基础上构建的 WebSphere Studio 新产品(包括 WebSphere Studio Application Developer)的背景信息,请参阅 WebSphere Studio Workbench 网站和文章“ IBM WebSphere Studio -- 最终的应用程序开发环境。”