快速业务通道

使用Spring Framework设计和开发SCA组件,第1部分 - 三剑客 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
Oriented Architecture (OSOA) 和针 对全球信息社会 (OASIS SCA Java) 规范的一些标准,Apache Tuscany 为 SCA 运行时提供了一个全面的基础架构。本文中的示例将使用 Apache Tuscany V1.5 ,它是截止本文撰写时的最新版本。要运行示例应用程序,需要 下载 Apache Tuscany SCA Java 实现的二进制发行版。

SCA Assembly Model

SCA 的基本工件是组件,它是 SCA 的基本构成单元。组件包含一个经过配置 的实现实例,其中,实现是提供业务功能的程序代码。业务功能将由其他组件作 为服务提供。实现有时需要依赖于其他组件提供的服务。这些依赖关系被称作 引用。

实现具有可设置的属性,它们是影响业务功能运转的数据值。组件通过为属 性提供值以及将引用关联到其他组件所提供的服务来配置实现。多个组件可以使 用和配置同一实现,而每个组件可以采用不同的方式来配置实现。

SCA 支持:

各种实现技术,比如说 Java POJOs、EJBs、Spring beans、BPEL Process、 COBOL 和 C++

一些脚本语言,比如说 PHP 和 JavaScript

一些声明式语言,比如说 XQuery 和 SQL

SCA 在一种被称作复合集(composites) 的集合中描述应用程序的内容和关 联,如图 1 所示。复合集可以包含组件、服务、引用、属性声明以及这些元素 之间的关联描述。复合集可以分组和链接采用不同实现技术构建的组件,从而允 许在各业务任务中采用适当的技术。复合集将部署在 SCA 域中。

图 1. SCA 复合图

SCA Assembly Model 包含一系列工件,它们在复合集方面定义了 SCA 域的 配置,其中包括服务组件以及描述组件之间的关联的相关工件。

使用Spring Framework设计和开发SCA组件,第1部分 - 三剑客(2)

时间:2010-12-03 IBM Ramkumar Ramalingam

SCA 与 Spring 两者相结合的优势

Spring Framework 与 SCA 采用许多相同的设计原则。SCA 将 Spring 视为 其组件的一种实现技术。SCA Spring Component Implementation Specification 定义了如何采用这种方式来使用 Spring。

与 Spring bean 类似,SCA 组件可以包含到其他组件所提供的服务的引用, 并且有一些属性可供配置。与 Spring 形成对比的是,SCA 是一种跨语言的分布 式组件架构,它支持多种组件通信机制。通过将 Spring beans 发布为可由其他 组件访问的服务并为 Spring beans 提供关联到其他(可能为远程)组件的服务 的引用,SCA 可以扩展 Spring 组件的功能。

要将 SCA 与 Spring 相结合,一种有效的方法是使用 Spring 来构建 “粗 粒度” 的服务组件实现,并引入到 SCA 中以便公开服务、关联服务组件以及处 理异构和分布式系统。SCA 可以在使用 Spring 实现的应用程序中添加一些有用 的功能,比如说:

对远程组件以及多种协议的扩展支持

支持使用不受 JVM 支持的各种编程语言来编写组件

支持 WS-Policy 针对安全性和事务等活动指定的策略

易于测试组件是 Spring 的一项优异的特性。缺少 API 和注入技术导致您只 能使用简单的模拟对象进行测试。SCA 在服务方面对此进行了补充,因为关于服 务组件的SCA 复合集可以方便地切换到模拟配置以进行测试。

将 Spring 应用程序定义为 SCA 组件

在 Apache Tuscany SCA 实现中,SCA 使用 Spring 作为其组件在 SCA 复合 集中的实现技术。可以将 Spring 应用程序定义为 SCA 复合集中的SCA 组件, 即 SCDL,其格式如下所示。

清单 1. 包含一个 Spring 组件的SCA 复合集

<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"     xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"     targetNamespace="http://calc"     xmlns:c="http://calc"     name="Calculator">   

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号