InfoQ

新闻

Tuscany SCA Java 1.2和SDO 1.1发布啦

作者 Boris Lublinsky译者 张龙 发布于 2008年5月20日 上午9时6分

社区
Architecture,
SOA,
Java
主题
开放源代码,
SOA平台
标签
服务组件架构

Apache Tuscany小组上月发布了服务组件架构(Service Component Architecture,即SCA)项目的1.2版及服务数据对象(Service Data Objects,即SDO)项目的1.1版。

SCA和SDO最初是由IBM和BEA开发的一套规范,现在由OASIS开放合成服务架构(Open Composite Services Architecture,即Open CSA)维护。工作成员包括:IBM、BEA、Primeton、Sun、SAP、Oracle、Red Hat及SOA软件。

Apache Tuscany SCA 1.2版实现了最新的SCA规范,包括:

  • SCA装配模型V1.0
  • SCA策略框架V1.0
  • SCA Java公用注解及APIs V1.0
  • SCA Java组件实现V1.0
  • SCA Spring组件实现V1.0
  • SCA BPEL客户端及实现V1.0
  • SCA Web Services Binding V1.0
  • SCA EJB Session Bean Binding V1.0
  • 带有SCA域管理应用的改进的SCA分布域支持
  • 对JAXWS注解的支持
  • 改进且简化的JMS绑定
  • 新的Eclipse插件以提供Eclipse环境下的Tuscany运行库与Tuscany加载器
  • 与Tomcat、Jetty、Geronimo及Websphere集成的Web容器测试框架 

它还实现了很多SCA规范尚未定义的特性,如下:

  • 针对DWR(Direct Web Remoting)、RSS与ATOM种子、HTTP资源、JSON-RPC、PUB/SUB通知及RMI的SCA绑定
  • 针对OSGI、XQuery、BPEL、Widget及各种动态语言如Groovy、Python、Ruby和Javascript的SCA实现类型
  • 针对服务数据对象(Service Data Objects,即SDO)、JAXB、XmlBeans、Axis2的AXIOM、JSON、SAXON、DOM、SAX及StAX的数据绑定

该版本使用如下运行时进行了测试:

  • Tomcat 5.5.20和Tomcat 6.0.14
  • Jetty 6.1.3
  • Geronimo 2.0.2
  • WebSphere 6.1 fix pack 9

Apache Tuscany SDO 1.1版包含如下新特性:

  • 支持具有相同名字的属性和元素
  • 在Swing UI中支持DataObjects的客户化数据绑定

它还针对现存功能进行了大量改进并修复了一些bug。

InfoQ采访了来自IBM的Luciano Resende,他对Apache Tuscany项目做出了很多贡献。

InfoQ:对于该版本新增的众多特性,你认为哪些最重要?

LR: SCA用来构建分布式的组合应用,带有SCA域管理应用的新的SCA分布域支持允许你构建并部署你的解决方案到多个SCA节点上。这些节点可以运行在不同的平台和运行时(如Geronimo、Tomcat及Jetty等)上,或者仅仅运行在普通的J2SE上。通过OSGI的支持,用户现在可以在OSGI运行时上运行Tuscany和SCA。新的Tuscany的Eclipse插件改善了开发者构建SCA应用的用户体验。它集成了Tuscany与Eclipse以将Tuscany运行时加到你的项目中;通过提供的代码辅助来进行组合编辑,并且可以直接从开发环境中运行组合应用。

InfoQ:能否描述Tuscany对WS-BPELin支持的改进计划?

LR: 在Tuscany主干上,我们刚刚完成了另一个里程碑以更好的集成WS-BPEL和SCA 。我们现在支持将对SCA服务的引用作为WS-BPEL过程合作者的链接。Tuscany使用Apache ODE作为一个参考的WS-BPEL引擎,同时利用了随这一发行版发布的部分ODE。作为下一步要考虑的,下面的条目来自关于该主题的一次讨论:

  • WS_BPEL过程内省
  • 对异步调用的更好支持
  • 使用SCA组合替换ODE部署描述符

InfoQ:可否集中管理SCA配置? 

LR: 在当前的Tuscany发布中无需绑定配置就能打包应用,可以在SCA域组合层次上定义绑定点和其他属性。SCA域组合是一套组合文件用来包含这类信息(网络和绑定配置)。在这种情况下,SCA域作为一个登记处,可以集中管理也可以分布管理,同时还能从网络上的不同来源跟踪SCA元数据。

InfoQ:该版本支持哪些立即可用的策略? 

LR: 对于Web Services绑定,我们有认证、完整性和机密性策略。我们还提供了对使用Java容器实现的基于JAAS认证的支持。我们尚未实现基于JAAS的授权,因为这看起来更像是对Java资源的授权控制。 

安全的Big Bank示例说明了这两者的组合:web services绑定用来进行认证,然后将认证过的用户令牌传给java容器,接下来后者检查授权。

我们还支持日志策略。

InfoQ:能否更详细地介绍一下对JMS的支持?

LR: 对JMS的支持允许你在服务和引用上声明JMS绑定,配置/定义大量设置,如:JNDI URLs、初始上下文工厂、ConnectionFactory、JMS头、使用的源和目的队列等等。至于其他细节,Tuscany使用ActiveMQ作为其默认的JMS提供者,但是也可以配置以使用不同的提供者,因此一些细节依赖于所使用的提供者。

InfoQ:将来还会增加什么新特性呢?

LR: 这要依赖于Tuscany社区了,然而从当前的讨论来看,我们想出下面这些:

  • 将OSGi提升为一等的Tuscany运行时环境
  • 对业务集成( Business Integration,即BPEL)更多的增强
  • 根据SCA规范不断更新……

我们还有大量Google Summer的编码项目正在进行中,这会在以下领域推进Tuscany的功能:

  • 与Google Services集成增强对Web 2.0的支持
  • 与Map/Reduce的集成
  • 移动领域——在Android上运行Tuscany

此外,STP/SCA子项目提供了大量工具以进行SCA开发,这能简化Tuscany SCA实现的使用。上个月他们发布了一个新的教程:SCA组合设计器新手上路,它提供了对这些工具使用的详细讲解。

查看英文原文:Tuscany SCA Java 1.2 and SDO 1.1 released

没有回复

回复

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!