JBI是一种规范及API,提供了规范化消息服务、组件框架和管理模型,用以部署路由引擎、规则引擎、以及信息转换等集成服务。基于JBI规范的设计使用特定的基于标准的可插拔架构,此架构内包含一基于 JVM 运行时(runtime)的称为规范化消息路由器(normalized message router,NMR)的组件。
JBI的消息模型基于WSDL,可以很容易地映射到Web服务, HTTP, 电子邮件及JMS中。JBI可以集成旧系统、字节传输、面向文档的传输 (document-oriented transports)以及RPC(Remote Procedure Call, 远程过程调用)等。
规范化消息
JBI系统使用“规范化”消息。消息内包含应用信息荷载、可选的附件、以及用于请求应答双方交互的元数据。消息的规范化过程是将环境相关的信息映射为中立于环境的、抽象的、标准的格式,以便在JBI中传输。所有由规范化消息路由NMR处理的消息都需规范化处理。
规范化消息由如下的三个主要部分构成:
1. 消息内容,亦即荷载,是符合WSDL消息格式的XML文档,不包含针对传输协议或者信息格式的编码。
2. 消息属性,或元数据,是消息携带的额外信息,可以包含安全信息、事务上下文信息、组件特定信息等。消息属性是消息上下文的第一部分。
3. 消息附件,是由消息荷载引用的,包含在一个可以解析处理附件内容的信息处理器内。附件可以是非XML信息。附件是消息上下文的第二部分。
规范化消息路由
JBI系统内消息交换依赖于规范化消息路由NMR在服务者和消费者之间路由消息交换对象(message exchange objects)。针对应用的不同需求以及消息本身特性,NMR提供不同服务质量的消息传输服务。
传输通道
JBI传输通道是双向的通信管道,通过NMR传输消息以连接绑定组件和服务引擎。接口javax.jbi.messaging.DeliveryChannel确定服务消费者、服务提供者和NMR三者之间的接口合约关系。
服务使用者通过其传输通道初始化服务调用请求;服务提供者通过其传输通道接受消费者的调用请求。既是使用者又是提供者的组件使用相同的一条传输通道。因此,接口DeliveryChannel的实现必须支持通道实例在多线程下的并发使用。
JBI组件
JBI组件框架提供了可插入的接口,绑定组件和服务引擎可以通过此接口与JBI系统交互。组件框架提供了所有访问JBI服务的接口。
JBI支持二种类型组件,服务引擎和绑定组件。组件可以通过以下二种方式与系统交互:
1. SPIs: 由绑定组件或服务引擎实现的接口。
2. APIs: 系统提供的,绑定组件或服务引擎可以访问的接口
服务引擎
服务引擎是JBI系统内的业务逻辑实现组件,可以作为服务提供者或使用者。服务引擎对服务使用和需求提供整合点。也可以提供诸如信息转换、复杂的路由、以及协调信息等功能。
绑定组件
绑定组件被用来在特定的协议和传输方式中发送和接收消息。通过绑定组件,JBI系统与特定的传输协议解耦。这是通过绑定组件对消息进行相应的协议特定和协议无关的编组(marshalling)和解组(unmarshalling)而实现的,这样JBI环境内仅处理规范化的消息。
规范化消息交换(Normalized message exchange)
JBI首要用途是在组件间路由规范化消息。消息传输时处于规范化形式。
绑定组件必须将特定于协议(传输层)的消息转换为规范化形式。 绑定组件和服务引擎通过传输通道与NMR通信,传输通道提供消息的双向传输机制。
一个JBI系统外服务使用者通过特定协议/传输层发送服务请求到绑定组件。绑定组件转换请求消息为规范化消息,构造一个称为消息交换(message exchange)的消息包, 然后通过传输通道传输到NMR,再由NMR路由到服务提供者。
当所使用的服务引擎或绑定组件收到消息后,创建相应的规范化消息,将此规范化消息填充到一个新的MessageExchange实例中,并传输到目标ServiceEndPoint实例处。服务端点获得消息交换对象后,恢复规范化消息为协议/传输特定格式,然后将消息传输到外部服务提供者。
服务单元
在已安装的引擎或绑定组件中部署的特定于某组件的构件,一般被称为服务单元。服务单元被集成为一个部署文件,称为服务组合。服务组合包含一个部署描述符文件,指定组合中各服务单元的部署方式,如确定将某服务单元部署到那个组件。
服务单元包含内容如下:
---元数据:使用或者生成的服务的JBI描述符
---生成物:一般是XML信息(可能是二进制,或者目标绑定组件或服务引擎需要的任何对象)
分享到:
相关推荐
### 数学金融的概念与实践 #### 一、数学金融概览 数学金融是一门结合了数学、统计学、计算机科学以及金融学等多个领域的交叉学科。它主要研究如何利用数学工具来理解和解决金融市场中的各种问题。...
Concepts of Computer Programming Languages introduces students to the fundamental concepts of computer programming languages and provides them with the tools necessary to evaluate contemporary and ...
Beginning with introductory concepts and moving toward the advanced, The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory is based on a five day training course...
It emphasizes the genesis and evolution of both fundamental concepts and computational techniques. The intended audience includes not only students of the history...This is a lucid account of the ...
The use of negative instances in the learning of grammatical concepts 26 BRUCE T. SAUNDERS In conclusion, this research did not support the exclusion of the emotionally disturbed child from the ...
This book explains the details of various hacking techniques, many of which get very technical. While the fundamental programming concepts that these hacking techniques build from are introduced in ...
Each topic starts with interesting observational material, then goes to a discussion of the physical concepts, amplified by mathematics, and very good figures, and then ties it up by finishing with ...
Internet of Things (IOT) solutions are not... Throughout the book are examples of how to implement many of the concepts presented. The following is a brief overview of each chapter included in this book.
Along the way you’ll gain vital concepts as you follow instructions for making Web of Things devices. By the end, you’ll have the practical skills you need to implement your own web-connected ...
Sex differences and sex bias on the Boehm test of basic concepts: Do they exist? P.ryrhu1ug.y in the Schoolr Vo/urne 20. Julp. 198.3 SEX DIFFERENCES AND SEX BIAS DO THEY EXIST? ON THE BOEHM ...