基于Microsoft Popfly建立Mashup应用的范例

rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml">

Mashup是一种基于 Web 的数据与应用集成应用程序。最近通过对Mashup主要技术的了解和学习,了解了目前最流行的Mashup开发编辑平台Google GME以及Microsoft Popfly。本文范例通过Microsoft Popfly实现一个基于Virtual EarthGeoNamesTimerTwitter的应用。其实现功能是以地图为背景实时跟踪显示更新Twitter用户的消息。其优点在无需编写代码实现应用程序的可视化,自由集成的,以及复杂的集成。

1.引言

Mashup是一种将多个不同的支持web api的应用进行堆叠而形成的新型web服务mashup 这种隐晦的数据集成定义当然不是非常严格。要深入了解什么是 mashup,就应该了解一下这个单词的起源:它源于流行音乐,mashup 是从两首不同的歌曲(通常属于不同的流派)中混合演唱和乐器的音轨而构成的一首新歌。与那些 “bastard pop” 歌曲类似,mashup 也是内容的一种不常见的创新组合(通常都源自于无关的数据源),这都是人工进行合成的(而不是通过计算机来合成的)。

Mashup利用了从外部数据源检索到的内容来创建全新的创新服务,将来自不止一个数据源的内容进行组合,创造出更加增值的服务。Mashup所能利用的外部数据源格式多种多样,表现出惊人的兼容性,它涵盖public APIs, XML/RSS/Atom feeds, web services, HTML等。人们普遍认为Mashup具有Web 2.0的特点。Web 2.0的主要思路是在互联网上建立起大众的贡献的共享的信息平台,协作和共享是这种思想的精髓。

 

 

2.Mashup技术基础

2.1  Mashup 类型

我们将简要介绍对出名的 mashup 类型进行的一些总结

(1)地图 mashup

在这个阶段的信息技术中,人们搜集大量有关事物和行为的数据,二者都常常具有位置注释信息。所有这些包含位置数据的不同数据集均可利用地图通过令人惊奇的图形化方式呈现出来。mashup 蓬勃发展的一种主要动力就是 Google 公开了自己的 Google Maps API。这仿佛打开了一道大门,让 Web 开发人员(包括爱好者、修补程序开发人员和其他一些人)可以在地图中包含所有类型的数据(从原子弹灾难到波士顿的 CowParade 奶牛都可以)。为了不落于人后,MicrosoftVirtual Earth)、YahooYahoo Maps)和 AOLMapQuest也很快相继公开了自己的 API

(2)视频和图像 mashup

图像主机和社交网络站点(例如 Flickr 使用自己的 API 来共享图像)的兴起导致出现了很多有趣的 mashup。由于内容提供者拥有与其保存的图像相关的元数据(例如谁拍的照片,照片的内容是什么,在何时何地拍摄的等等),mashup 的设计者可以将这些照片和其他与元数据相关的信息放到一起。例如,mashup 可以对歌曲或诗词进行分析,从而将相关照片拼接在一起,或者基于相同的照片元数据(标题、时间戳或其他元数据)显示社交网络图。

(3)搜索和购物 mashup

搜索和购物 mashup mashup 这个术语出现之前就已经存在很长时间了。在 Web API 出现之前,有相当多的购物工具,例如 BizRatePriceGrabberMySimon Google Froogle,都使用了 B2B 技术或屏幕抓取的方式来累计相关的价格数据。为了促进 mashup 和其他有趣的 Web 应用程序的发展,诸如 eBay Amazon 之类的消费网站已经为通过编程访问自己的内容而发布了自己的 API

2.2 相关技术

以下介绍了可以促进 mashup 发展的技术。有关这些技术的更多信息,

(1)架构mashup 程序从架构上是由 3 个不同的部分组成的,它们在逻辑上和物理上都是相互脱离的(可能由网络和组织边界分隔):API/内容提供者、mashup 站点和客户机的 Web 浏览器。

(2)Ajax技术:其目标是通过与内容服务器交换少量的数据为用户创造平滑、良好的 Web 体验,而不用在用户执行某些操作之后重新加载并重新呈现整个页面。

(3)Web 协议:SOAP REST,SOAP REST 都是与远程服务进行通信所使用的与平台无关的协议。作为面向服务的架构范式的一部分,客户机使用 SOAP REST 与远程服务进行交互,而不用了解它们底层的平台实现:服务的功能完全是由它请求和收到的显影消息描述来实现的。

(4)屏幕抓取:正如前面介绍的一样,缺乏内容提供者提供的 API 通常会强制要求 mashup 开发人员采取屏幕抓取的方式来提取自己希望集成的信息。抓取(Scraping 是使用软件工具处理并分析最初为人们阅读而编写的内容,从而从中提取出可以通过编程进行使用和操作的信息的语义数据结构表示。

(5)语义 Web RDF:语义 Web是现有 Web 的增强版本,在为人们设计的内容中增加了足够多的可供机器阅读的信息。在语义 Web 环境中,信息这个术语与数据有所差异;数据只有在传达了自己的含义(即数据可被理解)之后才会变成信息。语义 Web 的目标是创建 Web 基础设施,使用元数据对数据进行增强,从而使数据变得有意义,最终使数据变得适合进行自动化、集成、推理和重用。

被称为资源描述框架(RDF)的 W 3C 系列规范就是服务于这个目的的技术,它用来建立描述数据的语义结构。XML 本身并不足以实现这种功能;它太过随意,我们可以使用很多方法进行编码来对相同的数据进行描述。RDF-Schema 补充了 RDF 的能力,提供了以机器可读的方式编码概念的功能。

(6)RSS ATOM:RSS 是一系列基于 XML 的联合格式。在这种情况中,联合(syndication)是指一个发布内容的 Web 站点可以创建 RSS 文档并在 RSS 发布系统中注册自己的文档。 Atom 是一种更新但非常类似的联合协议。它是 Internet Engineering Task ForceIETF)提出的一项草案标准,人们希望通过 Atom 提供比 RSS 更好的元数据维护;提供更好、更为全面的文档,并结合构建通用数据表示的概念。

3 范例中的Mashup Blocks

3.1 Virtual Earth

  该软件项目是微软公司开发的地图服务的系统。我们利用微软给我们写好的API,直接调用该项目的Web服务。在Microsoft Popfly应用中,Mashup中的被调组件称为Block

3.2 Twitter

送给手机和个性化网站群,而不仅仅是发送给个人。2006年,Blog技术先驱blogger.com创始人埃文·威廉姆斯(Evan Williams)创建的新兴公司Obvious推出了Twitter服务。在最初阶段,这项服务只是用于向好友的手机发送文本信息。2006 底,Obvious对服务进行了升级,用户无需输入自己的手机号码,而可以通过即时信息服务和个性化Twitter网站接收和发送信息。

 目前国内也出现了许多类似twitter的网站,比如说说 、叽歪 等等十余家网站。其主要优势是对中文的良好支持,以及与国内移动通讯服务商、即时聊天工具的绑定。

 就目前而言,Twitter存在的最大问题是信息泛滥。要提升自身的价值,Twitter应当 加入过滤功能。想象一下,如果用户可以选择性地向特定组群发送信息,而且还可以根据特定主题过滤接收人,Twitter工具将会更快地普及。 Twitter也许会于今年内消失,但无论如何,它背后的创意将会延续下去,并产生更高效的应用。

 Twitter是一个可让你播报短消息给你的朋友或“followers(跟随者)的一个在线服务,它也同样可允许你指定哪个你想跟随的Twitter用户,这样你可以在一个页面上就能读取他们发布的信息。

3.3 GeoNames

GeoNames是一个免费的全球地理数据库。GeoNames的目标是把各种来源的免费数据进行集成并制作成一个数据库或一系列的Web服务。GeoNames的用户包括Microsoft PopflySlide.comLinedInTagzaniaGeoNames地名辞典包含了650万个地点将近200种语言的850万个地名和200万种别名。地理信息还详细到坐标、行政区划、邮政编码、人口、海拔和时区。GeoNames的数据收集自(美国)国家测绘机构、国家统计署、国家邮政局,还有美国陆军。

而在本项目中,Microsoft Popfly仍为我们配置它为Web服务,即仍是一个可重用的Block

3.4 Timer

  Block的功能与MFC类中的CTimer类似,一个时间管理的类,在该项目中主要完成以特定的时间间隔出发更新事件。

4 实现过程

4.1 新建Mashup

访问站点http://www.popfly.com,注册新帐号后进入登录状态,然后再点如下的导航菜单项新建一个Mashup

rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"> rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_editdata.mso">

 

4.2 添加Twitter Block

  新建Mashup后页面进入设计模式,拖动左侧的Block到右侧的客户区就可以加入了。Twitter BlockNews & RSS的子目录下。

  以下开始编辑该Block,双击该Block,弹出对话框,在Operation对应的下拉列表中选择getLatestPosts。并将输入值number设置为2,这是为了避免地图的Twitter信息过于繁多。

4.3 添加Virtual Earth

  操作过程与前面类似

4.4 建立Twitter BlockVirtual Earth的连接

  操作方式是先后点击Twitter BlockVirtual Earth Block,之后发现Virtual Earth Block显示一个感叹号图标。这说明Popfly没有将他们连接起来,原因是Twitter并不提供坐标信息给Virtual Earth。解决这个问题的办法是引入GeoNames Block,因为他提供了从地址到地理坐标转化的服务,而地址由是由Twitter提供的。

4.5 添加GeoNames

操作过程与前面类似

4.6 建立TwitterGeoNamesGeoNamesVirtual Earth之间的连接

  这样Virtual Earth Block就得到的地理坐标。

4.7 更新GeoNames ,Virtual Earth

  只需要双击这两个Block,然后返回就可以了。

4.8 添加Timer,建立TimerTwitter的连接

  5秒的刷新周期。

 

4.9 完成后的设计图如下

 

4.10 运行该Mashup程序,结果如下:

   (1)地图服务

   (2)与地图关联的Twitter信息实时更新。

 

4.11 范例可访问以下站点察看

http://www.popfly.com/users/359420/Geofly

5 总结与结论

1.本系统得实现没有执行一行代码,可见Popfly实现Mashup的可视化水平之高。这是以后我们作网络开发值得学习的地方;

2Popfly的实现过程界面十分美观,但是网络运行效率较慢;

3. 从此次mashup开发中,让我认识到web 开发的新纪元的到来,这一阶段称为 Web 2.0。它更注重和用户的交互。这一时期迎来了新一批原型化Web 应用程序,并大量使用了JavaScriptAjaxRESTJSON I等技术。随着web技术的不断进步,必将给用户带来更好的用户体验。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值