科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道mashup使Web呈现新外观

mashup使Web呈现新外观

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

建立称作mashup的Web应用程序是Web 2.0的流行趋势之一。我将分析mashup背后的技术、mashup结构,并提供一些mashup应用实例。

作者:Patton 2007年4月6日

关键字: AJAX web XML Patton专栏 Office

  • 评论
  • 分享微博
  • 分享邮件

建立称作mashup的Web应用程序是Web 2.0的流行趋势之一。mashup利用现有的Web应用程序或数据来源,组合这些资源建立一个新的应用程序。我将分析mashup背后的技术,mashup结构,并提供一些mashup应用实例。

不要做重复的工作

Web上充满了表面上可以满足一切需要的网站。开发者认识到这些资源,决心重新加以利用,对它们进行扩充,而不是模仿它们的功能。重新利用和扩充这些资源的结果即为mashup概念。

mashup是一些应用程序,它从许多资源和服务中组合数据,用它们建立一个新的应用程序。在建立他们自己的mashup时,开发者可以使用各种技术。下面的列表简单概括了这些技术:

  • XML:许多mashup网站以XML为技术支持。它们通过XML feeds恢复数据,通过XML操作把数据合并到应用程序中。根据这种说法,XML相关的技术,如XSLT和XPath常用于处理XML。
  • Web service:Web service概念包括许多把数据传送给客户端的技术,如SOAP、XML和WSDL。mashup能够通过如今的各种开放式Web service,使用Web service调用恢复和发送数据。
  • RSS/Atom:基于XML的内容整合标准可以方便地向订阅feed的用户提供数据。
  • 屏幕抓取:如果其它方法无效,那种通过从一个Web页面恢复或抓取数据从而在其它网站提取数据的过时方法今天仍然有效。
  • AJAX:这个Web应用程序组合各种技术,特别是JavaScript和XML,从而实现数据异步加载和显示。它使得向服务器发送/从服务器接收数据的过程得以顺利进行,从而提高了用户体验。

其基本的理念是使用这些技术与Web service或API和内容提供商进行交互。

mashup结构

通常,一个mashup应用程序由三个级别或层次构成。mashup中所使用的服务或数据来源为第一层。根据应用程序的要求,这个层中可能包括一个或几个资源,直接在应用程序(如Blogger)中输入数据的用户就是一个常见的数据来源。

第二层即将这些资源组合起来的mashup应用程序。其中可能包含它自己的功能,或简单呈现数据来源。最后一层为用于访问网站的用户客户端。客户端脚本可用来改善用户体验。

mashup应用程序的关键点在于提供数据来源的第一个步骤。Web提供了大量的可能性,下表列出其中一小部分样本:

  • Amazon电子商务服务:使用它访问Amazon的大量产品数据,并提供电子商务功能。你还可以使用这项服务建立自己的电子商务应用程序。
  • Blogger:博客是最流行的Web 2.0应用之一。你能够使用Blogger数据API查看和更新基于Blogger的数据。
  • del.icio.us:这个流行的社交书签网站通过一个公共API实现其功能。
  • Flickr:这个相片共享服务允许你轻松利用可公共访问的Flickr数据。
  • Google:一切Web搜索引擎之父,提供大量利用其服务的API;其服务包括,但不限于:Google CalendarGoogle MapsGoogle Search等。

应用

看到其他开发者利用现有的Web service和数据常常令人惊奇,并给人带来启示。下面是几个现有的mashup网站:

  • Weather Bonk:这个有用的网站(旅行时特别有用)是一个利用Google、NASA、Yahoo!、Microsoft、WeatherBug等服务提供综合性天气预报的mashup应用。
  • 全球事故地图:通过这个网站即时了解最近发生的恐怖威胁,它利用Google Maps API。
  • Babelplex Google AJAX双语搜索:它利用Google AJAX搜索API对Web和Wikipedia进行双语搜索。
  • Flickr Sudoku:一个流行在线Sudoku播放器和Flckr mashup应用。虽然它不是完全有用,但它提供大量组合服务示例。

ProgrammableWeb网站可找到大量这些网站信息。

提倡重新使用

mashup概念似乎遵照社区发展,以与Web紧密结合。也就是说,服务和数据都拿来共享(有时不是免费的),以便开发者能够扩充功能,而不用花时间重复开发已有的服务。看到其他开发者利用现有数据和服务,使我很受启发。

Tony Patton拥有丰富的Java、VB、Lotus及XML方面的知识,是一个专业的应用程序开发人员。

责任编辑:张琎

查看本文国际来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章