Welcome

首页 / 软件开发 / 数据结构与算法 / 构建SOA组合业务服务,第6部分: 自动化构建与部署步骤

构建SOA组合业务服务,第6部分: 自动化构建与部署步骤2011-04-08 IBM Indrajit Poddar背景知识

可以通过在面向服务的体系结构(Service-Oriented Architecture,SOA)框架中对多个 不同的服务和数据存储区进行松散耦合来创建组合应用程序。SCA 规范(请参见参考资料部 分中提供的链接)描述了用于使用 SOA 构建和组装应用程序和系统的模型。组合应用程序经 常使用 Rational 工具(如 IBM Rational Application Developer)作为独立的项目开发, 然后使用 IBM Websphere Integration Developer 组装为 SCA 模块。最后,将这些组装好 的包部署在包含 IBM WebSphere Portal Server、IBM WebSphere Process Server 容器和 IBM DB2® 数据库服务器的宿主环境中。不过,在 Rational Application Developer 和 Websphere Integration Developer 中的很多构建和导出步骤以及 WebSphere Portal Server 和 WebSphere Process Server 中的部署步骤都是手动的 GUI 指向-点击步骤。在本 文中,您将了解如何实现这些手动步骤的自动化。

组合应用程序 WebSphere 运行时环境

在部署环境中使用了 WebSphere 服务器的以下版本:

IBM WebSphere Process Server V6.0.1,其中包括 IBM WebSphere Application Server V6.0.2

IBM WebSphere Portal Server V6.0

IBM DB2 Universal Database V8.2

IBM Directory Server V5.2

自动构建将使用以下版本的 IBM 构建工具:

IBM Rational Software Architect V6.0.1,其中还包括 IBM Rational Application Developer V6.0.1

IBM WebSphere Portlet Factory V6.0

IBM WebSphere Integration Developer V6.0.1

自动构建解决方案

Apache Ant 是基于 Java 的构建工具,开发人员通常将其用于实现 Java 程序的自动化 (有关 Apache Ant Project 的更多信息,请参见参考资料)。Eclipse 将 Ant 支持作为缺 省功能提供(有关 Eclipse Ant 支持的更多信息,请参见参考资料)。在此解决方案中,将 使用 Rational Application Developer 中的 runAnt 工具来启动 headless Eclipse 工作 区,并执行 Ant 构建脚本(相关内容,请参见参考资料中提供的链接)。WebSphere Integration Developer 和 Rational Application Developer 提供了处理不同类型的组合 应用程序项目的 Eclipse 构建程序。在 WebSphere Integration Developer 和 Rational Application Developer 内创建的这些项目的例子包括业务集成模块、Enterprise JavaBeans (EJB) 项目、动态 Web 项目和 Portlet 项目。可以在项目的顶级目录中的 .project 文件中找到每个项目对应的一组构建程序。在构建自动化流程中,可以将这些构建 程序与 Rational Application Developer、WebSphere Integration Developer 及 WebSphere Portlet Factory 提供的 Ant 任务一起重用。

构建自动化流程将使用以下 Ant 任务:

svn checkout ,用于从 SubVersion (SVN) 团队存储库签出项目源代码。

projectSetImport ,用于将项目集导入 Eclipse 工作区。

projectSetBuild ,用于使用 Eclipse 构建程序构建项目集。

WebSphere Portlet Factory Ant 脚本,用于将 Portlet 打包为 WAR 文件。

earExport ,用于将 Web 服务和 EJB 组件与 JAR 文件一起打包为 EAR 文件。

moduleExport ,用于将 WebShpere Integration Developer 中的 SCA 模块项目和依赖 项目打包为压缩文件。