文档章节

复合服务 Composite Services

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

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

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

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

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



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


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


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

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

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
私信 提问
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
design pattens - Composite

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

01/19
0
0
《Oracle PL/SQL开发指南》学习笔记28——源码调试——PL/SQL基础知识(第二部分)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hpdlzu80100/article/details/84536814 1. 绑定变量赋值给变量 2. 异常块只能捕捉运行时错误,无法捕捉解析错...

预见未来to50
11/26
0
0
《Oracle PL/SQL开发指南》学习笔记29——源码调试——集合(第四部分——非对称复合表集合(Asymmetrical Composite Table Collections))

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hpdlzu80100/article/details/84762887 非对称复合表集合(Asymmetrical Composite Table Collections),是本...

预见未来to50
12/03
0
0
资料整理——Oracle基本概念、术语(Glossary from Oracle Concepts)——第三部分

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hpdlzu80100/article/details/84852667 一边整理资料,一边学习这些基本概念,这时间花的值。...

预见未来to50
12/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ubuntu美化记,-修改皮肤,安装工具。

事情由来 最近系统盘坏了,换了新SSD,也换了新版的ubuntu 18.04LTS;不得不说,ubuntu 的桌面搞的越来越漂亮了。 把调整过的zsh shell样式,截个图上来镇一下楼: 添加了对python virtuale...

janl
8分钟前
0
0
阿里云物联网边缘计算加载MQTT驱动

写在前面 本文在LinkEdge快速入门样例驱动的基础上,加载了MQTT订阅的客户端,使得边缘端容器可以通过MQTT获得外部数据。 1. 系统需求 物联网边缘计算平台,又名Link IoT Edge[1]。在物联网边...

阿里云云栖社区
8分钟前
0
0
错误: 找不到或无法加载主类

在IDEA的使用过程中,经常断掉服务或者重启服务,最近断掉服务重启时突然遇到了一个启动报错: 错误:找不到或无法加载主类 猜测:1,未能成功编译; 尝试:菜单---》Build---》Rebuild Pro...

安小乐
25分钟前
1
0
vue路由传参,刷新页面,引发的bug

最近遇到一个bug 通过vue路由跳转到页面, 然后接参控制(v-if ),成功显示 而刷新页面,显示失败。 苦苦地找了半天原因,打印参数发现正确,再打印下类型......,路由跳过来会保持传参时的...

hanbb
25分钟前
1
0
【58沈剑 架构师之路】InnoDB,select为啥会阻塞insert?

MySQL的InnoDB的细粒度行锁,是它最吸引人的特性之一。 但是,如《InnoDB,5项最佳实践》所述,如果查询没有命中索引,也将退化为表锁。 InnoDB的细粒度锁,是实现在索引记录上的。 一,Inn...

张锦飞
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部