`
haitan
  • 浏览: 35891 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

JBI、SCA 简述及对比

    博客分类:
  • SOA
阅读更多

    SOA在Java领域有两套标准:一个是SUN推出的JBI,另一个是:IBM和BEA等公司推出的SCA和SDO标准。

    JBI之关注Java组件只处理Java组件的集成。

    SCA实现了业务组件和传输协议的分离,可以处理各种平台组件的集成。

    SDO可以的自由读取各种不同数据源的数据。

 

一、JBI编程模型

    JBI是由容器和插件(Plug-in)组成的可插入式架构。这个容器托管使用消息路由进行通信的插件组件。架构上,组件通过一个抽象的服务模型(一个消息传递模型,位于任何特殊协议或消息编码之上的抽象层中)进行交互。

    在基于JBI的实现中,服务之间并不直接交互。取而代之的是,采用类似EAI实现中广泛应用的消息代理架构,JBI容器扮演在服务之间路由消息的通用中介,(见图1)。

图1 通过JBI协调消息交换

 

    分离交换的参与者(JBI架构的基础9)在服务提供者和消费者之间提供了解耦,以及一个用于协调(mediating)服务通信量(或插入所有额外需要的功能)的明确位置。

    此时,协调器(Mediation)可以支持广泛的功能,从消息传送和安全加强,到基于内容的路由和服务标本标定。

JBI容器托管了2类不同的插件组件:

  1. 服务引擎(Service Engine,SE)。SE本质上是用来托管JBI环境内部服务提供者和消费者的标准容器f。例如,在JBI环境中经常出现的SE包括数据转换器、业务规则容器和BPEL引擎。
  2. 绑定组件(Binding Component,BC)。BC为JBI环境外部的服务消费者和提供者提供互联性。BC允许集成不提供Java API的组件/应用程序,并使用远程存取技术访问它们。


    组件间的交互利用了基于WSDL 2.0的标准化服务定义。WSDL 2.0定义在服务消费者和提供者之间提供了共享的协议,并作为JBI实现互操作能力的基础。

    除了标准化的服务定义,JBI使用“通用化(normalized)”消息的概念支持全局组件互操作能力。消息通用化将协议与业务特定的上下文映射成一个通用的、可传输风格,这与EAI实现中经常使用的“规范(canonical)”消息表示概念非常类似。

    每个JBI容器存在于一个单独的虚拟机中,并容纳所有的BC和SE,容器提供了一组服务,为SE和BC实现提供操作性支持。

    JBI也定义了基于JMX的标准控制集合,允许外部管理工具执行不同的系统管理任务,也可以管理组件本身。管理支持为以下情形提供了标准机制:

  • 安装plug-in组件。
  • 管理plug-in组件的生命周期(启动/停止等。)。
  • 部署服务器件给组件。

二、服务组件架构(Service component Architecture,SCA)

    尽管服务组件架构(SCA)被作为规范定义(该规范定义了使用面向服务架构构建系统的模型),但它是一个有效的模型(该模型用来将组件组合成服务),并为服务组合成解决方案提供了额外支持。

    SCA基于2个主要的元模型:

  1. 类型元模型。
  2. 组合元模型。

类型元模型

    这个元模型(见图2)描述组件类型、接口和数据结构。

图2 描述组件、接口和它们依赖的元模型

 

    一个组件实现由以下的4组规范定义:

  • 被提供的接口——组件定义的接口集。这些接口通常定义为WSDL端口类型或语言接口,如Java或C++。一个组件可以暴露0或多个接口。每个接口包含几个方法。
  • 被要求的规范(引用)——组件实现使用的接口集。这些接口通常定义为WSDL端口类型或语言接口,如Java或C++。一个组件可以有0或多个接口。
  • 用来裁剪或自定义组件行为的属性。每个属性定义为一个属性元素。一个组件可以包含0或多个属性元素。
  • 定义组件实现的实现元件。SCA允许很多不同的实现技术,如Java、BPEL、C++、SQL等。SCA为引入新的实现类型定义了扩展机制。

组合元模型

    这个元模型(见图3)定义了组件实例,以及它们是如何连接的。

 

图3 组件实例和它们在组合元模型中的连接

 

    这个元模型中实例的概念有别于在OO中使用的实例概念。此处的组件实例是指一个带有被完整解析的属性集,为解决特殊问题而修改组件行为的组件实现。

    一个组合定义了很多组件实例,它们彼此交互,这里的交互使用连线(wire)来定义。

    在SCA中,连线使得绝大多数的底层代码被抽出(与Indigo中的信道类似)。如,连线可以被定义同步的或异步的,支持组件调用的事务行为等。SCA在幕后处理这些底层细节。连线同样可以在任意方向上连接2个不同的接口语言(如Java接口和WSDL 端口类型/接口),只要这2个接口定义的操作是等价的就行了。

    除了连线,SCA也支持通过特殊的组件类型,如导入(imports)和导出(exports),进行模块间通信。连线、导入和导出组件的结合使得组件可以引用外部服务。

    组合元模型定义的组件组合,与服务组合既类似又不同,尽管两者都定义了使组件/服务一起工作的方式。通过被组合本身引入的功能,服务组合增强了参与服务的功能;而这个元模型只定义组件(更接近于服务实现)间的连接。

    SCA实现依赖于服务数据对象(Service Data Objects,SDO),它提供了表示数据的通用模型的技术。SDO是组件的数据交换基础。SDO架构中的基本概念是数据对象——包含基本类型数据和(或)其它数据对象的容器。元数据提供了被包含数据的信息,它被数据对象显式引用。在SDO中数据对象的组合由数据图表示。除了对象本身,图中还包含变更概要,用来记录图中数据对象和属性在处理过程中变化的信息(类似微软环境中的ADO)。除了SDO,SCA还引入了服务消息对象(Service message objects,SMO),它提供了服务间处理和交换消息的抽象层(类似JBI中的标准化消息)。

    如果GUI支持,SCA实现会非常强大,可以在面板上实现图形化组件的连接。

 

三、SCA与JBI的主要异同

 

    1、相同点

  • 目的是一样的:都是为了集成。
  • 大致方向一样:都是为了将服务和传输协议解耦。

    2、不同点

  • JBI是以请求消息和相应消息作为切入点,在集成时将消息和传输协议解耦,形成一种与传输协议无关的标准消息,这样形成一种全新的区别于现有应用服务器的集成容器,是从容器的角度出发,一种全新的容器模型。
  • SCA以接口作为切入点,从组件接口层将传输协议和接口实现解耦,是从编程的角度出发,一种全新的编程模型。
  • 大小: 19 KB
  • 大小: 16.8 KB
  • 大小: 19.5 KB
分享到:
评论

相关推荐

    jbi规范1.0 jbi规范1.0

    jbi规范1.0 jbi规范1.0 jbi规范1.0 jbi规范1.0

    JBI理论

    JBI理论 包括JBI ESB Servicemix

    JBI规范.docx

    JBI(Java Business Integration,Java业务集成,Java业务整合)即JSR 208是一种企业服务总线(Enterprise Service Bus,ESB),使我们能够用Java实现面向服务的架构。企业正转向以面向服务架构(SOA)和网络服务,以...

    jbi规范讲述的PDF文档

    jbi规范讲述的PDF文档 包括类图、MEP等

    jbi规范1.0——中文版

    jbi(Java Business Integration Specification)规范1.0中文翻译!

    JBI规范中文文档

    JBI(Java Business Integration,Java业务集成,Java业务整合)即JSR208是一种企业服务总线(Enterprise Service Bus,ESB),使我们能够用Java实现面向服务的架构。企业正转向以面向服务假构(SOA)和网络服务,以...

    jbi guide manual

    The ServiceMix Bean component provides integration with beans (POJOs) with the JBI bus to make it easy to use POJOs to process JBI message exchanges. Like in an Message Driven Bean in J2EE a POJO will...

    最新的jbi api

    关于jbi的api,很好用的 讲述了基本的接口,对学习很有帮助

    JBI规范1.0

    JBI规范1.0中文版

    JBI规范下载,ESB资料

    JBI规范下载 JBI规范下载 JBI规范下载 JBI规范下载 JBI规范下载

    DEFAULT.JBI

    安川搬运程序

    SOA jbi组件规范

    SOA jbi组件规范 Servicemix提供的JBI组件的Xbean.xml用来对su来进行说明,其主要规范

    INIT_ROS.JBI

    INIT_ROS.JBI

    MASTER-1.JBI

    MASTER-1.JBI

    jbi4corba-0.8.1

    jbi4corba-0.8.1

    SOA标准之----SCA架构思想

    SOA在Java领域有两套标准:一个是SUN推出的JBI(没有得到BEA和IBM的承认),另外一个是:IBM和BEA等公司推出的SCA和SDO标准。JBI之关注Java组件只处理Java组件的集成。SCA实现了业务组件和传输协议的分离,可以处理...

    fuse SOA jbi组件开发

    Fuse eclipse Tools 是IONA Fuse提供的开源eclipse插件,用来提供一个JBI组件的集成开发环境

    JBI规范翻译

    翻译详细讲解JBI规范,对了解和学习JBI规范的人带来帮助。

Global site tag (gtag.js) - Google Analytics