写点什么

Tuscany SCA Java 1.2 和 SDO 1.1 发布啦

  • 2008-05-20
  • 本文字数:2070 字

    阅读完需:约 7 分钟

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

2008-05-20 09:06966
用户头像

发布了 88 篇内容, 共 253.7 次阅读, 收获喜欢 6 次。

关注

评论

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

老周的 2022 年终总结

老周聊架构

年终总结 12月月更

OpenTelemetry系列 (五)| OpenTelemetry Java Instrumentation二次开发指南

骑牛上青山

Java 调用链 OpenTelemetry 微服务调用链 agent

模块4

KING

架构训练营-模块二作业

Sam

架构实战营

CleanMyMac2024一款超好用的Mac清理优化工具

茶色酒

CleanMyMac CleanMyMac X CleanMyMac X2023

AI-001-火爆全网的聊天机器人ChatGPT能做什么

非典型产品经理笔记

nlp 人工智能’ ChatGPT

【web 开发基础】PHP中的访问方法(60)

迷彩

PHP基础 property 访问方法 类的封装 封装性

2023-01-01:remix-ide是浏览器的ide,官方已经提供地址,但是需要连接外网。如果是内网,需要自己在服务器里搭建remix-ide;另一种方式是用remix-ide的桌面版。这里只讨论

福大大架构师每日一题

云原生 k8s k3s 福大大 remix-ide

运维进阶训练营 -W10H

赤色闪电

运维

模块五作业

Ryan

构架

从这两道题重新理解,JS的this、作用域、闭包、对象

loveX001

JavaScript

校招前端面试题集锦

loveX001

JavaScript

华为云弹性服务器ECS,如何入局新能源产业?

秃头也爱科技

架构训练营模块二作业

gigifrog

架构训练营

滴滴前端常见面试题

loveX001

JavaScript

云端高性能计算,华为云ECS助力企业数字化转型

秃头也爱科技

弹性公网IP支持多产品灵活绑定或解绑,能为企业提供独立公网IP资源!

秃头也爱科技

音与影的魔法红线:双Vivid标准带来的超高清之变

脑极体

华为云ECS弹性云服务器,赋能企业加速数字化发展

秃头也爱科技

2022-12-31:以下go语言代码输出什么?A:1 1;B:-1 1;C:-1 -1;D:编译错误。 package main import “fmt“ func main() { a

福大大架构师每日一题

golang 福大大 选择题

【web 开发基础】PHP面向对象中类的继承(61)

迷彩

面向对象 extends PHP基础 类的继承 类的实例化

【JVM故障问题排查心得】「内存诊断系列」Xmx和Xms的大小是小于Docker容器以及Pod的大小的,为啥还是会出现OOMKilled?

洛神灬殇

jdk JVM 12 月 PK 榜 OOMKilled

针对Web应用的攻击模式

穿过生命散发芬芳

HTTP 1月月更

校招前端一面经典react面试题(附答案)

beifeng1996

React

2022年度总结-个人成长视角

非典型产品经理笔记

个人成长 网络安全 年终总结

架构设计模块三作业

附加信息

架构训练营

CleanMyMac2024专业Mac清理软件下载

茶色酒

CleanMyMac2024

从输入URL到渲染的过程中到底发生了什么?

loveX001

JavaScript

以华为云ECS为例,解读中小企业为何纷纷转投弹性云服务器

秃头也爱科技

【web 开发基础】PHP类的构造方法和析构方法(59 )

迷彩

面向对象 PHP基础 构造方法 析构方法

AI-002-十分钟理解ChatGPT的技术逻辑及演进(前世、今生)

非典型产品经理笔记

NLP 大模型 人工智能’ ChatGPT

Tuscany SCA Java 1.2和SDO 1.1发布啦_Java_Boris Lublinsky_InfoQ精选文章