SCA:实现SOA的编程模型
一经定义,组件可以使用属性来声明配置,这将在接下来的实现中映射到accessor和mutator。//例1:组件声明 如果被要求使用一个公用密钥体系,Policy Set可以包含一些加密方法,信任关系和密钥存储的信息。
SCA提供了实现面向服务的架构(SOA)的一个编程模型。
面向服务的架构已经在软件开发领域存在很多年了。但是当一些组织试图去定义最佳的实现和管理技能的时候,为一个特定组织开发一个SOA的细节却是难以捉摸的。在这篇文章里,我将介绍SOA的一种实现方式——服务-组件架构。
SOA在概念上来说是关于松耦合的行为。业务和系统功能作为大的独立服务被展现,使得它们以不同的方式在业务流的组合中被使用。这是一个简单的描述,但实现起来就相当的复杂了。任何使用EAI和分布式技术的人都能回忆起在一个企业里兜售业务功能的困难。
SOA原理是抽象的,独立于实现技术。从开发角度来看,定义SOA构成是有帮助的,它使得工程师可以无须求助于技术规范来用具体术语讨论开发实现。为了这个目标,开放面向服务的架构(OSOA)组织发布了服务组件架构(SCA)规范1.1(www.osoa.com)。
SCA已经被IBM,BEA,Sun,Software AG,IONA,SAP,和Oracle以及其他一些公司开发很多年了。可以在IBM,Rogue Wave,Oracle,Tibco,Apache Software Foundation(Tuscany)和Eclipse Foundation(SOA Tools Platform)获取实现。
SCA编程模型
SCA编程模型主要通过提供一个服务的开发,集合,部署的方法,来关注SOA的工程细节。为了和SOA原理一致,SCA通过元数据驱动,语言独立和容器独立来支持异构的实现。只要一个从SCA规范到技术的映射可以被定义,SCA就能被实现。于是,SCA被和多种语言和容器绑定;最近的一个C语言规范以及形成草案。
目前,SCA映射已经存在于Java,C++,Ruby,Spring,和BPEL及其他语言中。另外,SCA绑定也在web服务,JMS,JCA和其他通信机制中存在。SCA的目标是减少SOA的概念原理到可以在一个具体上下文中讨论的具体元素集合。
SCA的好处有:
·使用组件和组合简化SOA实现
·使用松耦合的组件和参考来支持敏捷特性
·通过一个综合的调用模型支持事件驱动的行为
·将开发和集合分开,允许技术不可知的组合
建立服务:程序集(Assembly)模型
程序集模型描述了服务是如何被定义和配置的。
组件是SCA模型的核心,可以用支持SCA的任何语言来实现。一经定义,组件可以使用属性来声明配置,这将在接下来的实现中映射到accessor和mutator。
下面的是一个XML声明的组件。
- 本文关键词:

