InfoQ

新闻

专访Apache Tuscany项目核心开发人员Raymond Feng

作者 宋玮 发布于 2008年6月12日 上午2时20分

社区
Java,
SOA
主题
开放源代码,
平台,
企业架构
标签
服务组件架构,
基于组件的架构,
Apache

近日,Apache董事会全票通过Tuscany成为顶级项目的提案,从而使得Tuscany结束了为期29个月的Apache孵化期,成为可以独立按照Apache的精神和程序运作的项目。这一项目的主要推动者为IBM、德勤(Deloitte)、普元(Primeton)和Amdocs等全球领先的IT公司。Raymond Feng是Tuscany项目的核心开发人员,有着多年的SOA平台开放经验,同时也是SCA实施的领军人物。日前,InfoQ中文站就Tuscany项目的相关问题对他进行了专访。

InfoQ中文站:Tuscany目前对SCA规范提供了什么支持?

Raymond:Apache Tuscany不仅提供所有已公开发布的SCA规范的支持,同时也支持其他尚未在SCA标准之列的Web 2.0和企业级相关实现/协议。Apache Tuscany在相关领域的创新和尝试也对SCA规范提供有价值的反馈,推动SCA规范的改进和拓展。Tuscany项目的若干主要开发人员同时也是SCA规范的参与者。从以上意义上来讲,Tuscany远非一个SCA规范的参考实现,而是SCA的一个重要实验基地和推手。

InfoQ中文站:Tuscany的特色或独特之处是什么?

Raymond:Apache Tuscany提供开放式可扩展的运行环境以支持现在和将来的各种技术。这将解除应用程序对底层技术的依赖和偶合,使得跨技术网络平台的组装成为可能并大大简化,如:
  • 多种构件实现,包括Java、BPEL、XQuery和JavaScript;
  • 多种通讯协议,包括RMI、Web Services、JSONRPC、Feed、EJB和CORBA;
  • 多种接口语言,包括Java和WSDL;
  • 多种数据绑定,包括XML、JavaBeans、JAXB、SDO、XMLBeans、JSON和AXIOM。

Apache Tuscany集成其他技术,包括OSGi、Spring、JEE和Web 2.0等。该项目提供了从小型到企业级业务的广谱支持,解决方案提供商,中间件平台提供商,最终用户和开发人员都可获益。Tuscany是一个轻载的平台,可以独立运行或嵌入在WebSphere、Geronimo、Tomcat和Jetty等应用服务器中。

Apache Tuscany同时提供和许多其他Apache项目的集成,包括AXIS2(Web Services)、Tomcat(Web Container)、OpenEJB(EJB)、Geronimo(JEE)、ActiveMQ(JMS)、Felix(OSGi)、ODE(BPEL)和Abdera(ATOM)。

Apache Tuscany提供一个基于Web 2.0界面的分布式域(Domain)管理程序,对SCA贡献(Contribution)、构件组(Composite)和运行结点(Node)等进行分布式管理、配置、发布和运行等。

InfoQ中文站:为方便用户使用,Tuscany提供了什么样的开发平台?

Raymond:Tuscany项目本身提供一个Eclipse插件,可以帮助用户设置项目Classpath,编辑和验证SCA XML文件,运行和调试SCA应用。现在该插件已经和Tuscany的SCA域管理结合,可以在Eclipse平台内启动域管理。

InfoQ中文站:SCA-Tools项目的目前进展/计划又是怎样的?

Raymond:SCA现已正式成为Eclipse STP之下的一个子项目,该项目提供SCA的图形化的开发环境。Eclipse STP/SCA和Apache Tuscany项目相互独立,Tuscany是对STP/SCA有兴趣的项目之一。而STP/SCA使用Tuscany作为SCA的运行环境,并支持Tuscany的非SCA规范的扩展。

InfoQ中文站:Tuscany SCA项目其他语言实现的进展情况如何?

Raymond:Tuscany项目有一个基于C++的SCA运行环境,在Apache之外还有一个PHP的SCA运行环境,请参照:http://pecl.php.net/package/SCA_SDO

值得提到的是uscany SCA Java运行环境支持若干Scripting语言,包括JavaScript、Groovy、Ruby和Python等。此外,Tuscany SCA Java支持基于XML的BPEL和XQuery语言。

从我所观察到的情况,开源社区以对SCA Java运行环境的兴趣为主,开发活动也最为活跃。

InfoQ中文站:Tuscany目前有哪些成功的使用案例?

Raymond:我们有来自用户自发的成功使用案例,请参照http://incubator.apache.org/tuscany/projects-using-tuscany.html。我需要指出的是这仅仅是其中很小的一部分,从Tuscany项目的用户邮件列表,我们可以窥见有很多用户正在评估,实验和使用Tuscany,包括普元公司用Tuscany为国内的一个金融服务公司实现了SOA架构和业务组件规范等。

InfoQ中文站:如果我们要为系统选择一个合适的SCA容器,如何评估?

Raymond:为项目选择SCA容器时,可以考虑从下面几个角度来做决定:
  • SCA规范支持的程度(包括广度和深度)
  • 构件实现的种类(决定你可以用什么语言来实现业务逻辑,如Java、Scripting、BPEL、XQuery、Spring和OSGi)
  • 通讯协议的种类(决定你可以配置什么协议来进行构件之间的交互,或访问已有外部服务, 或开放服务给外部客户,如Web Services、JMS、EJB、RMI、CORBA和JSONRPC)
  • 数据格式的种类(决定你可以用什么格式来表示业务数据,如POJO、JAXB、SDO、XMLBeans、DOM、XML String、STAX、AXIOM和JSON)
  • 支持的QoS(决定你可以使用那些企业级的功能,如交易和安全)
  • 可支持的运行环境
  • 可扩展性(决定你是否可以加入新的实现/协议/数据支持)
  • 产品的授权/LICENSE(决定你有多大的自由度来使用该产品,是否免费,是否可以获得源码,是否可以改动源码以及是否可以发布其类库)
  • 开源社区的规模和用户的认可度(决定你获得支持的可能性)

InfoQ中文站:Tuscany的下一步计划是什么?

Raymond:现在有多个方面正在进行和即将展开:
  • 来自Google夏季代码(GSoc:Google Summer of Code)的六个项目,包括Geronimo的Tuscany/SCA管理中心、CORBA支持、Map/Reduce应用、Android平台和Google Services集成等。
  • SCA Policy框架的进一步完善
  • 对交易(Transaction)的支持
  • 分布式域的实现
  • 和其他平台或技术的集成,如OSGi
  • 实现SCA/JEE集成规范
开始关注Tuscany的开发 发表人 Jack Wang 发表于 2008年6月12日 上午3时15分
Re: 开始关注Tuscany的开发 发表人 Raymond Feng 发表于 2008年6月12日 下午11时21分
Tuscany SCA中文论坛开通了! 发表人 Raymond Feng 发表于 2008年6月14日 下午1时25分
  1. 返回顶部

    开始关注Tuscany的开发

    2008年6月12日 上午3时15分 发表人 Jack Wang

    公司进行产品化研发,正在评估Tuscany,发现一个小问题,在下载包中基本没有使用文档和api,线上都是有,但是也很少,也不方便,建议在这方面进行改善。

  2. 返回顶部

    Re: 开始关注Tuscany的开发

    2008年6月12日 下午11时21分 发表人 Raymond Feng

    谢谢你的关注和建议. 有关线上文档可以在以下网页查询: http://incubator.apache.org/tuscany/java-sca-documentation-menu.html

  3. 返回顶部

    Tuscany SCA中文论坛开通了!

    2008年6月14日 下午1时25分 发表人 Raymond Feng

    本论坛提供一个中文的交流平台, 让对Apache Tuscany项目和SCA技术感兴趣的您可以在此畅所欲言. http://groups.google.com/group/tuscany-sca-chinese

深度内容

和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标准。