服务构件架构(SCA)核心概念和术语介绍
 

2009-12-15 作者:needle 来源:primeton.com

 

该文介绍了服务构件架构的核心概念和术语。

System

一个SCA System表示了一个组织在某一个业务领域提供的Service Set。一个SCA System由多个Subsystem和Modles组合而成;SCA System完成了Module的实例化,配置和连接。结构如下图:

Subsystem

Subsystem用来组合Module Component, 以及SCA System的EntryPoints, External Services。

Component对外保露的是一个Java Interface或者WSDL Interface;Module将Component组合在一起,并且有选择的将Coponent的接口对外保露成Entry Point;SubSystem是将Module组合在一起,并且有选择的将Module的EntryPoint暴露出来。这样Module的粒度比Component大,SubSystem的粒度比Module高。SCA System由Sub System和Module组成,SCA System对外暴露的接口就是组成它的Sub System和Module暴露出来的EntryPoint。

Module

SCA Module是一个在开发和部署时,紧耦合组件组合的”最大组织单元”。而在SCA System中它是一个松耦合组合的“基本组织单元“。一个SCA Module装配了Components, External Services, Entry Points和用来将这些对象互联在一起的Wire。Modules将服务实现构造成一个SCA System。Module是作为Module Component的实现来使用的。

Module有如下特性:

  • 定义了组件的可视边界,组件是不能被外部模块直接引用的。
  • 模块内的组件通讯采用Local方式,模块间的组件通讯采用Remote方式
  • 它定义了一个部署单元。Modules是用于将一个SCA系统需要的业务逻辑工件(artifacts)组装在一起。

Module Component

Module Component是一个Module在Subsystem中的配置实例。Moudle是Module Component的实现。对于SCA Subsystem来说只关注Module Component和Module Component提供的EntryPoint,而不关注Module的实现细节,比如Reference, External Service等等。

Module Component是一层更高层次的封装和抽象,但个人感觉这个抽象不是很清晰,或者是理解还不到位,:)

Entry Point

SCA Entry Points用来声明一个Module提供的外部可访问的服务。这些服务可以是Module内组件提供的服务,也可以是Module引用的外部服务提供的服务。我们可以任务EntryPoint是外部客户端访问一个Module的唯一途径。

EntryPoint使用Binding将接口和实现绑定在一起,EntryPoint可以和WebService, EJB Stateless Method, SCA Remote Service等等绑定,而且绑定机制可以扩展,比如在EOS里面我们可以将Bizlet,Bizlogic绑定为Module的EntryPoint.

Component

SCA Component是SCA Implementation的配置实例。SCA Component将实现和接口绑定在一起,其中SCA Implementation可以为Java、BPEL, BusinessRules, C++等。

Compoents对外暴露的接口支持Java Interface和WSDL Interface两种模式。 SCA也提供了扩展机制,允许SCA Component提供其他类型的接口。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织