SOA是面向服务的架构,没有人不同意。但对于SOA究竟是什么,每个厂商都有自己的定义和解释。有人说是一种架构,有人说是一种方法论,却没有几个人能给出一个大家都信服且简单易懂的解释。SOA将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
SOA给整个IT机构都提出了技能挑战,而不仅仅是架构师团队。特别是,SOA---就像其它任何架构一样,给应用开发团队带来了很多困难。毕竟,开发人员都是有创造性的精英,他们喜欢自由自在,不欣赏太多的结构。然而,作为一种架构,SOA给开发人员带来了太多地限制。
重量级SOA的部署可能涉及到很大的团队进行参与,并且责任分工很广泛,而中型SOA项目一般都是由规模较小、比较灵活的开发团队完成的,在部署过程中,架构师可直接与开发人员、测试人员和其它日常工作人员直接打交道。此外,如果企业能够利用可以支持如此广泛专业的工具,那么,这样的一个以团队为基础工具可以缓解许多架构师和开发人员之间的矛盾。
其实上,这些冲突往往归结为治理(governance)问题---当开发人员在创建、发布、发现以及重用服务时,应该使用什么策略,谁负责制定和执行这些政策。中型SOA工具因此应该还具备对于这种治理能力的支持,从而使得应用程序开发团队与架构师可以一起参与策略的制定和执行,而不是仅仅让架构师负责制定这些策略,这种做法是不切实际的,通常会引起开发人员的抵制。
在阐释SOA的理念上,各家厂商可谓八仙过海,各显神通。这些厂商不仅有IBM、BEA等老牌厂商,还有IONA、普元、TmaxSoft等市场新秀。在一些传统老牌中间件厂商推进SOA的同时,一些市场后进者也开始提出自己对SOA的定义,由此引发用户对SOA美好前景的期待。
没有选择是一种无奈,有选择是一种痛苦:在市场只有一家垄断厂商具有发言权时,用户就没有选择。选择很多时,用户往往又会无所适从。目前,SOA已经成为全球IT市场的焦点,中国也成为SOA最大的潜在市场。对处于摸着石头过河的SOA产业来说,市场的培育需要概念开路。名目繁多或过于超前的概念,其好处是可以让更多的厂商在市场上取得发言权,让用户有更多的选择,可谓一件好事; 其坏处是,很容易让用户在对SOA创造商业价值抱以几许期待的同时,不免多了几分困惑,同时,也不利于SOA的落地。
不论厂商宣称自己的SOA理念多么超前、落地方法如何敏捷,对于用户CIO来说,实施SOA的目的都是一样的,那就是实现以业务为核心,提高IT系统扩展的灵活性以及IT资产的复用,达到业务灵活组合的状态。
虽然不同厂商或个人对SOA有着不同的理解,但对SOA所能实现的目标却没有太大的争议,那就是实现企业IT资产的最大化重用,让IT变得更有弹性,更快地响应业务单位的需求,实现实时企业。从这个角度看,SOA是什么并不重要,重要的是能否满足用户的需求。不论黑猫还是白猫,抓住老鼠就是好猫。不论是市场的先行者,还是市场的后进者,不论它宣称的SOA是框架还是方法论,有一点不变的是,谁在中国树立了最有说服力的SOA样板用户,谁将吸引更多的新用户。
正确认识SOA的两大窍门:架构及规划。
SOA是个好东西,但还有点扑朔迷离,就像一座山,远看郁郁葱葱,近看荆棘丛生,真想登上去的时候不知道哪一条路可行。对于实施团队,SOA不是一个产品而是一个架构; 对于管理团队,SOA不是一个项目而是一个规划。如果企业是从架构及规划的角度来考量SOA,那么它们会对其优点有更踏实的认识。
企业信息化服务体系要对传统应用和治理模式进行改造。
中国企业信息化工程最重要的就是透过全面开放的应用服务体系对传统体系进行应用模式和治理模式的改造。这是中国企业,不但是中小企业在进行信息化过程当中可能最需要的,也是我们国家在所有企业实施信息化的过程当中最有效的一种实施模式。
安全隐患成为移动信息化的一个难解的心结。
随着移动信息化的深入发展,许多专家预测未来会有更多的病毒和蠕虫蔓延到智能手机等移动设备,严重威胁移动信息化的安全。如今摆在用户单位面前的当务之急是如何最有效地保护所有移动设备上存储的各种敏感信息。
最准确的解释,SOA将不会仅仅作为一套架构存在,而是在整个执行过程中的一套政策,实践做法,甚至是遵从的框架。
我可能并没有正面指出SOA带来什么。但是,我所能明确的是,对于最初的汇编语言,其后的结构化编程,以及风靡的面向对象理念,SOA的出现是发展的必然,同时也是对以往最强力的冲击。