什么是SOA,这是SOA实践指南中给出的定义“面向服务的体系结构(Service-Oriented Architecture)是一个组件模型。它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的。它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互”。SOA是传统的面向对象的模型的替代模型,面向对象的模型是紧耦合的。而向服务的体系结构SOA是松耦合的系统。具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。
SOA凭借其松耦合的特性,可以让企业按照模块化的方式来添加新服务或更新现有服务,以解决新的业务需要,提供多种方式和渠道来进行服务的构建,并可以把企业现有的应用作为服务而接入到新系统中来,对现有的系统平台的资源进行有效的利用。
对于企业管理者来说,SOA的技术层面的内容不是问题,而怎样实施SOA。达到目的才是问题。来看看SOA整合系统必须的实施步骤:
1.对需要实现的业务进行分析建立模型。就是将需要确立成一个个的具体业务服务点;
2.分析目前企业中待整合平台的所有应用功能。系统结构,对开放的接口能够提供哪些功能;
3.根据以上的分析结果,制定服务模型,体现逻辑结构到具体IT实现间的映射,实现服务与结构的对应;
4.根据要实现的整个系统体系架构和目前存在的各系统的实际情况,确定各个业务平台的集成方式,这个方式必须是能够保证系统性能的,可靠的;
5.新系统是基于服务的。实现所需要的服务是开发的目标,所以最重要的环节就是完成业务处理流程的开发;
6.最后是建立综合平台的门户系统,一个实现所有业务处理统一分类显示,单点登录,访问所需业务处理工具和相关后台系统。
在这里我们还必须提到一个概念,ESB,因为这是目前实现SOA较多用到的个重要部件,“ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢。是构筑企业神经系统的必要元素。”ESB的作用是在于跨越不同结构的系统把他们提供的服务连接起来,使服务与服务之间沟通并连接到统一的总线上来,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式。如Web服务、Messaging等的多种服务集成方式,以及分布式的运行管理机制,它支持基于内容的路由功能,多种消息传递形式,支持广泛使用的传输协议,并可以提供一系列的标准接口。