实施企业级的Mashup

日期: 2008-01-29 来源:TechTarget中国

  通过组合互联网上的公共API,轻松地建立一个新的应用,这就是Mashup(内容聚合)最诱人的地方。未来几年,企业的发展战略如果忽略了Mashup的价值,将处于十分不利的位置。

  企业和互联网之间的关系日益密切。如今,Mashup(内容聚合)技术的出现让这种联系又向前推进了一大步。对企业来说,Mashup就如同一张大网,它把互联网上一些的服务组装在一起组成一个对企业更有用的应用。

  Mashup的兴起

  从技术上说,Mashup能提供一种重用SOA的能力和利用企业外部已有的服务快速地开发出新的应用的能力。不久,我们将生活在这样一个世界里,在这里我们无法分辨出企业到底位于什么地方或者某个应用到底是谁在提供。这既有些让人不安也有些让人激动。但是,仅仅有进行Mashup的能力并不意味着有价值。为了进行Mashup,企业还需要提供和管理可供Mashup的服务,同时理解它们在SOA的作用和位置。这包括三个方面的任务: 首先,需要进行基础设施的准备,换句话说,企业的基础设施必须支持Mashup; 其次,企业需要理解自己的需求; 第三,努力实现Mashup可以带来的价值。

  尽管Mashup源于Web 2.0这种时下最时髦的技术,不过,与Web 2.0其他技术相比,它更需要精心准备,特别是建立企业级的应用时。比如,需要开发和支持Mashup的SOA环境——在这种环境中,除了可以使用远程或者本地的API来进行Mashup外,也可以用服务或者内容来进行Mashup。这也意味着,企业现存的应用服务能够安全访问互联网上其他服务。

  研究者相信,随着AJAX(Asyn-chronous JavaScript and XML)技术和富互联网应用的流行,人们将能够更多地利用服务展现的标准的动态接口进行Mashup,从而快速解决业务问题。因为Mashup提供了一种非常有效的方式,让我们可以基于已有的应用和服务创建出一个全新的更有价值的应用来。

  梳理、创建和整合

  Google Map是目前最为知名的Mashup应用平台之一,基于它可以把互联网的一些信息组织起来形成一项新的非常有用的地图服务。这个解决方案实际上非常完美地诠释了Mashup这个概念的价值: 只用几天的时间就能通过Mashup解决一个业务问题。

  更复杂的Mashup由一些应用(它们由很多服务构成)构成。例如,企业可以把客户数据库和一些市场销售的指标进行Mashup,甚至还可以更进一步,再与销售预测流程进行Mashup。其中一些信息和服务可能是自己维护,另一些也许通过互联网访问。还有一些更复杂的Mashup,它们本身就是非常专业的业务流程、应用或者服务。它们常出现下面这些地方: 成熟的服务、流程以及它们的组合(从企业自己的SOA到数百个由SaaS和像Google这样的互联网公司以及行业市场的互联网公司提供的Web服务)。

  那么,谁来提供这些服务呢?像Salesforce.com这样的SaaS(Software as a Service,软件服务化)供应商应该是企业服务的最大提供者,像StikeIron这样的Web服务供应商以及金融、零售、医疗等行业网站也可以是提供者。它们都可以提供供使用者Mashup的服务、数据和内容。

  大的互联网玩家已经清楚地看到Mashup的价值,现在都已经把Mashup纳入到自己的商业计划之中。Google是第一个,随后有微软、雅虎等一大批企业正在跟进。

  两种类型的Mashup

  尽管企业级的Mashup还很新,但是此类解决方案的模式早就出现了(参见链接一)。按使用者是否可见来分类,有两种Mashup: 一种是可视的Mashup,还有一种是非可视的。

  Google Map是可视的Mashup的代表。这种方式很简单: 从两个不同的数据源中提取数据,然后建立一个新的比原来更有价值的应用。这种Mashup的好处非常明显,因为其价值就显现在屏幕上。要注意的是,可视的Mashup也完全可以在企业内实现,而根本不涉及互联网上的公共服务,如可以基于企业图形化的物流系统创建关于销售数据的Mashup。

  非可视的Mashup组合两个或者更多的服务形成一个集中的控制点来为业务流程服务。它们处于后台,也许从来也不会在屏幕上出现,或者至少不会直接显示在屏幕上,但是,它们就是Mashup。典型的例子有,把客户地址与地址验证服务进行聚合或者把身份信息和信用卡验证服务进行聚合。它们有个共同特征就是每一个不可视的Mashup都会给下一个处理流程或者Mashup发送一个信息。

  使用SOA服务或者租用别人的服务或者把两种服务组合在一起,可以创建更复杂或者更有价值的Mashup。

  值得一提的是,尽管可视的Mashup看起来很“酷”,也很有用,但从长远的角度来看,不可视的Mashup可能更有价值,特别是在一个SOA环境中。总体而言,不可视的Mashup可以被众多的应用使用,而可视的Mashup让我们清清楚楚地看到结果。

  未来可能出现的情况是,企业只拥有少量Mashup的接口,这些接口将是部署SOA环境、进行Mashup(包括可视与不可视的)的起点。尽管把SOA看成一个Mashup平台现在看起来有一些不可思议,但这的确可以大大提高SOA的价值。

  实施Mashup的6个阶段

  互联网上大量存在的可供Mashup的服务和内容让我们有些应接不暇,但是有了这么丰富的资源,要好好地利用它们还有不小的距离。事实上,在企业准备进行Mashup时还需要进行一些准备。

  Mashup提供了一种新的快速建立应用的方式

  一个最好的办法是根据Mashup来设计和部署SOA,换句话说,就是让企业的系统能被防火墙外的服务和应用所使用,同样也能使用外部的这些服务和应用。听起来容易,而实际做起来就难得多。一个挑战就是企业现有的系统也许与其他的操作系统都无法沟通,更谈不上防火墙之外的应用了。

  要利用互联网上的服务和内容作为Mashup的资源,企业需要对它们进行区分,然后对那些不是企业拥有但准备在防火墙内进行Mashup的服务进行测试,同时要确保企业的安全规划也要考虑到它们。未来几年,企业如果注意不到Mashup的价值,它将在企业发展战略规划上处于非常不利地位。

  Mashup可以分为6个阶段: 需求、设计、治理、安全、部署和测试,虽然这些都是我们常听说的一些概念,但是,这些都是企业在SOA的基础上成功地进行Mashup所必须经历的过程。

  为了确定企业自身的特有需求, Mashup的需求文档准备是必要的。一个常犯的错误是过于教条化,以为那些适合别的企业的也一定适合自己的企业。实际上,必须考虑自己企业的实际需求和现有的系统架构。此外,除了考虑哪些Mashup对自己的企业有价值,还要考虑为此企业需要进行哪些改变。

  Mashup的设计包括考虑系统如何进行配置,以及为了提供最好的基于SOA的Mashup平台需要采用哪些技术和标准。这里的关键问题是: 需要给外界提供那些接口以及如何提供?准备如何处理扩展性?如何进行可视和不可视的Mashup?如何利用那些互联网上的服务和接口?如果需要在互联网上把服务和接口公开给别人,如何处理?

  治理(包括制定设计和运行时的相关规范并确保这规范被贯彻)是一件需要高度技巧的工作。考虑到Mashup由服务所构成,同时这些Mashup本身也是服务,因此,需要在这个服务的整个生命周期对它们进行管理,正如SOA中的其他服务和流程一样。这就意味着,需要建立、维护一个支持Mashup的注册中心和存储库(registry/repository)。不过,尽管需要对Mashup进行管理,但也要避免过度管理,规范或者程序太多会打击开发者们建立Mashup的积极性。

  Mashup的安全非常关键,只要想想你正在使用的接口和内容既不是你自己创建的也不归你所有,就很容易理解这一点。没有人希望有一天看到一个看起来很正常的AJAX Mashup实际上正秘密地干着有损于公司业务的事情,比如把你的客户资料悄悄地发给别人。因此,必须严格执行安全策略,同时采取适当的技术以保证Mashup平台的价值。这通常要和企业SOA的安全结合起来,对SOA的安全策略进行一些扩展。

  为了适当地部署Mashup,需要选择适当的技术和标准。AJAX在接口中应用很广泛,但Adobe Flex也很流行。采取哪种技术取决于你希望达到的目标以及开发人员对技术的掌握程度。此外,也要考虑这种技术如何与治理和安全进行协作。换句话说,选择的关键产品要支持你的SOA中的Mashup,同时要考虑这些产品如何与你已经在解决方案中使用的技术进行沟通和协调。

  测试方案的制定要考虑各种各样的使用模式,其最终目的是要确保你企业中的SOA与外部的可进行Mashup的构件能够在一起顺利的协作,所选择的技术和标准也能按预计的发挥作用。测试方案还要与设计、治理、安全结合起来。记住本质上,你是在测试一个开发平台和它所支持的所有构件。

  从哪里开始

  Mashup与SOA有着千丝万缕的联系。Mashup把信息和服务与Web 2.0中的新构件建立起联系,从而提供了一个快速和容易的方法来解决今天的很多业务问题,未来,进行适当的扩展将能解决更多的复杂问题。正是Mashup让SOA的价值在短时间内更可见。

  正如其他新的概念一样,每个企业都应该根据自己的需求来进行Mashup。这方面不存在标准答案。Mashup与SOA的诱人之处在于,应用适当的话,它们经过配置,技术上可以满足所有的业务需求,而且一旦这些需求发生变化,它们都能重新进行调整以满足变化了的需求。

  链接一:几种常见的Mashup

  Mashup 是一种令人兴奋的交互式 Web 应用程序,它利用从外部数据源检索到的内容来创建全新的创新服务。它们具有第二代 Web 应用程序的特点,也称为 Web 2.0。目前我们已经可以看到以下几类Mashup :

  ● 地图 Mashup

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

  ● 视频和图像 Mashup

  图像主机和社交网络站点(例如 Flickr 使用自己的API来共享图像)的兴起导致很多有趣的Mashup出现。由于内容提供者拥有与其保存的图像相关的元数据(例如谁拍的照片,照片的内容是什么,在何时何地拍摄的等等),Mashup的设计者可以将这些照片和其他与元数据相关的信息放到一起。例如,Mashup可以对歌曲或诗词进行分析,从而将相关照片拼接在一起,或者基于相同的照片元数据(标题、时间戳或其他元数据)显示社交网络图。另外一个例子可能以一个 Web站点(例如CNN之类的新闻站点)作为输入,并在新闻中通过照片匹配而将照片中的内容以文字的形式呈现出来。

  ● 搜索和购物 Mashup

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

  ● 新闻 Mashup

  新闻源(例如纽约时报、BBC 或路透社)已从 2002 年起使用 RSS 和 Atom 之类的联合技术来发布各个主题的新闻提要。以联合技术为基础的 Mashup 可以聚集一名用户的提要,并将其通过 Web 呈现出来,创建个性化的报纸,从而满足读者独特的兴趣。Diggdot.us 正是这样的一个例子,它合并了 Digg.com、Slashdot.org 和 Del.icio.us 上与技术有关的内容。

  链接二:美五角大楼建最机密的Mashup

  据美国Computerworld报道,美国国防部国防情报局正在利用维基、博客、RSS和企业级的Mashup来帮助它们收集各种军事情报。

  五角大楼的美国国防部国防情报局的需求与研究组组长Lewis Shepherd说,多种Web 2.0技术正在国防情报局中得到运用,并在帮助分析人员共享情报的工作中显示出越来越重要的作用。同时,这些工具也正在帮助情报局满足美国911委员会以及其他组织要求改善和加强情报的收集与协作的要求。

  2004年,情报局在全球情报通信系统中发布了它们的第一个Wiki(称为情报百科)。全球情报通信系统是一个将美国所有情报机构联系在一起的网络,这也是目前世界上最秘密的网络。

  “社会性软件的潜力越来越凸显,也越来越广泛地被采纳。” Shepherd说,“在情报部门,维基、博客就像电子邮件一样被广泛地用于情报共享。”

  尽管在小说或者好莱坞的电影中常有关于国防情报局收集情报用于支持军事行动或者进行军火的采购等惊险刺激的情节,但实际上,这里的分析师所做的工作与很多需要和依赖情报的行业的工作者一样,Shepherd补充说。

  国防情报局也在使用AJAX技术,这种技术在客户端采用JavaScript建立应用,这要比基于HTML的网页给用户更好的体验,因为AJAX的应用不需用户每敲入一个数据或者接受一个新的数据后就重新刷新一下页面。

  2006年,国防情报局还开始了一个新的项目——使用面向服务的架构建立一个数据访问层,用于把人工收集的情报与从互联网或者其他公开来源获得的情报集中在一个统一的环境中进行分析。

  Shepherd说,在这个新的环境中进行数据分析需要用到一些Web 2.0技术,如Mashup——它能整合多个数据源,如RSS、互联网地图和国防情报局的网络。使用者可以使用一个轻型的AJAX前端来访问这些数据源中的数据。在这个世界上最机密的环境中尝试性地建立了一些互联网上的Mashup迷们非常熟悉的应用,这些应用与Google Earth等很相似。

  尽管Shepherd没有就国防情报局如何使用这些Mashup提供更多的细节,但他承认其中使用了JackBe公司的AJAX工具来建立这种新型的应用。JackBe公司也曾在公开场合说过国防情报局使用了他们的工具,来开发一个在标准的浏览器上显示来自多个数据源情报的仪表盘。

  专门研究政府有关问题的Input公司的信息安全分析师Agarwal评论说,由于美国国防情报局以及其他一些情报部门拥有了一个非常安全的基础设施,因此他们已经成为美国政府中最善于使用Web 2.0工具的人。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 数字化转型:如何更好地利用API和微服务

    API,即应用程序编程接口,它提供给应用程序、开发人员访问其它应用的能力,而又无需访问源码,无需理解内部工作机制细节;简单地说,API就是实现应用与应用连接的一种隐形的桥梁。

  • 金融行业数字转型:利用API构建新IT基础

    从制造业、物流业,银行业到零售业,各行各业的根基都因应用经济的兴起发生着深刻的变革。在互联网和智能手机普及化的推动下,这种现象变得司空见惯。到2021年 ,蓬勃发展的全球应用经济的预估总值将达到6.3万亿美元,相比2016年的1.3万亿美元,增长近5倍。

  • 如何使用Azure API管理服务?

    在云和微服务架构时代,API是数字化业务的通用语言。根据分析公司Forrester Research预测,仅在美国,API管理工具的支出将在未来5年内达到近30亿美元。

  • 私有存储云如何构建?

    如何构建自己的私有存储云呢?在这之前,我们要先退后一步,思考一下云计算到底意味着什么。