【IT专家网独家】简而言之,SOA的问题在于混乱。这是目前SOA领域最大最严重的问题所在。在IT行业过去的几十年中,我从未见过在一个行业趋势方面所能产生如此大的分歧,就如同我们今天看到的SOA状况一样。
并非不存在对于SOA中各个要素进行明确验证的行业研究;同样,也并不缺少书本、纸张、研究学者,甚至是通过博客等形式主张或赞同多种SOA定义的热衷者。但是,事实上关于SOA的任何讨论仍然会迅速的转变成戴维·本-古里安(David Ben Gurion)所说到的 “哪里有两个犹太人,就会出现三种意见”这类IT版本的政治格言。
同样,哪里有两个IT业者,就会出现三种关于SOA的意见,这是很奇怪的,因为到最后,SOA将成为IT领域里,一个任何人都可以随时掌握非常简单的概念。这样的情况也是非常棘手的,可能在这个IT领域里,任何一个人掌握的SOA都是错误的。除非我们在SOA定义上达成一致,此间产生的任何研究和推断结论都将是垃圾,因为它们的前提是无效的。
举例来说, AMR研究机构所提供的报告透露IT业在SOA上的投资将在未来四年内达到520亿美元,77%的IT公司将建立起属于自己的SOA。但该报告中的一些受访者认为,SOA对其来说只是地板蜡,而另一些则将之看作餐后甜点而已,总之仅仅只是一些锦上添花,但又可有可无的东西,因此这样的一份报告并不能真正的说明具体的问题,存在瑕疵,甚至是不可行的。
这并非是在挑AMR研究机构的毛病,但在采访过这么多负责SOA实施的首席信息官之后,我相信那些AMR研究机构的调研者肯定深知,接受访问的人们对于SOA的定义大多数必定持一种不赞成的态度,甚至有可能他们中的很多人正在遵循错误的SOA定义进行操作。
这并不是说这个错误认知所带来的影响会很大,否则也不会出现当前几乎所有的专家与预测者都在这个问题上随意发表意见这样的情况了。这种情况无疑将影响IT技术供应商所做出的回应,他们正极力推广着围绕SOA设计的平台并开始实施,某些情况下,他们的分歧还在不断的扩大并演变的愈发广泛。
为了让全球IT领域真正从SOA中获益,我们必须首先理解SOA的含义。那么就让我们从SOA的“A”开始吧。A代表架构,特别是在SOA的情况中,它代表着软件架构。为了避免一系列关于“什么组成了架构”的争论,我将引用IT基础架构标准库(ITIL)使用的定义。
ITIL 第三版中的定义也许是IT领域最为广泛接受的IT服务管理方法。其平台中立与供应商中立的方法为全球大企业成功使用。它对架构的定义如下:“系统或IT服务的结构,包括构件相互之间以及与其所处环境之间的关系。架构还包括指导系统设计与演变的标准和准则。”
听起来不错!但这具体意味着什么呢?有幸的是,有人在维基百科上用简单易懂的语言为架构下了定义,这个定义在建筑方面对架构做了如下定义:作为过程来说,架构是使用人力或机器设计并建造建筑物以及其他有形结构的活动,主要是为了有目的的提供社会住房。
但是,接下来的一句与ITIL第三版完全吻合,并更易于被任何一个不具备深层技术背景的人,包括首席信息官或首席执行官理解。更广义来说架构包括整个建设环境的设计,从宏观层面一个建筑如何与其周围人造景观(城市规划,城市设计以及景观建筑)相融合,到微观层面的建筑或建设细节,有时还包括家具。
我们当中有很多人都认为:架构仅仅意味着设计、蓝图、流程图或是模型。但关键在于一个架构,如果建设得当的话从来不是孤立存在的,它的设计必须存在于整个建设环境中。这一特点会带来许多问题,也能制造无限的机遇,一切都取决于你的观点角度。
我再举一个权威的例子:建筑大师Frank Lloyd Wright的流水别墅。当时和现今的大多数建筑师在那种情况下都会设计成在山间幽静处的空旷地上挺立的建筑。而Wright则设计了一个建筑与其周围自然环境的完美集合。他还设计了核桃家具、固定装置、艺术装饰以及灯光—每一个室内空间细节都被考虑到了,包括居住者将如何看待该建筑的昵称及其原因为何。
Wright的架构不仅仅是一套死板的建筑蓝图,他考虑到了对于整体建筑环境的设计。其结果就是他的设计成为了现在建筑中最伟大的范例之一。这对于面向服务软件架构来说是一个很好的灵感。
这是因为一个软件架构必须不仅仅定义最终执行的结构。它还必须明确构件之间、最终系统运行的环境并为现存和未来的程序员在提供准则以指导他们所有的内容将如何配合并融入所处的环境中去,就像流水别墅的架构一样。
在SOA的情况中,这意味着各个构件应该如何嵌合并融入业务环境。因此,如果你的企业没有将SOA的设计建立在其所处的环境之上,那么它仅仅是SO,而非SOA。
相反,有了架构,才有面向服务架构。
IT专家网原创文章,未经许可,严禁转载!

