在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

开源 SCA 实现 Apache Tuscany 走向 1.0

  • 2007-09-07
  • 本文字数:1297 字

    阅读完需:约 4 分钟

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

2007-09-07 06:561592

评论

发布
暂无评论
发现更多内容

Mybatis工作流程及其原理与解析

小小怪下士

Java 程序员 架构 mybatis

Databend 参加 PingCAP 用户峰会 2022

Databend

数据仓库 开源社区 云平台

ESP32-C3入门教程 基础篇(六、TIMG 硬件定时器 与 软件定时器)

矜辰所致

软件定时器 ESP32-C3 9月月更

RabbitMQ的深入理解和最简单的用途说明

小小怪下士

Java 程序员 架构 RabbitMQ

赛事升级,烽烟正燃!网易云信 Innovation 2022 开发者大赛等你参加!

网易智企

开发者大赛

中移链DDC-SDK技术对接全流程(三)

BSN研习社

客户说你的 SaaS 产品不好用怎么办?

产品海豚湾

产品经理 SaaS 客户关系管理 产品运营 9月月更

ShareSDK Uni-app 插件

MobTech袤博科技

uni-app ios android

Spring事务角色与事务属性

十八岁讨厌编程

Java 后端开发 9月月更

JavaWeb核心之ServletConfig

楠羽

Servlet 笔记 9月月更

常用的注册中心以及他们的对比

想要飞的猪

zookeeper nacos Eureka

数字化转型趋势|汽车电子软件开发工具链必看

laofo

DevOps cicd 研发效能 持续交付 DevOps工具链

Web3.0杂谈-#002(48/100)

hackstoic

Web3.0

Spring事务管理

十八岁讨厌编程

Java 后端开发 9月月更

ESP32-C3入门教程 基础篇(七、LEDC — LED PWM 控制器)

矜辰所致

pwm ESP32-C3 9月月更

什么是企业知识管理体系?它的基本原则是什么?我们又该怎样做?

Baklib

知识管理 知识 知识管理体系

前端必读2.0:如何在React 中使用SpreadJS导入和导出 Excel 文件

葡萄城技术团队

前端 Excel 框架

如何使用禅道集成钉钉

禅道项目管理

钉钉 项目管理工具 禅道

Chrome操作指南——入门篇(十)调试小技巧

Augus

Chrome开发者工具 9月月更

百亿市场遭「卡脖子」,国产工业软件兴起正当时

ToB行业头条

用多线程实现归并排序

聚变

归并排序 Lambda函数

异常场景测试

转转技术团队

测试方案 异常测试 用例设计

SpringMVC初识

十八岁讨厌编程

Java 后端开发 9月月更

如何避免这10类常见故障?B站数据库架构设计做了这5步……|TakinTalks稳定性社区

TakinTalks稳定性社区

数据库治理 故障治理

中小企业数字化转型需求增加,如何才能做好?先从在线协作工具开始!

Baklib

数字化转型 企业 在线协作文档 在线协作

计算机上的高性能计算,你了解多少?

Finovy Cloud

高性能计算

如何根治 Script Error.

阿里巴巴终端技术

前端 终端 Script

Chrome操作指南——入门篇(八)breakpoint

Augus

Chrome开发者工具 9月月更

好家伙!全网开源对标P5~P7程序员技术成长路线,阿里这次是真卷

程序员小毕

Java 程序员 面试 程序人生 架构师

Chrome操作指南——入门篇(九)调试小技巧

Augus

Chrome开发者工具 9月月更

开源SCA实现Apache Tuscany走向1.0_Java_Stefan Tilkov_InfoQ精选文章