Upload
others
View
30
Download
0
Embed Size (px)
Citation preview
29/11/16
1
第八章 服务组合方法与技术
孙海龙
北京航空航天大学 2016.12.06
提纲
• 服务组合的问题 • 手动/半自动服务组合 • 自动的服务组合问题
29/11/16
2
服务计算中的三个关键问题
为什么需要服务组合?
• 需求:单个服务难以满足应用需求,需要将多个简单的服务组合起来实现复杂系统功能。
order1
ok
receipt1
authorize get buy
商店 银行
供货商
29/11/16
3
复杂的场景
服务组合的研究问题
• 广义上的服务组合 – 服务组合模型 – 服务选择问题 – 服务组合⽅方法
• Orchestration • Choreography
– 组合服务仿真 – 组合服务验证 – 组合服务测试 – 运⾏行行及演化
• 狭义上的服务组合:围绕“组合”的开发过程
29/11/16
4
服务组合的典型方法
G. Kapitsaki. Service Composition: State of the art and future challenges. Mobile and Wireless Communications Summit, 2007
服务组合的方式
• 手动服务组合 – 定制组合服务模型 – ⼈人⼯工选择服务资源,将模型实例例化
• 自动服务组合 – 输⼊入:⽤用户需求 – 输出:能够处理理⽤用户需求的组合服务 – 不不需要⼈人⼯工⼲干预
• 半自动服务组合 – ⼿手动和⾃自动⽅方法的折衷 – 例例如:⼿手动建模,辅以⾃自动服务选择、推荐
指定Internet
服务1
服务2
服务3
指
定
指
定
指
定
组合服务
定义态指定
29/11/16
5
提纲
• 服务组合的问题 • 手动/半自动的组合方法 • 自动服务组合
面向流程的服务组合
• 组合服务=业务流程+组件服务 – 技术成熟,借鉴了了workflow、BPM等领域的技术 – 符合现实需求,企业级的信息系统应⽤用中蕴含有流程特性,如电⼦子商务、⾦金金融银⾏行行等领域
2008IEEEInterna,onalConferenceonWebServices(ICWS2008) 10
29/11/16
6
业务流程 • 业务流程:Business Process
– a collection of related, structured activities or tasks that produce a specific service or product (serve a particular goal) for a particular customer or customers. It often can be visualized with a flowchart as a sequence of activities.
– BPM: Business process management • 与工作流的联系与区别:?
– a workflow is a pattern of activity enabled by a systematic organization of resources, defined roles and mass, energy and information flows, into a work process that can be documented and learned.
业务流程建模
• 主要的规范 – WSFL – XLang – BPEL – BPEL4WS – BPMN
• 建模工具 – WebSphere Business Modeler、Oracle 的BPEL
Designer、Eclipse BPEL Designer – IBM System Architect/ ActiveVOS/ Intalio|BPMS
/Eclipse BPMN Modeler
29/11/16
7
服务选择问题
• 两个方面 – 功能性:能否完成处理理任务?
– ⾮非功能性:能否处理理得好? • 可⽤用性 • 响应时间 • 花费 • 可靠性
? ?
? ? ? QoS属性
基于非功能性的选择
• 挑战性 – QoS属性是动态变化的
• 如何建⽴立准确的预测模型? – QoS属性的多维性
• 如何同时兼顾多个属性? – 组合服务流程的复杂性
• 如何基于单个服务的QoS计算组合服务的QoS?
29/11/16
8
多维属性的处理 • 加权计算
– 权重的确定:⽤用户指定、机器器学习
• 多目标优化问题
– 例例如skyline query
nn AwAwAwA *...** 2211 +++=
Room
Price
Distance to UNSW
A $350 0.5 km B $250 1 km C $150 2.5 km D $100 4 km E $400 1.5 km F $350 3 km G $250 3.5 km
Which one to choose?
Skyline query的算法 • Divide and Conquer • Block Nested Loops • Sort Filter Skyline • Linear Elimination Sort for Skyline • Bitmap • Index • Nearest Neighbor • Branch and Bound Skyline
29/11/16
9
组合服务QoS的计算-Workflow Reduction
tijpj
(a) (b)
ti tj
Reduction of a Sequential System
tbta*
(a) (b)
* tbta t1n
pa1 p1b
pnb
p2b
pan
pa2 p1n pb
t1
t2
tn
Reduction of a Parallel System
Jorge Cardoso, Amit P. Sheth, John A. Miller, Jonathan Arnold, Krys Kochut: Quality of service for workflows and web service processes. Journal of Web Semantics, 1(3): 281-308 (2004)
组合服务QoS计算-Workflow Reduction(续) Reduction of a Conditional System
Reduction of a Simple Loop System
Jorge Cardoso, Amit P. Sheth, John A. Miller, Jonathan Arnold, Krys Kochut: Quality of service for workflows and web service processes. Journal of Web Semantics, 1(3): 281-308 (2004)
29/11/16
10
假设每个服务有nj个副本(可用性计算)
共有m种服务,每种服务有nj个副本
研究热点:QoS感知的服务组合 • 已知条件
– ⼀一个组合服务流程:有向图 • N个活动,每个活动有M个候选服务
– 总体约束条件:组合服务的QoS需求 – 每个服务的QoS属性
• 求解:服务选择的方案
Liangzhao Zeng, Boualem Benatallah, Marlon Dumas, Jayant Kalagnanam, Quan Z. Sheng: Quality driven web services composition. WWW 2003: 411-421
29/11/16
11
基本的处理过程 Discovery
Engine
Optimizer (ILP)
Service Template 1
Service Template 2
ST=2 C=100
ST=3 C=250
ST=3 C=200
ST=1 C=300
ST=4 C=200
ST=3 C=180
Ranked Set
Objective Function and Process constraints Min (supply-time + cost)
Supply-time
29/11/16
12
自动服务组合
• 业务需求的动态变化以及互联网上服务数目的增多为服务组合自动化提出了迫切的需求
• 一系列SOA标准和规范的提出在一定程度上消除了不同组织之间的异构性,为服务组合自动
化提供了技术上的支持
• 传统的数据集成、自动机理论、人工智能规划等领域的研究成果为服务组合自动化提供了可
借鉴的理论和方法
自动服务组合研究现状
组合 需求
自动 组合
服务库
功能 非功能(QoS)
语法层 语义层 协议层
规划 自动机理论 查询重写 ... ...
组合 服务
29/11/16
13
自动服务组合研究现状(续) • 语法层自动服务组合
– 基于WSDL接⼝口描述,把服务建模为输⼊入/输出函数 – 数据集成、类型推导、查询优化(Active XML)
• 语义层自动服务组合 – 设计⼀一种计算机够互相理理解并能充分表示Web服务的内容、功能、属性、接⼝口以及规则和限制条件的语⾔言,研究Web服务的⾃自动组合
– Meteor-S 、SWSF 、SWORD 、SHOP2 • 协议层自动服务组合
– 服务基于其业务协议进⾏行行建模,刻画了了服务外部可观察的⾏行行为
– Roman模型、 Colombo模型 、MoSCoE、 SWS模型、 ASTRO框架
组合服务的形式化模型
• 自动机模型:Roman model • Petri网模型: 工作流网 • 进程代数模型:process algebra • 情境演算: situation calculus • 语义模型: semantic web • 会话模型: conversation model • CTL模型:
• 混合模型: hybrid model – FLOWS/ – Colombo model
29/11/16
14
References • Richard Hull. Web Services Composition:
A Story of Models, Automata, and Logics. 2005.
• Daniela Berardi. Automatic Composition of e-Services that Export their Behavior. 2003
作业
• 阅读论文 – 阅读与服务组合、运行相关的学术论文,下次课进行口述和回答我
的提问; – 论文范围:见课程网站 – 主要涉及以下问题:
• 问题是什么?回答研究的背景和意义,清晰解读所研究的问题; • 提出的解决方法是什么? • 取得了什么样的效果? • 我对该工作的评价和进一步思考是什么?
29/11/16
15
Q&A
Skyline Query
Back