【IT168 产品新闻】Apache Tuscany团队刚刚宣布了Java SCA项目1.1版本的发布。

Apache Tuscany是一个基于服务组件框架(Service Component Architecture,SCA)的运行时环境。SCA 是一个新的组件模型,它可以用来帮助创建组合应用。SCA的规范最开始是由IBM和BEA制定的,现在由OASIS进行了标准化,成了Open Composite Services Architecture(Open CSA)的一部分。工作组的成员包括:BEA,IBM,Primeton,SAP,Sun Microsystems,Oracle,Red Hat,SOA Software,Xcalia等等。

Open SOA组织将SCA定义为:

服务组件框架(SCA)为构建基于SOA的应用程序和系统提供了编程模型。它的基础思想是:把业务功能作为一系列服务,组装起来为特定的业务需要创建解决方案。

Tuscany SCA Java 1.1版添加了如下特性:

JMS绑定,

改进的策略支持

一个实现扩展,用来把客户端的JavaScript应用表示成SCA组件。

InfoQ采访了Jean-Sebastien Delfino和Luciano Resende,他们来自IBM,都参与了Apache Tuscany项目。

InfoQ:从1.0版以后你们收到了哪些反馈?

JS:用户的反馈非常好,从1.0以后在我们的用户列表里面留言的人就增多了。给我留下的一个整体印象是,他们觉得Tuscany很容易安装,容易使用,而且为SCA 1.0规范提供了很好的支持。

我们还收到了一些请求:

更多的策略支持

安全策略,这个在1.1里面有了改进

事务策略,我们正在进行开发

JMS (1.1版中已经有了这个特性)

InfoQ:人们现在用Tuscany开发的项目有哪些种类呢?

JS:项目种类的范围还是非常大的,有学生用它来进行网格和分布式计算的实验,也有现实世界的银行业应用。

InfoQ:你觉得什么地方采用SCA底层架构效果最好呢?

JS:那些可以依赖一个简单的编程模型和组合的基于Web Service的应用最适合使用SCA。另外,有些传统的集成方案,用一个简单而一致的编程模型贯穿绑定和组件实现类型,它们也比较合适。

我们最近刚刚发现SCA也可以帮助开发人员构建Web 2.0的应用。

InfoQ:从SCA和Web 2.0的角度出发,你可以解释一下“widget”的实现是怎么工作的吗?

JS:用现在可以包含在一个SCA组合中的客户端组件作为例子,该客户端组件是用HTML+JavaScript辅以AJAX方式来实现的,它运行在你的Web浏览器中,用Tuscany的JSONRPC和ATOM绑定来与服务端组件联系。从根本上说,是在分布式的SCA组合中包含了Web 2.0客户端组件。

你可以这样用JavaScript来定义引用:

//@Reference

var catalog = new Reference("Catalog");

//@Reference

var shoppingCart = new Reference("ShoppingCart");

在对引用进行内部分析之后,我们生成了一些附加的JavaScript,实现了用于支持JSON-RPC、ATOM和对引用进行了包装的Reference类的制式代码,你可以在业务逻辑中使用它们。

这里有一些示例代码。

InfoQ:对BPEL的支持怎么样?

Luciano:那还没有完成。我们已经提供了对服务的支持,但是引用部分还没有做完。我目前正在这方面投入精力来把它搞定。对各个属性的支持同样也没有完成,但它们需要针对BPEL语言的一个扩展。如果社区需要的话,这部分会在下个版本里面提供。我刚刚更新了BPEL实现向导。

InfoQ:新版本的计划是什么?

JS:Tuscany社区需要作出决定(因为1.1才刚刚发布),不过按照我的想法,应该会在下面这些方面有所进展:

对SCA策略提供更简单更全面的支持

更多的策略(在事务策略方面取得进展)

改进后的端对端SCA contribution(译者注:Contribution是Tuscany对资源的划分单位)/部署/分布的流程

一个SCA域管理应用

与Geronimo集成(在Geronimo沙箱中已经有了一个原型)

对Web 2.0绑定加以改进(在Atom实现方面,我们可能会使用Apache Abdera,然后增加对JSONRPC绑定的跨域支持)

对Tuscany的数据绑定支持进行优化

更多的平台集成测试(Tomcat,Geronimo等等)

InfoQ:IBM在WebSphere产品线上,对Apache Tuscany的市场定位是怎样的呢?

JS:这里有比较详细的信息,不过最基本的一点就是,IBM的 WebSphere Application Server v6.1 SOA特性包中使用了Apache Tuscany,从而提供SCA的实现。

谢谢!

java tuscany_Apache Tuscany Java 1.1发布相关推荐

  1. java 7 发布,【UC浏览器】Java平台7.0正式版发布啦

    [UC浏览器]Java平台7.0正式版发布啦 UC浏览器是UC 优视科技开发的一款手机浏览器,支持WEB.WAP页面浏览,速度快而稳定,页面排版美观:具有网站导航.搜索.下载.个人数据管理等功能,您能 ...

  2. Java EE 7公共草案已发布。 我需要Java EE Light Profile!

    2012年12月20日,Java EE 7的公共草案已上载. 乍一看,新规范是对Java EE 6中后续规范的改进.例如,我真的很喜欢Web Profile的想法. 遗憾的是它不是Java EE 6 ...

  3. 基于JAVA+SpringBoot+Mybatis+MYSQL的新闻发布系统

    前台的功能介绍: 系统中所有用户的密码都使用借助了MD5算法来进行加密,使得密码在数据库中不是明文显示,增加安全性(MD5并不是加密算法,但我们可以它的单向特性加密,只能说聊胜于无) 前台页面提供了用 ...

  4. Java社区对Java发布周期声明的反应

    InfoQ最近报道了Oracle关于Java发布模型和时间表的声明.该声明受到Java生态系统大多数参与者的广泛欢迎,但是Java标准化过程以及Java标准制定组织(JCP)在未来版本中的作用仍然存在 ...

  5. java计算机毕业设计即时高校信息发布系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计即时高校信息发布系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计即时高校信息发布系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构 ...

  6. java撤销删除_[Java教程]利用npm安装/删除/发布/更新/撤销发布包

    [Java教程]利用npm安装/删除/发布/更新/撤销发布包 0 2017-06-10 00:00:32 一.什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 ...

  7. java service包_利用 javaService 发布服务(jar包)

    jar在java中作为一种项目的发布形式比较普遍,往往为了容易管理更需要作为一种系统服务发布--起码服务器重启了不用人工去重新打开你所以往运行的jar文件. 这里简单的介绍下怎么将jar发布到winN ...

  8. Java:Speedment 3.2的发布–现在启用轻量级数据库微服务

    几种传统的ORM不能完全遵循Java模块封装(JPMS). 这通常意味着在部署微服务时会使用很多不必要的文件和类. 最新的主要版本3.2的开源 Speedance通过引入模块系统支持来解决此问题,该模 ...

  9. 再见,Java 8!Java 17 发布,堪称史上最快的 JDK

    点击关注公众号,利用碎片时间学习 Java 17 于昨日正式发布,新版本提供了不少新特性和功能增强.不过对于大多数项目而言,往往需要更改代码才能利用到这些新变化,但性能除外 -- 开发者只需要升级 J ...

  10. java 报502错误_后台发布文章,报502错误

    3# 发表于:2017-09-06 11:43:20  IP:106.96.*.* 2017-09-06 11:40:53 Commons Daemon procrun stderr initiali ...

最新文章

  1. mapreduce编程规范_大数据之MapReduce详解
  2. Juliane Begenau
  3. 网络通信之 字节序转换原理与网络字节序、大端和小端模式
  4. 无法打开多维数据集(使用Dundas的OLAP显示控件时的一个小的问题)
  5. 绑定控件中%#Eval()%和%=变量%的执行顺序
  6. 如何解决SSM框架前台传参数到后台乱码的问题
  7. 拓端tecdat|matlab使用贝叶斯优化的深度学习:卷积神经网络CNN
  8. vs2017激活密钥
  9. VAR模型与VECM模型
  10. vivo android 6.0 root,vivo X6 A(全网通)如何获取ROOT权限教程
  11. 软件质量模型的六大特性和27个子特性
  12. C51与MDK共存 Keil5安装教程
  13. 计算机b类核心期刊有哪些,cssci、A类、B类、C类、核心期刊都是什么等级的期刊?...
  14. Rplidar学习(四)—— ROS下进行rplidar雷达数据采集源码分析
  15. 简述软件工程、软件开发方法、软件开发工具相关概念及之间的关系
  16. 图谱笔记(概念梳理)
  17. coldfusion php,coldfusion在php中解密
  18. rti connext dds 例子程序
  19. IC卡和ID卡的区别。
  20. 记录:2018年CCF优秀博士学位论文奖信息

热门文章

  1. oracle建表复制表结构,ORACLE复制表结构
  2. word文档怎么在左侧显示目录?
  3. 2015全国硕士研究生计算机考研真题(附答案)
  4. 【OpenCV】图像进行数字化操作:像素确定位置、获取像素BGR值、修改像素BGR值、修改指定区域内像素
  5. 学Java编程数学一定要很好吗?
  6. c语言中函数已有主体,error C2084 函数已有主体(Function already has a body)解决方案...
  7. Python数据处理之数据聚合
  8. mybatis 逆向工程 思维导图
  9. 房产证和不动产权证有什么区别?
  10. iOS 给文字添加删除线