Apache Tuscany 团队日前发布了其开源 Service Component Architecture (SCA) 实现的 0.99 版本。SCA 是一套旨在简化 SOA 应用开发的规范,正在作为 Open Composite Services Architecture (Open CSA) 的一部分由 OASIS 进行标准化。
InfoQ 有机会与开发带头人 Jean-Sebastien Delfino 对话从而获得了进一步的信息。
当被问及 SCA 规范还缺少哪些部分时,Jean-Sebastien 回答:
很难预言 OASIS OPENCSA 工作组的成果将是什么样,但是依我看来规范的这些方面尚待努力: - 支持更多语言,不仅限于 Java,C,C++ 和 BPEL,以及 PHP,JavaScript,Ruby,Python,Groovy 等脚本语言。Tuscany 已经支持这些语言,并且我们将要为各规范工作组准备提案。我们还刚刚收到了一份支持 XQuery 的捐献代码,这也是一个候选提案。
- 更多绑定(binding),在 Tuscany 里我们已经开发了 JSON-RPC,DWR,ATOM/RSS,RMI 的扩展。我想看到 Web2.0 的各种绑定得以进入规范。
- 更多 SCA 策略,包括事务策略(规范策略工作组已经在进行这个工作)。
这里先前有些争论,到底 SCA 中组装模型(assembly model)还是编程模型(programming model)更为重要。Tuscany 同时支持 SCA 组装模型(既是编程模型也是服务网络配置模型)和 SCA Java 编程接口以及标注。Jean-Sebastien 了解这些争论,他阐述了自己的观点:
一个业务 / 集成应用开发者不应该为了参与 SOA 开发就被强迫了解 10 种不同的 API。我们举一个应用例子,需要和一个数据库,一个 ERP 系统,一两个 Web Service 和提要(Feed)打交道,并且集成 Web 2.0 用户界面。用 SCA 和 Tuscany,你可以通过一个单一的服务编程模型(Service programming model)来看待所有这些东西,而不是 10 种不同 API……SCA 就是要简化业务应用开发者的工作,API 是其中的重点。
Tuscany SCA-Java 项目不只是支持 Java 语言,而且也支持 Groovy、Python、Ruby、JavaScript(0.99 中有)、XQuery(没有包含在 0.99 中,但在 1.0 分支中已经能用)。基于 Apache ODE 的 BPEL 支持也在 1.0 的日程当中(参见 InfoQ 上 Paul Brown 谈 ODE 的文章)。
还有 Tuscany SCA-Native 和 SDO-C++ 子项目,已经发行了三个版本。SCA-C++/Native 不但支持以C++ 编写的SCA 组件,还支持Python、Ruby 和PHP;与本地Python、Ruby 和PHP 解释器集成良好;支持Axis2C 的Web Service,和以模块方式与Apache Httpd 集成的REST。SDO-C++ 提供一个高性能的SDO API 的C++ 实现,并与Apache Axis2/C 当中的Axiom 集成。同时还有PHP 支持,由 SCA-SDO-PHP 项目提供。
Tuscany SCA-Java 0.99 是 1.0 之前的最后一个版本。 IBM WebSphere Application Server V6.1 SOA 功能包是一个已经利用了 Tuscany 的商业产品。据 Jean-Sebastien 的意思,想法是九月中旬剥离 1.0 发行版分支,而九月末放出 1.0 版本。
Jean-Sebastien 同时要我们申明 Apache Tuscany 团队乐于接受任何贡献,包括代码,测试,改进文档,或者 bug 报告。需要下载或者获得发行版的更多信息请访问 http://incubator.apache.org/tuscany/sca-java-releases.html 。
查看英文原文: Apache Tuscany Open Source SCA Implementation Approaches 1.0 Release
评论