`

基于RMI的分布式银行自助终端监控系统的研究及实现

阅读更多
基于RMI的分布式银行自助终端监控系统的研究及实现
张永福1,张娟2
(1.陕西师范大学计算机科学学院 陕西 西安 710062;2.西安财经学院 陕西 西安 710061)


近年来随着我国金融体制改革的不断深人,银行企业不断利用信息技术拓宽业务,其中对于自助银行,使其得到了飞速发展,因此,依托现在计算机技术、网络通信技术、数据安全技术开发出能对各种自助终端进行监控,网络拓展性良好,使用灵活方便,安全的银行自助终端监控系统成为当务之急。利用J2EE系统平台[1],能有效地实现分布式多层体系结构的应用程序开发。

1 RMI[2]

RMI(Remote Method Invocation,远程方法调用)是J2EE技术中的一项,是Java语言实现有力网络功能的固有机制,RMI允许Java编写分布式对象,并允许对象在内存中通信,可跨越Java虚拟机通信[3-4],也可跨越物理设备。

RMI实现实际上由3个抽象层建立:

Stubs/Skeletons Layer(存根/主架层);Remote Reference Layer(远程引用层);Transport Layer(传输层)。

2 监控系统的设计与实现

2.1 系统网络结构

本系统以中国银行内部Intranet网络为依托,采用集中式网络结构构建而成。如图1所示。

系统采用一台监控服务器,连在中国银行Intranet主干网上,和提供数据源的前置机放入同一网段。服务器主机上运行Web服务器、应用服务器和数据库服务器,为用户提供Web方式访问。监控客户端以浏览器的形式在工作站上通过网络直接访问web服务器,进行信息查询、监控管理、报表打印、系统维护等。Intranet环境内其他用户可通过路由器、DDN专线从相应工作站以web形式访问Web服务器。

2.2 系统逻辑层次结构图

监控系统由数据库服务器、应用服务器、web服务器和浏览器组成,通过Intranet/Internet与综合前置系统连接。

本文将3层结构模式应用于银行自助终端监控系统,这3层分别是:客户层;Web层(应用逻辑层);数据存储层(见图2)。

这种结构无疑是富有生命力的,监控台使用浏览器直接与银行Intranet连接,监控服务器(监控服务器由Application Server和DB Servet两台服务器组成)在接入Intranet之前与一个Web Server连接,再通过Web Server接入Internet。通过Internet在监控服务器与监控台之间建立物理连接。

2.3 应用系统结构

自助设备监控系统是监控前端自助设备运行状态,交易情况的网上应用系统,他的数据来自于数据采集模块。前端自助设备运行时发送状态交易数据到前置机、主机系统,由前置机、主机系统进行处理,并将状态数据、交易情况记入数据库或LOG文件中。如图3所示,由监控系统数据采集模块定时采集数据库或LOG文件中的数据到监控数据库中,监控应用系统负责对监控数据统一处理,并通过监控客户端实时请求发送到监控客户端进行显示及其他处理。

3 RMI技术在监控系统中的应用

中国银行天津分行在每个地区都下设支行,每个支行负责管理本地区的ATM网点,因此各个支行之间网点ATM自助设备的状态、交易信息不能共享.那么各个地区的监控客户端就只能通过本地区支行的监控服务器实时监控本地区的ATM网点的自助终端设备,为了使身处各个地区的监控客户端都能够监控各个支行所辖的ATM网点自助终端设备,就必须采用分布式的监控系统。每个支行都设置一台监控服务器,与各自所在支行的前置系统相连接,利用RMI技术将实时监控、远程控制、查询统计组件注册为远程对象,监控客户机在任何支行的监控服务器上的注册服务表用远程对象的名字查找相应远程对象,然后调用他的方法,就可以像监控本地区的ATM自助终端设备那样监控其他地区的ATM自助终端设备。

下面本文将以对ATM状态的实时监控如何借助RMI技术实现做以讨论[5]

3.1 定义远程接口

在Java中,远程对象是实现远程接口的类的实例,远程接口声明每个要远程调用的方法。在需要创建一个远程对象的时候,通过传递一个接口来隐藏基层的实施细节,客户通过接口句柄发送消息即可。远程接口具有如下特点:

(1)远程接口必须为public属性。

(2)远程接口必须扩展接口java.rmi.Remote。

(3)除与应用程序本身特定的例外之外,远程接口中的每个方法都必须在自己的throws从句中声明java.rmi.RemoteException。

(4)作为参数或返回值传递的一个远程对象(不管是直接,还是本地对象中嵌入)必须声明为远程接口,而不应声明为实施类。

下面是对ATM状态实时监控的远程接口ATM_StatusShow_Interface的定义。

3.2 实现远程接口[6]

远程对象实现类必须扩展远程对象java.rmi.UnicastRemoteObject类,并实现所定义的远程接口。远程对象的实现类中包含实现每个远程接口所指定的远程方法的代码。这个类也可以含有附加的方法,但客户只能使用远程接口中的方法。因为客户是指向接口的一个句柄,而不是他的哪个类。必须为远程对象定义构造函数,即使只准备定义一个默认构造函数,用他调用基础类构造函数。

3.3 编写服务器类

通过ATM_StatusShow_Server创建一个远程对象的实例,并通过java.rmi.registry.LocateRegistry类的createRegistry方法从指定端口号启动注册服务程序,注册服务程序的缺省运行端口为1099。必须将远程对象名字绑定到对远程对象的引用上。

3.4 编写使用远程服务的客户机类。

客户机类的主要功能有2个:一是通过Naming.lookup方法来构造注册服务程序stub程序实例;二是调用服务器远程对象上的远程方法。

3.5 为远程对象实现创建根和干

要创建存根程序和主架文件,应以包含远程对象实现的已编译类包全名运行rmic编译器。存根(Stub)是远程对象在客户端的代理,他将RMI调用传递给服务器端的主架(Skeleton),后者负责将该调用传递给实际的远程方法:

运行rmic,RMI目录下就会多出2个新类:

ATM_StatusShow_Impl_Stub.class

ATM_StatusShow_Impl_Skel.class

他们分别对应的是存根(stub)和主架(skeleton)。

4 结 论

本系统在中国银行天津分行的支持下已投入使用,经过多次测试和实际运行,用户对于本系统的评价比较满意。在运行速度和运行稳定性上都能达到要求。对于用户的日常工作负担起到了较大减轻的作用,提高了工作效率,简化了沟通手续,丰富了查询能力,使统计结果更加实时、灵活和准确。从技术角度上看,本系统采用RMI技术非常好地解决了分布式应用的问题。

 
本文摘自《现代电子技术》
分享到:
评论

相关推荐

    基于RMI分布式会议系统

    【基于RMI分布式会议系统】是一种使用Java Remote Method Invocation(远程方法调用)技术构建的分布式应用程序,旨在模拟和管理虚拟会议。RMI是Java提供的一种机制,它允许在不同的Java虚拟机(JVM)之间透明地调用...

    基于Java RMI的分布式数据库系统的应用与研究.pdf

    综上所述,基于Java RMI的分布式数据库系统在设计与应用中,充分利用了Java语言的特点和RMI通信机制的优势,为实现高效、可靠、可扩展的分布式数据库系统提供了坚实的基础。随着技术的不断进步,分布式数据库系统的...

    基于RMI 的分布式议程服务

    总之,基于RMI的分布式议程服务利用Java的RMI技术,实现了跨网络的会议管理,允许多个客户端共享和操作会议议程,为用户提供了一个便捷的协作环境。通过理解和实践这样的系统,开发者可以深入掌握Java的分布式编程...

    RMI分布式议程服务

    总的来说,这个"RMI分布式议程服务"示例提供了一个学习和实践RMI的实用案例,涵盖了分布式系统的基础操作,如远程对象注册、调用以及日程管理业务逻辑的实现。对于深入理解Java RMI技术,以及如何构建分布式应用程序...

    RMI分布式会议系统

    **RMI分布式会议系统**是一种基于Java Remote Method Invocation (RMI) 技术构建的软件应用,用于在分布式环境中实现高效的会议管理和协作。RMI允许Java对象在不同的JVM(Java虚拟机)之间进行交互,使得多台计算机...

    EX3_RMI分布式议程服务_principalk7z_

    在这个"EX3_RMI分布式议程服务_principalk7z_"项目中,我们看到的是一个利用RMI构建的分布式议程服务。这样的服务可以让多个用户跨网络共享和管理他们的会议日程。 首先,我们要理解RMI的基本原理。RMI允许一个Java...

    spring和RMI分布式整合源码

    这个“spring和RMI分布式整合源码”可能包含了一个实际项目中如何将这两种技术融合的实例。现在,我们将深入探讨Spring框架和RMI,以及它们在分布式环境中的整合应用。 首先,Spring是一个开源的Java应用程序框架,...

    基于Java—RMI分布式技术的应用研究.pdf

    基于Java—RMI分布式技术的应用研究 1. RMI概述 RMI(Remote Method Invocation)是Java语言中的一种分布式技术,允许在不同的地址空间中通信的对象之间进行远程调用。RMI提供了一种机制,使服务器端和客户端之间...

    java分布式之RMI简介及实例

    ### Java分布式之RMI简介及实例 #### RMI概述 远程方法调用(Remote Method Invocation,简称RMI)是Java平台提供的一种分布式计算框架,它允许开发者创建可以在网络上跨多台计算机运行的对象。RMI的目标是使得...

    基于 RMI 的分布式议程服务

    使用 Java RMI 构建一个分布式议程服务(agenda service)。不同的客户应能连接到这一共享的议程服务,并查询、添加和删除议程中的会晤(meeting)安排。服务程序应具备新用户注册、清除某一用户所有会晤安排等管理...

    基于JMX技术的分布式工作流系统的研究与实现.pdf

    总体来说,基于JMX技术的分布式工作流系统的实现,旨在通过综合利用JMX、观察者模式、RMI等技术,来构建一个高可靠、易于扩展且实用性强的分布式工作流系统,以满足现代企业对业务流程管理的需求。

    分布式Java RMI实现的学生成绩管理系统

    这个基于Java RMI的分布式学生成绩管理系统展示了如何利用Java的远程方法调用来构建分布式应用程序。它结合了GUI界面和数据库管理,提供了完整的功能,同时也考虑了安全性和扩展性。通过学习和理解这个项目,开发者...

    Java RMI分布式系统应用研究.pdf

    文章中提到的分布式系统应用研究,涉及了RMI的运行机制和开发分布式系统的步骤,最后给出了RMI技术的具体应用实例和实现方法。RMI不仅提供了远程方法调用的功能,还涉及到网络连接、对象序列化与反序列化、远程对象...

    基于Java RMI的分布式数据库系统开发与应用.pdf

    "基于Java RMI的分布式数据库系统开发与应用.pdf" 本资源主要介绍基于Java RMI的分布式数据库系统的开发与应用。Java RMI(Remote Method Invocation)是一种远程方法调用机制,允许不同的系统和节点之间的数据交互...

    基于RMI的分布式议程管理系统(问题分析+代码)

    本项目“基于RMI的分布式议程管理系统”就是利用这一特性来构建一个可以跨网络共享的会议议程服务。 首先,我们需要理解RMI的工作原理。RMI允许一个Java对象(客户端)调用另一个在不同JVM上运行的Java对象(服务器...

    基于RMI分布式的LMD系统性能优化与实现.pdf

    #资源达人分享计划#

    一种基于RMI得分布式架构设计

    基于RMI的分布式架构设计,详细描述了如何架构RMI分布式系统,并阐述了原理实现

    RMI分布式时钟显示源代码

    用RMI显示分布式环境中服务器的时钟。客户机通过IP地址连接服务器,获得服务器的本地时间,然后显示在客户端中。时间可分为模拟时钟和数字时钟两种模式。并不断刷新。

Global site tag (gtag.js) - Google Analytics