什么是 IBM 服务虚拟化?
IBM 服务虚拟化是一组适合 IT 系统组件之间的接口的产品,例如应用服务器与数据库之间,或应用服务器与外部系统之间。该产品可以再现组件之间的网络流量,并模拟缺少的组件。该产品可以模拟广泛的网络协议中的流量,包括 HTTP、中间件协议(例如 TIBCO)以及数据库协议(例如 JDBC)。在设置过程中,它可以记录网络流量,并且可以设定为以特定方式响应特定输入。IBM 服务虚拟化包括两个主要产品:
- IBM Rational Integration Tester (IBM Green Hat) – 一种用于设置界面和配置界面行为的工具;以及
- IBM Rational 测试虚拟化服务器 – 一种允许定义的接口在高容量下长时间运行的组件。
IBM 服务虚拟化最初由 Green Hat 开发,该软件公司于 2012 年被 IBM 收购。有时,为了方便,Green Hat 会被用作此产品套件的标签。
为什么它很有用?
企业 IT 系统通常由一系列分布式组件组成,它们通过接口相互通信。如果可以模拟组件(例如数据库或外部系统)的接口,则系统可以在没有该组件的情况下运行。这在几个方面很有用。
- 可以构建更多、更便宜的测试环境。只需要包含必须测试的组件。其他组件可以通过服务虚拟化进行模拟。这样可以提高质量并降低成本。
- 使用某些外部接口(例如彭博价格资讯)需要花钱。服务虚拟化可以模拟它们进行测试,从而避免测试或培训期间的支出。
- 在开发过程中,服务虚拟化可以模拟尚未开发的组件的存在。这使组件的开发与单元测试可以相互独立,从而加快开发的速度。
- 在培训中,服务虚拟化可用于模拟某些场景,例如信用卡授权的拒绝或接受。
主要特性
网络服务:IBM 服务虚拟化可以记录网络服务流量并回放之前记录的任何流量。它还可以加载 WSDL 文件并以正确的格式响应任何请求。
中间件:IBM 服务虚拟化可以模拟广泛的中间件协议,包括 TIBCO、WebMethods、Websphere 和 JMS。
数据库:可以模拟数据库协议,而且通过记录数据库流量,该工具可以构建一张数据库中包含的数据和结构的图片。该数据库被移除后,它可以智能地模拟该数据库。该工具可以连接到任何与 JDBC 兼容的数据库,包括 Oracle 和 SQL Server 数据库。
SAP:IBM 服务虚拟化支持不同 SAP 组件之间的通信。ABAP(SAP 编程语言)和 Jave 支持 ECC 和 PI 组件。
编程逻辑:可以通过编程设置 IBM 服务虚拟化给出的响应。通过点击设置可以完成简单的操作,例如替换字段值。通过 Javascript 可以实现更复杂的逻辑。最终,可以调用外部可执行文件,例如 Java jar 或 .Net 可执行文件。
使用客户端或服务器:IBM 服务虚拟化可以充当客户端或服务器。用作客户端时,它会向另一个组件发送一系列流量,并且可以测试该组件的响应。用作服务器时,它会等待传入的流量并按照编程设置响应该流量。
在容量下使用:IBM 服务虚拟化可以在高容量下运行测试,从而使其可以模拟实时系统并在性能测试中使用。此功能由 IBM Rational 测试虚拟化服务器实现,该服务器按容量获得许可证。