尽展体育的魅力,创造历史辉煌!
2008
让我们为奥运加油,为中国加油!
奥运金牌榜
高级搜索
首页
技术论坛
博客
产品中心
资源中心
银弹在线
商城
goCom - SOA中国第一社区
SOA和WebService
|
面向构件
|
业务流程
|
EOS
|
综合技术
|
goCom吧
|
版务区
|
商务专区
SOA和WebService
|
面向构件
|
业务流程
|
EOS
|
综合
Primeton EOS
|
Primeton BPS
OSOA专区
|
专题
|
技术日
|
活动
|
下载
推荐阅读
|
封面报道
|
特别报道
|
CIO锦囊
|
专栏
|
公司
|
银弹讨论
最新上架
|
银弹推荐
|
普通书籍
|
音像
|
护肤
|
生活
|
数码
goCom - 面向构件与SOA社区 讨论区
-
面向构件
SCA/SDO
SCA中国推进组
SDO中国推进组
银弹讨论
Tuscany
平台厂商
主题选项
点击展开
HOVER展开
--------
打印主题
[无发表权] 请登录或者注册
版主:
hongsoft
米布
wangfeng
ligang1111
个人资料
主页
OICQ
MSNM
SCA与Spring框架
#1楼
总分
126 分
财富
547
威望
53
排名
:(
段位
简介
Spring
框架普遍用于构建Java应用。它的目标是要减少编程环境的复杂度,与
SCA
有许多相同的设计原则。特别地,Spring提供了依赖注入机制的运行时容器,以便应用组件能避免直接对中间件API的编码。这也是
SCA
众多关键原则之一。
SCA
和Spring是天然的合作者。Spring在
SCA
中可以做为一种组件实现技术来使用。Spring框架能用于创建服务组件,并通过其依赖注入特性来连线构件中的服务组件。
SCA
既可通过将Spring bean作为
SCA
的组件服务来公布给其他
SCA
组件或远程客户来访问的方式,也可以通过为连线到服务的服务引用提供Spring bean的方式,来扩展Spring组件的功能。开发者和装配者可以衡量两种技术在他们应用中的力度。
SCA
是实现、框架和语言无关的服务构件和编程技术,
SCA
可以增加有用的功能到使用Spring实现的应用中。比如
u
支持远程组件
u
支持使用多协议的通讯
u
支持从各种编程语言实现的组件装配成应用
u
支持异步编程模式
u
支持组件以及组件与组件之间的灵活策略应用
SCA
和Spring的集成使得Spring在用Java构建
SCA
组件非常自然。
Spring组件实现规范概述
SCA
spring
组件实现规范指定了Spring框架在
SCA
中如何做为组件实现技术使用。
在粗粒度级别上,提供了在
SCA
中支持Spring框架。在
SCA
中可以使用已存在的Spring application context作为组件实现。支持Spring集成的
SCA
运行时环境支持在
SCA
装配中使用application context。对于这么一个组件,有可能不需要引入
SCA
metadata到Spring的配置中就可以连线(wire)Spring服务和引用。Spring上下文需要知道非常少的关于
SCA
环境的信息。指出了
SCA
元数据和Spring context的交互的两点是服务和引用。任意的策略强制性,如安全特性是由
SCA
运行时在调用Spring application context时,在最终信息达到目标spring bean之前提供的。在由application context向外调用时,
SCA
提供的引用可以提供策略强制性。
也可以在Spring配置中作为bean指定与
SCA
相关的元数据。Spring组件实现规范指定如下来完成以上工作:
u
Spring bean作为组件服务,对
SCA
有效。
u
Spring bean描述
SCA
属性。
u
Spring bean描述
SCA
引用。
三个元素:sca:service,sca:reference和sca:property,用于在Spring application context配置中来各自地标识
SCA
服务,
SCA
引用或
SCA
属性。
使用Spring来实现BigBank案例
在这节中,我们将看到Spring application context是如何被用于实现BigBank应用变种的。BigBank应用在
SCA
0.9规范的白皮书中公布过。Bigbank.account构件装配图如下所示:
bigbank.account
构件由AccountService和AccountDataService两个组件构成。它还将AccountService服务暴露在构件外部,同时依赖于构件外部的StockQuoteService引用。AccountService组件有两个依赖。第一个是外部的引用,第二个是对由AccountDataService组件提供的服务的连接。AccountService组件和AccountDataService组件都用Spring application context实现。在这种情况下,AccountDataService组件使用已存在的Spring bean AccountDataService实现,如下所示:
<beans>
<bean id="AccountDataService" class="bigbank.account.AccountDataService"/>
</beans>
正如它展示的,在application context中没有
SCA
元数据。
AccountService
组件使用
SCA
感知的Spring application context实现,如下所示:
<beans>
<bean id="X">
<property name="aPropertyName" ref="Y"/>
</bean>
<bean id="Y">
<property name="SQRef" ref="StockQuoteService"/>
<property name="ADRef" ref="AccountDataService"/>
</bean>
<sca:service name="AccountService" type="bigbank.account.AccountService" target="X"/>
<sca:reference name="StockQuoteService" type="bigbank.account.StockQuoteService"/>
<sca:referencename="AccountDataService" type="bigbank.account.AccountDataService"/>
<beans>
该组件使用了两个Spring bean X和Y来实现。application context包含了
SCA
服务和引用的显式声明。AccountService是导出的服务,还有了两个引用:StockQuoteService和AccountDataService。AccountDataService引用是该application context外部的一个引用,由
SCA
连线到前面讲到的AccountDataservice组件所导出的服务。StockQuoteService引用也是该application context外部的一个引用,并由
SCA
运行时外部的StockQuote Web service提供。
使用Spring组件实现技术的
SCA
装配SCDL文件和相应的图以及Spring application context如下所示:
<composite xmlns="
http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="
http://bigbank.com"
name="bigbank.account">
<service name="AccountService" promote="AccountServiceComponent">
<interface.java inter/>
<binding.ws port="... #wsdl.endpoint(AccountService/AccountServiceSOAP)"/>
</service>
<component name="AccountServiceComponent">
<implementation.spring location="..." />
<reference name="AccountDataService" target="AccountDataServiceComponent"/>
<reference name="StockQuoteService" target="StockQuoteService"/>
</component>
<component name="AccountDataServiceComponent">
<implementation.spring location="..."/>
</component>
<reference name="StockQuoteService"
promote="AccountServiceComponent">
<interface.java inter/>
<binding.ws port="...#wsdl.endpoint(StockQuoteService/StockQuoteServiceSOAP)"/>
</reference>
</composite>
总结
SCA
和Spring框架作为基于面向服务架构的业务解决方案方面,为构建Java组件形成了很好的合作关系。两个模型的体系联盟一气,并且
SCA
为使用Spring 框架的Java实现的组件提供更广泛的装配支持。
参考资料
[1]
Spring Framework
[2]
SCA Spring Component Implementation Specification
[3]
SCA Building Your First Application - Simplified BigBank
[4]
SCA Assembly Specification
2007/12/18 12:07
共有
1
位用户对该贴评分,该贴目前总评分为
4
分
普元EOS公开培训
SOA博客精英 重金寻求
g币赠送:EOS公开培训调研
IDC最新白皮书《软件商成长路线图》免费下载
普元业务流程平台-Primeton BPS 最新频道火热上线
IDC:SOA中国路线图白皮书免费下载
普元诚招EOS技术咨询顾问
1271835149
个人资料
Re: SCA与Spring框架
#2楼
初级会员
加油哦
2007/12/23 22:07
普元EOS公开培训
SOA博客精英 重金寻求
g币赠送:EOS公开培训调研
IDC最新白皮书《软件商成长路线图》免费下载
普元业务流程平台-Primeton BPS 最新频道火热上线
IDC:SOA中国路线图白皮书免费下载
普元诚招EOS技术咨询顾问
mattwangready
个人资料
Re: SCA与Spring框架
#3楼
初级会员
继续加油,能不能跟ejb3结合呢
1月24日 10:04:16
普元EOS公开培训
SOA博客精英 重金寻求
g币赠送:EOS公开培训调研
IDC最新白皮书《软件商成长路线图》免费下载
普元业务流程平台-Primeton BPS 最新频道火热上线
IDC:SOA中国路线图白皮书免费下载
普元诚招EOS技术咨询顾问
yindetao
个人资料
Re: SCA与Spring框架
#4楼
总分
12 分
财富
2
威望
1
排名
:(
段位
學習中...
3月14日 11:15:05
普元EOS公开培训
SOA博客精英 重金寻求
g币赠送:EOS公开培训调研
IDC最新白皮书《软件商成长路线图》免费下载
普元业务流程平台-Primeton BPS 最新频道火热上线
IDC:SOA中国路线图白皮书免费下载
普元诚招EOS技术咨询顾问
[无发表权] 请登录或者注册
发表回复
账号
用户名
密码
登录
内容:
字体大小
xx-small
x-small
small
medium
large
x-large
xx-large
字体
Arial
Courier
Georgia
Helvetica
Impact
Verdana
字体颜色
#000000
#000033
#000066
#000099
#0000CC
#0000FF
#003300
#003333
#003366
#003399
#0033CC
#0033FF
#006600
#006633
#006666
#006699
#0066CC
#0066FF
#009900
#009933
#009966
#009999
#0099CC
#0099FF
#00CC00
#00CC33
#00CC66
#00CC99
#00CCCC
#00CCFF
#00FF00
#00FF33
#00FF66
#00FF99
#00FFCC
#00FFFF
#330000
#330033
#330066
#330099
#3300CC
#3300FF
#333300
#333333
#333366
#333399
#3333CC
#3333FF
#336600
#336633
#336666
#336699
#3366CC
#3366FF
#339900
#339933
#339966
#339999
#3399CC
#3399FF
#33CC00
#33CC33
#33CC66
#33CC99
#33CCCC
#33CCFF
#33FF00
#33FF33
#33FF66
#33FF99
#33FFCC
#33FFFF
#660000
#660033
#660066
#660099
#6600CC
#6600FF
#663300
#663333
#663366
#663399
#6633CC
#6633FF
#666600
#666633
#666666
#666699
#6666CC
#6666FF
#669900
#669933
#669966
#669999
#6699CC
#6699FF
#66CC00
#66CC33
#66CC66
#66CC99
#66CCCC
#66CCFF
#66FF00
#66FF33
#66FF66
#66FF99
#66FFCC
#66FFFF
#990000
#990033
#990066
#990099
#9900CC
#9900FF
#993300
#993333
#993366
#993399
#9933CC
#9933FF
#996600
#996633
#996666
#996699
#9966CC
#9966FF
#999900
#999933
#999966
#999999
#9999CC
#9999FF
#99CC00
#99CC33
#99CC66
#99CC99
#99CCCC
#99CCFF
#99FF00
#99FF33
#99FF66
#99FF99
#99FFCC
#99FFFF
#CC0000
#CC0033
#CC0066
#CC0099
#CC00CC
#CC00FF
#CC3300
#CC3333
#CC3366
#CC3399
#CC33CC
#CC33FF
#CC6600
#CC6633
#CC6666
#CC6699
#CC66CC
#CC66FF
#CC9900
#CC9933
#CC9966
#CC9999
#CC99CC
#CC99FF
#CCCC00
#CCCC33
#CCCC66
#CCCC99
#CCCCCC
#CCCCFF
#CCFF00
#CCFF33
#CCFF66
#CCFF99
#CCFFCC
#CCFFFF
#FF0000
#FF0033
#FF0066
#FF0099
#FF00CC
#FF00FF
#FF3300
#FF3333
#FF3366
#FF3399
#FF33CC
#FF33FF
#FF6600
#FF6633
#FF6666
#FF6699
#FF66CC
#FF66FF
#FF9900
#FF9933
#FF9966
#FF9999
#FF99CC
#FF99FF
#FFCC00
#FFCC33
#FFCC66
#FFCC99
#FFCCCC
#FFCCFF
#FFFF00
#FFFF33
#FFFF66
#FFFF99
#FFFFCC
#FFFFFF
范例 Example
[
更多...
]
版权归Primeton普元公司所有 沪ICP备05008205号
关于goCom
|
联系我们
|
联系普元
|
隐私权声明
|
XOOPS