SOA程序设计模型

[2014年7月8日,陕西西安]SOA的原理是抽象的、独立于具体的实现技术。由此,从开发角度来看,定义一个统一的程序设计模型是很有必要的。在IBM、BEA和ORACLE等公司的联合努力下,开放SOA(OSOA)组织发布了服务组件架构(Service Component Architecture,SCA)规范。

SCA是一系列规范的集合,它描述了使用SOA架构构建应用系统和系统的模型。SCA将传统的中间件编程从业务逻辑分离出来,可以简化使用 SOA进行的应用程序开发和实现工作。

SCA把构建一个基于服务的应用程序分为两大步骤:

1、实现提供服务的各个组件;

2、通过连接各个服务的引用,把各个组件装配在一起构建业务应用程序。

SCA强调把服务实现和服务装配从架构细节及服务具体调用方式中分离出来,其组件运行在业务级别。在实现服务时,SCA支持多种编程语言,如Java,C++,COBOL,BPEL和SQL等;同时支持多种编程模式,包括同步调用返回模式,以及异步和信息驱动模式。SCA还支持吧调用服务时采用的各种不同的通信机制绑定起来,这些机制包括Web服务,CORBA  IIOP等。为了关注服务质量(QOS)和非功能化的需求,SCA模型还提供了一个策略框架(主要包括Policies和Profiles)用以定义安全、可用性和交易,以及其他需求。此外,SCA中涉及的绑定、安全、交易等机制,都是声明性质的,独立于实现的代码。

在业务数据方面,SCA强调使用服务数据对象(Service Data Objects,SDO)来表示业务数据。SDO主要用于简化和统一应用程序处理数据的方式。通过采用SDO,开发人员可以统一访问和处理来自不同数据源的数据(如关系数据库的数据、XML数据、Web服务或企业信息系统的数据等)。SDO基于非链接数据图(Disconnected Data Graphs)的概念,保持了数据对象的树形或图形结构,可以通过API访问。该架构允许强类型和弱类型数据模型,因此支持静态和动态的数据访问机制。此外,SDO还提供了一个数据调节服务(Data Mediator Services)来完成应用程序和数据源之间的链接。与SCA相似,SDO也是独立于任何编程语言的。

事实上,SCA与SDO是一对具有对应关系的规范。SCA关注于业务逻辑,而SDO则更侧重于业务数据。SCA和SDO结合是当前实现SOA时常采用的编程模型。目前,SCA和SDO规范仍处于不断发展的阶段。

本文来源:时光·协同
更多
相关文章
关注我们
媒介联系

Email:marketing@cicro.com

TEL:(8629)87579521

FAX:(8629)87579518