UML软件工程组织

SOA 的未来 —— 具备 Web 2.0 能力的基于服务的交付模型
Anirban Dutta, Sales Workstream Lead for Global Services Rational Adoption Program, IBM

本文内容包括:

本文来自于 Rational Edge:面向服务的架构(SOA)、 IT 治理和 Web 2.0 能力的融合能够允许创造性的服务交付模型吗?了解在信息共享方面表面上相互对立的方法 —— Web 方法 与 公司内的 IT 方法 —— 如何可能在不久的将来成为互补。
在技术杂志、blogosphere 和 IT 产业中关于 Web 2.0 与 SOA 间的争论一直没有停止过。虽然技术社区中的争论表明了大家对两者的日益关心,但大部分的管理人员并不了解这两种模式的信息交换如何互操作及其意义。本文的目的是明确的解释一下 SOA 与 Web 2.0 的关系,并描述了一种结合了 IT 治理的未来 Web 服务交付模型。

现代文明中的顾客力量

"顾客就是上帝!" " 顾客永远是对的!" 从我们上中学起就听说过这些口号,但是今天,以新的形式表达了这种含义。看一看今天美国流行的 TV show,您会发现消费者就像 "老板。" American Idol 和 So You Think You Can Dance 完全由电视机前的观众投票决定。潮流出于娱乐业,但是这种顾客的参与程度表现了一种更强大,更流行的趋势,它不同于以往所有电视观众的平均决定。

2006 年一部叫做 Snakes on a Plane 的电影通过博客、podcasts 等等(这些都是影迷通过 Web 论坛发布的电影对白)在发布前获得了巨大的宣传效果。制作单位根据博客中的反馈进行了拍摄;那就是顾客的力量。 虽然本片的营销策略是偶然的,1 这件事告诉我们如果能够让顾客自由的提出意见,他们会迅速表达出他们的想法。

来自于顾客的力量已成为了很多基于 Web 商务的骨干。类似于 MySpace.com 和 Facebook.com 的在线交流平台简单地依靠用户参与。企业正致力于找到满足顾客信息欲和权利欲的方法。客户需要所有的服务更迅速、更优秀、更经济。如果您不能满足他们,您就必须面对强烈的批评。不断增长的客户需求不仅限于 TV show、电影或是在线商务;还包括传统大型企业,与日俱增的客户需求要求产品与加工过程的不断进步。 前不久,由于一起并不愉快的客户与呼叫服务中心间的对话记录被贴在博客上,使得一家 Internet 服务提供商(ISP) 陷入了麻烦。 客户试图终止服务,但是代理商试图继续维持服务。 这篇博客造成的负面效应使得这家著名的 ISP 不得不改变客户终止服务的处理方法,使服务能够更容易的被退订掉。

当然,企业一直想通过与客户的直接交流(如书面调查、问卷调查、电话调查)发现市场需求。大部分情况下,通过这些传统方法收集到的数据都会以某种简便的形式加以综合分析。但是这一点也不像是利用最新技术与客户直接交流所得到的未经修饰的意见。换句话说,blogs、 wikis 和交互式的论坛已经创造出了更直接的与用户的交流方式。

同时,回顾一下企业经营...

当客户们正忙于定义或开发新的娱乐与交流方式时,企业还在使用一些相同的技术以应对竞争压力、增加股东价值。有一段时间企业认为解雇部分 IT 员工将有助于增加底线。那时人们认为外包将会减少运输成本或者有助于企业关注核心竞争力,所有这些都意味着更多的利润。但在过去的几年中,随着越来越多的企业开始外包或者离岸支持, 离岸支持提供商的数量呈指数增长,他们都为价格敏感的客户做好了准备。不断增加的廉价外包提供商已经使廉价运输成本成为了事实上的 标准,等等,不再有竞争优势。

IT 企业的成功运作越来越依赖于通过不断增长的 IT 效力来实行最优化的商业操作。 IT 响应已成为分散化的 IT 操作。许多 IT 企业正转型为可处理的,面向服务的文化,这其中的业务需求通过一组服务集合得以实现。 为了给业务提供最好的价值,我们的目标是创造更多不同的能够相互协调、可重复使用、可重复组合的服务。

为了达到更好的效果,我们为这些服务建立了一些核心概念以期实现更好的编配。

  1. 标准。 例如 SOAP、Web 服务描述语言(WSDL)等的明确界定的 API 和标准允许不同服务协同工作以交付商业结果。SOAP 是一种计算机网络上使用 HTTP 的基于 XML 交换信息的协议。 SOAP 是 Web 服务栈的基础层,它提供了一种允许更多抽象层建立在其上的基本消息框架。 WSDL 是基于 XML 的服务描述,这种描述展示了如何使用 Web 服务通信。这种协议绑定了与 Web 服务相交互的消息格式。我们从未像现在这样看到这么多的 IT 业界重量公司共同支持标准化。过去也存在标准化,但它们并没有像今天这样广泛。
  2. 客户承诺。今天的客户了解与 IT 企业合作的重要性,这种合作未来可以为企业带来最大的灵活性。我们看到服务已成为业务、IT、与客户间的凝聚力。业务过程的灵活性使得依靠流水线管理的客户开始研究以 IT 进行辅助的运作。
  3. 抽象化水平。 业务过程阶段和支持这些阶段的服务间更多存在的是多对多的关系。假设我们有一个较大的类似于核对新客户信用等级或初始化运输的服务。这项新服务可以是许多个小服务的结合。从技术上来说,都是抽象地描述所支持的操作和消息,并将其限制于某种具体的网络协议和消息格式中。WSDL 描述了 Web 服务的公共接口。WSDL 经常和 SOAP 与 XML Schema 结合起来为 Internet 提供 Web 服务。
  4. 可重用性。创造可以重复使用和重复编配的,无论是新创建的服务还是由已有 IT 组件转换而成的服务,是非常重要的。  

SOA 的崛起

大公司所寻找的基于服务的交付模型的创建方式主要使用的是 SOA,或者面向服务的架构。 SOA 是一种定义了支持业务需求服务的软件架构。在 SOA 环境中,网络中的资源表示为对立于基础平台实现、可直接获取的独立服务。服务被定义为业务过程。当考虑业务过程时,我们不得不超越 IT 或软件,而更多的考虑业务内容。我们不得不考虑公司的每日工作,并将其分拆为业务对象。 然后,我们将这些业务对象转换为可重复使用的商业组件(例如, 购买硬编码逻辑,包括开源 API,等等),它们可以与其他组件(服务)共同创造出某种功能。

价值表现存在于 SOA 的多层应用风格,允许多个企业在应用和使用模型中分享数据、逻,和工件。SOA 主要关注灵活性、互用性和可重用性。SOA 主要基于 Web 服务标准,还可以使用基于服务的技术实现。松耦合服务通过正规定义(例如 WSDL,独立于基本编程语言和开发平台)相互连接。例如,在.Net 平台使用 J2EE 平台开发的服务具有极为重要的现实意义。简单来说,SOA 使得服务更好的被整合到业务过程之中,就像将各个模块整合到结构中一样。

SOA 中的一个有趣现象是它仍然在企业防火墙中封装了实体和服务。合作伙伴和其他可信赖资源能够利用不同的服务,但是公开性只有这么多。例如,现今的 SOA 实践模型中,不再经常能够看到允许外部企业进入并且增加应用组件的 API 了。这种可靠的环境非常适用于处理敏感客户数据、关注系统宕机的大企业。总而言之,企业复合应用已在 SOA 中找到了产生可重复使用的、可互操作的,安全共享服务和工件的答案。

Web 2.0 的简要介绍

术语 "Web 2.0" 最初来自 Tim O'Reilly ,用以描述下一代的 Web 应用开发平台。Web 2.0 不是某种特殊的技术或某种工具集的描述 -- 不仅仅是以面向服务风格来利用 WWW 形成合成的应用。概念上来说,Web 2.0 集成了数据和来自于多个地点的服务。这种新创建的服务还可以作为其他 Web 服务的输入。这种按需交付的模型类型满足了今天用户对于信息的需求,这些用户需求从不同来源实时获取数据或服务以便协同工作。

一个很著名的 Web 2.0 的例子是 www.ChicagoCrime.org。这一站点将 Google Map API 和 City of Chicago Police Department 报道的犯罪站点(http://12.17.79.6/)的犯罪数据结合在一起。它们是想依据来自 Chicago 地图的类型、街道、数据、邮编等为用户提供相关犯罪信息。浏览者在常规地图、卫星地图和混合地图中显示某块区域的犯罪信息。

上面所讨论的 ChicagoCrime.org 的信息是一个 mashup 例子 -- 一种很好的 Web 2.0 页面。 Mashup 页面可以包含源自其他页面的内容。
 

图 1:实际的 Web 2.0 mashup -- www.chicagoCrime.org

大部分 Web 2.0 应用具有某些共性,例如:

  1. Web 架构的模型。 Web 2.0 基于 Web 架构,这种架构可以作为面向服务架构的子集。这种架构提供了高度的离散化用以连接外部世界的模型。这种模型由类似于 Asynchronous Java 和 XML (Ajax) 以及合成应用实现。Web 2.0 关注于一个开放的、灵活的、分享的模型,并关注增强与第三方和用户的协作,智能化的传送内容。分散化的内容传递模型用以减少应用开发成本,增强了适应性,并鼓励创新服务的创造。Web 2.0 关注于灵活性和互操作性。大部分 Web 2.0 应用更关注于使用标准化--如 REST(Representational State Transfer)-- 的客户,它比传统的合成应用模型 --如 SOAP(Simple Object Access Protocol)-- 更简单。
  2. 累积的用户影响 -- 用户协作和网络的影响对于 Web 2.0 是非常重要的。来自于收集源与协作源的数据丰富了内容。例如, Wikipedia 入口 就是由了解某个主题的人们共同创建的。但是,某个主题中的数据利用协作的方法整齐的编辑在一起。作为服务、客户和内容来源,Web 2.0 以积累知识资本的内容和应用创造者的身份利用了 Web 社区。
  3. 自由度。 最后,Web 2.0 充满了自由。快速应用开发过程,通过 API 与陌生人共享工件,不被工作流限制的开发组件,通过博客交流,利用 wikis 管理需求, 或者利用 Web 社区来测试准备就绪的代码--所有这些 Web 2.0 环境的特点为开发者提供了创新的自由,而不用考虑强加上的结构压力。
 在某种程度上来说,Web 2.0 是 .com 时代的第2部分。它还可以被看作乐天版的 SOA,更关注于服务与用户协作的共享,缺乏对安全和整体管理的关注。

一个小的比赛: SOA-Web 2.0 联合案例

在以上章节中我分别介绍了 SOA 和 Web 2.0。似乎 SOA 是大型企业的服务解决方案,而 Web 2.0 属于纯 Web 商务。但是,这两种模型都可以帮助对方成为未来的服务模型,因为它们在很多方面相互补充。真正值得感兴趣的是 SOA 的发展前景,这其中包含了部分 Web 2.0 中的特性。下面是一些 SOA 和 Web 2.0 的结合有助于商业运作的原因。

  1. 利用远程独立的外部服务的能力: SOA 主要关注于企业内的最优化服务,而 Web 2.0 是包含了内部与外部企业的共享服务网络。当 SOA 的内部服务可以利用外部服务时,将会有一个真实的共享、互操作、创建集合组件的机会。今天,很少有企业了解如何连接到企业防火墙外的远端服务,同时保护数据的安全性和完整性。
  2. 构建 SOA 应用中的社会元素。 SOA 在配置控制与工作流管理中非常健壮;相反,今天的 Web 2.0 以缺乏控制结构为荣。开发者在 Web 2.0 环境中可以很容易的获得来自全球开发者资源的产品就绪代码,他们通过社区博客、wikis、podcasts 等等培养了内部创造性的增长。例如, 针对 SOA 路线图,Rational SOA 小组积极的利用 wikis 讨论问题,构造间接的草稿等等。
  3. 创建最佳繁殖能力应用:最近我参加了一个创新论坛,有位来自印度的朋友提出如果能够加入社会元素,那么在线拍卖或销售将会变得非常有趣。 他对于社会元素的定义就是加入网络摄像和麦克风,就好像买家和买主在真正的交谈、议价一样。 这种拍卖系统可以以安全交易 SOA 作为基础,同时通过网络摄像进行的交互可通过 Web 2.0 实现。关键是,增加社会元素以利用 Web 2.0、并以 SOA 为中心的结构为商业提供了新的机会,它将最佳的社会交互方式与合成应用结合在了一起。另外一个例子:使用基于服务的合成应用的船务公司可利用 Google 地图为客户实时报告准确的商船位置。

未来 SOA 与 Web 2.0 结合起来的想法并不是不可想象的。Dion Hinchcliffe, AJAX Magazine主编、SOA-Web 2.0 space 的领袖,认为这种联合已经不远了。 在SYS-con.com 网他的 Web 2.0 博客上(开始的六个月他的博客就被阅读了一百万次)他一直致力于 Web 2.0 与 SOA 联合的话题。IT 业界的分析家也表达了他们的看法。John deVadoss,Microsoft的架构主管,在最近与 eWeek (http://www.eweek.com/article2/0,1895,1918120,00.asp)的一次访谈中表示微软对于 SOA 与 Web 2.0 之间的融合非常感兴趣。

在一次与新西兰 Computerworld 杂志的访谈中,IBM 的新兴因特网技术小组 CTO David Boloker 认为下一代网站将更像是游戏程序,它会具有高质量的画质,深层子系统,面向具体应用的 mashup 程序。他相信 Web 2.0 与 SOA 对于未来商业网站的应用都是极为重要的。IBM 还领导着 "Open Ajax," 它是一种将开源 Web 2.0 应用开发推至 IT 产业前台的创新。 这个概念由 BEA,、Borland、 Dojo Foundation、 Eclipse Foundation、 Laszlo Systems、Mozilla Corporation、Novell、 Openwave Systems、Oracle、 Red Hat、Yahoo、Zend 和 Zimbra 支持。 这些都预示着,在这些大型应用开发者们的关注下, Web 服务开发空间已经发生了一些有趣的变化。

未来的一种治理有方的基于服务的交付模型

如果说 Enron, WorldCom 和其他一些公司的丑闻告诉了我们什么,那就是企业应遵循一个简单的规则:"做您所承诺的事,并告诉我们您做了什么、如何做的。" 责任和实现承诺的证明是管理中的重要一环。发生了这些公司丑闻之后,政府实行了更严格的管理,并命令企业加以遵守。大部分企业努力遵循 SOX, BASEL II 等的要求。但是遵守规则仅仅是其中的一部分。企业还迫切需要优化它们的管理以应对残酷的市场竞争。

简而言之,只有在 SOA 提供的可调整框架之下遵循管理策略,企业才能够应对今天的环境。 SOA 所具有的创造、管理、编配服务的能力使得 SOA 如此有价值。同时,我相信那些想要制定可行的管理策略的企业应当将 Web 2.0 的本质特性加入到他们未来 SOA 环境中去。作为未来服务交付基础的 SOA/Web 2.0 将会有广阔的想象空间。

参考资料

参见 Dion Hinchcliffe 的 SOAWebServices 杂志 中的 "i-Technology Viewpoint: Is Web 2.0 the Global SOA?" ,http://Webservices.sys-con.com/read/164532.htm

See Darryl Taft, "Microsoft Seeks to Bridge Web 2.0 and SOA" in eWeek at http://www.eweek.com/article2/0,1895,1918120,00.asp

See Paul Krill, "Make Way for SOA 2.0" 在 http://www.infoworld.com/article/06/05/17/78420_HNsoa20_1.html 中的 InfoWorld

参见 Anirban Dutta,在 NASSCOM 中的 "How Indian Companies Can Benefit from Web 2.0" ,2005年十二月,http://www.nasscom.in/upload/48700/How%20Indian%20Tech%20Companies%20can%20benefit%20from%20Web%202.0.pdf

参见 Ulrika Hedquist,ComputerWorld 中的 "Web 2.0 is hot -- both today and tomorrow",http://www.computerworld.co.nz/news.nsf/0/CD1AE2E4ACABCFEBCC25717300101C90?OpenDocument

注释

1 对于这部影片的狂热源于剧作家 Josh Friedman 所写的在线杂志,他将自己所做的工作记录到博客中。虽然 Friedman 的博客内容已是所公开的电影片段,但制作单位并不知道这种营销活动能够起多大作用。开始出现这部影片的其他博客。由 Georgetown 大学法学院学生 Brien Finklestein 创建的 SnakesonaBlog.com 转变为充满新闻、幽默、小故事等等的 "snakes central" 。 Newline Cinema, 电影制造商,实际上限制了公司的介入,以保留在线交互的有机和自发的感情。


版权所有:UML软件工程组织