企业Mashups:揭开SOA新一面(一)

日期: 2008-12-08 来源:TechTarget中国 英文

  企业Mashups是当今最为热门的Web 2.0技术之一,它能为SOA带来很大的促进作用。但是你做好准备迎接这一新技术了吗?怎样在SOA中使用这项强有力的技术呢?

  你知道什么是Mashups,知道它能为企业带来多大的效益吗?你能区别个人Mashups与企业Mashups的不同吗?还有重要的一点,你知道Mashups与时下流行的企业技术——比如商业智能、数据仓库、门户和企业服务总线等——有什么不同吗?

  严格来说,Mashups并不是一门新技术。分析师和专家们从因特网诞生的那天开始就在讨论组合应用(composite applications)。现在已经有数不清的面向使用者的Mashups。一个著名的Mashups网站,Programmable Web,报告说自两年前以来,每天都有三种新的Mashups诞生。

  就像许多让人兴奋的术语一样(比如Web 2.0),Mashups也没有任何标准设定机构给予正式的定义。有一位Mashups的专家喜欢这么说:“如果你问十位有主见的Mashups开发人员什么是Mashups……你可能会得到十种不同的答案。”在软件市场上,这个术语也被大量地滥用或误用,不管是面向个人或是面向企业的软件供应商都喜欢使用(或滥用)Mashups这个标签,把它贴到各种各样的领域上,比如门户、业务流程管理、文件管理(或最近被称为内容管理)、网络编辑、甚至知识管理等。

  那么,到底什么是真正的Mashups呢?Mashups可以解决典型的信息共享问题:以无法预料的方式访问并组合来自不同的内部和外部数据源的数据。比如使用PKI平台的LDAP服务器连接NetWeaver平台的SAP Accounts Receivable、Fusion平台的Oracle Human Resources和一些从旧数据库生成的Mule-driven SOA服务。这才是真正意义上的企业Mashups。

  可惜的是,大多已知的Mashups比这要简单的多:从一个信息源读取数据然后将其填到互动的图表上。但这种点菜似的模式很难在复杂的企业环境下得到应用。如果将面向个人的Mashups与企业Mashups做一下对比,或许我们可以发现些什么。

  面向个人的Mashups是把浏览器中来自不同的公共信息源的数据通过浏览器的用户界面组织到一起。HousingMaps(http://www.housingmaps.com)是一个很好的例子。它把克雷格列表的出租清单与谷歌地图结合到一起,生成一个当地公寓出租的视图。

  企业Mashups(也可称为业务Mashups)是一个把来自多个因特网和公共信息源的数据组合到一起并把结果发布到企业门户、应用开发工具或SOA服务上。企业Mashups还必须能够使用企业应用技术以实现安全性、治理、监控和可用性。

  从上面的意义出发,企业Mashups看起来和其它的应用开发与集成技术(比如ESB、BPM、商务智能、门户、甚至JAVA之类的开发语言)一样。但是企业Mashups是一种IT边缘技术,它添补了IT的空隙,因此也有一些其区别于其它类似的软件独特的特性:

  以用户为中心

  Mashups是为使用服务的用户而创建的,并且通常是由用户自己创建的。它不像那些后台的黑盒集成工具,比如ESB、BPM、BPEL等,用户可以自己连接数据点。这意味着它有许多以用户为中心的特征:

  * 将数据源统一到一个无缝的与服务类似的虚拟环境下

  * 虚拟的拖拽用户界面把各种服务连接到一起

  * 可以对结果进行灵活的调整以满足用户个体的需求

  * 支持协作式工作,比如标签、搜索和共享

  如果没有这些特性,我们可能就需要IT为用户做更多的开发了。

  小块方式

  Mashups用户通常是处理知识导向型的小量信息(与处理大量事务信息的IT集成相反)。用户实际上进行的是微型集成,相对于BI的大型集成通常耗时以月甚至以年为单位,这只需几分钟到几小时的时间。大多Mashups只连接有限的服务数量——如果在一个Mashups中涉及到多于六七个服务的话,你或许就应该换种考虑方式来解决问题了。

  通过网络访问

  不断增长的标准的接口通信技术(比如WSDL、REST和RSS)使Mashups的实现成为可能。但是格式只是一部分。Mashups是以那些可以合理而迅速地显示在网络浏览器上的数据为基础的,或者更准确地说,是那些不需要太多用户操作的数据。这反过来也是成立的:一旦建立,Mashups就必然有“马上可以发送到浏览器”的特性。由于Mashups的源数据高度的可移植特性,最能发挥其用途的应该是那些外部数据源与内部数据源(公共与私有)需要动态组合的场合。

  这些特性显然是Mashups与长周期的IT驱动的技术(比如ESB、BI、BPM和企业门户等)的不同之处。有趣的是,Mashups与这些技术也有很好的融合性,可以使用由某些技术(比如ESB)生成的输出,或者为某些技术(比如BI、BPM、门户)提供输入。

  企业混合应该还是一门相当新的技术,因此有关的ROI研究还相当少。对于业务用户来说,企业Mashups解决的是那些不常出现因而不值得消耗大量IT资源的长尾信息问题。而REST仍能保证Mashups为IT提供足够多的价值,因为它们可以提高当前系统的资产收益率。这也正是混合应该能与SOA相融的原因。

  SOA驱动企业Mashups方案

  说实话,SOA就是一个管道工程。当然,是一项耀眼而高效的管理工程。而那些一般业务人员(比如销售经理、销售主管、财务主管或客户服务代表)却不会去关心这些东西。实际上,如果你仔细而全面地考虑一下,他们可能并不希望有什么变化:这些无法看到、悄悄发生着的变化。这些业务人员可能更喜欢这项管道工程里的大理石地板、精致的镶木门窗和漂亮的黄铜设备。换句话说,他们喜欢的是管道工程的外表。

  SOA的ROI也是很难甚至无法定义和衡量的。虽然专家们对一些问题(比如SOA的ROI的重要性、如何计算SOA的ROI等)已经产生了分歧,但他们好像都同意一点:企业对SOA的支持完全取决于SOA对总体业务的描述——更多的成长机会、利益、以及诸如此类让人向往的好东西。这也是企业Mashups可以极大地提高SOA的ROI的领域。

  企业Mashups把SOA从广泛意义的IT拖到了终端用户的桌面上。这不仅是高度可视化的,并且是用户驱动的,它能够给IT一种新的方式提高晦涩的SOA的投资回报率,让用户与SOA产生利益关系,使IT可以更专心地解决最前端的业务需求。但是IT与业务一直以来就没有很多共同协作的经验(特别是像这种动态领域),因此SOA驱动的Mashups的第一课很简单:为与SOA驱动的Mashups相关的业务与IT部门之间的环境变化做好准备。Mashups并不是意味着IT工作的结束,但它确实排斥一种很不相同的职位。

  Mashups改变SOA的实质

  除了人力因素,SOA与混合应该之间还有许多非常实际的互相促进的关系,能够帮助你设计更好的SOA方案。这些关系都暗示着不同的SOA架构信息与经验。其中最重要的包括:

  1. 虚拟化:Mashups有助于从那些还没有被“SOA化”的资源中创建规范化的“虚拟”服务。众所周知SOA是一项可能需要多年才能完成的任务。直到完美的SOA正式完成之前,迅速、标准的服务都可以帮助用户更早地起步。

  2. 适当的规模:混合服务可以让用户“适当地”调整服务的粒度。现在IT不用再去猜、研究、或分析一个服务提供的数据是否“过于专业、过于广泛、过时或者不着边际”了。

  3. 协作:混合服务让用户可以分享他们组合的服务,让他们成为服务创建网络的一部分。这等于给IT多了个帮手。

  4. 可视化:Mashups让用户可以把SOA形象化为图像、图表、表格和对应图。这样就不必等待动作缓慢的企业门户为用户定制可视化的服务,每个用户都可以按喜欢的方式自己动手。

  5. 微观组合:Mashups让用户能够添加企业外的数据。现在的SOA主要还是面向内部的。但是用户经常需要在他们的工作中加入外部数据。Mashups可以使用户在使用数据服务时无视数据服务的实际位置。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐