SOA:应该使用BPEL还是ESB
在设计SOA解决方案时,并不总是清楚应该使用Web服务BPEL流程,还是应使用 ESB中介流。本文将介绍帮助您决定使用哪一个的一些注意事项。
概述
在IBM? SOA参考体系结构中(如图 1 所示),服务被分组为多个功能区,并通过企业服务总线(以下称为ESB)进行通信。在理想情况下,每个功能区(如流程服务)都是“纯”功能区,为了实现关注点分离仅提供了一个服务类。
不过,在现实世界中,存在重叠的任何产品集中通常都包含功能区。例如,WebSphere Process Server(以下称为 Process Server)是在参考体系结构中提供流程服务的软件组件。它是从 WebSphere MQ Workflow、WebSphere Interchange Server 和 WebSphere Business Integration Server Foundation 发展而来的。为便于用户升级前代产品,它包括了与旧产品中的功能等效的功能。例如,Interchange Server 包括了业务对象映射,该对象映射以接口映射形式存在于 Process Server 中。
可以映射流入或流出业务流程的业务对象。映射还是 ESB 中的主要功能之一。因此,如果您同时拥有 Process Server 和 ESB,则需要决定应使用哪一个产品解决给定的业务问题,原因是这些区域存在重叠。
还存在一些可能使用 Process Server 或 ESB 的其他用例。例如,假设需要使用两阶段提交调用三个现有服务。这称为组合服务。在 ESB 中,您可以使用中介流调用这些服务。中介流是作为事务提交或回滚的。您可以使用 WS-BPEL 微流调用这三个服务,同时提供事务性。这样,可以使用这两种产品作为解决方案。如何决定哪一种产品是正确的?
ESB 概述
ESB 是一种体系结构模式,而不是软件产品。不同的软件产品可以构成 ESB。在某些情况下,公司在不同的区域中使用多种产品,利用特定的功能来满足其独特的需求。可以将这些不同的产品联合在一起实现 ESB 模式。
概括地讲,ESB 具有四个主要功能:
消息路由:将传入消息发送到目的地,该目的地通过硬编码方式连接的逻辑确定或基于内容的动态方式确定。路由是启用服务虚拟化的关键功能。在调用方和服务之间建立中间层可以在调用方不知道更改的情况下移动服务的位置。
###NextPa域e###
消息转换:将传入消息从一种格式转换为另一种格式。例如,可以将逗号分隔的消息转换为 SOAP,这样可以将数据传递到 Web 服务。
协议中介:传入消息使用不同的协议从发出位置发送。例如,传入消息可以使用 HTTP,而传出消息可以使用 WebSphere MQ。
事件处理:事件的传入消息一般通过发布和订阅模型分发给许多端点。
在给定的事务中,通常会合并这些主要高级功能。例如,传入消息可能是一个使用 SOAP/HTTP 的 Web 服务调用,而目的地是需要使用 WebSphere MQ 的固定长度消息格式的遗留系统。必须转换消息、协调协议并且必须将消息路由到正确的位置。
对 ESB 编程通常涉及虚拟环境,并将逻辑表示为称为消息流或中介流的连接活动流。这些流都是事务型的,使用的是两阶段提交之类的机制,这样在失败时可以回滚整个流,或者在成功时提交整个流。这些流是无状态的;通常情况下是消息传入,流对该消息执行各种操作,然后发送传出消息。
由于 ESB 的无状态事务特性,因此高性能是前提条件。在大型组织中,ESB 每天处理数百万条消息的情况并不少见。
IBM 在 ESB 方面提供了多款软件产品。WebSphere ESB 是基于 WebSphere Application Server Network Deployment 平台构建的。构建它是为了支持 Web 服务、JMS 和 XML 之类的标准。WebSphere Message Broker(以下称为 Message Broker)是一种非 J2EE 产品,它支持 WebSphere ESB 中的标准(如 Web 服务),以及许多基于非标准的协议和数据格式。WebSphere DataPower 是一种硬件工具,它可以飞速执行 ESB 功能。总之,这三种产品都可以用作 ESB 的基础。
BPEL 概述
OASIS 标准组织已将 Business Process Execution Language (BPEL) 定义为基于标准的方法,使用该方法可以编排由服务构成的业务流程。2007 年,WS-BPEL 2.0 被批准为标准语言。作为一种执行语言,WS-BPEL 定义了如何表示业务流程中的活动,以及流控制逻辑、数据、消息相关性和异常处理等。
IBM 的 WebSphere Process Server(以下称为 Process Server)包括业务流编排器(即基于 WS-BPEL 的流引擎)。上一版本称为 WebSphere Business Integration Server Foundation,该版本也包括 WS-BPEL 支持。
Process Server 包含多个主要功能,其中包括:
业务流程:流程可以是有状态和长时间运行的,或者是事务型微流。长时间运行的流程无法像微流那样回滚,IP,它们可以使用补偿处理程序撤消先前执行的活动。流程可用于实现组合服务。
人工任务:业务流程的一个关键部分是能够将人员引入该流程。人工任务管理器启用一些步骤,通过这些步骤可以将人员作为一种服务来调用。工作流模式是使用 BPEL 扩展通过外部(参与)任务或内联任务进行支持的。
业务规则:集成的规则引擎允许创建和评估业务规则,而不是将决策硬编码到业务流程。授权用户可以使用 Web 浏览器更新该规则。管理员可以激活更新,并将其导出,因此开发环境可以与运行时保持同步。
集成 ESB:Process Server 包括完整的 WebSphere ESB 产品。在本文中,我们只介绍 Process Server 的 BPEL 引擎组件。
SCA:Process Server 中的服务调用是使用服务组件体系结构 (SCA) 规范完成的。SCA 接口映射可用于调用其接口与调用组件不同的服务。接口映射也支持高级功能(如关系)。如果系统 A 使用“123”作为客户标识符,而系统 B 使用“ABC”作为客户标识符,则在这两个系统之间转换时,您可以使用关系建立“123”到“ABC”的中介,反之亦然。
- 1重庆OA行业资讯
- 2广州OA行业资讯
- 3南京OA行业资讯
- 4南宁OA行业资讯
- 5南昌OA行业资讯
- 6合肥OA软件行业资讯
- 7青岛OA行业资讯
- 8太原OA行业资讯
- 9上海OA软件行业资讯
- 10石家庄OA行业资讯
- 11长春OA行业资讯
- 12哈尔滨OA软件行业资讯
- 1BI概念绝不会因企业收购而消亡
- 2浅谈企业杭州OA应用条件、风险及成功标志
- 3IT运维传奇之你追我赶此起彼落
- 4变身“流程公司” 什么工作流合适
- 5五大建议助企业提高虚拟服务器安全
- 6计世独家:互联网公司渐成服务器大买家
- 7总结杭州OA之供应商编码的几大必备技巧
- 8四巨头角力BI市场 各亮“绝活”客户评说
- 9案例点评:企业知识管理实施为何这么难
- 10计世独家:步入全面信息管理时代?
- 11虚拟化应用安全盲点:网络流量控制
- 12云OA软件2014-2015年落地有戏
- 13解决SAP SRM产品带来的困惑
- 14杭州OA实务:评述销售出货调拨流程
- 15SOA分"大""小" 你如何选择
- 16计世独家:杭州OA项目招标选型走稳第一步
- 17通过SOA看企业转变 注重理念指导
- 18财务信息化:如何做好预付帐款流程
- 19杭州OA五大不可控性 是否真的不可控
- 20简单管理公司OA办公软件的核心要义
- 21提高企业信息化ROI 风险管理全剖析
- 22成功实施杭州OA 八个建议不得不听
- 23SaaS模式解决中小企业两大难题
- 24深化应用杭州OA 全面推动企业跨越式发展
- 25虚拟仓库在厂外物料管理上的应用
- 26产品生命周期管理应用的四个层面分析
- 27电子商务“赶集” CIO浅谈电子商务应用
- 28基于SOA的体系架构设计
- 29杭州OA与精益生产之间的平衡
- 30使用SaaS模式应规避四大风险