InfoQ

新闻

Tuscany SCA Java 1.2和SDO 1.1发布啦

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

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

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

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。