Tuscany SCA Java 1.2和SDO 1.1发布啦

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

你可能感兴趣的:(Tuscany SCA Java 1.2和SDO 1.1发布啦)