SCA(Service Component Architecture)编程模型入门
概览
目前业界主要的软件厂商都在大力推广面向服务的架构(Service Oritented Architecture,SOA)的概念,但是对
于很多客户来说,SOA 的概念还是显得相对抽象的。为了使客户能够更加简单的实现向这种面向服务架构的转变,IBM 在
推出一系列 WebSphere 新产品的同时,提出了一种新的服务组件模型。这是一种全新的、跟语言无关的编程模型,它提
供了一种统一的调用方式,从而使得客户可以把不同的组件类型,比如 POJO, EJB, 流程组件,人工交互组件等都可以通
过一种标准的接口来封装和调用。结合 SDO 的数据模型,这种服务组件的编程模型可以大大的简化客户的编程,提高应
用的灵活性,这就是面向服务组件的架构(Service Component Architecture,SCA)。目前 IBM 对 SCA 的支持是在
最近推出的 WebSphere Process Server(WPS)中,但是以后该服务组件模型将作为一个 IBM 软件重要的编程模型被
应用到底层平台当中。本文将介绍 SCA 编程模型中的基本概念,并以一个简单的例子来说明它的一些基本用法,期待能够
抛砖引玉,并为读者以后深入了解 SCA 打下基础。
1.1 SCA 的起源
基于组件的编程一直是软件业简化编程和提高效率和质量的一个重要方法,但是往往对于不同语言我们有不同的组件
模型,从而需要不同的调用方式。比如在 J2EE 技术领域,我们就有 EJB,POJO,JDBC,JMS 等,这对于开发人员来说是
一个极大的挑战。为了给这些不同的接口提供一个统一的调用方式,IBM 提出了 WSIF (Web Service Invocation
Framework,具体请参考 http://ws.apache.org/wsif/ ),并将它贡献给 Apache 组织。WSIF 作为 Web Service 领
域的一个规范,提供了一种基于 Java API 统一调用各种服务的能力。但是 WSIF 没有形成一个基于组件的架构模型,因此
IBM 在此基础上推出了一个面向服务的组件模型(Service Oritented Architecture, SCA)。这个模型不但解决了统一
调用的问题,还提出了一个基于组件的构建模型,并提供了许多面向企业计算的 QoS 能力。因此,从技术的角度来说,
SCA 是 WSIF 的延续和扩展。SCA 的目的是使用户在构建企业应用时有一个不再直接面对具体的技术细节的层次,而是通
过服务组件的方式来构建应用。这种方式也使得客户的企业应用具有良好的分层架构,能够很好的分离应用的业务逻辑和
IT 逻辑,不但易于应用的构建,也易于应用的更改和部署。
1.2 SCA 中的基本概念
服务组件模型(SCA)中提出了一些新的概念,比如服务组件,模块,共享库,导入和导出等。下面将分别解释这些
服务组件中的基本概念。
1.2.1 服务组件
服务组件是 SCA 中的基本组成元素和基本构建单位,也是我们具体实现业务逻辑的地方。我们可以把它看成是构建我
们应用的积木。我们可以非常容易地把传统的 POJO,无状态会话 BEAN 等包装成 SCA 中的服务组件。 SCA 服务组件的
主要接口规范是基于 WSDL(Web Service Description Language)的,另外为了给 Java 编程人员提供一个比较直接
的接口,SCA 的部分服务组件也提供了 Java 接口。因此,使用服务组件的客户端可以选择使用 WSDL 接口或 Java 接口。
服务组件提供给别的服务调用的入口叫 Interface(接口)。而服务组件本身可能也需要调用别的服务,这个调用出
口叫 Reference(引用)。无论是接口还是引用,其调用规范都是 WSDL 或 Java 接口。SCA 服务组件的接口模型请参考
图 1:
评论0
最新资源