不考虑中间

更新时间:2023-03-07 21:29:01 阅读: 评论:0

保护孩子的好奇心-头晕目眩意思

不考虑中间
2023年3月7日发(作者:小于符号)

中间件及其应用

泰州电信分公司通建部陈晴摘要:随着计算机应用范围的不断扩大,中间件

技术已成为计算机应用的一个热点话题。本文细述了中间件的概念以及各种类型

中间件的技术特性,并对中间件在客户/服务结构的应用进行了讨论,最后介绍

了一个中间件应用的一个实例。

关键词:中间件应用

1.中间件的概念

计算机硬件、软件技术的迅速发展,使计算机应用不断渗透到各个领域,特

别是随着LAN技术的发展应用、Inrenet的普及、计算机应用范围的不断扩大、

以及企业的跨区域运营,急切需要建立由若干个子系统组成集成计算机信息系统,

以期待完成更复杂、更高级的功能。但是,已有的计算机信息系统是异构的,普

遍存在着严重的"信息孤岛"问题,即每个子系统之间是独立的、不能有效地进行

信息交换和共享。于是,现代企业管理向人们提出了建立一个基于不同数据库、

不同主机平台、不同应用范围、不同人机界面、不同网路类型的综合应用系统的

需求,如何把这些不同类型的设备、数据库、软件和网络集成起来开发出新的应

用,是我们目前亟待解决的难题。一个较好的解决方法便是采用中间件技术。

中间件的概念是随着多层应用模式和分布式计算技术的发展逐渐形成的,主

要为解决异构问题。对于中间件目前还没有统一的定义,总的来说,中间件是一

种软件总线,不同的主机平台、数据库和应用被按照规范制作成插件安装在总线

上,实现异构系统的信息共享,又被描述为软件“粘合剂”,将不能交互的应用

系统间粘在一起。它是一软件集合,提供了独立系统间通信的函数和对异构系统

进行应用集成的工具,并具有如下的一些特点:

满足综合应用的需要

运行于多种主机和OS平台

支持分布计算,提供跨网络、硬件和OS的透明性的应用或服务的交互

支持标准的协议和接口

图1示意了中间件在系统中所处层次,从体系结构上看,中间件是位于操作

系统和应用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异

性和操作系统、数据库以及网络协议的异构性,使应用软件能够比较平滑地运行

于不同平台上。同时中间件在负载平衡、连接管理和调度方面起了很大的作用,

使企业级应用的性能得到大幅提升,满足了关键业务的需求。

2.中间件的分类

从概念上讲,中间件的雏形早在70年代就出现了,消息通信和事务管理是

其最初具有的功能。到了90年代,随着互联网的普及和企业管理的需要,对于

中间件的需求也逐渐多样化,从而促使中间件技术进一步细分,产生了不同类别

的中间件产品。根据应用编程接口功能和应用的不同,传统上将中间件分为5大

类,分别是数据库中间件(DatabaMiddleware)、基于远程过程调用中间件

(RPC-badMiddelware)、面向消息中间件(Message-orientedMiddleware)、

分布事务处理中间件(Distributedtransactionprocessingmonitor

Middleware)和对象请求代理中间件(ObjectrequestbrokerMiddelware)。

2.1.数据库中间件

数据库中间件是所有中间件中最普遍、最成熟的一种。它提供了一系列应用

程序接口API,通过中间层而不考虑操作系统及网络来访问本地或异地的数据库,

提供了良好的数据库独立性。

ODBC就是一种基于数据库的中间件,它提供了一组对数据库访问的标准

API,通过SQL来完成其大部分任务。一个完整的ODBC由下列几个部件组成:应

用程序(Application)、ODBC管理器(Administrator)、驱动程序管理器

(DriverManager)、ODBC驱动程序和数据源。各部件之间的关系如图2图所

示:

应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管

理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立

起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC

就能建立起与相应数据库的连接。在ODBC中,ODBCAPI不直接访问数据库,

必须通过驱动程序管理器与数据库交换信息,驱动程序管理器负责将应用程序对

ODBCAPI的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,

将结果通过驱动程序管理器返回给应用程序。

基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打

交道,所有的数据库操作均由对应的DBMS的ODBC驱动程序完成。也就是说,不

论是FoxPro、Access还是Oracle数据库,均可用ODBCAPI进行访问。由此可

见,ODBC的最大优点是能以统一的方式处理所有的数据库。

但是,在基于数据库的中间件模型中,数据库作为信息的中心存储单元,中

间件负责数据间的同步及点到点通信,系统的灵活性提高是以处理性能的降低为

代价的。这种方式不适合于高性能应用处理,因为它需要大量的数据通信,同时,

当网络发生故障时,系统将不能正常工作。

2.2.基于RPC中间件

'

远程过程调用是一种广泛使用的分布式应用程序处理方法,是面向过程和函

数的中间件,提供的是基于过程的服务访问。它沿用了大多数程序员都非常熟悉

的编程模式,程序员就像调用本地过程一样在程序中调用远程过程,启动远程过

程的运行,然后将运行结果返回给本地程序。不但如此,远过程调用还可以将程

序的控制传递到远端的服务器当中去。

在RPC模型中,client和rver只要具备了相应的RPC接口,并且具有RPC

运行支持,就可以完成相应的互操作,而不必限制于特定的rver。因此,RPC

为client/rver分布式计算提供了有力的支持。同时RPC也有一些缺点,主要

是因为RPC一般用于应用程序之间的通信,而且采用的是同步通信方式,因此对

于比较小型的简单应用还是比较适合的。但是对于一些大型的应用,这种方式就

不是很适合了,因为此时程序员需要考虑网络或者系统故障,处理并发操作、缓

冲、流量控制以及进程同步等一系列复杂问题。

2.3.面向消息中间件

面向消息的中间件为SERVER、CLIENT间提供了异步的可靠的数据传输方式,

使得数据可间断地来往传递,就如同我们通过e-mail传递消息,它支持多种通

讯协议、编程语言、应用程序、硬件和软件平台。目前流行的MOM中间件产品有

IBM的MQSeries、BEA的MessageQ等。

消息中间件提供的服务主要有以下几类。

1)存储转发服务:消息的发起者使用该服务识别接收地点,如果接收者不

可达,消息便被储存在队列或存储器中,消息的传递可以堆积并延迟到某

一事件的触发(如:接收者可达)。EMAIL应用便是一种消息的存储转发模

式。

2)广播/订购中间件服务:消息产生者通过广播/订购中间件服务将消息公

布到消息中心(代理),消息中心根据所有订购该消息的程序清单分发消息。

3)事件登记服务:对任何消息系统,在消息的异步传送和同步传送过程中

有许多不同的事件发生,消息系统必须对这些事件进行识别管理来控制消

息的传送。

4)智能路由服务:智能路由中间件服务确保消息以正确的序列传递到目的

地。

消息中间件有以下三个主要特点:

A.通讯程序可在不同的时间运行。

B.¥

C.对应用程序的结构没有约束。在复杂的应用场合中,通讯程序之间不仅

可以是一对一的关系,还可以进行一对多和多对一方式,甚至是上述多

种方式的组合。多种通讯方式的构造并没有增加应用程序的复杂性。

D.程序与网络复杂性相隔离。

2.4.分布式事务处理(DTP)中间件

事务处理监控(Transactionprocessingmonitors)最早出现在大型机上,

为其提供支持大规模事务处理的可靠运行环境。随着分布计算技术的发展,分布

应用系统对大规模的事务处理提出了需求,比如商业活动中大量的关键事务处

理。它确保事务处理的完整性,提高系统的处理能力,可以被看作是分布式事务

处理应用程序的“操作系统”。总体上来说,事务处理监控提供以下功能:

两阶段提交:其含义是对一个涉及多张表(table)或多个系统的事务提交

进行监控管理,确保所有数据的一致性和完整性。

失败恢复:事务监视器为所有事务记录日志,日志中记录事务的每个步骤,

利用日志,可对失败的事务进行回滚或重新计算。

系统同步:TPM使用事务日志使不同的系统保持同步。

事务调度:对事务的执行进行调度,将低效率或实时性低的事务安排在空

闲时段执行,以提高系统的运行效率。

消息队列管理:保证应用系统提交的请求和数据可在网络故障或目的服务

器瘫痪等情况下也能递交到目的服务器。

全局事务工作流管理

负载均衡:保证大量事务在众多不同系统中快速准确执行。

2.5.%

2.6.对象请求代理(ORB)中间件

随着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计

算,并发展为当今软件技术的主流方向——对象请求代理中间件。ORB中间件采

用面向对象的技术,将分布计算同面向对象的概念相互结合,可以看作是与编程

语言无关的面向对象的RPC应用。目前,ORB主要存在两个标准:CORBA和DCOM,

且两种标准存在了较大差异。

CORBA(CommonObjectRequestBrokerArchitecture)是由OMG组织制订

的一种标准的面向对象应用程序体系规范,ORB是CORBA平台的核心。图3所示

是基于ORB的结构,箭头方向表示了ORB的调用关系。

图3:ORB结构示意图

DCOM(Distributedcomponentobjectmodel)是微软提出的分布式对象技

术,从OLE(Objectlinkingandembedding)和COM(Componentobjectmodel)

演变而来,DCOM采用ORPC(ObjectRemoteProcedureCall)作为它的基本协

议,并通过SCM(ServiceControlMananger)实现对象实体的操作。图4所示

是DCOM的结构。

图4:DCOM体系结构

3.中间件在客户/服务结构中的应用

客户/服务的概念最早在80年代提出,并在80年代后期开始被广泛采用。

在这之前,基于网络的计算机应用系统主要文件共享模式为主流,随着计算机应

用范围的扩大,文件共享的局限性也暴露出来,为了解决这些局限性,产生了客

户/服务体系结构,并且由于这种结构的诸多优点,使分层模式得到了广泛应用,

从而推动了中间件技术的发展。

传统的客户/服务器模式是一种双层的结构,通常是一台个人计算机做客户

机使用(运行客户端程序),另外一台服务器用于存放后台的数据库系统,应用

程序与客户端直接相连,中间没有其他的层次。这种方式的数据库应用系统其优

势在于,开发周期较短,能够适应大部分中小型数据库应用系统的要求(当客户

端数量少于50时)。但随着数据库应用的日渐发展,这种结构的应用系统显现出

诸多缺陷,主要有:对于数据库服务器端,每当建立一个数据连接,就会占用一

些系统资源以确保与客户机之间的连接,当数据连接达到一定数量时,数据库服

务器的响应速度与处理速度将大打折扣;程序的业务逻辑存在于前台的应用程序

中,或者存在于后台数据库中以触发器(trigger)的方式实现,一旦客户的业务

逻辑有所改变的话,应用程序以及后台触发器都需做相应的修改;由于客户端应

用程序的开发直接与DBMS连接,易受制与数据库软件供应商;这种结构将用户

界面、业务逻辑以及数据源绑定在一起,会消耗客户机的大量资源,对客户机来

说是一个很大的负担。

~

正是由于双层结构的局限性,人们提出了三层结构模式。三层客户/服务结

构中,在客户端和数据库管理系统间加入了一个中间层。图5显示了一个三层体

系结构,三个层次自上而下分别是用户应用层、业务层和数据层,通过中间层对

外部数据库进行数据访问。中间件技术是三层结构的重点,可以使用不同的中间

件技术实现业务层功能,如消息队列、事务处理监控、过程调用和对象代理等,

同时在业务层可采用多个中间件技术。不同的中间件技术提供了三层结构的相应

优势,但总体上讲与二层结构相比三层结构有大处理能力、异构性、业务灵活、

可维护管理和可重用等特性。

泰州电信本地网“计费帐务系统”中销帐子系统便采用了三层结构,该系统

采用了BEA公司的TUXEDO中间件产品。Tuxedo是基于分布式事务处理的中间件,

由服务器端的事务管理器(/T-TransactionCore)、客户端的工作站(/WS-Work

Station)、可靠队列服务(/Q-Queue)、应用域(/Domain)和与DCE的结合等几个

核心部分组成的。提供全局事务管理、故障恢复、两阶段提交、可靠队列、路由

服务、同步异步通信、负载平衡以及分布式事务处理等功能,以处理事务交易能

力和效率见长。

图6是泰州“本地计费帐务系统”示意图。帐务处理应用服务器安装了TUXEDO

的事务管理器,销帐、欠费停复话、查询和银行代收通过对业务层的服务请求完

成,不需对数据库直接访问,在满足大交易量和平台共享需求的同时提高了系统

的数据安全性。

4.结束语

随着电信行业竞争的加剧,迫切要求我们用科学的流程和有效的管理来提升

企业的竞争能力,电信企业的各种生产管理系统、网络管理系统以及工作流管理

系统纷纷地应运而生,然而这些系统之间是相互独立的,成为了一个个信息孤岛,

企业资源不能共享、信息不能相互交换、各部门工作不能协同、海量信息不能加

工提取用以快速提供决策参考,必须寻找对这些应用系统进行集成的办法,中间

件技术是我们急于采用的一种方式。

然而,中间件服务并非“万能药”,中间件所应遵循的一些原则离实际还有

很大距离。不同的中间件产品使用各自专用的协议和API,来自不同厂家产品很

难实现互操作。有些中间件服务只提供一些平台的实现,从而限制了应用在异构

系统之间的移植。另外,应用开发较二层结构的客户/服务结构要复杂,例如,

开发者需要完成构件的定义、域的划分以及在client方和rver方的功能分配

等工作。

本文发布于:2023-03-07 21:29:01,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1678195741129853.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:不考虑中间.doc

本文 PDF 下载地址:不考虑中间.pdf

下一篇:返回列表
标签:不考虑中间
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|