【IT168 专稿】
企业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相融的原因。