【eNet硅谷动力专稿】什么是SOA(面向服务架构)呢?我们对SOA的知识,透过一些实践,从懵懵懂懂到现在已有更深入的了解。简单地说,SOA已经成为软件开发的重要技术,该技术能让异质系统整合变得更加容易,程序再使用度也提高,不必自行开发或拥有所有的程序组件,开发者可以根据需要任意组合网上最好的服务,不受限于特定产品或平台,而达到真正的开放性。
SOA主要概念是针对企业需求组合而成的一组软件组件,组合的元素通常包括:软件组件、服务及流程三个部份。当企业面对外部要求时,流程负责定义外部要求的处理步骤;服务包括特定步骤的所有程序组件,而软件组件则负责执行工作的程序。从分布式组件架构到SOA概念,如对象导向、软件组件等软件技术一般,运用小的零组件组合成应用系统,但SOA强调的是如何将彼此关系松散耦合的应用系统功能组件在网络上发行、组合及使用。
从本质上说,Web 是实现SOA的具体方式之一,但SOA并不局限于Web服务。另外,为了实现对两个系统信息的有效控制以及出于应用安全性、策略、可靠性等方面的考虑,还利用SOA架构体系中的组件-企业服务总线(Enterprise Service Bus,ESB),它负责适当地控制许多可能的消息传递协议,甚至还可能是服务之间所有消息的传输。虽然 ESB 并不是绝对必需的,但它却是在SOA中正确管理业务流程极为重要的组件。
国内 一些BPM 软件厂商,发现大多数的企业在SOA、BPM(Business Process Management,商业流程管理)的架构导入还未完善,他们仍持续使用企业内部旧有的SOP来进行管理控制,多少会有绩效低落、成效不彰的情况发生。因此我们认为SOA、BPM于国内企业还有很大的发展空间。