08/11/16 第五章 漫谈服务计算新技术 授课:孙海龙 北京航空航天大学 2016/11/08 提纲 • 无处不在的“服务” • Mashup :一种新型服务组合 • 服务推荐:更加有效的服务发现 • 服务互联网:服务的大规模整合 1
08/11/16 Web 2.0 和云计算催生了服务的大 发展 : XaaS 云计算的分层体系 2
08/11/16 其他应用服务 • 博客服务 • 微博服务 • 社交服务 • 位置服务 • 多媒体服务 • 网络存储服务 • 搜索服务 • 地图服务 • 邮件服务 • 文档共享服务 5 “服务”的本质 • 让用户以尽可能少的代价实现对其问题的处理 – 不泌需安装特定的软件,使⽤甩浏览器塀完成所有的操作 – 不泌必关⼼忄软件的升级和维护 – 使⽤甩价格低廉,最好免费 – 服务的质量勵要有保障 • 响应速度 • 可⽤甩性 • 可信性 6 3
08/11/16 服务计算路在何方? • 服务计算解决的问题是什么? 面向服务的软件开发 自 底 向 商品查找服务 服务 有序 上 订单服务 无序 动 服务 有序 服务 态 组 服务 服务 服务 合 无序 服务 服务 服务 配送服务 支付服务 网络软件运行环境 提高效率:重用 + 组合 确保质量:动态演化 7 服务化软件面临的问题( 1 ) • 服务的泛在化: IaaS, PaaS, SaaS – 软件服务化:软件资源、开发过程、运⾏行降平台 – 数量勵多、规模⼤夨: Web service, Web API 问题一:如何管理大规模服务资源, 以支持服务的按需组合? 4
08/11/16 服务化软件面临的问题( 2 ) • 以用户为中心 – ⽤甩户量勵快速增⻓門,例禮如 Facebook 有超过 5 亿⽤甩户 – ⽤甩户需求的多样性 • 功能性 • ⾮靟功能性 – ⽤甩户需求动态多变 问题二:如何动态按需组合服务, 以适应用户需求变化多样的特征? 服务化软件面临的挑战( 3 ) • 传统软件开发平台 – ⼯左具、中间件维护 – 技术⻔闩槛⾼髙 – 开发效率低 开发工具 测 运行环境 试 • 平台的开放化趋势 – 编程模型 – 托管平台 问题三:如何为服务化软件提供按需、 可信、透明的部署和运行支持? 5
08/11/16 提纲 • 无处不在的“服务” • Mashup :一种新型服务组合 • 服务推荐:更加有效的服务发现 • 服务互联网:服务的大规模整合 Mashup/Web Mashup • 中文:混搭、糅合 • A mashup, in web development, is a web page, or web application, that uses and combines data, presentation or functionality from two or more sources to create new services.----- From Wikipedia . • Web2.0 的典型应用之一,一种将不同来源的数 据和功能无缝组合,形成全新、集成式服务的 模式 • 主要的技术特征 – combination, visualization, aggregation – Easy and fast integration 6
08/11/16 Web Mashup 的代表性应用 • 地图 mashups • Google Maps, Yahoo Maps, Microsoft Virtual Earth • 视频与图片 mashups • Flickr, Youtube • 搜索与购物 mashups • eBay, Amazon • 新闻 mashups • Diggdot.us= Digg.com + Slashdot.org + Del.icio.us Example: http://www.mapdango.com/ 新闻 Mashup 实例 • News+Map 7
08/11/16 国内外研究现状 • 开发平台发展历史 2005 年 6 月 29 日, Google 公开 Google Map API , 引发了地图 Mashup 的热潮 国内外研究现状 • 开发平台发展历史 2005 年 6 月 29 日, Google Map Yahoo 于 2007 年 2 月推出 Yahoo! pipes , 使用户很容易 的创建 Mashup 8
08/11/16 国内外研究现状 • 开发平台发展历史 2007 年 5 月,微软 推出 Web Mashup 2005 年 6 月 29 日, 应用开发工具 Google 推出 Popfly Google Map 2007 年 2 月, Yahoo 推出 Yahoo! pipes 国内外研究现状 • 开发平台发展历史 2005 年 6 月 29 日 2007 年 5 月 Google 推出 微软推出 Google Map Popfly 2007 年 2 月 2007 年 5 月 31 日, Yahoo 推出 Google 发布了 Yahoo! pipes Google Mashup Editor 测试版,支 持在线的 Mashup 创建、调试和测试 9
08/11/16 国内外研究现状 • 开发平台发展历史 2008 年 4 月 22 日, Intel 也发布了一个 Mash Maker 的网页 插件,可以把网页变 2005 年 6 月 29 日 2007 年 5 月 为 Widget 并混合在一 Google 推出 微软推出 起构建新的应用 Google Map Popfly 2007 年 2 月 2007 年 5 月 31 日 Yahoo 推出 Google 发布 Yahoo! pipes GME 国内外研究现状 • 开发平台发展历史 2005 年 6 月 29 日 2007 年 5 月 2008 年 4 月 22 日 Google 推出 微软推出 Intel 发布 Google Map Popfly Mash Maker 2007 年 2 月 2007 年 5 月 31 日 2008 年 7 月 1 日, Yahoo 推出 Google 发布 IBM 发布企业 Yahoo! pipes GME Mashup 平台 IBM Mashup Center 10
08/11/16 国内外研究现状 • 各大厂商推出的 Mashup 构建平台比较 Yahoo ! GME Microsoft Intel Mash IBM Mashup Pipes Popfly Maker Center 开发界面 拖拽方式 文本编辑 拖拽、文本 鼠标操作 拖拽方式 目标人群 高级 Web 用 程序员 普通 web 用 普通 web 用户 企业用户 户 户 系统需求 普通浏览器 普通浏览器 SilverLight Mash Maker 插 WebSphere 件 Application Server 内容类型 数据、逻辑 数据、逻辑、 数据、逻辑、 数据 数据、界面 界面 界面 其他 重数据显示 目标提升用户 轻数据操作 浏览网页体验 Yahoo! Pipes : Example 11
08/11/16 Yahoo! Pipes : Example 国内外研究现状 • IBM Mashup Center 12
08/11/16 Mashup 体系结构 • Source • API/content providers • Web Protocols: REST, Web Services, RSS/ATOM • Screen Scraping • The mashup site • This is where the mashup logic resides, it is not necessarily where it is executed • Server-side: Dynamic content aggregation • Client-side: Client side scripting • The client's Web browser • This is where the application is rendered graphically and where user interaction takes place 13
08/11/16 客户端 Mashup Advantages Disadvantages 1. Can be easy to implement. 1. Allows maximum two or three XMLHttpRequests to execute 2. Don't need to provide a server-side concurrently, can limit performance. component 2. Provides no buffer to shield the client 3. Better Performance from problems in the other web site. 4. Reduces processing load on the server 3. Needs to handle data of any size that the other web site returns. 4. Needs to handle data in any format that the other web site returns. 5. You cannot make concurrent and asynchronous calls to many data sources at the same time from the client. 服务器端 Mashup Advantages Disadvantages 1. The Java EE and Java SE platforms provide many 1. You need to provide a server-side libraries that make it easy to access other web proxy. sites from the server. 2. A service request and response needs 2. The proxy used in a server-side mashup can to go from the browser to the server- serve as a buffer between the client and the side proxy, and then from the server-side other web site. proxy to the mashup server. This can result in a significant delay in receiving 3. Allows you to transform the data returned by the response. a service into a different format and in smaller chunks. 3. You need to protect the server-side proxy from unauthorized use. For 4. You can handle security requirements more example, suppose you mash up with a easily on the server. service that requires the user to pay a fee. A malicious user might be able to use 5. You can make concurrent and asynchronous the server-side proxy to access the calls to many data sources at the same time from service and in this way avoid paying the the server. fee. 14
08/11/16 所面临的技术挑战 • 数据描述与语义:不同的数据 schema • 数据质量: incomplete and noisy data • 服务的可用性与可靠性问题 • 个性化的 Mashup • 自动化的 Mashup 构建 Mashup 相关论文 • MashRank: Towards Uncertainty-Aware and Rank-Aware Mashups. ICDE 2009. • Entity Search Strategies for Mashup Applications. ICDE 2012. • Damia: Data Mashups for Intranet Applications. SIGMOD 2008. • Data Integration in Mashups. SIGMOD 2008. • Autocompletion for Mashups. VLDB 2009. • Building Ranked Mashups of Unstructured Sources with Uncertain Information. VLDB 2010. • Navigating in Complex Mash-Up Applications. VLDB 2010. • Remash! Blueprints for RESTful Situational Web Applications. WWW 2009. • Towards the Web of Things: Web Mashups for Embedded Devices. WWW 2009. • Mashroom: End-User Mashup Programming Using Nested Tables. WWW 2009. • Refactoring Pipe-like Web Mashups for End-User Programmers. ICSE 2011. 30 15
08/11/16 提纲 • 无处不在的“服务” • Mashup :一种新型服务组合 • 服务推荐:更加有效的服务发现 • 服务互联网:服务的大规模整合 服务推荐 • 服务发现的挑战 – 服务的数量勵多 – 描述模型不泌统⼀丁 – ⽤甩户的需求难以清晰表达 • 提高服务发现的效率 : 推荐 – Enhance user experience • Assist users in finding information • Reduce search and navigation time – Increase productivity – Increase credibility – Mutually beneficial proposition 推荐: Show Me What I Want 32 16
Recommend
More recommend