SCA软件架构

合集下载

基于SCA的服务架构技术的研究

基于SCA的服务架构技术的研究
wh c s La g a e I d p n e tc mp n n d lc n smp iy t e c e t n a d i t g a in o u i e s b s d o OA. i p p r ih i n u g . n e e d n o o e t mo e a i l h r a i n n e r to fb s n s a e n S . f o Th s a e i t o u e o c p 。f a u e ,a c i c u e wh c r h r g a nr d c sc n e t e tr s rht tr , e ih a e t e p o r mmi g mo e fS n d lo CA , a d i u t a e o t n l s r t s h w O i lme ta d c l l mp e n n a l
基 于 S A 的 服 务 架 构 技 术 的 研 究 C
文 覃 编 号 ;0 35 5 ( 0 0 1 - 0 2 0 1 0 - 8 0 2 1 ) 10 3 - 2
基 于 S A 的 服 务 架 构 技 术 的研 究 C
S u y o e v c c ie t r c o o y b s d o CA t d n S r i e Ar h t c u e Te hn l g a e n S
介 绍 了 S A 编程模 型的概 念、 C 特点 、 框架结 构 , 并在 此基础上 提 出 了用 S A 组 件模 型实现和 调用 We C b服务 。 这

技 术恰恰 是 S OA 架构 中所需 要的。
文 献 标 识码 :A
【 键词 】S 关 0A,S A,组 件 架 构 ,We C b服 务

外军软件通信体系结构规范

外军软件通信体系结构规范

软件开发与应用Software Development And Application电子技术与软件工程Electronic Technology & Software Engineering 外军软件通信体系结构规范朱娇1祝颂东2阮轶杰3(1.31131部队江苏省南京市210000 2.陆装驻南京地区第一军代室江苏省南京市211101)(3.上海美多通信设备有限公司上海市200333 )摘要:本文对美国国防部软件通信体系结构(S C A)进行了研究,对美军软件通信体系结构进行了概括性的描述,并着重从硬件体 系结构、软件体系结构和安全体系结构三个方面展示了 SCA系统的灵活性、可移植性、互操作性、复用性、可扩展性及开放特性,讨论了 其对我军通信建设的参考价值。

关键词:软件通信体系结构(SCA);联合战术无线电系统(JTRS)1背景美国国防部进行的联合战术无线电系统(JTRS)是世界上最先 进的战术无线通信系统之一,为美军的现役战术电台系统,它是一 种软件可编程的模块化通信系统,能与多种传统波形互通,可提供 C4ISR能力的、可扩缩的大容量战术电台系列。

JTRS建立在通用 开放体系结构上,是保密的、即插即用的,JTRS具有可现场配置 的模块式硬件和波形软件,具有自动网络寻址和分配带宽的能力,基本工作频段为2〜2000MHz,能传话音、视频和数据。

JTRS通 过循序渐进的方式部署,逐步取代了传统的系统,自身易于升级和 改进。

JTRS的实施分为三个阶段:1.1体系结构定义阶段为满足1997年美联合战术无线电台《任务需求说明》中确立 的联合通信要求,JTRS联合计划办公室将JTRS实施的第一阶段 任务确立为通信体系结构定义,美国雷声、摩托罗拉和波音公司被 分别指派了定义软件通信体系结构的任务,于1999年6月完成了 该阶段的工作。

最终雷声公司提供的“软件通信体系结构(SCA: Software Communications Architecture)w,由联合战术无线电系统(JTRS)联合计划办公室颁布。

SCA基础

SCA基础

构建组件服务
• 构建组件服务前需首先设计服务接口
package dateServices; import org.osoa.sca.annotations.Remotable; @Remotable public interface DateService { String getDate(); }
火龙果整理
பைடு நூலகம்
Service Component Architecture
服务组件架构
本节内容
• SCA基本概念、元素 • SCA服务接口与调用 • HelloSCA例子
火龙果整理
火龙果整理
SCA基本概念、元素
需求背景
火龙果整理
构建组件服务
• 将业务逻辑写入组件实现
package dateServices; import java.text.SimpleDateFormat; import java.util.Date; public class DateServiceImpl implements DateService { public String getDate() { // TODO Auto-generated method stub SimpleDateFormat df = new SimpleDateFormat("yyyyMM-dd HH:mm:ss"); return df.format(new Date()); } }
组件(Component)
火龙果整理
• 组件是SCA中的基本组成元素和基本构建单位, 也是具体实现业务逻辑的地方。 • 一个组件是配置过的实现具体功能的代码实现, 可以把传统的POJO,无状态会话BEAN等包装成 SCA中的服务组件。 • 一个组件可以提供一个或者多个服务 • 它可以使用其他组件提供的服务

SCA软件架构设计理念分析

SCA软件架构设计理念分析

SCA软件架构设计理念分析一、组件化:SCA鼓励开发者将软件系统拆分成可独立开发、测试和维护的组件。

这些组件可以是服务、消息传递等形式,每个组件都有明确定义的接口和功能。

组件之间通过标准化的协议和消息进行通信,这种组件化的设计将系统内在的复杂性进行了抽象和隔离,使得系统更易于理解和维护。

二、服务导向:SCA将服务视为系统的核心,将系统功能划分为一系列可被独立调用的服务。

服务可以是同步的也可以是异步的,它们通过明确的接口和描述信息提供功能,并通过协议进行通信。

服务之间可以相互组合和组装,使得系统变得灵活和可扩展。

三、松耦合:SCA通过标准化的接口定义和协议来实现组件之间的松耦合。

组件之间只需要了解彼此的接口和消息格式,而不需要了解具体的实现细节。

这种松耦合的设计使得组件的替换和更新变得容易,系统的可维护性和可扩展性也得到了提高。

四、面向政策:SCA通过引入政策(policy)的概念,将系统的非功能性需求与组件的功能需求进行了解耦和。

政策可以被应用到组件上,影响组件的行为和性能。

通过将政策应用到组件上,可以更好地管理系统的安全性、可靠性、事务管理等方面的需求。

五、平台无关:SCA设计理念将系统的业务逻辑和平台相关的实现进行了分离。

开发者可以通过SCA定义自己的业务逻辑和组件,而不需要关心具体的部署平台和技术细节。

这种平台无关的设计使得系统更具灵活性,能够适应不同的运行环境和技术栈。

总结来说,SCA的软件架构设计理念围绕组件化、服务导向、松耦合、面向政策和平台无关展开。

它提供了一种灵活、可扩展和易于维护的方式来设计和组织复杂的软件系统。

通过采用SCA的设计理念,开发者可以更好地理解和管理系统的复杂性,提高系统的可靠性和可维护性。

SCA介绍及应用实例

SCA介绍及应用实例

SCA介绍及应用实例中国软件评测中心陈兵1. 什么是SCASCA(Service Component Architecture)是针对SOA提出的一套服务体系构建框架协议,内部既融合了IOC的思想,同时又把面向对象的复用由代码复用上升到了业务模块组件复用,同时将服务接口,实现,部署,调用完全分离,通过配置的形式灵活的组装,绑定。

从代码级的面向对象思想,到组件级的EJB概念,再到服务级的SOA理念,是一个开发复用的不断提升的过程,经历的经验教训正在给实践做出最好的指导。

SOA提倡的就是更高级别的复用,服务的复用,Internet提供了开放的环境,但是没有一种统一的服务访问模式,让各个企业之间成了信息内部丰富的孤岛,需要将这些孤岛串联起来,同时要最大限度的复用有限的资源,因此提出了面向服务概念,但是多年的SOA口号下却缺少着一个真正的实施标准和解决方案,因此SOA的理论传播大于实际实施。

面向服务的体系架构(SOA)提供了一条途径来解决紧耦合和应用固化的问题。

SOA承诺它将带来诸多好处,例如提高商业敏捷性,提高灵活性,降低成本,使异构和分布式环境中的信息共享变得更加容易。

SOA描绘了一个蓝图,但实现SOA仍然是一个挑战。

可供选择的用来实现SOA的技术令技术人员迷惑, 他们需要具有比较全面的技术才能成功建构一个SOA应用。

SCA可以解决这一问题——提供了一个用以创建面向服务的端到端企业应用的简单模型。

SCA(Service Component Architecture)其实就是将过去EJB的成果继续下去,基于Component的复用,同时吸收了IOC的思想,Component之间的组装是通过SCA框架来实现的,但是很重要的一点,他没有走EJB的老路,而是学习spring的轻量级框架,不再为开发者作的面面俱到。

SCA的Component和OSGI的Bundle一样其实是对Java封装的一种贯彻,它有需要Import的服务引用,需要Export的服务,很重要一点就是它对于Component,service,reference的实现都没有作限制,这类对象只需要有个接口定义和实现描述即可,当前规范中支持的接口定义可以是java接口也可以是wsdl文件(最终也是转换成为java接口),实现的话那么更加广泛java,webservice,rmi,jms,脚本语言等等,同时提供了扩展接口。

基于sca模型的应用集成架构研究

基于sca模型的应用集成架构研究

广东工业大学硕士学位论文基于SCA模型的应用集成架构研究姓名:***申请学位级别:硕士专业:计算机应用技术指导教师:***20070501第二章面向服务的应用集成引用连接各个子系统和模块。

图2-4SCA系统∞】Figure2-4SCASystmn2.3.2基于SCA的应用集成SCA的一个非常重要的特点就是隔离关注,SCA服务模块强制地将服务的接口和服务的绑定完全分离,服务就是业务的服务,而绑定则是服务的外在表现和通信协议,和服务本身的逻辑是没有交叉的,具体来说,一个模块可以暴露出同~个接口的多种绑定形式,这就可以被不同的业务环境集成。

这符合我们一般的思维模式,比如服务本身的逻辑我们可以类比于是MVC模式中的model,而多种不同形式的绑定就相当于View。

运用SCA进行应用集成的另一个优势在于用它关注的重点只是SOA构建者所看到和接触到的,而不需要关注用来执行SCA模块的运行时是如何构架的。

这个运行时可以实现为一个将所有的SCA服务组件编译成为Java类的丑陋的单一服务,或者是一组模块化的引擎(每个组件一个引擎),这些引擎可以通过一个企业服务总线(ESB)来进行通讯。

SCA提供构建粗粒度组件的机制,可进行打包和部署那些紧密相关的细粒度组件,这些组件是作为一个整体部署的。

这种机制使服务的实现和组装不再直接面对具体的技术细节的层次,而是通过服务组件的方式来构建应用,因而使得客户的企业应用具有良好的分层架构,能够很好的分广东工业大学工学硕士学位论文第四章集成架构设计及关键问题研究4.1架构模型设计本文设计的基于SCA的应用集成参考架构,是以SCA、SDO与DAS(DataAccessService)相结合的应用架构,架构采用分层的方法设计成五层,由下到上分别是:数据源层、数据服务层、SCA组件构建与组装层、服务发布与调用代理层、服务调用层,集成架构模型如图4.1所示。

图4-1基于SCA的应用集成架构Figure4-1ApplicatkmIntegrationArchitectmeBasedSCA数据服务层DAS屏蔽了底层异构数据源的差异性,向SCA组件层提供SDO数据服务。

SCA和SDO标准

SCA和SDO标准
如果您使用 XQuery 是否需要 SDO? 与 SCA 和 SDO 保持技术独立(一) 与 SCA 和 SDO 保持技术独立(二) 用 和 SDO 实现数据连续性 Forrester 公司称 JBI,SCA 依然游离在 SOA 之外
SCA 和 SDO 标准对 SOA 具有什么重要意义?
当每一个上述情景是可溶解的,每一个要求有不同的编码技术。
用 SCA 的方法,这样的逻辑位于的地点-- 横跨网络或当地-- 应该是需讨论的点,不 要提及语言工具—PHP,JAVA 或者是 C++—都将不相关。这最后的陈述可能会让你问 “嘿,这个听起来很像非选拔的网络服务,不同在哪里?”好好看看清单 1.2,包括一 PHP SCA 组件。
让我们从看看 SDO 能提供给你什么开始。在一个典型的 PHP 应用软件当中,数据将会 很大程度上来自于一个相关的数据库,但是假如这些相同的应用软件稍后既需要访问这些 资源的信息,又要访问一个平台或者 Web 服务的信息,那将会发生什么?最好的是它将可 能成为一个很长的过程,最坏的它将会是一令人费解的任务,这样的原因是每个数据资源 和他本身的一系列适当的古怪行为一起来的。
答:服务组件体系结构(SCA)描述了一个使用 SOA 的核心概念进行程序及系统构建 的模型规范。SCA 支持一种业务应用程序代码组织,该组织是基于执行业务逻辑的组件, 通过面向服务的接口发挥功能,并且使用其他组件通过面向服务的接口,即服务引用接口 发挥的功能。
在构建 SCA 程序组件时,需要完成以下两个主要步骤。第一,服务组件的实施不仅要 提供服务,而且也能使用其他服务。其次,通过服务引用的服务线路要装配成套组件,以 构建业务应用程序。
Page 6 of 32
服务于 PHP 的 SCA 和 SDO

sca工具 使用手册

sca工具 使用手册

sca工具使用手册(最新版)目录1.SCA 工具简介2.SCA 工具的功能与特点3.SCA 工具的使用方法4.SCA 工具的实际应用案例5.SCA 工具的未来发展前景正文【SCA 工具简介】SCA 工具,全称“软件组件分析工具”,是一款用于分析软件组件之间关系的专业分析工具。

通过对软件系统进行建模和分析,SCA 工具能够帮助开发人员和测试人员更好地理解系统的结构和功能,从而提高软件质量和开发效率。

【SCA 工具的功能与特点】SCA 工具具有以下主要功能和特点:1.强大的建模能力:SCA 工具能够快速建立软件系统的模型,使得开发人员和测试人员可以更好地理解系统的结构和功能。

2.灵活的分析方法:SCA 工具提供了多种分析方法,如静态分析、动态分析和模型驱动分析,以满足不同场景下的分析需求。

3.可视化界面:SCA 工具提供了可视化的界面,使得用户可以直观地查看和操作软件系统的模型。

4.插件扩展:SCA 工具支持插件扩展,可以根据用户的需求进行定制化开发。

5.适应性强:SCA 工具可以适应不同的软件开发过程和方法,如敏捷开发、DevOps 等。

【SCA 工具的使用方法】SCA 工具的使用方法分为以下几个步骤:1.安装和配置 SCA 工具:根据官方文档,下载并安装 SCA 工具,配置好相关的环境变量和插件。

2.创建软件系统模型:根据实际软件项目,创建对应的软件系统模型,包括组件、接口、关系等。

3.进行分析:选择合适的分析方法,对软件系统模型进行分析,得到相关的分析结果。

4.查看和解读分析结果:通过可视化界面,查看和解读分析结果,找出潜在的问题和风险。

5.根据分析结果进行优化:根据分析结果,对软件系统进行优化,提高软件质量和开发效率。

【SCA 工具的实际应用案例】SCA 工具在实际应用中具有广泛的应用场景,例如:1.软件系统架构设计:通过 SCA 工具,可以更好地进行软件系统架构设计,提高系统的可维护性和可扩展性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SCA软件架构
一、SCA(Service Component Architecture)软件架构的概述SCA是一个开发SOA(Service-Oriented Architecture)面向服务应用的简单模型规范,它描述用于使用SOA构建应用程序和系统的模型。

它可简化使用SOA进行的应用程序开发和实现工作。

SCA仅仅是个规范,各个涉及SOA技术的公司的实现也各不相同。

SCA是由Open Service Oriented Architecture collaboration 提出的一种组件化的面向服务编程模型,并于2007年正式捐献给OASIS组织。

SCA提供了服务组件模型、装配模型和策略框架来支持各种异构应用的封装和集成。

同SCA并列提出的SDO规范,定义了SOA应用程序中访问各种异构数据源的方法。

组件可以以各种不同的协议发布服务,包括SOAP、RMI、REST、JMS,甚至可以是虚拟机内的对象直接调用。

组件可以使用多种技术实现, 包括EJBs, Java POJOs ,Spring Beans,BPEL process , COBOL ,C++, PHP …
SCA中,最重要的一个概念是Service----服务,它的内涵是独立于具体的技术。

因此,SCA不会称之为 Java组件架构,或Web Service 组件架构。

所谓的具体技术,主要有两层含义:一是程序语言,而是传输协议。

现有的组件是和传输协议紧密耦合的。

比如EJB组件采用的是RMI 传输协议,Web Service组件采用的是SOAP传输协议。

SCA组件则能
自由地绑定各种传输协议。

SCA是对目前组件编程的进一步升华,其目标是让服务组件能自由绑定各种传输协议,集成其他的组件与服务。

SCA与传统的业务组件最大区别在于SCA实现了两个功能:一是组件和传输协议的分离,二是接口和实现语言的分离。

二、SCA规范基础知识
SCA编程模型是高扩展性和语言中立的,它易于被扩展为多种实现语言技术JAVA,C++,BPEL,PHP, Spring等,多种远程访问bindings包括Web Service,JMS, EJB,JSON RPC等,多种主机环境例如Tomcat,Jetty,Geronimo,OSGI等。

SCA分隔式架构可以使开发者更注重业务逻辑,而不必要关注诸如可靠性,安全,事务等系统属性,这些属性都配置到配置文件中。

SCA的组成部分如下图所示:
(1)Component
深蓝色方框(Component A和Component B)表示是Component。

Component是SCA原子(最基层的组织单元),其封装了实际的业务逻辑。

Component可以采用运行环境支持的任何编程技术实现。

例如,Apache Tuscany项目目前支持Java、JavaScript、Ruby、Python和C++组件类型,同时为创建新的组件类型提供了扩展API。

(2)Property
Property (Component A和Component B上方的黄色方框和Composite A的黄色小方框)。

Property控制Component的行为,在部署其间可以被可改变。

同时Composite也可以有Property,但其Property是Component Property升级(Promote)后的Property。

(3)Service
Service是供其它Component调用时使用。

在图中接口用Component 方框左边的绿色箭头来表示,被称作SCA的“服务”(Service)。

(4)Reference
Component也描述了被该Component调用的其它组件的接口,在图中这样的接口用组件方框右边的粉红色箭头来表示,称为SCA的“引用”(Reference)。

这些Service和Reference被连接在一起,组成一个可运行的系统。

(5)Composite
如果说Component是SCA架构中的原子,那么Composite就是SCA架构中的分子;图中的两个Component,A和B,被组装在一个更大Composite范围内,被称作Composite A。

SCA的Composite描述了一个由互相连接的Component所构成的集合。

正如你所看到,Composite也声明了Service和Reference,它们被暴露到Composite 外部。

Composite的service和Reference是Composite内部的Component的Service和Reference的升级。

一个Composite内部的Component彼此连接就如同创建一个运行在同一进程中的紧耦合的应用程序。

将Composite通过Service和Reference连接在一起,则形成了一个更加松耦合的系统;系统中的每一个Composite都可能运行在一个单独的进程或处理器中,在网络中通过各种的协议和传输绑定连接起来。

通过这个途径SCA为独立和分布式应用提供了统一的编程模型。

(6)Wire
Wire是连接Service和Reference的连线。

(7)Promote
Promote是wire的特殊表现形式,是把Component级别Service或者Reference升级为Composite级别的连线。

(8)Domain
为了更直观地介绍domain,如下图所示:
从上图可以清楚地看出,Domain是个逻辑的概念,管理跨机器,跨进程的Composite,同时Composite也可以跨机器跨进程部署,从而可以管理分布式部署的SCA,所以Domain是个相当重要的SCA概念。

其实除了Domain是管理含义外,还有外部接口界面的含义。

三、SCA软件架构的体系结构
前面硕果SCA(Service Component Architecture)是基于Component(组件)的复用,当然组件就是SCA最主要的组成部分了。

下面我们详细地讲解述SCA中的组件。

1、SCA的体系结构
SCA 将构建面向服务的应用程序的步骤划分为两个主要部分:
(1)实现提供服务和使用其他服务的组件
(2)组装组件,以通过服务引用其他服务的方式来构建业务应用程序
SCA 提供了一种机制,用于打包和部署那些紧密相关的组件,这些组件是作为一个整体开发和部署的。

这种机制使服务的实现和组装避免了陷入基础设施功能的细节,也避免了调用外部系统。

这样可支持不同基础设施间的服务可移植性。

2、SCA体系结构—Component(组件)
SCA最基本的元件是组件(component),这是系统的构成单元,也是提供服务的基本单元。

•服务(services),表示由本组件提供给其他组件使用的业务功能;
•实现(implementation),这里的实现是指提供了特定业务功能的代码段;
•属性(properties),这是一些影响业务功能的数据值,可以通过设置这些属性值对实现进行配置;
•引用(references),表示本组件的实现所依赖的由其他组件提供的服务。

3、SCA体系结构—composite(模块/构件组)
模块是一起开发和部署到SCA 系统的最大紧密耦合组件。

由一个或多个具有内在业务联系的服务组件构成。

SCA 模块包含一系列组件、外部服务、入口点,以及用于衔接这些部分的机制。

模块向 SCA 系统提供服务实现。

入口点定义模块提供的公共服务,此服务可以由同一模块内的其他组件使用,也可以在模块外使用。

入口点用于使用特定的绑定发
布模块提供的服务。

模块内的外部服务表示其他模块提供的远程服务。

它们位于使用
此服务的 SCA 模块之外。

组件可以像访问 SCA 组件提供的任何服务一样访问这些外部服务。

外部服务使用绑定来描述对外部服务的访问。

通常都有一个posite文件用来描述Composite的结构以及每一个Component的实现,接口,服务,引用的定义。

•一个组合构件可以包含多个构件。

•每个构件可以定义多个服务和引用;服务和引用通过"接口描述"来描述其业务功能。

SCA中包含了两种类型的接口描述:Java接口和WSDL PortType。

•可以为每个构件指定至多一个构件实现。

构件实现是构件服务功能的具体实现。

•可以为一个构件定义多个构件属性。

•可以为服务和引用定义一个或多个绑定信息。

服务和引用的默认绑定是SCA绑定。

4、SCA体系结构—系统域(Domain)
域(Domain)是一个系统或者子系统。

它由n个Composite组成。

在SCA系统中,Domain 用于聚合那些提供了相关业务功能的模块。

这是通过配置和管理模块组件、外部服务、入口点,以及连接机制来完成的。

SCA 系统的配置由所有部署到其中的子系统的组合加以表示。

四、SCA软件架构的好处
1、跨平台、跨语言,不改变应用程序情况下,使用不同的技术来
作为组件的实现,或者改变通信协议等等
2、组件可以自由替换,软件具有高度的弹性以适应变化
3、服务可以通过简单的配置进行发布和调用
4、提供了组件的装配规范,可以快速高效组装应用程序
5、可以适用于各种规模的软件开发。

相关文档
最新文档