当SOA碰到WEB2.0

标签:重磅推荐SOA技术前沿WEB2.0

访客:21401  发表于:2012-02-20 14:17:51

如果我们把SOA的实施做为一个坐标原点,那么企业实施基于SOA架构的信息系统之前可以称为是前SOA时期,实施后可以称为是后SOA时期。这样,当企业实施基于SOA架构的信息系统之后,企业的CIO们可能会开始思考一个问题,这就是在这个时期,他们还需要什么工具,才可以更好地让IT系统服务于业务。可能企业的CIO们不会想到,他们这个问题的答案竟然会是Web2.0,或者更确切地说,是Enterprise Web 2.0

尽管这个问题的答案让人感到费解,但道理却很简单。SOA能够使企业内部动态数据服务的创建变得更加方便,同时,还能够使企业开发人员创建影响这些服务的复合应用程序。这样,企业实现员工之间相互交流。以及让员工与不断变化的企业数据实现交互,就有了基础。如此一来,企业需要的就是一种提高效率的新方法,这种方法可以实现这一关键应用。谁能提供这些新方法呢?这个角色无疑就是Enterprise Web 2.0。原因就在于Enterprise Web 2.0提供了丰富的Web体验,用户能够以高效的、充满希望的、有益的方式参与合作。

尽管把SOAEnterprise Web 2.0相结合是一个对国内企业算是超前的问题,但我们不得不正视一个现实,这就是国内相当多的企业的信息化基础并不厚,但另一方面他们也有资本推倒重来,从而可能加速SOA的推广,但既然是推倒重来的新系统,就有必要超越SOA,去建立一套与业务结合得更为紧密的IT系统。

IBM软件集团副总裁Sandy Carter女士将其著作《业务的新语言》的子标题定为SOA&Web2.0Sandy Carter在书中画了一张图,这张图画的是一个金字塔,然后她用一张薄片,把金字塔拦腰一切,底下是SOA,上边是Web 2.0。这张图很形象地给我们讲清了一个道理:在IT基础架构的底端要用企业级的SOA技术去解决问题,将数据采用标准方式(XML)传输出来,然后,在IT基础架构的上端用Web 2.0的技术去整合、聚合、呈现。于是,SOA融合了Web2.0以后,就能实现企业的业务敏捷性目标。业务敏捷性目标并不被业界关注,但相当多的企业却提出了它的实现方法,其中最出名的是IBM提出的随需应变理念。

这个目标说起来太抽象了,但实现做起来却非常令人神往。国外的一家远洋航运公司开发了一套GPS系统,通过这套GPS系统,航运公司的管理人员可以很容易地将自己的每一艘航船的位置确定下来。管理人员把这些数据保存在一套IT系统内,而在另一套IT系统内保存着这些航船航线的起点、要抵达的目的地,以及航船所涉及的订单、所装载的货物等信息。此外,在另一套IT系统里,保存着这些航船上的雇员信息。远洋航运公司的管理人员要全面掌控局面,就需要了解全部信息。于是,几套IT系统被整合在一起。不用说,整合的方法一定采用了SOA。而且通过整合GoogleGoogle Map,管理人员可以得到一张全球海洋图,这家远洋航运公司的每艘航船都可以直观地显示在这张图上。而且管理人员在需要的时候,可以马上调出航船员上的货物和人员情况。Google Map是一个典型的Web2.0应用,这个例子也是一个经典的SOAWeb2.0应用相结合的例子。

这个应用已经给航运公司的管理人员提供了不小的便利,但这只是一个开始。当这家航运公司真正把自己的系统与公共的Enterprise Web 2.0相融合以后,就不仅可以整合自己企业内部的信息,还可以整合企业外部的信息。例如他们可以通过付费的方式获取海洋天气预报公司所提供的高质量的数据,然后再聚合到这个大的应用中去,航运公司的管理人员就可以在掌握上述数据之外,实时地了解世界各地的天气变化情况了。而这只是开了一个好头,有了SOAWeb2.0,任何航运公司管理人员希望了解而又有机构提供的信息,都可以整合进这个大的应用系统之中。至此,我们不得不开始相信关于SOA的一句戏言:SOA是个筐,什么都可以往里装。

谈起这种特性,我们还是要回到Web2.0本身的特性。因为通过SOA架构建立信息系统之后,通过Web service,只要是以XML这样的通用格式保存的数据,都可以轻易整合进来,企业的CIO们可能就会开始关注Web2.0能提供什么服务了。

相对于Web1.0Web2.0从模式上由单纯的“读”向“写”、“共同建设”发展;在基本构成单元上,由“网页”向“发表/记录的信息”发展;在工具上,由互联网浏览器向各类浏览器、RSS阅读器等内容发展;在运行机制上,由“Client Server”向“Web Services”转变;作者也由程序员等专业人士向全部普通用户发展;应用上由初级的“滑稽”的应用向全面大量应用发展。

这些特点决定了Web2.0 以缺乏控制结构为荣,开发者在 Web2.0 环境中可以很容易地获得来自全球开发者资源的产品就绪源代码,他们通过社区博客、WIKISPodcasts 等等培养了内部创造性的增长。而另一方面,Web2.0 是包含了内部与外部企业的共享服务网,SOA则主要关注于企业内的最优化服务,SOAWeb2.0还有一个交点——Web Service,这使得利用SOA让内部服务利用外部服务成为可能。也可以说,SOA提供了一个平台,而Web2.0正好填补了这个平台之上的空白。

也许我们谈业务敏捷性目标这个名词显得过于技术化了一些,也许换一种说法,管这种实现叫做“协同“更便于我们理解这个目标。协同的根本目的是要求企业的员工能够共享信息资源,而共享信息资源的后果,就是企业的创新和新成果可能产生于非正规的组织——社区。事实上,Web2.0为社区成员间的协同提供了大量的工具,目前类似于“狗耳”这样的工具已不再是基于“草根”式传播,它甚至已被集成进了IBM用来出售的软件包。

那么反过来看,在这个过程中,SOA又扮演着一个什么样的角色呢?SOA使得IT系统足够灵活,从而使得IT系统能够跟随决策者的思想变化而变化。具体说来,就是企业的业务发生变化时,只需对SOA提供的服务的内部接口、契约、服务质量和服务彼此间的关系进行调整,就可以满足业务的变更。

也许这个时候,我们还是应该回到企业业务管理本身这个问题上来。当企业的IT系统基于SOA又与Web2.0无缝集成在一起时,会发生什么事情呢?关于这一点,我们可以从IBM所倡导的理念时得到答案。在“随需应变”之后,IBM所倡导的理念是“创新”。从管理学的角度,我们不难理解,一个充满着创新能力的企业将是一个可怕的企业、一个极具竞争力的企业。“二十一世纪什么最金贵——人才”,如果我们把人才理解成具备创新能力的人,那么SOA+Web2.0又让另一句戏言成真了。

评论(0)

您可以在评论框内@您的好友一起参与讨论!

<--script type="text/javascript">BAIDU_CLB_fillSlot("927898");