《程序员》:SOA与业务敏捷

ZDNet软件频道 时间:2009-02-04 作者:胡长城 | 天极Yesky软件频道 我要评论()
本文关键词:SOA 业务敏捷
SOA不仅仅只是一套构架,其更像是一套设计思想、方法。为解决客户所面临的业务敏捷性问题提供了一套新的解决方法。
在阅读这篇文章之前,我要强调一个观点:SOA不仅仅只是一套构架,其更像是一套设计思想、方法。为解决客户所面临的业务敏捷性问题提供了一套新的解决方法。

  On Demand反映客户对业务敏捷性的需求

  其实业务的敏捷性是众多传统企业与IT企业一直在探讨的话题。几年前,大家都或多或少看过IBM非常具有创意的“e-Business on Demand”广告。那时候,这个专有名词在中文当中被称之为“随需应变”。“e-Business on Demand”是IBM在2001年提出的概念和口号,以替代早先(1990年代中后期)的“e-Business”策略,它的主题思想是:使IT应用以服务形式出现,用户可以像使用其他公共设施那样,在任何时间和任何地点安全地、稳定地、高效地获得有偿信息和服务。

  再回想一下就能发现,现在众多技术人员熟知的Web Service正是诞生在那个时期。当然,现在探讨的SOA要远比Web Service以及Service on Demand要复杂得多。

  首先让我们来看看什么是业务敏捷性(Business Agility)。企业发展来自于市场不断开拓、战略不断调整、经营方针不断完善、管理水平不断提高。但是在今天,要实现上述所有的工作,都必须依赖于IT系统的有效支持。因为按照传统的方式,已经无法满足企业发展与竞争的需求。

  《世界是平的》的作者托马斯·弗里德曼在他的作品中讲了两个很有趣的故事:

  作者本人给位于德克萨斯州的奥斯汀的Dell管理部门写了一封信,询问他自己的Dell笔记本的各个部件来自哪些国家。得到的答复是:美国因特尔公司设在菲律宾、哥斯达黎加、马来西亚或中国的工厂生产的处理器;韩国、日本、中国台湾或德国生产的内存;中国内地或中国台湾生产的显卡……

  某天早上10点,Dell发现很多客户订购的笔记本电脑都要求配备40G的硬盘,如果这样的话,两个小时后,供给链将出现断货信号,并自动地发送给Dell销售部门、公司网站以及所有的订购电话接线员。如果你正好10点半向Dell发出订单,公司的销售代表会对你说:“您现在只需要在40G硬盘价格的基础上多支付10美元,就可以得到60G的硬盘的配置。”利用这种促销手段,在一两个小时内,Dell可以根据全球供应链的情况重新塑造顾客对产品的需求结构。

  上述两个故事都在讲述一件事,那就是怎样让企业的业务变得更加灵活,或者说更加敏捷。不难想象,Dell公司已经具备了比较完善的供应链管理系统、财务系统、客户关系系统等IT基础设施,这也说明Dell的企业经营管理已经依赖于IT系统的支撑。今天,绝大多数企业都具备了类似特征。不否认存在一些企业的经营管理还依赖于传统的电话沟通、面对面的洽谈会,但这已经是少数,而且会越来越少。

  如今一个企业是否能够让CEO的决策、企业战略的调整、市场方向的重定位等等一系列问题快速变更与执行,几乎都依赖于信息化建设的完善。然而,这种完善程度不仅意味着信息系统在企业内部的覆盖面,更依赖于这些系统之间的协作性与敏捷性。

  让我们在此用简短的一句话来为业务敏捷性下个定义:

  业务敏捷性是指企业对变更快速和有效地进行响应、并且利用变更来得到竞争优势的能力。

  IT系统一直在不断演变和发展,寻求对业务敏捷性的更好支持

  在美国、欧洲三四十年的IT系统建设中,基本经历了三个应用阶段:

  第一阶段信息发布,即传统的Information Management System,在这个阶段最主要的任务是把某一个业务下的信息数据管理起来,比如早期的财务系统、人力资源系统;

  第二阶段是企业系统的内部整合,当企业内部绝大多数信息系统都已经建立之后,是否能够有效地进行协作和资源整合,成为主要解决的问题;

  第三个阶段,是企业内部的信息系统需要与外部环境,包括供应商、分销商和客户进行整合。

  当然不是所有的企业都经历的这些阶段,也不是所有的企业都已经进入第三阶段,这只是一个整体性的发展路线,或者说趋势。


图1:企业信息系统发展过程

图2:信息系统技术标准发展过程

  上面两张图分别显示了不同视角下,IT系统和技术标准的发展。第一张图显示了人们为追求业务过程自动化而做出的努力;第二张图则显示了SOA在发展历程中,所经历的阶段(图中主要显示了一些相关标准)。事实上我们还可以绘制的更多:从面向对象(OO)到组件(Component),再到服务(Service);把ARIS、Enterprise Architecture、五视图方法、SOA Reference Model等等也绘制到另一张图中;把“应用+服务模型(Service Model)+服务组件(Service Components)+中间件”这种类似的多层构架的演变历程绘制在另一张图上。

  这一张张的演进图表达了什么?它们代表了IT系统在为企业经营管理(业务)提供支撑的发展历程,包括体系结构、系统模型、标准、语言等等。这些历程正伴随着上述三个应用阶段而不断演进。

  然而,人们构造这些IT系统是为了什么?仅仅是卖给客户几个“漂亮的概念”吗?当然不是,这是软件提供商在不断满足客户在业务系统的应用性、敏捷性上的需求而做出的努力。

  业务敏捷性取决于企业信息的自由流动、服务和业务流程。而且这也要求IT系统必须能够满足业务的变更:远洋航运集团规划未来几年内把集装箱的吞吐量提高4倍,集团组织构架向多组织化发展……遇到这样的变更,如果你告诉客户:你们仓储系统需要重新构建,组织构架需要重新建模,人力资源系统需要重新编写,财务系统需要重新编写……那将会是一件多么可怕的事情?

  事实上,满足IT系统的敏捷性,必须逾越几个最基本的障碍:

  (1) 能够统一描述出各种业务,或者说业务对象与业务模型。这些业务对象和业务模型需要很容易被组合或重组。因为企业业务并非随意创建,而是由基本规则在支撑。尽管我们不断宣称需要灵活、敏捷,但这样灵活性的变更发展也必须有一定的原则。这如同企业市场开拓,从一个区域向另一个区域拓展,而绝非游击队的模式: 打一枪换一个地方。

  (2) 企业IT系统一般会由多平台(IBM、BEA、Microsoft、SAP、Oracle等)和多技术(J2EE、.NET、遗留技术等)构成。大企业的异构性会更复杂。某项业务可能涉及到企业内部系统、外部环境、供应商、分销商和客户等等。这就使得业务的变更牵涉到众多合作伙伴。所以必须有更好的互联技术来满足不同系统之间的信息交互,这种信息互联必须基于统一的标准和构架,而且能够很容易定位与获取。

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134