SOA提供了这样一种框架:一个系统上的软件可以安全而且可靠地提出请求并获得其他系统上的计算资源,而不再需要一台中央服务器来管理和控制整个端到端的网络。
SOA将在未来三到五年内给软件和网络带来革命性的变化。
几周前参加了一个网络研讨会,与会的很多业界名流都在讨论部署未来战略和预算的新的技术发展趋势。看来今年的研讨重点就是SOA,按照这些权威人士的说法,SOA将在未来三到五年内给软件和网络带来革命性的变化。
这些人士或者忽略了一点儿小小不言的怀疑论调:我们曾有多少次说过某项技术具有"革命性"了?这种场合我们是不是见得太多了?不过这一次,我个人以为至少我们的大方向还是正确的。
先说一点背景:SOA可以说是解决软件系统构件化过程中长期存在的复杂度和相关度问题的最新方法。今天的SOA建立在Web服务的基础之上,主要以SOAP/XML接口和Web服务描述语言分发。和对象以及软件构件相同,"服务"是在分布式网络上构建复杂系统的最基本的建筑材料。
简而言之,SOA就是对等(P2P)计算的真正的商业化。总而言之,SOA提供了这样一种框架:一个系统上的软件可以安全而且可靠地提出请求并获得其他系统上的计算资源,而不再需要一台中央服务器来管理和控制整个端到端的网络。
我们可以做一个更清晰的类比:即回忆一下网络架构从SNA到IP的演化过程。在SNA环境下,网络的架构基本上是"主/从"式的,即由一个网关控制着远程终端和主机之间的联系,所有的控制都在主机一端。而在IP环境下,则由分布式的路由器网络提供连接,控制不再是集中的了。
然而,软件架构始终未能与IP的演进步伐保持一致。在所谓的客户机/服务器计算环境中,基本的架构依然是主/从式的:应用服务器控制着与远程客户机的通信。
在过去的几年中,我们已逐渐地将客户机/服务器模式推向了边缘。客户机与服务器之间的各种通信协议越来越多地基于Web而不再是专有协议了,因此应用之间的通信也成了多路径的而不是单路径的了。
而SOA则从根本上突破了客户机/服务器模式。现在,服务器与客户机之间的主/从通信方式已经转变成了分布式的P2P方式,与IP网络中路由器之间的通信方式相似。
于是,像IBM、Oracle、SAP和微软等软件与系统厂商就很自然地对SOA的兴起和部署给予了密切关注。当然,对SOA给予关注的绝不仅仅只有他们。
SOA对于电信网络的影响也是十分巨大的。任何一位网络管理人员都很清楚,P2P通信与客户机/服务器应用有着非常显著的不同。SOA系统中的通信流量越来越多地发生在任意的端到端之间,而客户机/服务器应用的流量则主要是星型发散的。因此,像MPLS这样可提供安全、可靠的端到端通信架构的好处就日益显著了。
有趣的是,这又是一个"先发后至"的例子。因为有一个应用,其流量模式一直都是端到端的。是什么应用?就是语音通信。越向前走,我们就越会发现,数据业务与昔日的话音业务有很多的相似之处。