文档章节

复合服务 Composite Services

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

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

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

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

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



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


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


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

© 著作权归作者所有

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

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

晨曦之光 ⋅ 2012/03/09 ⋅ 0

Composite 组合模式

动机 程序经常需要操作树形数据结构,而且需要同等对待分支和叶子节点。我们来思考下一个文件管理系统。文件管理系统是由分支(文件夹)和叶子节点(文件)组成的树形结构。注意,一个文件夹...

holysu ⋅ 2017/12/30 ⋅ 0

三剑客:Spring、SCA 和 Apache Tuscany

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

红薯 ⋅ 2009/11/23 ⋅ 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

design pattens - Composite

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

⋅ 01/19 ⋅ 0

UML: 关联,聚合,复合

关联 指两者之间存在关系。 聚合(Aggregation) 指两者之间存在has-a关系,但关系较松散,双方都不依赖于对方而存在, 即一方不存在了,但另一方仍然可能存在。 复合(Composite) 两者之间存在...

拙峰 ⋅ 2013/05/02 ⋅ 0

Apache Tiles 学习(一)、复合视图模式

Apache Tiles 是什么? A free open-sourced templating framework for modern Java applications. Based upon the Composite pattern it is built to simplify the development of user in......

666B ⋅ 2014/06/23 ⋅ 0

hibernate 关于联合主键

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

李永china ⋅ 2016/05/01 ⋅ 0

Oracle数据库表分区

什么是分区? 把大数据对象 (表, 索引)被分成小物理段,当分区表建立时,记录基于分区字段值被存储到相应分区。当分区表建立时,记录基于分区字段值被存储到相应分区,分区字段值可以修改,可...

大覇 ⋅ 2014/06/10 ⋅ 0

PostgreSQL Oracle 兼容性之 - INDEX SKIP SCAN (递归查询变态优化) 非驱动列索引扫描优化

标签 PostgreSQL , Oracle , index skip scan , 非驱动列条件 , 递归查询 , 子树 背景 对于输入条件在复合索引中为非驱动列的,如何高效的利用索引扫描? 在Oracle中可以使用index skip scan...

德哥 ⋅ 04/18 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

三步为你的App集成LivePhoto功能

摘要:LivePhoto是iOS9新推出的一种拍照方式,类似于拍摄Gif图或录制视频片段生成图片。如果没有画面感,可以联想《哈利波特》霍格沃茨城堡的壁画,哈哈,很炫酷有木有,但坑爹的是只有iphone6S以...

壹峰 ⋅ 17分钟前 ⋅ 0

centos7 git安装

由于centos中的源仓库中git不是最新版本,需要进行源码安装。 1、查看yum仓库git信息 [root@iZm5e3d4r5i5ml889vh6esZ zh]# yum info gitLoaded plugins: fastestmirrorLoading mirror s...

xixingzhe ⋅ 26分钟前 ⋅ 0

input file 重复上传同一张图片失效的解决办法

解决办法 方法一:来回切换input[type='file']的type属性值,可以是‘text’,'button','button'....,然后再切换回来‘file’ 方法二:每次取消图片预览后,重置input[type='file']的value的...

时刻在奔跑 ⋅ 27分钟前 ⋅ 0

Mahout推荐算法API详解

前言 用Mahout来构建推荐系统,是一件既简单又困难的事情。简单是因为Mahout完整地封装了“协同过滤”算法,并实现了并行化,提供非常简单的API接口;困难是因为我们不了解算法细节,很难去根...

xiaomin0322 ⋅ 31分钟前 ⋅ 0

WampServer默认web服务器根目录位置

安装WampServer之后的web服务器根目录默认位置在WampServer安装目录下的www:

临江仙卜算子 ⋅ 33分钟前 ⋅ 0

Redux的一些手法记录

Redux Redux的基本概念见另一篇文。 这里记录一下Redux在项目中的实际操作的手法。 actions 首先定义action.js,actions的type,可以另起一个action-type.js文件。 action-type.js用来存...

LinearLaw ⋅ 34分钟前 ⋅ 0

android 手势检测(左右滑动、上下滑动)

GestureDetector类可以让我们快速的处理手势事件,如点击,滑动等。 使用GestureDetector分三步: 1. 定义GestureDetector类 2. 初始化手势类,同时设置手势监听 3. 将touch事件交给gesture...

王先森oO ⋅ 48分钟前 ⋅ 0

java 方法的执行时间监控 设置超时(Future 接口)

java 方法的执行时间监控 设置超时(Future 接口) import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor......

青峰Jun19er ⋅ 53分钟前 ⋅ 0

一名开源小白的Apache成长自述

今天收到了来自Apache Vote我成为Serviceomb项目Committer的邮件,代表自己的贡献得到了充分的肯定;除了感谢团队的给力支持,我更希望将自己的成长经历——如何践行Apache Way的心得介绍给大...

微服务框架 ⋅ 55分钟前 ⋅ 0

vim介绍、颜色显示和移动光标、一般模式下复制、剪切和粘贴

1.vim 是 vi 的升级版 vim 是带有颜色显示的 mini安装的系统,一般都不带有vim [root@aminglinux-128 ~]# yum install -y vim-enhanced已加载插件:fastestmirror, langpacksLoading mir...

oschina130111 ⋅ 55分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部