TIBCO Rendezvous — 技术介绍
1.1.1. TIBCO Rendezvous — 技术介绍
TIBCO Rendezvous(或称为TIBCO RV)产品是一种中间件,它具有发布/订阅(Publish/Subscribe)、基于主题寻址(Subject-Based Addressing) 和自定义数据信息(Self-Describing Data Messages)等专利技术功能,使不同应用平台上的信息在一个共享的虚拟总线Information Bus(TIB)上进行传输交换。这些技术能有效地帮助企业从传统的请求/应答(Request/Reply)模式转到自动数据接受的事件驱动模式(Event-Driven,或称之为Push)。TIBCO RV 有助于在各种应用系统中获取信息和数据,能将异构平台有机地联结起来, 通过以即插即用(Plug &Play) 、位置无关(Location-Independent)和分布式服务(Distributed Services)的方式在WAN 和LAN 间配置系统。并且TIBCO RV 具有认证消息传递(Certified Message
Delivery) 、容错(Fault Tolerance) 和分布式队列(Distributed Queue)功能。因为使用TIBCO RV 不用考虑网络的技术细节,而只需专注于企业应用的开发,所以能快速建立和配置一个可伸缩的分布式应用系统。
TIBCO Rendezvous 的优点:
? 加快应用的开发,减少维护费用;
? 唯一独立于硬件、操作系统、网络和协议平台供应商;
? 动态组件替换:进程可以随时加载、退出、替换,而不影响系统运行; ? 屏蔽网络细节; ? 应用伸缩性高;
? 地址无关,简化增加/改变组件; ? 提高分布系统的生命期;
1.1.1.1. TIBCO Rendezvous 的特点:
? 一般特性:
? 分布式队列实现一对多信息传送; ? 安全信息传送; ? 冗余机制实现容错; ? 所有平台间对等传输;
? 与其他通讯协议并存于统一系统; ? 支持多种数据内部交换格式; ? 系统开销低,容易嵌入; ? 线程安全,多线程安全保护; ? 支持多点传送; ? 通讯和数据特性: ? 异步通讯;
? 发布/订阅,可靠的广播(broadcast)/多播(multicast)机制; ? 点对点请求/应答; ? 基于主题消息传送;
? 自定义数据信息与硬件/操作系统无关; ? 透明的信息打包或重组; ? 认证信息传递:
? 明确的信息认证,确保信息传送到目的地;
? 在进程中断和重新启动状态下确保要传递的信息不丢失; ? 分布式队列,自动实现负载均衡功能;
? 传递信息给队列种的某一成员; ? 队列成员进程保持异步运行; ? 容错:
? 通过冗余进程实现系统容错; ? 监控活动的冗余进程; ? 开发特点:
? 提供Java、C、C++、ActiveX、.NET、Perl 的API 库; ? 源码兼容所有的平台; ? 支持同步/异步事件管理结构;
1.1.1.2. TIBCO Rendezvous 包含的组件
TIBCO Rendezvous Daemon(rvd)为应用进程传递信息,过滤主题信息,分配信息;
TIBCO Rendezvous Routing Daemon(rvrd) 在WAN 和LAN 间跨网段有效地传递信息,对TIBCO Rendezvous 应用编码不做任何修改;
1.1.1.3. TIBCO Rendezvous 部署方法
TIBCO RV 在当前的操作环境中加入两个组件:
? API 库。每个应用程序连接到RV API 库的某一版本;
? RV 通讯Daemon 进程。在大多数环境,每台主机上面运行一个Daemon 进程。 下图演示了一个简单环境中两个系统进行交互的过程。主机1 上运行应用 程序A 和一个daemon 进程,主机2 上运行两个应用程序B 和C,它们通过单个daemon 进程连接到网络上。所有这三个应用程序可以进行相互通讯。
任何主机上可以运行任意数量的RV 应用程序。通常一个主机上的所有RV应用程序共享同一个RV Daemon 进程。
Rendezvous Daemon 进程
应用程序依赖RV Daemon 后台进程进行可靠和高效的网络通讯。(通常RVDaemon 进程和RV 应用程序运行在同一主机上;但是RV 应用程序也可以连接到远程daemon。)
RV 应用程序试图连接到RV daemon 进程。如果daemon 没有运行,应用程序将自动启动它并连接到daemon 进程。RV daemon 负责通讯的所有细节:如数据的传输,包的排序,接收确认包,重发请求,将信息派发到适当的应用程序进程等。它为RV 应用程序隐藏了所有这些细节。
1.1.1.4. XML 功能的实现
TIBCO RV 只是一个消息中间件产品,XML 数据可以通过RV 消息进行传递,但它不提供对XML 数据的处理能力。
可以通过几种方式来实现XML 数据的处理:
使用TIBCO BusinessWorks 产品对包含XML 数据的RV 消息进行各种处理,如映射、变换、合并、分解等;
使用第三方XML 工具或API,以编程方式对RV 消息中的XML 数据进行处理。
1.1.1.5. 如何使用TIBCO Rendezvous
TIBCO RV 本身只提供一些后台Daemon 程序以及API 接口供用户使用。用户使用这些API,选择RV 支持的开发语言(如C/C++,Java 等)开发相应的RV 应用程序,并通过后台Daemon 进程进行消息的发送或接收。
用户也可以选择TIBCO 基于RV 开发的一些其他产品(如BusinessWorks,各种Adapter 等)来简化应用程序的开发。
1.1.2. TIBCO Adapter for ActiveDatabase — 技术介绍
概述
TIBCO Adapter for ActiveDatabase可以把某个数据库中数据的变化可以发送给其他的数据库或应用。它把发布/订阅与请求/回复机制扩充到数据库层面,使数据库应用可以使用多种不同层次的消息传递服务。它支持所有的ODBC兼容数据库,包括DB2, Oracle, Sybase, Informix, Microsoft SQL Server, TimesTen in-memory database等。