Spring

在很多企业级的应用系统中,Spring已经担负起可靠的细粒度的集成框架;

OSGi

正在成为Java世界里最为有效的解决依赖关系的技术;

SCA

SCA是被标准化组织接纳为新一代标准的SOA重要构成之一;

一些有力的机构正在促成这个趋势


图中:SCA容器运行在OSGi内核中,SCA构件X借助OSGi注册服务确定boundle A的位置,并访问它


图中:OSGi的boundle A通过OSGi的注册服务访问到SCA容器中的构件X


图中:左侧是一个异构环境中的SCA容器,他可能支持如PHP、C++等技术;右侧是一个OSGi内核之上的java SCA容器,他为OSGi提供了与异构环境通讯的能力。

图中,构件X是一个通过implementation.osgi(非标准,但是软件提供商可能增加此扩展)实现的SCA构件,这里,构件X被绑定到一个web服务。反过来,构件X(boundle A)也可以通过SOAP访问议购系统中的构件Y(他也被绑定到一个web服务)。

SCA的先进思想在于:构件的实现(implementation)和引用(reference)将服务的实现和使用分离开来,同时将各种可能的通讯方式从业务代码中分离出来,转为由容器处理。

OSGi与SCA的结合提供了:

SCA与Spring

SCA与Spring具有很多相同点,如他们都提供了构件之间的引用和构件的可配置。但是SCA突出的优势在于:SCA是跨语言的,以及支持多种通讯方式的分布式架构:
SCA能够为基于Spring的的应用系统增加: