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

2024-02-03 10:32
文章标签 架构 思想 标准 soa jbi

本文主要是介绍SOA标准之----JBI架构思想,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SOA标准之----JBI架构思想
SOA在Java领域有两套标准:一个是SUN推出的JBI(没有得到BEA和IBM的承认),另外一个是:IBM和BEA等公司推出的SCA和SDO标准。
JBI之关注Java组件只处理Java组件的集成。
SCA实现了业务组件和传输协议的分离,可以处理各种平台组件的集成。
SDO可以的自由读取各种不同数据源的数据。
另外,BPEL本质上是一种集成WebService服务的语言,也可以算作为SOA的一部分。
在此,详细介绍JBI的架构思想。
一、认识JBI
JBI(Java Business Integration)中文翻译为“Java业务集成”,是SUN发布的一个用于Java组件进行集成的一个标准。
JBI的本质是一种服务总线思想。
JBI的目标是创建一个用于各种Java组件服务集成的运行环境。
二、认识JBI容器
JBI是一种思想,JBI思想的实现就是JBI容器。
JBI容器是为弥补现有J2EE容器的不足而出现的。
现有应用服务器的容器类型:Servlet容器、EJB容器、JMS容器。
现有应用服务器的容器不足:
a)、每种容器都有自己特殊的传输协议,相互之间不能直接通信。比如:Servlet容器只能接受HTTP/SOAP的传输协议,EJB容器只能处理RMI的传输协议,JMS只能处理JMS的传输协议。
b)、是一个纯粹的服务提供者,不是一个服务的集成者。也就是说,容器之间不能继承服务。
c)、容器间服务的调用需要编写客户端代码。
JBI容器以一种可插拔的方式集成不同类型的服务,而不是通过编写客户端代码来实现服务的集成。
三、JBI容器的组成与架构
1、JBI容器的架构图
http://lavasoft.blog.51cto.com
2、JBI容器的组成的三大部分:
a)、绑定组件(BC:Binding Components):专门用来接收各种不同传输协议的请求,原理是JBI实现了各种不同协议的绑定组件,绑定组件可以细分为接收BC和发送BC。接收BC主要负责发送请求和接收响应,发送BC主要用来调用外部的服务。
b)、服务引擎(SE:Service Engines):这类组件只处理JBI容器内部的消息。JBI容器通常在接收到消息后,需要对请求的消息做一些“处理”,然后再调用外部服务的提供者。根据功能的不同,将SE组件分为以下三种类型:
Transform SE:专门处理各种传输协议和格式变化。
BPEL SE:专门负责将Web Service进行流程编排。
Rules SE:专门负责通过规则将各种服务进行集成。
c)、JBI的规格化消息路由器(Normalized Message Router):是JBI内部消息系统的核心,所有的组建之间不能交换消息,只能通过NMR来传递。
在JBI容器内部,只有一种标准的规格化消息(Normalized Message)。任务服务组件进入JBI环境之前,通过BC转换为规格消息NM。在JBI环境里,所有的服务都不能相互调用,不论是请求还是回答消息,都要先转给NMR,再由NMR分发。JBI运行环境里面的组件(SE、BC)和NMR都是通过NM来进行信息交换的。
四、JBI容器工作的概念图
 
如上图:
外部请求者将一个HTTP请求发送给JBI容器,容器的HTTP BC接收请求,并将请求的消息格式化为NM发送给消息接收转换引擎,然后再将NM发送给NMR,由NMR再将NM发送给SOAP BC,SOAP BC将NM转换为SOAP消息发送到外部的WS组件。执行后,消息按照原路返回。
----------------------
个人观点:
JBI是SUN的标准,是SUN对J2EE容器的一种改进,SUN并不想兼容其他语言的组件。
随着SUN公司被收购,SUN之外的几个巨头都力推SCA标准,SUN的JBI标准将名存实亡,难以得到重用。
理解容器的工作原理,可以更清楚的认识JBI集成服务的原理和过程。如果只为学习开发,容器标准了解下即可,应多研究一下JBI标准API接口和规范。

本文出自 “熔 岩” 博客,谢绝转载!

这篇关于SOA标准之----JBI架构思想的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/673871

相关文章

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

微服务架构之使用RabbitMQ进行异步处理方式

《微服务架构之使用RabbitMQ进行异步处理方式》本文介绍了RabbitMQ的基本概念、异步调用处理逻辑、RabbitMQ的基本使用方法以及在SpringBoot项目中使用RabbitMQ解决高并发... 目录一.什么是RabbitMQ?二.异步调用处理逻辑:三.RabbitMQ的基本使用1.安装2.架构

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

mybatis的整体架构

mybatis的整体架构分为三层: 1.基础支持层 该层包括:数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转换模块、日志模块、资源加载模块、解析器模块 2.核心处理层 该层包括:配置解析、参数映射、SQL解析、SQL执行、结果集映射、插件 3.接口层 该层包括:SqlSession 基础支持层 该层保护mybatis的基础模块,它们为核心处理层提供了良好的支撑。

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

hdu1496(用hash思想统计数目)

作为一个刚学hash的孩子,感觉这道题目很不错,灵活的运用的数组的下标。 解题步骤:如果用常规方法解,那么时间复杂度为O(n^4),肯定会超时,然后参考了网上的解题方法,将等式分成两个部分,a*x1^2+b*x2^2和c*x3^2+d*x4^2, 各自作为数组的下标,如果两部分相加为0,则满足等式; 代码如下: #include<iostream>#include<algorithm

数据治理框架-ISO数据治理标准

引言 "数据治理"并不是一个新的概念,国内外有很多组织专注于数据治理理论和实践的研究。目前国际上,主要的数据治理框架有ISO数据治理标准、GDI数据治理框架、DAMA数据治理管理框架等。 ISO数据治理标准 改标准阐述了数据治理的标准、基本原则和数据治理模型,是一套完整的数据治理方法论。 ISO/IEC 38505标准的数据治理方法论的核心内容如下: 数据治理的目标:促进组织高效、合理地

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)

C 标准库 - `<float.h>`

C 标准库 - <float.h> 概述 <float.h> 是 C 标准库中的一个头文件,它定义了与浮点数类型相关的宏。这些宏提供了关于浮点数的属性信息,如精度、最小和最大值、以及舍入误差等。这个头文件对于需要精确控制浮点数行为的程序非常有用,尤其是在数值计算和科学计算领域。 主要宏 <float.h> 中定义了许多宏,下面列举了一些主要的宏: FLT_RADIX:定义了浮点数的基数。