Eclipse SOA项目中的SCA、JAX-WS和Ajax

日期: 2007-12-30 作者:Rich Seeley 来源:TechTarget中国 英文

在一月份的时候,当Eclipse 基金会为SOA项目(STP)召开的第一次委员会结束之后,SearchSOA.com对Iona Technologies公司首席技术官 Eric Newcomer进行了简短的采访。9月的第一周,在麻省剑桥将举行Eclipse世界大会,SOA项目(STP)委员会准备在大会上做一个关于SOA项目的进展报告,因此,就这个报告内容,我们采访了Newcomer。


  在Eclipse SOA 项目中,服务组件架构(SCA)的用途是什么呢?



Eric Newcomer说:在SOA项目中,服务组件架构(SCA)是我们称为核心子项目(Core Subproject)中的一部分。的确,这个项目的核心部分是,你如何在服务之外创建组件。服务组件架构(SCA)的用途是,获得对服务的描述(如Web服务描述语言WSDL),以及在服务之外创建一个组件,该组件包括必要的信息——把服务映射到运行时所必需的信息。因此,在SOA项目中,服务组件架构(SCA)部分的用途确实是,在服务中添加信息——配置服务或者映射服务到运行时所必需的信息。


  服务组件架构(SCA)是的工作机制是什么呢?


  Newcomer说:在SOA项目中,服务组件架构(SCA)是分为三个步骤进行。第一步是,找到要创建的服务。第二步是,在服务中添加元数据——称为服务组件架构(SCA)程序集元数据。程序集元数据用于运行时解释。第三步是,你如何把程序集元数据映射到运行时中。服务组件架构(SCA)主要用在描述和配置之间,是一个中间步骤。它包括运行时必须的元数据,用于指出如何把服务配置成组件。将来会有很多种运行时支持。目前,作为一种概念验证,我们首先要验证的是JAX-WS运行时——支持Java Web服务的、最新的Java API。


  你如何使用服务组件架构(SCA)来实现服务到组件的映射呢?


  Newcomer说:目前,服务组件架构(SCA)是如何发展的,其中一部分就是了解,如何创建多种从SCA元数据到各种不同运行时的映射。因此,如果把服务组件架构(SCA)项目应用到SOA项目中的话,其目的就非常明确了:如果要传输一个非特殊的、或者标准的Web服务定义到组件类型中,而且,该类型是可以被配置到运行时以及多种不同的运行时,那么我该怎么操作?如果是那样的话,服务组件架构(SCA)项目就几乎能够满足SOA项目所需要的功能——如何得到服务组件架构(SCA)程序集元数据,这些程序集元数据是适合于多种不同运行时的,而且人们希望使用它来进行SOA配置。


  服务组件架构(SCA)中,哪些还不是标准组件,对于上述的这种应用还不够成熟呢?


  Newcomer说:在服务组件架构(SCA)中,程序集规范是关键规范。当然,我不排除将来仍然有发生某些变化的可能性,但是,程序集元数据的主要特性是组件类型定义,而且,我们认为程序集元数据是相当地稳定——足够的稳定,完全可以SOA项目中使用。


  对于运行时而言,你为什么选择JAX-WS运行时呢?


  Newcomer说:原因之一是:我们有Iona公司提供的JAX-WS代码,而且,我们能够验证它。JAX-WS运行时与Sybase公司以及IBM公司的初始化代码匹配的非常好。为了验证JAX-WS的实用性,首先对子项目的整合进行测试,我们能够为这些子项目提供JAX-WS代码。测试结果,JAX-WS完全具备实用性,它能够与我们在项目中可以使用的代码完全匹配,但是,我认为:在Java 社团中,JAX-WS作为SOA运行时,正在被广泛采用。其实,这个测试中包含着两个目标。使用实际的衡量标准来检测概念、以及检测不同子项目的整合。同时,使用广泛采用的SOA运行时JAX-WS来提供概念验证。


  使用JAX-WS验证概念之后,你打算支持哪些其他的运行时呢?


  Newcomer:我们希望看到用于Spring、EJB 3以及多种不同的ESB运行时的映射。这将取决于开发商们的贡献。目前,我们主要是研究一些代码,来自于该项目的三个原始提供者——IONA公司、IBM以及Sybase公司。随着项目的推进,我们希望,其他公司也能够为这个项目做出贡献,使支持的运行时越来越多。


  为了把Ajax功能整合到这个项目中,你做了哪些工作呢?


  Newcomer说:Ajax主要是用在客户端。在这个SOA项目中,我们主要做的是服务的配置,而通过客户端访问服务这一部分稍微少一些。当然,这一部分是非常重要的,我们稍后将关注它。但是,SOA项目的焦点是:如果我们打算使用SOA项目的话,我将如何操作——我已经完成了满足业务需求的服务设计——我将如何创建这些服务呢?在需要多种服务结合起来使用时,我将如何把它们集合起来呢?我将如何把服务配置到各种不同的运行时呢?我们真正关注的是:如果你已经完成了你的SOA设计,那么,你将如何创建了你的服务,你将如何把你的服务与其他服务集合成为组件,你将如何把你的服务配置成运行时。当然,对于访问服务而言,Ajax是非常重要的,但是,我认为SOA项目关注的远远不止是创建、集合和配置本身。当然,关于如何访问服务这一部分,我们将关注(Eclipse)Ajax项目,以及一些门户项目。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐