(计算机应用技术专业论文)基于中间件的银行中间业务系统的研究.pdf_第1页
(计算机应用技术专业论文)基于中间件的银行中间业务系统的研究.pdf_第2页
(计算机应用技术专业论文)基于中间件的银行中间业务系统的研究.pdf_第3页
(计算机应用技术专业论文)基于中间件的银行中间业务系统的研究.pdf_第4页
(计算机应用技术专业论文)基于中间件的银行中间业务系统的研究.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)基于中间件的银行中间业务系统的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上海交通大学硕士毕业论文 摘要 第 i 页 基于中间件的银行中间业务系统的研究 摘 要 基于中间件的银行中间业务系统的研究 摘 要 当前银行业竞争的焦点正在从存款市场向贷款市场和中间业务市场 转移,中间业务在银行经营活动中的地位与作用也日益明显,成为利润 的增长点,当然也越来越成为银行未来业务发展的一个重要方向。中间 业务的发展越来越受到商业银行的重视,从银行主机系统中将中间业务剥 离出来,建立独立的中间业务平台是中间业务的发展趋势,建立一套使用 方便而且能够灵活扩展的中间业务平台是商业银行的迫切需要。 但是,由于先天不足,许多银行每开通一种代理业务,都需电脑 人员修改相应的应用程序,既费时间又给维护工作带来麻烦。从 20 世 纪 90 年代中后期开始,商业银行开始在对原有业务流程进行改造的基 础上,建立与国际商业银行运行模式基本接轨的综合业务系统。目前正 在开发和使用的银行中间业务系统中,银行与其他企事业单位之间的金 融业务合作,通常在对方网络中设置银行前置机。由于银行网络系统是 典型的多应用和多连接平台,因此在银行网络内外存在着较多的安全隐 患。 从目前银行综合业务系统的发展来看,总体上正处于改造升级、逐 步完善阶段,在技术层面上重点要考虑的是:如何将多种中间业务集中 到一套系统上,便于管理和维护;如何支持数据的集中处理又保证系统 的安全、稳定、可靠;如何面向客户提供个性化服务,同时为系统未来 的二重开发提供预留接口。 上海交通大学硕士毕业论文 摘要 第 ii 页 本文的目标是研究银行中间业务的系统实现并提出安全体系设计方 案。本文分析了中间件技术在银行中间业务系统中的实现,描述了银行 中间业务平台的系统特点,提出了系统的安全体系设计方案。 本课题是以交通银行综合前置系统为背景完成的,课题实现了银行 中间业务系统所需的大部分功能,并达到了设计的目标。软件开发完成 后, 2005 年底在交通银行各分行进行上线测试。 关键字:关键字:中间件,中间业务,交易,信息安全 上海交通大学硕士毕业论文 abstract 第 iii 页 research on middleware based integrative front- banking system abstract with the coming of network economy, intermediate business becomes the growth point of new service in the bank system. intermediate business makes full use of efficient and interconnecting network to afford the convenient and timely commissioned charge and pay service to enterprises, institutions and individuals. intermediate business platform is a software platform designed to solve the problem of developing intermediate business applications in banks. traditional method of the banks: opening a kind of agents service every time, needs technicians to modify the application. this will bring a lot of obvious drawbacks, suck as development cycle is long, running cost is high and the reliability and maintainability of the procedure is lowered. so we must research a kind of intermediate service platform which can meet different service demands and have strong utility. this system is designed in order to solve these drawbacks. with the growing competition in financial industry and the boom of the middleware, the old systems problems are getting more and more obvious. middleware technology is a key solution for this kind of problems. it helps to mask the complexity of different systems and makes it possible for the programmers to focus on businesses. bank network system is a typical multi-applications and multi- connections platform. how to insure intermediate business of bank efficiency, stableness and safety? its important significance to the information security of bank network system. 上海交通大学硕士毕业论文 abstract 第 iv 页 in this thesis we presents a scheme to realize the integrated front - banking system based on intermediate business. this paper expatiates on the systems framework, function and security. based on the analysis of the character and security of the bank network system, the paper made some suggestions in the aspect of the security management. finally the paper afforded the security service project to assure intermediate business to work orderly. the practical system is working well in one commercial bank now. key words:middleware,intermediate business,transaction, security 上海交通大学 学位论文原创性声明 上海交通大学 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工 作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集 体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已 在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:刘绍球 日期: 2006 年 01 月 15 日 上海交通大学 学位论文版权使用授权书 上海交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留 并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本 人授权上海交通大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密 保密,在 年解密后适用本授权书。 本学位论文属于 不保密 不保密。 (请在以上方框内打“” ) 学位论文作者签名:刘绍球 指导教师签名:陈克非 日期: 2006 年 01 月 15 日 日期: 2006 年 01 月 15 日 上海交通大学硕士毕业论文 第一章 序言 第 1 页 第一章 序 言第一章 序 言 1.1 课题研究的背景1.1 课题研究的背景 1.1.1 世界金融一体化的挑战1.1.1 世界金融一体化的挑战 按中美双边协议,我国加入 wto 时,即对外资银行取消外汇业务的客户限制; 两年后,外资银行可办理中资企业人民币业务;5 年后可办理居民人民币业务。加 入 wto 后,开放 2 个城市,以后每年开放 4 个城市办理人民币业务。5 年后外资银 行办理外币和人民币业务不再有地域和客户限制,享受国民待遇,由中央银行实行 审慎监管。 加入 wto 后,我国银行必须融入世界金融一体化,在与外资银行竞争中求生 存、求发展。一般来说在现代信息技术方面,国外银行使用的计算机通信技术、应 用系统软件开发、信息系统数据采集和处理等,比国内银行更先进、更有经验。在 这种情况下,我们的中央银行、商业银行都面临严峻的挑战。为了迎接市场竞争国 际化和加入 wto 的挑战,我国银行信息化建设正在进行战略性调整,充分利用现代 化科技手段和信息技术,顺应国际银行业发展趋势,向数据集中化、管理信息化方 向发展。国内各银行正加快新一代综合业务系统和全国数据处理大集中的建设1。 1.1.2 我国银行信息化建设的要求1.1.2 我国银行信息化建设的要求 近几年来,随着信息技术的采用,银行电子化建设发展迅速,并日益成为提高 银行竞争力的重要因素。银行建立了支持全行业务经营的内部综合业务网络和数据 运行中心,实现所有门市业务的数据集中联网处理。网上银行、电子商务等新的服 务方式也正在兴起,金融运行的模式正在发生着深刻的变化。 1.2 现状分析1.2 现状分析 1.2.1 中间业务的概念及特点1.2.1 中间业务的概念及特点 商业银行的中间业务,是商业银行以中介人的身份代理客户承办收付和其他委 托事项、提供各类金融服务、从中获取一定手续费或其他效益的业务。如代发工资、 代收电费、代收水费、代收煤气费、代收电话费、代收税款、办理证券转帐等等2。 银行的服务手段也从传统的柜台发展到 atm、自助终端、电话银行、自助银行等自 助式的服务方式3。当前银行业竞争的焦点正在从存款市场向贷款市场和中间业务 市场转移,中间业务在银行经营活动中的地位与作用也日益明显,成为利润的增长 点,当然也越来越成为银行未来业务发展的一个重要方向。 上海交通大学硕士毕业论文 第一章 序言 第 2 页 银行为了适应代理业务的需要,往往基于某一个业务系统,推出“一本通” 、 “一 卡通”等新的业务种类,虽暂时满足业务的需要,但却无法适应日益增多的代理业 务和客户的要求,且这种局部式的修改不利于银行应用软件的规范统一管理和基层 业务的开拓4。随着银行业电子化建设的加快,各种新的金融产品一经推出,必须 尽快推向市场,因此要求中间业务平台既能兼容银行原有已开办的中间业务,又能 满足将来业务发展的需要。 1.2.2 我国银行信息化建设发展现状1.2.2 我国银行信息化建设发展现状 目前,我国现代化支付系统在全国的全面推广工作正在进行,在全国的推广应 用要到 2006 年才能实现。在 2005 年 6 月底前,实现大额支付系统覆盖全国的工作 目标,年底前完成小额支付系统软件开发与测试,到 2006 年现代化支付系统在全国 推广应用。同时银行建立了支持全行业务经营的内部综合业务网络和数据运行中心, 实现所有门市业务的数据集中联网处理5。网上银行、电子商务等新的服务方式也 正在兴起,金融运行的模式正在发生着深刻的变化。 到 2004年我国银行核心业务系统建设的应用情况是: 中国工商银行将各项业务应用系统统一到了新的综合业务系统,并在此基础上, 推出了全功能银行系统、信贷管理系统等。 中国农业银行全面完成了集中式信贷管理系统推广、综合办公系统应用等工程。 将原有独立发展的对公、储蓄、信用卡、国际业务等应用系统统一到新一代综合业 务系统、集中式信贷管理系统和集中式外汇业务系统等三大系统。 中国银行加快了核心业务系统建设。2004 年,为解决资金实时汇划及通存通兑 瓶颈问题,启动了小机行清算系统整合项目。为实现全国国际结算业务集中处理, 提高效率、控制风险,中国银行启动了国际结算业务系统一期工程,同时还完成了 缺口信息分析系统、资产质量监控系统、国内授信审批系统等项目的建设,在原来 各应用系统的基础上进一步整合、规范,实现了统一的本外币清算平台。 中国建设银行持续进行金融产品创新,开发了证券业务系统、龙卡国际卡系统、 个人售汇系统、个人信贷业务系统、住房(抵押)证券化系统、外汇会计网络处理 系统和抵债资产管理信息系统等 40个交易处理类系统,32个管理类系统以及 5 个基 础设施类系统。 交通银行国际结算处理系统已开始推广应用,通过该系统处理的外汇业务量已 占全行外汇业务量的 72%。全行统一开发的以分行为中心的电话银行系统已在全行 推广,已有 30 多家分行完成了系统上线工作,实现了网上银行、电话银行、自助银 上海交通大学硕士毕业论文 第一章 序言 第 3 页 行的标准化改造工作,建成了随业务需求变更的中间业务、代理业务标准化处理平 台。 招商银行新一代核心业务系统已完成基础平台主体、公共支持模块、主要核心 柜面业务及新旧系统客户信息对接。在继续推出新产品和业务应用系统开发的同时, 也全面启动和加快了管理信息系统建设。 中国光大银行自行设计、开发、推广了阳光信用卡系统、管理会计系统、信贷 风险管理系统、全国客户服务中心系统,2004年底投产使用。 目前各商业银行根据自身实际采用不同的中间件产品, 如农行和交行采用了 ibm 的 cics 作为新一代开发工具平台,建行则采用 bea 的 tuxedo。同时还使用消息中 间件保证消息传输的可靠性,高效性和安全性。目前应用最多的消息中间件产品为 ibm webspere mq。 1.2.3 问题和需求1.2.3 问题和需求 国内银行在 20 世纪 90 年代初期建立起来的银行业务处理系统,大多采用业务 独立、分布处理的应用模式。针对不同的业务类型开发不同的系统,系统在程序上 采用前置处理数据接口的方式与第三方系统进行实时数据交换,但在实践中发现各 种中间业务具有许多共性,多属重复开发,浪费了大量的人力物力;应用开发前瞻 性不够,跟不上业务发展的需要,导致应用软件的生存周期不长。 从 20 世纪 90 年代中后期开始,商业银行开始在对原有业务流程进行改造的基 础上,建立与国际商业银行运行模式基本接轨的综合业务系统。从目前银行综合业 务系统的发展来看,总体上正处于改造升级、逐步完善阶段。目前,商业银行核心 业务系统与前置系统多呈现分散式的系统架构。全国数据处理大集中要求各商业银 行核心业务系统的集中,核心业务系统集中后,商业银行为便于开发维护和安全管 理,各类渠道外挂系统对主机系统的访问连接、渠道外挂系统间的相互访问、分行 本地业务的开发等必须纳入统一的管理体系。由此各商业银行都提出了建设综合前 置平台的需求。 当前各商业银行开展中间业务的方式大致有以下几种: (1)在原系统的基础上增加处理模块方式:这种方式的缺点是开发周期长、适 应能力差、需对原系统做很大改动,办理业务时银行的主机帐务系统会处理一些与 帐务无关的事务,增加主机的负担,甚至会影响银行的正常业务。 (2)多前置机方式:一项中间业务一台前置机,造成大量硬件资源的浪费,每 项业务都要开发一套系统,维护不方便。 上海交通大学硕士毕业论文 第一章 序言 第 4 页 (3)将多种中间业务系统集中到一套系统上:这种方式对一定种类的中间业务 进行了简单归纳,提取了某些共性之处,生成一些公用的模块,但缺乏对中间业务 深入透彻的分析和归纳,程序编制复杂,难于维护和系统扩展,甚至在业务种类增 多时造成系统的混乱。 这几种方式都存在以下弊端: (1)每开通一种代理业务,都需技术人员修改应用程序,需要投入大量人力资 源进行开发、测试,而各项中间业务具有许多共性,多性重复开发,浪费了大量的 人力物力。 (2)后台改动或系统升级可能需要改动多个前置程序,造成大量的重复工作。 (3)降低了程序的可靠性和可维护性。 (4)开发一项中间业务,周期过长,不能及时地满足业务部门的需求,严重阻 碍了银行开拓中间业务的步伐。 目前许多银行一方面进行了中间业务通用软件的试点,另一方面又继续实施针 对某种中间业务的专用软件,这也折射出目前已经开发出的中间业务通用软件存在 着一些问题。 1.3 本章小结1.3 本章小结 世界金融一体化和银行信息化建设趋势要求银行业务系统的升级换代,本章介 绍了本课题研究的背景及中间业务相关概念,主要分析了现阶段我国商业银行中间 业务系统存在的问题,最后分析了银行中间业务系统的发展需求。 上海交通大学硕士毕业论文 第二章 中间件技术 第 5 页 第二章 中间件技术第二章 中间件技术 2.1 中间件概述2.1 中间件概述 计算机技术的迅速发展,在硬件技术上,cpu 速度越来越高,处理能力越来越 强;在软件技术上,应用程序的规模不断扩大,特别是网络技术的发展,使计算机 的应用范围更为广阔,许多应用程序要在网络环境的异构平台上运行。这一切都对 新一代的软件开发提出了新的要求。在这种分布异构环境中,通常存在多种硬件系 统平台(如 pc, 工作站, 小型机等), 在这些硬件平台上又存在各种各样的系统软件(如 不同的操作系统、数据库、语言编译器等),以及多种多样的用户界面,这些硬件系 统平台还可能采用不同的网络协议和网络体系结构连接。如何把这些系统集成起来 并开发新的应用是一个非常现实而困难的问题。为解决分布异构问题,人们提出了 中间件(middleware)的概念。 2.1.1 中间件概念2.1.1 中间件概念 从技术上讲,中间件(middleware)是介于应用系统和系统软件之间的一类软 件,它使用系统软件所提供的基础服务(功能) ,衔接网络上应用系统和各个部分或 不同的应用,能够达到资源共享和功能共享的目的6。到目前为止,还没有一个标 准化组织或权威机构提出对中间件的严格定义。在众多关于中间件的定义中,比较 普遍接受的是 idc1表述:中间件是一种独立的系统软件或服务程序,分布式应用软 件借助这种软件在不同的技术之间共享资源;中间件位于客户端/服务器 (client/server)的操作系统之上,管理计算资源和网络通信。idc 对中间件的定义 表明,中间件是一类软件,而非一种软件;中间件是介于操作系统(包括底层通信协 议)和各种分布式应用程序之间的一个软件层7。 中间件抽象了典型的应用模式,应用软件制造者可以基于标准的形式进行开发, 利用现有的软件构件装配适用于不同领域、功能各异的应用软件。这使软件构件化 成为可能,加速了软件复用的现实化过程。 1 international documentation centre,国际文献资料中心 上海交通大学硕士毕业论文 第二章 中间件技术 第 6 页 如图 2-1 所示,中间件总的作用是建立分布式软件模块之间互操作的机制,屏 蔽底层分布式环境的复杂性和异构性,为处于自己上层的应用软件提供运行与开发 环境,帮助用户灵活、高效地开发和集成复杂的应用软件。在具体实现上,中间件 是一个用应用程序接口定义的分布式软件管理框架,具有强大的通信能力和良好的 可扩展性。 2.1.2 中间件特点2.1.2 中间件特点 一般认为,中间件是位于操作系统和应用软件之间的通用服务,这些服务具有 标准的程序接口和协议,针对不同的操作系统和硬件平台,它们可以有符合接口和 协议规范的多种实现。它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统 与网络协议的异构性,使应用软件能够比较平滑地运行于不同平台上。同时中间件 在负载平衡、连接管理和调度方面起了很大的作用,使企业级应用的性能得到大幅 提升,满足了关键业务的需求。 中间件屏蔽了底层操作系统,使程序开发人员使用一个简单而统一的开发环境, 减少程序设计的复杂性,将注意力集中在自己的业务上,而不必再为程序在不同系 统软件上的移植而重复工作,从而大大减少了技术上的负担8。具体来说,它有以 下一些共同的特点: 应用程序应用程序 应用程序接口 中间件(分布式服务系统) 平台 操作系统 平台 操作系统 平台接口平台接口 图 2-1 中间件应用 fig.2-1 use of middleware 上海交通大学硕士毕业论文 第二章 中间件技术 第 7 页 (1)易于集成。中间件能够无缝地接入应用开发环境中满足大量应用的需要,应 用程序可以很容易地定位和共享中间件提供的应用逻辑和数据; (2)易于移植。中间件与平台有关的细节对于应用程序是透明的,因此可以在不 改变应用程序代码的情况下更换计算机底层硬件、操作系统和通讯协议,使应用程 序运行于多种硬件和 os平台; (3)易于升级和扩展。中间件支持分布计算,提供跨网络、硬件和 os 平台的透 明性的应用或服务的交互,中间件实现的功能对于应用程序是透明的,所以可以对 局部进行改进而不影响系统的其他部分功能; (4)支持标准的协议和接口。由于标准接口对于可移植性和标准协议对于互操作 性的重要性,中间件已成为许多标准化工作的主要部分。对于应用软件开发,中间 件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定 的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件 升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而 保护了企业在应用软件开发和维护中的重大投资。 中间件是软件技术发展的一种潮流,被誉为发展最快的软件品种,近年来势头 强劲,当然,这也是源于市场在全球范围内对中间件的支持。毫无疑问,中间件正 在成为软件行业新的技术与经济增长点。 2.1.3 国内外中间件技术研究的现状2.1.3 国内外中间件技术研究的现状 中间件技术最初在 90 年代出现,其根本目的是帮助单一的集中式程序向 client/server 模式移植,并且提供异构平台上的通讯。公认最早的中间件是起始于开 放软件基金(osf,open software foundation)的分布计算环境(dce,distributed computing environment) ,omg(object management group)的 corba(common object request broker architecture)和 microsoft 的 com/dcom30。一般把 tuxedo 作为第一个严格意义上的中间件产品,tuxedo 是 1984 年在当时贝尔实验室开发完 成的,1995 年被现在的 bea 公司收购。尽管中间件的概念很早就已经产生,但中 间件技术的广泛运用却是在最近 10 年之中。ibm 的消息中间件 mqseries 是 90 年代 的产品,而 bea 的 messageq 和 microsoft 的 msmq 等消息中间件产品也都是最近 几年才成熟起来10。在国外中间件技术的初创时期,国内的中间件产品也正好得 以起步发展。可以说,在中间件发展领域,国内相关技术的发展时间并不比国外晚 多少,比如东方通科 1995年就推出第一个中间件产品 tonglink/q。 中间件能够屏蔽操作系统和网络协议的差异,为应用程序提供多种通讯机制; 上海交通大学硕士毕业论文 第二章 中间件技术 第 8 页 并提供相应的平台以满足不同领域的需要。因此,中间件为应用程序提供了一个相 对稳定的高层应用环境。然而,现有的中间件服务也并非无所不能。中间件所应遵 循的一些原则离实际还有很大距离。多数流行的中间件服务使用专有的 api 和专有 的协议,使得应用建立于单一厂家的产品,来自不同厂家的实现很难互操作。有些 中间件服务只提供一些平台的实现,从而限制了应用在异构系统之间的移植。应用 开发者在这些中间件服务之上建立自己的应用还要承担相当大的风险,随着技术的 发展他们往往还需重写他们的系统。尽管中间件服务提高了分布计算的抽象化程度, 但应用开发者还需面临许多艰难的设计选择, 例如, 开发者还需决定分布应用在 client 方和 server 方的功能分配。通常将表示服务放在 client 以方便使用显示设备,将数据 服务放在 server 以靠近数据库,但也并非总是如此,何况其它应用功能如何分配也 是不容易确定的。例如 microsoft 的 msmq 只运行在 windows 系列平台上,而 ibm 的 mqseries 在其 ibm 主机的 unix 系统上运行。要将 msmq 的功能扩展到其他非 windows 的操作系统(如 unix,as/100,tandem,digital vms)并和 mqseries 进行无缝连接,还需要用 level8 systems 公司的消息队列连接器(mqc)11。 2.2 中间件技术发展2.2 中间件技术发展 2.2.1 中间件分类2.2.1 中间件分类 随着计算机软件技术的发展,中间件技术也已日渐成熟,并且出现了不同层次、 不同类型的中间件产品。中间件的分类方式很多,有些软件在中间件的概念产生以 前可能就已经存在了,有些软件虽然不是作为中间件开发出来的,但是符合中间件 的定义,一般也把它归入中间件的范畴。按照 idc 分类方法,中间件可分为以下六 大类12: (1)终端仿真屏幕转换 用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间的 互操作。该类中间件应用于早期的大型机系统,主要功能是将终端机的字符界面转 换为图形界面,目前此类中间件在国内已没有应用市场。 (2)数据访问中间件 数据访问中间件是为了建立数据应用资源互操作的模式,对异构环境下的数据 库实现联接或文件系统实现联接的中间件。基于数据库的中间件是所有中间件中最 普遍、最成熟的一种。数据访问中间件允许应用程序同本地或者异地的数据库通讯。 它提供了一系列应用程序接口,通过中间层而不考虑操作系统及网络来访问数据库。 并且在很多情况下,api(apllication program interface)被隐藏在开发工具中 上海交通大学硕士毕业论文 第二章 中间件技术 第 9 页 而不被开发者了解。odbc、jdbc 都是基于数据库的中间件标准。 在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型、 复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,这类 中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。数据访问中间件 能屏蔽不同厂家、不同类型数据库之间的差异,实现异构数据的共享,从而使得企 业充分利用不同地域的数据库资源。由于早期用户使用的数据库产品单一,因此, 该中间件一般由数据库厂商直接提供。目前其正在逐渐被为解决不同品牌数据库之 间格式差异而开发的多数据库访问中间件取代。数据访问中间件一直存在于中间件 技术的边缘上,独立的产品不多,大都由数据库厂商随数据库产品一起提供。而中 间件与数据库之间的接口标准,如 xa2及 jdbc、odbc 等已经非常成熟。 (3)远程过程调用中间件 远程过程调用是一种广泛使用的分布式应用程序处理方法,rpc 机制是早期开 发分布式应用时经常采用的一种同步式的请求应答协议。通过这种协议,程序员编 写客户方的应用, 需要时可以调用位于远端服务器上的过程。 一个应用程序使用 rpc 执行一个位于不同地址空间里的过程,从效果上看和执行本地调用相同。事实上, 一个 rpc应用分为两个部分: server 和 client。 server 提供一个或多个远程过程; client 向 server 发出远程调用。server 和 client 可以位于同一台计算机,也可以位于不同的 计算机,甚至运行在不同的操作系统之上。它们通过网络进行通讯。相应的 stub 和 运行支持提供数据转换和通讯服务,从而屏蔽不同的操作系统和网络协议。 在 rpc 模型中,client 和 server 只要具备了相应的 rpc 接口,并且具有 rpc 运 行支持,就可以完成相应的互操作,而不必限制于特定的 server。因此,rpc 为 client/server 分布式计算提供了有力的支持。同时,远程过程调用 rpc 所提供的是基 于过程的服务访问,client 与 server 进行直接连接,没有中间机构来处理请求,因此 也具有一定的局限性。比如,rpc 通常需要一些网络细节以定位 server;在 client 发 出请求的同时,要求 server 必须是活动的等等。 rpc 扩展了过程语言中的“功能调用结果返回”的机制,使得它可以适用于 一个远程环境。由于 rpc 机制是同步方式,因而在工作的时候,要求客户方和服务 方均能正确工作才能很好地运行,有一方不能工作将导致 rpc 失败。在网络故障、 机器故障存在的情况下,这一要求是很难保证的。另外,由于大多数 rpc 机制很难 2 xa:xa 就是 x/open dtp(distributed transaction processing,分布式交易处理)定义的交易中间件与数据库之 间的接口规范,即接口函数,交易中间件用它来通知数据库事务的开始、结束以及提交、回滚等。xa 接口函数 由数据库厂商提供。 上海交通大学硕士毕业论文 第二章 中间件技术 第 10 页 建立点到点的关系,因而也很难用在面向对象的编程当中。 (4)消息中间件 消息中间件 mom(message-oriented middleware)是一种特定的中间件,它利 用高效可靠的消息传递机制进行平台无关的数据交换,并基于数据通信来进行分布 式系统的集成。消息中间件最重要的功能是及时提供可靠的消息通信手段。为了能 够完成消息的可靠传输,一般情况下,使用队列的方式进行消息管理,也就是说, 能常在进行数据传输时,将数据按照用户定义的大小,拆分成若干消息放入消息队 列,按照同步或异步的通信方式发送或者接收消息。用消息队列技术带来的好处是: 由于是异步通信,无论是发送方还是接收方都不用等待对方返回成功消息,就可以 执行余下的代码,因而大大地提高了事务处理的能力;当信息传送过程中,信息发 送机制具有一定功能的故障恢复能力;消息传递机制使得消息通信的双方具有不同 的物理平台成为可能。消息队列服务是一种松耦合的分布式应用集成形式。发送者 将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再 将消息转发给接收者。这种模式下,发送和接收是异步的,发送者无需等待;二者 的生命周期未必相同;发送消息的时候接收者不一定运行,接收消息的时候发送者 也不一定运行;一对多通信,对于一个消息可以有多个接收者。 越来越多的分布式应用采用消息中间件来构建,通过消息中间件把应用扩展到 不同的操作系统和不同的网络环境。基于消息的机制更多地适用于事件驱动的应用, 当一个事件发生时,消息中间件通知服务方应该进行何种操作。其核心安装在需要 进行消息传递的系统上,在它们之间建立逻辑通道,由消息中间件实现消息发送。 消息中间件可以支持同步方式和异步方式,实际上是一种点到点的机制,因而可以 很好的适用于面向对象的编程方式。中间件领域目前最热门的技术是异步的消息中 间件,异步中间件技术比同步中间件技术具有更强的容错性,在系统故障时可以保 证消息的正常传输。 (5)交易中间件 交易(transaction)又称之为事务,交易中间件(即事务监控器,transaction processing monitors)是专门针对分布式环境下联机交易处理系统的事务处理而设计 的。联机交易处理系统需要处理大量并发进程,处理并发涉及到操作系统、文件系 统、编程语言、数据通讯、数据库系统、系统管理、应用软件,是一个相当艰巨的 任务,但是工作的难度可以通过采用一个交易中间件来简化。交易中间件就是一组 程序模块,用以大大减少开发一个联机交易处理系统所需的编程量。x/open 组织 (即现在的 open group)专门定义了分布式交易处理(dtp ,distributed transaction 上海交通大学硕士毕业论文 第二章 中间件技术 第 11 页 processing)的标准及参考模型,把一个联机交易系统划分成资源管理(rm) 、交易 管理(tm)和应用(ap)三部分,定义了应用程序、交易管理器、多个资源管理 器是如何协同工作的。资源管理器是指数据库和文件系统,交易管理器可归入交易 中间件。交易中间件管理由应用声明和提交的交易,并通过两阶段提交协议等方式 保证分布式交易的完整性、控制并发、实现交易路由和均衡负载。 交易中间件其核心作用是保证分布式计算环境中各节点交易处理结果的一致 性,及时的交易响应时间,使整个系统达到高吞吐率,724 小时的不间断运行。 交易中间件理论上相对成熟,功能和性能界定清晰,但基本上适用于联机交易系统, 如银行业务系统、定票系统等。尽管交易信息也是消息,交易中间件也是基于消息 的传输,也可支持同步和异步方式,但与消息中间件的定位差距较大,属于一种较 专用的中间件。 (6)对象中间件 面向对象的技术一直是软件界努力追求的目标,传统的对象技术通过封装、继 承及多态提供了良好的代码重用功能。但是这些对象只存在一个程序中,外面的世 界并不知道它们的存在,也无法访问它们。面向对象的中间件就是要解决这些问题, 它提供一个标准的构件框架,能使不同的厂家的软件通过不同的地址空间、网络和 操作系统互相交互访问。该构件的具体实现、位置及所依附的操作系统对客户来说 都是透明的。例如,我们可以通过简单的组装或扩展已有的构件就可以建立一个客 户机/服务器结构的信息系统。面向对象的中间件技术的目标就是为软件用户及开发 者提供一种应用级的即插即用的互操作性,就象现在使用集成块和扩展板一样。 面向对象的中间件是对象技术和分布式计算发展的产物,业界普遍认为面向对 象是今后中间件发展的主流方向,它提供一种通讯机制,透明地在异构的分布计算 环境中传递对象请求,而这些对象可以位于本地或者远程机器。 根据六大类中间件产品的分类,可以看出各类中间件产品有一些明显的区别。 首先,他们具有不同的功能。例如,终端仿真/屏幕转换中间件一般用于实现客户机 图形用户接口与已有字符接口的服务器应用程序之间的互操作;数据访问中间件主 要是建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统 实现联接;交易中间件是在分布、异构环境下提供保证交易完整性和数据完整性的 一种环境平台;对象中间件是在分布、异构的网络计算环境中,将各种分布对象有 机地结合在一起,完成系统的快速集成,实现对象重用等。其次,各厂商在生产中 间件产品时,也会有不同的侧重。在目前国外中间件市场,hp 公司的 netaction、 美国 bea 公司的 weblogic、ibm 公司的 websphere,国内东方通的 tonglink/q、 上海交通大学硕士毕业论文 第二章 中间件技术 第 12 页 中科院软件所的 isbroker 等中间件产品各自均具有自己不同的特点与功能,为企业 选择合适的中间件产品提供了多种机会。所以,企业要想保证系统的可伸缩性和可 扩展性,就要选择一个合适的中间件产品及中间件供应商。 2.2.2 中间件标准2.2.2 中间件标准 考察当前主流的分布计算技术平台,主要有 omg 的 corba,sun 的 j2ee 和 microsoft dna 20000,它们都是支持服务器端中间件技术开发的平台,但都有其各 自特点,将分别阐述如下13: (1) omg的 corba 公共对象请求代理体系结构(corba, common object request broker architecture) 是对象管理组织(omg)基于众多开放系统平台厂商提交的分布对象互操作内容基础 上制定的分布式应用程序框架的规范。 corba 是由绝大多数分布计算平台厂商所支持和遵循的系统规范,具有模型 完整、先进,独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分 布计算技术的标准。cobra标准主要分为 3 个层次:对象请求代理、公共对象服务 和公共设施。最底层是对象请求代理(orb,object request broker),规定了分布对 象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的“软 总线” ;在 orb 之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事 务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架, 提供可直接为业务对象使用的服务, 规定业务对象有效协作所需的协定规则。 corba 的优点是大而全,互操作性和开放性非常好,缺点是庞大而复杂,并且技术和标准 的更新相对较慢,在具体的应用中使用不是很多。 面向对象标准原本只有一个 corba,该标准由包括 bea、ibm、oracle、sun 和 sybas e 等公司在内的众多厂商一起制定,从而形成了一个庞大的 corba 联盟势 力。 后来, sun 推出了企业级 javabeans(ejb), 用自己易使用的程序模型来对 corba 做出了改进。微软 com(component object model,组件对象模型)的出现,使面向 对象中间件市场里又多了一个标准,这样,面向对象中间件产品实际上形成了两大 标准,一是微软的 com,一是 javabeans。 (2) sun的 j2ee 为了推动基于 java 的服务器端应用开发,sun 在 1999 年底推出了 java2 技术及 相关的 j2ee规范。 j2ee 的目标是提供与平台无关的、可移植的、支持并发访问和安全的、完全基 上海交通大学硕士毕业论文 第二章 中间件技术 第 13 页 于 java 的开发服务器端中间件的标准。j2ee 简化了构件可伸缩的、基于构件服务器 端应用的复杂度。在 j2ee 中,sun 给出了完整的基于 java 语言开发面向企业分布应 用的规范,其中在分布式互操作协议上,j2ee同时支持远程方法调用(rmi,remote method lnvocation)和因特网对象请求代理间协议(ilop,intemet inter-orb protocal), 在服务器端分布式应用的构造形式包括了 java scrvlct、jsp(java serverpage)、ejb 等多种形式,以支持不同的业务需求。 ejb 是 sun 推出的基于 java 的服务器端构件规范 j2ee 的一部分,在 j2ee 推出 之后得到了广泛的发展,已经成为应用服务器端的标准技术。sun ejb技术是在 java bean 本地构件基础上发展的面向服务器端分布应用构件技术。它基于 java 语言,提 供了基于 java 二进制字节代码的重用方式。ejb 给出了系统的服务器端分布构件规 范,这包括了构件、构件容器的接口规范以及构件打包、构件配置等的标准规范内 容。ejb技术的推出,使得用 java 基于构件方法开发服务器端分布式应用成为可能。 从企业应用多层结构的角度,ejb 是业务逻辑层的中间件技术,与 javabeans 不同, 它提供了事务处理的能力,自从三层结构提出以后,中间层,也就是业务逻辑层, 是处理事务的核心,从数据存储层分离,取代了存储层的大部分地位。从分布式计 算的角度,ejb 像 corba 一样,提供了分布式技术的基础,提供了对象之间的通 讯手段。 从 internet 技术应用的角度,ejb 和 servlct,jsp 一起成为新一代应用服务器的 技术标准,ejb 中的 bean 可以分为会话 bean 和实体 bean,前者维护会话,后者处 理事务,现在 scrvlet 负责与客户端通信,访问 ejb,并把结果通过 jsp 产生页面传 回客户端。 j2ee 的优点是技术先进,架构优秀,真正的三层结构,用 java 开发构件,能够 做到 “write once, run any where” , 开发大型的应用优势明显, 可以配置到包括 windows 平台在内的任何服务器端环境中去。缺点是缺少一系列的接口支持,技术进入门槛 高,开发起来的难度大。 (3) microsoft dna 2000 microsoft dna 2000(distributed internet applications) 是 microsoft 在 推 出 windows2000 系列操作系统平台基础上, 在扩展了分布计算模型以及改造 back office 系列服务器端分布计算产品后发布的新的分布计算体系结构和规范。 在服务器端, dna 2000提供了 asp、 com、 cluster等的应用支持。 目前, dna2000 在技术结构上有着巨大的优越性。一方面,由于 microsoft 是操作系统平台厂商,因 此 dna 2000 技术得到了底层操作系统平台的强大支持;另一方面,由于 microsoft 上海交通大学硕士毕业论文 第二章 中间件技术 第 14 页 的操作系统平台应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论