文档章节

复合服务 Composite Services

猪刚烈
 猪刚烈
发布于 2014/10/12 11:47
字数 645
阅读 10
收藏 0
在SOA中,复合服务是非常重要的一个概念。总体来说,按其复合程度,复合服务可以分为:一般意义上的“简单”复合服务和“工作流类型”的复杂复合服务两种。

一般意义上的“简单”复合服务

这类复合服务就是将已有的一些细粒度的服务重新整理包裹成一个粗粒度的服务。大多数的复合服务都属于此类型。值得深入探讨和研究的是“简单”复合服务的应用场景,这里列举两类典型场景:

场景一:为满足应用集成的需要,在集成多个既有系统的服务基础之上,又实现了一部分“集成逻辑”的服务。例如:假定存在两个独立的系统:销售系统和财物系统,销售系统有合同信息,财务系统有客户的信用信息,假设现在要对两个系统进行集成,希望集成后的系统能根据财务系统中客户信用对销售系统中的合同进行风险评估,将这一功能抽象成一个独立的服务后,我们不难发现,它需要同时调用财务系统的CreditService和销售系统的ContractService,这个服务就是一种典型的复合服务。

场景二:在某公司的多套遗留系统中都涉及到了“订单”实体,在实现集成后,如果要“增删查改订单”的话,应该如何保证各遗留系统中的订单数据保持一致呢?这在应用集成中是一个非常典型的问题,这个问题也可以表述为:在多个系统中都存在的某个实体,到底应该以谁为准呢?下图是对这一问题的一个形象的描述(以Customer实体为例):



这一问题正是通过“复合服务”来解决的,由“复合服务”来协调各既有系统,保证数据的一致性。这就回答了前面提出的“以谁为准”的问题,那就是以这个“复合服务”为准。下图描述了复合服务在此类场景下的应用:


“工作流类型”的复杂复合服务


这类复合服务就很直白了,它往往代表一个业务流程,里面包含了业务流程中所涉及的多个服务。这类服务的典型代表就是通过BPEL定义的服务组合。

本文转载自:http://blog.csdn.net/bluishglc/article/details/6855764

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
私信 提问
SAP向合作伙伴展示NetWeaver下一代复合功能

SAP公司始终致力于为客户提供企业级面向服务的架构(企业级SOA),帮助客户创造更多商业价值。 近日,SAP公司向合作伙伴展示了SAP NetWeaver®平台的下一代复合功能。拥有这些新的功能,SAP N...

晨曦之光
2012/03/09
0
0
Wt::WCompositeWidget

来自:http://www.webtoolkit.eu/wt/doc/reference/html/classWt11WCompositeWidget.html#_details A widget that hides the implementation of composite widgets. 〔WCompositeWidget 隐藏......

zhmsong
2010/06/07
0
0
三剑客:Spring、SCA 和 Apache Tuscany

简介 在 Open SOA (OSOA) 项目发布标题为 “强大的组合:SCA、OSGi 和 Spring” 的白皮书之后,这三种技术的结合引起了人们的一些关注。Spring Dynamic Module 就是这种基础架构的一种商业实...

红薯
2009/11/23
2.8K
1
design pattens - Composite

Composite模式,可以帮助客户代码以一致的方式来操作复合对象和单体对象。 比如说,对一个shape对象设置颜色,和对一组被选中的shape设置颜色时使用的操作是一致的: 和: 具体做法就是一个C...

01/19
0
0
hibernate 关于联合主键

-----------------------------映射文件---------------------------------------------- <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD......

李永china
2016/05/01
35
0

没有更多内容

加载失败,请刷新页面

加载更多

nuc970 uboot nand-boot,kernel, filesystem 烧录位置

一 烧写到Nand Flash **1.1 **相关文件说明 l BSP版本:nuc970bsp-release-20150519.zip l NuWriter版本:2015/04/28-V01,nuvoTon Nu-Writer V1.0 l 烧写文件: u-boot-spl.bin:负责将u-b......

CookieDemo
10分钟前
0
0
python中sort和sorted函数小结

L.sort(cmp=None, key=None, reverse=False) sorted(iterable, cmp=None, key=None, reverse=False) 这样看,sorted函数只比sort函数多一个iterable参数,其余没什么不同,iterable是一个迭代......

上官夏洛特
37分钟前
2
0
thinkphp 常用SQL执行语句总结

第一条:Db::tablera('vr_panomas')->where(['delete_time'=>0,'id'=>['in',$pids]])->field(['id'=>'id','post_thumb'=>'thumb','post_title'=>'title','post_tags'=>'tags','post_price'=>......

koothon
46分钟前
1
0
支付宝返回状态resultStatus意思

上一篇集成支付宝的时候,会有一些支付宝返回的resultStatus,具体意思是: 9000 订单支付成功 8000 正在处理中 4000 订单支付失败 6001 用户中途取消 6002 网络连接出错 还有memo,意思就是...

RainOrz
51分钟前
2
0
electron webview 页面加载事件顺序

1.did-start-loading 页面开始加载 2.load-commit 主页面文档加载 3.page-title-updated title 4.dom-ready 主页面 dom 加载完成 5.load-commit frame文档加载 6.did-frame-finish-load fram......

dubox
55分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部