【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

PushToTest 研究 SOA TCO:TIBCO 的 ActiveMatrix BusinessWorks 独占鳌头

  • 2011-12-04
  • 本文字数:4424 字

    阅读完需:约 15 分钟

PushToTest ,开源测试工具 TestMaker 的提供商,发布了一份题为《大规模SOA 的组合方法》的研究报告(译者注:该链接提供的是2008 年的报告,读者可以在PushToTest 官网上得到最新报告),对IBM、Oracle 和TIBCO 在SOA 开发和部署方案所花费的拥有总成本(TCO)进行了研究和评估。TIBCO 的解决方案在包括TCO 在内的多个方面都领先于其他厂商。InfoQ 对话Frank Cohen,PushToTest 的CEO 和创始人,以期更深入了解其研究机制。

InfoQ:发起这项 SOA 产品 TCO 研究并向社区提供相关工具包的起因是什么?

作为一名 IT 行业中的社区领导者,我始终在寻找一种专业资源为软件架构师和开发者提供一种方法使其理解 SOA 开发平台的互用性、开发者效率和性能。PushToTest 一直致力于为大中型企业制定标准 SOA 应用蓝图,以此暴露互用性、性能和交付方面的问题。使用这些实践将会帮助 PushToTest 更有效地交付相关知识、像 TestMaker 这样的测试工具,并为企业提供服务。PushToTest 提供的 SOA 知识工具包已经成为 Best Buy、PepsiCo、Deloitte 等其他 30 家公司事实上的标准。
通过推进一些标准制定组织(OMG、OASIS、W3C 和 IETF)也使用这些实践,我希望帮助 IT 行业交付更贴近现实世界的可靠产品。PushToTest 工具包上的成果已经出现在 OASIS SOA 蓝图项目中。 http://tinyurl.com/85tsbal。我们维护该成果和其他一些东西。
我们最开始在 2008 年发布该 SOA 知识工具包。我选择了 Oracle、IBM 和 TIBCO 产品,因为这三家厂商都提供了 SOA 开发和部署平台。2009 年我们在工具包中引入了 JBoss。我们希望在不久的将来再加入其他 SOA 平台产品,包括 Mule。目前的工作将工具包更新到最新版本:IBM WebSphere Integration Developer V7.0、TIBCO ActiveMatrix SOA Product Suite 3.13 和 Oracle SOA Suite 11gR1(11.1.1.5.0)。

InfoQ:该项目的成员构成是什么样的?您能否大概跟我们介绍一下使用每个厂商产品以及 web 服务开发和编排的工程师以往的大致工作经验?

PushToTest 组织了 2 个项目小组来实现 SOA 知识工具包。每个小组都有一名拥有 5 到 8 年构建 SOA、富互联网应用(RIA,使用 Ajax、Flex 和 Flash)和 Web 应用经验的架构师,2 名拥有 5 年 Java 编码经验的工程师,以及一名项目经理。这些工程师都有编写 EJB、SOAP 和基于 REST 服务接口、中介(mediation)、编排和工作流的工作经验。A 组负责实现 Oracle 和 TIBCO 项目,B 组负责实现 IBM 项目。前后大概花了 3 到 4 周来完成各厂商产品的应用案例。

InfoQ:在使用这些厂商产品时是否都使用相同的服务模式来设计和实现服务?能不能讲讲使用每个厂商产品在实现某个服务模式时遇到的一些挑战?

PushToTest 定义了一个典型制造公司的一个用例。我们使用 TIBCO、Oracle 和 IBM 的产品组来实现该用例。我们还在实现上做了一些改变:增加 HTTPS/SSL 安全、更改消息模式、还更改了一个异步消息交互传输。我们运行了一个功能性测试,并在已完成的项目上运行了一个性能和可扩展性测试。我们记录了用例和开发者体验,并且遵循免费开源软件 GPL v2 许可证公布这一切。
该制造业场景用例实现了一个 3 步骤业务流程。

  1. 分配采购订单(PO)流程开了一个新订单。其实现提供了一个方法,可以通过 HTTP 协议之上的 SOAP 接口来访问。
  2. 储存部件,使用即时库存控制服务,储存能够满足交付采购订单需求的那部分库存。这是一个 Spring 和数据访问对象(DAO)服务,其接收运行在 JMS 服务接口之上的 REST 编码的请求。请求消息和库存控制服务的 XML 消息模式一致。我们使用了 OAGIS 组织的业务对象文档(BOD)模式。使用带 Ajax 元素的 Web 页面提供人工接口请求服务。
  3. 为采购订单定价——使用一个服务将基于当前价格目录的某个价格分配给采购订单。系统通过在 SAP 安装上模拟业务功能对产品定价,并且可以通过模拟一个 SAP NetWeaver 的 SOAP Web 服务接口和安全认证系统来访问。
    工程师保留了每个厂商产品的开发体验日志。每个日志有 60 到 80 页长。日志包含了我们软件工程师的说明、注释和逐步完成用例实现的意见。开发者日志描述了使用每个厂商产品遇到的重要挑战以及权变措施 / 解决方案。
    从较高层次来看,我们在每个厂商产品上实现某些服务模式分别遇到了如下挑战:
    Oracle Oracle 的产品为工程师提供了快速方案创建。Oracle 产品中的任何东西都需要对部署描述符、类路径和通用配置进行代码深入和手工调整。Oracle 的工具是面向开发者的——而非架构师和业务分析人员。Oracle 很少或几乎没有模型驱动的方法来进行设计、构建和部署 SOA 应用。

对于工程师而言要为任务确定选择使用哪些工具的话,只使用 Oracle 网页是非常便捷的。Oracle 的快速启动指导直截了当并有很用。
不提供开箱即用功能,所有东西都需要社区支持(尤其是 BEA 模块)。大部分来自权变措施的方案都是由第三方发现的。比如,我们在 Oracle 官网上发现很多关于 Web 服务创建的教程,但我们选择的那个失败了。 http://st-curriculum.oracle.com/obe/jdev/obe11jdev/ps1/webservices/ws.html#t5。我们发现 soapUI web 服务模拟不能够从 Oracle 调用。JDeveloper 抛出 WebServiceException:从 WSDL 创建模型错误。我们在开发者日志中对此做了记录。
在有些时候,我们发现很多教程,一些可行而另一些不可行。比如,我们发现一个关于构建异步服务的教程,地址是: http://download.oracle.com/docs/cd/E17904_01/web.1111/e15184/asynch.htm#CBHECBFG。我们使用了注释机制,但在应用服务器上不可用:@AsyncWebService 和 @PortableWebService 标签。IBM IBM 产品是几个大平台集成在一起:WebSphere Application Server,WebSphere Integration Developer(WID),Rational Application Developer(RAD)和 WebSphere Process Server(WPS)。IBM RAD 单独下载就有 6G。这些平台存在版本问题:WID 7.0 需要 WAS 7.0,而 RAD 8.0.3 需要 WAS 8.0.3。你最终不得不安装多个 WAS 版本来使其 SOA 产品工作。这些软件都比较庞大,常常不能很好一起工作。比如,WebSphere Integration Developer(WID)提供给我们损坏的 WSDL 文档输出。

我们遇到很多情况,我们不能从“这里”到“那里”。比如,我们不能生成一个构建在 WPS 中的服务的客户端。WID 的重构不能够处理命名空间、名称和模式值等简单改变。WID 产生损坏的 WSDL。RAD 没有开发业务流程的功能。而且,集成和流程开发需要分别使用不同工具:WID 和 WPS。TIBCO TIBCO SOA 产品构成包括建模工具、模块开发工具和服务网格部署:ActiveMatrix Service Grid 3.13,BusinessWorks 5.9.2,Enterprise Message Service EMS 6.0.1,Rendezvous RV 8.1 和 BusinessWorks Studio(BS)。

这些工具都是面向模型的。它们对代码有比较好的控制并抽象开底层技术。没有必要去考虑代码,只需用 SOA 的概念建模。对开发者来说这是很好的消息,因为他们现在有了一个可以和业务经理和软件架构师一起工作的共同的工具来建模服务接口和工作流。
专注于代码但缺乏 SOA 知识的开发者将会有一个陡峭的学习曲线。产品文档非常丰富也很好。但查找正确的指导文档很难。TIBCO 官网上表面提供的文档通常描述功能而非如何做事。建模语言也是厂商特有的,缺乏直观性。BW Stuido 是一款基于 Eclipse 的 IDE,很多开发者都熟悉。不过有一些概念还是比较新的,比如使用 JMS 的异步服务,一些专注于代码的开发者可能会想到使用消息驱动 Beans(MDB)。另外,需要中介流来实现异步服务。

InfoQ:您能否谈谈对 SOA 应用关于功能性和性能测试方法论的看法?

我们在构建工具包时应用了敏捷软件开发实践。我们把开发者和测试者进行结对,并且构建我们产生服务的单元测试。一些单元测试是 Java Junit 测试,对产生到对象接口的类 / 方法进行调用。其他测试使用了 soapUI 测试套件,对服务进行 SOAP 和 REST 调用。我们使用了 PushToTest 的 TestMaker 来重新调整功能性测试和加载及性能测试。TestMaker 部署这些测试到一个 QA 实验室的测试服务网格中,也部署到一个云计算环境中(Amazon EC2、GoGrid、Collabnet 和 Rackspace)。TestMaker 产生一组报表来显示功能性问题和性能瓶颈的根本原因。
SOA 知识工具包附带了我们实现的测试和 PushToTest 的 TestMaker 的一份拷贝。我们没有发布在我们自己硬件上得出的性能测试结果,而是让任何人都可以在他们自己的环境中运行这些测试,以此来证明每个厂商产品在其自己数据中心的性能差异。

InfoQ:您能否跟我们分享一些 TCO 模型的细节,它是计算开发投入吗?

我们对服务生命周期的每个步骤的时间 / 操作进行了分析,以此来揭示构建、集成、部署和管理一系列需要组装为复合应用的服务所需的时间和投入。该研究的目的在于比较节约成本,这些成本通过更好的开发者效率得以节省,从而大大缩减 TCO。该 TCO 模型是一个公开的 Office/MS Excel 表单,记录了工具包开发中每步花销的成本。该模型配备在工具包中了。
在同时进行的产品实现中,TIBCO 的 ActiveMatrix 和 BusinessWorks 表现了最优的生产效率节省。TIBCO 比 Oracle 少花费了 29% 的时间和开发成本,比 IBM 少了 22%。

InfoQ:你们是否有使用各独立厂商规定提供的 SOA 基础设施能力,比如存储库、ESBs 等其他中间件?您能否透露一些高层次的详细情况呢?

我们遵从每个产品厂商公布的最佳实践,包括使用其提供的存储库、ESB 和其他中介服务。对 IBM 即意味着使用:WebSphere Application Server v8.0.3、IBM Rational Application Developer V8.0.3 多平台多语言版、IBM Websphere Integration Developer V7.0、IBM Websphere Application Server V7.0 多平台多语言版,还有 IBM Websphere 测试环境。对 Oracle 意味着使用:Oracle SOA 套件 11gR1(11.1.1.5.0)、Oracle Database XE 10g 10.2.0.1、Oracle WebLogic Server 10.3.5、Coherence、OEPE、Repository Creation Utility 11.1.1.5.0、SOA 套件 11.1.1.5.0(2 部分)、JDeveloper 11.1.1.5,还有 Oracle Service Bus 11.1.1.5.0。而对 TBICO 意味着使用:ActiveMatrix Service Grid 3.13、BusinessWorks 5.9.2、Enterprise Message Service EMS 6.0.1、Rendezvous RV 8.1、TIBCO Runtime Agent 5.7.1、ActiveMatrix Sample Examples BWSE 5.9.2、Business Studio(BS) VS,还有 Designer Design Time DABS 1.3.1。

InfoQ:针对 IBM、TIBCO 和 Oracle 这三家厂商的 SOA 产品方案,未来版本的支持计划是什么?

我们计划在 2012 年更新 Oracle、TIBOC 和 IBM 产品工具包。这期间他们也有更多的时间来完成新产品版本的发布。我们期望得到开发者社区的反馈来确定还需要增加哪些厂商产品到工具包。比如,我们希望增加像 Microsoft 产品(可能会是 BizTalk 服务、ASP.net)以及更多的开源软件项目。欢迎大家反馈。
你可以在 http://soakit.pushtotest.com 免费下载 SOA 知识工具包

查看英文原文: TIBCO’s ActiveMatrix BusinessWorks Emerges Winner In SOA TCO Study by PushToTest

2011-12-04 07:281725
用户头像

发布了 52 篇内容, 共 18.0 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

AI助力软件工程师高效工作:8款神器助你优化工作流程

SEAL安全

人工智能 AI NLP 大模型

WAVE SUMMIT+ 深度学习开发者大会2023 倒计时

飞桨PaddlePaddle

人工智能 深度学习 开发 开发者大会

AI数字人直播问题及解决方案!

青否数字人

数字人

CodeArts 五年磨一剑,深耕信创软件开发工具

华为云PaaS服务小智

ide 全球软件开发大会

如何利用烛龙和谷歌插件优化CLS(累积布局偏移) | 京东云技术团队

京东科技开发者

前端 页面布局 CLS

千亿级工业大数据的最优方案!智光电气的时序数据库应用

TDengine

tdengine 时序数据库 国产数据库

2023年终盘点系列丨YonGPT正式发布,中国软件服务创新进入人工智能新阶段!

用友BIP

YonGPT

AI分布式训练:DDP (数据并行)技术详解与实战

Baihai IDP

人工智能 深度学习 AI 数据并行 白海科技

nginx+lua+redis实现灰度发布 | 京东云技术团队

京东科技开发者

lua nginx redis 服务器

Flask已死,FastAPI是未来

Bob Lin

Python django flask FastApi python web

软件测试/测试开发/人工智能丨使用 EvoSuite 自动生成单元测试用例

测试人

人工智能 软件测试

全渠道、全触点、全用户 | 数智化运营赋能企业生意“无边界”

用友BIP

数智营销

火山引擎AB测试:企业产品优化主题分享在北京举办

字节跳动数据平台

大数据 对比实验 大数据 A/B测试

光模块是什么?

小齐写代码

玩转字词句魔法:打造超强样本集的数据增强策略,句式变换揭秘同义句生成与回译在数据增强中的创新应用

汀丶人工智能

人工智能 自然语言处理 分词 数据增强

大模型时代下的因果推断

九章云极DataCanvas

开发者能力机制解析,玩转Sermant开发

华为云开源

服务治理 sermant 字节码增强框架

CentOS7挂载webdav添加开机启动

麦兜

强大的安卓设备文件传输助手:MacDroid pro激活中文版最新

mac大玩家j

Mac软件 mac安卓文件传输工具 文件传输工具

记一次生产慢sql索引优化及思考 | 京东云技术团队

京东科技开发者

数据库 SQL优化 MySQL、

QUIC在零信任解决方案的落地实践

权说安全

避坑合集|芝麻免押失败排查思路超详细总结(小程序场景)

盐焗代码虾

支付宝 信用 排查思路

AI数字人:开启人机交互新时代

青否数字人

数字人

智能制造解决方案之智能仓储

天津汇柏科技有限公司

仓储控制系统 解决方案 智能制造 仓储执行系统

Axure RP 9 for Mac:功能强大与高效协作的完美结合

影影绰绰一往直前

测试用例设计方法六脉神剑——第五剑:化气为型,场景用例破云 | 京东物流技术团队

京东科技开发者

测试 测试用例 场景法

Photoshop 2024 for Mac:简单易用与专业设计的完美结合

影影绰绰一往直前

每日一题:LeetCode-34. 在排序数组中查找元素的第一个和最后一个位置

半亩房顶

Go 面试 算法 LeetCode 分治

第13期 | 用友BIP项目云,助力科研类项目管理实现精智核算

用友BIP

项目管理

DAPP锁仓质押挖矿系统开发

l8l259l3365

一分钟轻松制作AI数字人播报视频

青否数字人

数字人

PushToTest研究SOA TCO:TIBCO的ActiveMatrix BusinessWorks独占鳌头_Oracle_Jeevak Kasarkod_InfoQ精选文章