SCA和JBI的关系

 

Relationship of SCA and JBI

Added by Mike Edwards (IBM), last edited by Mike Edwards (IBM) on Mar 19, 2007  (view change)

原文选自OSOA.ORG

中英文名词对照

Service metadata---服务元数据

Composition--------组合

译文

SCAJBI的关系

本文阐述SCA规范和JBI规范的联系和区别。概括如下:

1.      SCA的支持者可以把JBI视为一个有助于在JAVA平台上实现SCA的实现标准。

2.      JBI的支持者可以认为SCA额外提供了服务的元数据描述,以一套标准的语法来定义在JAVA平台内或者JAVA平台和其他平台之间服务的组合。

SCAJBI都是为服务的构建和组合而定义的规范,很容易误以为它们是同一内容的竞争者。然而事实不是这样,这两个规范可以独立应用,也可以有效的合作因为它们着重的是服务组合这个命题的不同方面。

SCAJBI的目标人群是不一样的。SCA是为服务应用系统开发者定义的,它描述了如何开发,装配和部署由服务集合构成的应用系统,它的目标人群是服务的开发者,装配者和部署者。

SCA允许多种技术来实现服务(JAVA, BPEL,C++),多种服务间通信的方式(Web Service, JMS)。但是SCA没定义在运行时环境里如何提供一种新的服务实现方式,提供一种新的服务通信方式。这正是JBI的职责所在。

JBIJAVA平台的集成规范,为JAVA环境下的服务组合平台工具定义了开放的架构。它为中间件提供商定义了一套服务提供方接口,来实现一个新的服务引擎(对应SCA中的服务实现方式),一个新的绑定组件(对应SCA中的绑定方式),这些构成支持JBI规范的服务运行时平台。

 

SCAJBI如何合作

SCA中声明它的服务组件元数据是平台无关的,所以它可以用于JAVA平台下的任何服务实现。

JBI旨在提供可扩展的JAVA平台服务端实现技术,可以方便地在JAVA服务端环境下使用多种技术如Servlets, EJBs,JavaScript,BPEL,业务规则,数据转换等。使得JAVA服务端应用可以灵活地选择适用的技术来实现功能逻辑。

JBI提供一组SPI来实现一个JAVA服务端平台,这些技术实现不直接暴露给服务的开发者。

结论是JBI是一个JAVA 运行时服务端平台的架构,和其他平台一样,可以支持SCA服务组合的描述方式。JBI的运行时架构和SCA没有任何冲突。

深入了解JBI的人会知道JBI定义了服务打包的元数据模型。这些元数据用来描述需要在JBI运行时平台上运行的应用。这是一个最基本的定义,在JBI规范里只占了很少的几页,对JBI应用部署做了最小的限制规范。在很少见的场景下,如果SCAJBI在服务打包元数据上有重叠,常见的处理方式是JBISCA的元数据描述看作这部分内容的附加。

JBI有助于中间件提供商使用JAVA来实现SCA JBISCA没有任何竞争和冲突。

 

JBISCA,我都需要吗?

SCA的运行时实现可以不遵循JBI规范,同样JBI实现也可以不支持SCA 然而不管对应用开发者和平台提供商而言,在一起使用这两个规范也是种很不错的选择。

SCA支持非JAVA技术的服务实现方式,C++就是一个例子。服务可以运行在C++C实现的运行时环境里。JBI只针对JAVA虚拟机下的服务平台实现。对于SCA,可以支持没有JAVA虚拟机的系统,全部的服务也都可以使用C++来实现。

 

译者注释:

SCA可以称之为规范,定义了服务的元数据描述语法,包括服务接口(Interface),服务实现方式(Implementation),服务访问策略(Policy),服务通信方式和通信协议(Binding),服务之间的调用和被调用关系(Service and Reference)等。而JBI准确而言更象个JAVA服务运行时平台的设计方案。呵呵,JBI规范的制定者能者多劳,把服务平台提供商的软件设计师的工作抢了。:)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值