通过本文您将了解组合业务服务的概念以及如何自动化的将 WebSphere Process Server,WebSphere Application Server,DB2 等应用中间件和 Rational Performance Tester for SOA quality,Rational Function Tester,等测试工具整合成一套完整的测试环境。
引言
组合业务服务 (Composite Business Service - CBS) 是在一起工作的业务服务和客户机现有应用程序的集合,目的是为了提供特定的业务解决方案。企业可以通过创新方式灵活地连接组合业务服务、用户界面和数据服务,以创建新的组合业务应用程序(由 Gartner, Inc. 提出的面向 aka 服务的业务应用程序)来支持业务需求。
图 1. CBS 与业务流程的映射
图 1 示意了 CBS 与业务流程的映射关系。业务流程由一系列业务服务实现。一个 CBS 就是这样一些业务服务的集合。集合中的业务服务应当满足这样一些条件:
实现业务流程中的关键功能
在行业中通用的业务逻辑
具有标准的输入输出接口
CBS 的出现使得基于业务流程的解决方案的实施进程大大加快。相应的对于 CBS 的测试具有以下特点:
CBS 的通用性特点要求,CBS 要在不同软件平台环境下正确运行。
CBS 的并非最终产品,没有(或很少)图形界面的手工测试。
这些特点导致对 CBS 测试要求很高的自动化支持。
测试环境的框架
从操作层面来讲,作为黑盒测试,首要明确的是系统中存在哪些对外接口。图 2 是 IBM 总结的 SOA 架构概念模式,其中服务层 (Services)、业务流程层 (Business Process)、服务消费层 (Consumers),这三部分通常是要暴露给最终用户的应用接口。
图 2. SOA 的架构概念模式
图 3 展示了一个真实的测试环境的系统各个组成部分。与概念模型相对应,在这个系统中有面向业务消费者的 web 浏览器 UI,和面向业务定制者的 SCA 接口以及 Web Service 接口。
图 3. 测试环境框架
为了实现以上的抽象的系统框架,我们需要一些在现实世界中实际存在的产品来搭建出我们所需的真实环境。根据实现,得出如下一套方案:
使用 DB2 实现系统持久层管理。
使用 WebSphere Application Server (WAS) 提供系统运行时支持环境。
使用集成了 ESB 的 WebSphere Process Server (WPS) 管理服务调度,提供 SCA 基础构件。
使用 Rational Performance Tester for SOA Quality (RPT for SOA Quality) 进行服务层接口测试。
使用 Rational Function Tester (RFT) 进行用户 UI 层接口测试。
图 4 直观的描述了 SOA 组合业务服务自动化测试方案。
图 4. SOA 组合业务服务自动化测试方案
需要说明的是,在项目中根据具体的测试需求,可能还需要添加 LDAP 服务器,文档管理服务器等,或用于离线业务的消息队列服务。而上面给出的测试环境是实现功能测试的最小集。
以下篇幅介绍如何自动化的将 WPS,DB2 等应用中间件和 RPT for SOA quality,RFT,等测试工具整合成一套完成的测试环境。
测试环境自动化配置的途径
本章主要介绍在测试环境自动化搭建过程中被广泛使用的两种方法。
使用响应文件进行静默安装
响应文件可以简化组件的安装和配置。响应文件是文本文件,包含安装和配置组件所需的产品和系统信息。执行无人照管(静默)安装时,此文件相当有用。安装过程从响应文件读取信息,而不是提示您进行填空。也可以使用文本编辑器添加组件或定制选项,将响应文件重新用于以后的安装。
虽然不同产品的响应文件内容存在区别,但大体上应遵循以下规范:响应文件由“属性 = 值”对组成;每一个对都代表了安装中对某一属性的设置;不同的对之间用回车符加以区分;可以在注释前使用字符 # 将注释添加到响应文件中。
以下示例说明了从简易安装脚本生成的响应文件。
总体来讲,要使用响应文件安装支撑软件,请遵循这些基本步骤:
一、编辑响应文件以检查其语法并确保信息正确无误。
二、运行安装脚本并指定响应文件。
三、检查软件是否被正确的安装成功。
使用脚本编制配置 WPS
WPS 提供了脚本编制工具 wsadmin。我们用这一工具来代替交互式的管理控制台,实现 WPS 配置的自动化。WPS 的全部管理活动都可以使用 wsadmin 工具完成。
图 5 描述 wsadmin 脚本编制解决方案中涉及的主要组件:
图 5. WebSphere Application Server 脚本编制解决方案
wsadmin 工具支持两种脚本语言:Jacl 和 Jython。在本文中采用 Jacl 实现脚本文件。当您使用脚本时,有五个对象可用:
AdminControl:用于运行操作命令;
AdminConfig:用于运行配置命令以创建或修改 WebSphere Application Server 配置元素;
AdminApp:用于管理应用程序;
AdminTask:用于运行管理命令;
Help:用于获取一般帮助;
脚本使用这些对象与运行在 WebSphere Application Server 进程中的 MBean 通信。MBean 是表示 Java 管理扩展(JMX)资源的 Java 对象。JMX 是附加于 Java 2 Platform Standard Edition(J2SE)的可选软件包。JMX 是提供简单和标准方法来管理 Java 对象的一种技术。您可以通过以参考资料 1 与参考资料 2 找到更多关于 Jacl 与 WPS 配置模型的信息。