SOA解决方案

实现SOA的解决方案目前有两种:一是由BEA、IBM、Oracle等知名中间件厂商联合制定的一套符合SOA思想的规范——SCA;一是SUN公司解决SOA的方案——JBI。

  1. 一、服务组件框架(Service Component Architecture) SCA

服务组件框架(Service Component Architecture) SCA全称Service Component Architecture,即服务组件框架。它由BEA、IBM、Oracle等知名中间件厂商联合制定的一套符合SOA思想的规范。 SCA在2005年11月,发布了0.9版本的规范,其中包括了组装模型规范,Java/C++客户端以及其实现规范。2006年4月,整个SCA规范有了很大的改进,推出了对应的0.95版本。2007年3月,SCA的1.0版本终于发布。

服务组件框架(SCA)提供了一套可构建基于面向服务的应用系统的编程模型它的核心概念是服务及其相关实现。服务由接口定义,而接口包含一组操作。服务实现可以引用其他服务,称为引用。服务可以有一个或多个属性,这些属性是可以在外部配置的数据值

SCA中的一个关键推动因素是Service Data Object(服务数据对象,SDO)。 Service Data Objects (SDO)是一种针对在不同的数据源之间使用统一的数据编程模型的规范说明。

SCA组件被组成为程序集程序集是服务级的应用程序,它是服务的集合,这些服务被连接在一起,并进行了正确的配置。SCA程序集运行在两个级别:第一种情况,程序集是系统内的一组松散连接的组件;另一种情况,程序集是模块内的一组松散连接的组件。二者的区别在于,一般来说,模块是组件的集合,而系统是模块的集合。此外,系统对应于“大规模编程”(programming in the large或megaprogramming),而模块对应于“小规模编程”(programming in the small)

将组件连接到它所依赖的服务的方式就是服务网络“装配”的方式。程序集已经在许多技术和框架中广为应用,比如CORBA、J2EE、ATG Dynamo和Spring,也就是说,它并不是新出现的。从这些技术中我们可以知道,程序集提供了许多重要的优点,比如更轻松的迭代开发,以及避免使业务逻辑依赖于中间件容器。

  1. 二、JBI(Java Business Integration)

    JBI(Java Business Integration)是SUN公司解决SOA的方案,JBI并没有得到IBM与BEA的承认。

  2. JBI架构思想——JBI目的主要是在于创建一个可以集成各种组件服务的运行环境,当然这也是一种服务总线思想的体现。

  3. 目前流行的服务容器有Servlet容器、EJB容器、JMS容器。

    1. Servlet容器只能处理以HTTP/SOAP协议传输的消息(接收与响应);

    2. EJB容器只能处理RMI协议传输的消息;

    3. JMS容器则处理的是JMS协议传输的消息;

    它们之间无法进行通讯,如果想集成上面不同类型的容器服务,则必须有一种能融合以上不同容器的新容器出现。JBI就是基于解决这种问题的思路出现的,JBI提供了各种各样的容器绑定组件(Binding Component,称BC),BC专门负责接收各种各样的传输协议的消息发送请求消息给外部容器。当然JBI还提供其它的功能,要不这纯属一种代理了,就没什么意义。

    d56b363485778d015ab5f50c JBI原理图

    JBI提供处理各种业务的组件(即Service Engines组件,称SE)的消息,比如接收到HTTP的消息后需要转发给外部组件EJB,则需要SE组件来进行转换(更准确的说是Transform SE组件)。其实BC与SE之间是无法直接通信的,所有的消息都是通过传输通道(Deliver Channel)传送到NMR(Normalized Message Router),再由NMR通过DC将信息转到SE或BC的。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值