- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中间件技术在数据库开发中应用
中间件技术在数据库开发中的应用
[摘要]中间件通常是由一个API定义的软件层,负责处理不兼容的操作系统或文件结构,调节客户机/服务器或服务器与服务器之间的通信。讨论中间件技术在数据库中的应用。
[关键词]中间件 数据库中间件 客户机/服务器
中图分类号:TP3文献标识码:A 文章编号:1671-7597(2008)1220057-01
随着企业信息量的不断扩大和网络环境的日益复杂,越来越多的客户机/服务器引入了中间件技术,某种形式的中间件都会在用户不可见的情况下存在并起作用。
一、中间件的基本概念及其分类
(一)中间件的概念
中间件通常是由一个API定义的软件层,它负责处理不兼容的操作系统或文件结构,调节客户机/服务器或服务器与服务器之间的通信,通常工作在网络层或传输层之上并且和下层的通信服务相互独立。
(二)中间件的分类
数据库中间件(DM,DatabaseMiddleware)
远程调用中间件(RPC,RemoteProcedureCall)
面向消息中间件(MOM,MessageOrientedMiddleware)
对象请求代理(ORBObjectRequestBrobers)
事务处理管理(TPM,TransactionProcessingMonitor)
专用中间件(PM,ProprietaryMiddleware)
RPC使客户机/服务器的计算更进一步,应用程序的开发者就像使用一个函数调用本地数据库一样,使用远程过程调用去访问一个远端服务器上的数据,同时,一个RPC也可以将程序控制传递到远端服务器上。
MOM比RPC更进一步,它基于消息传递和消息队列,可以提供一个更可靠的连接,避免了因网络或服务器的错误而导致的系统瘫痪,这种技术可以在客户机和服务器之间提供同步或异步连接,并且消息能够在任意时刻即时传送或存储转发,和RPC相比,MOM适合需要多个数据和进程可靠传送的分布式环境。
ORB被视为从面向对象技术到分布式技术的推动力量,它可以包含更复杂的分布式请求或服务信息,并且可以用于非结构或非关系的数据库中。
TPM主要是对需要快速的、可靠的多用户给出复杂的分布式环境控制。
PM是许多客户机/服务器开发工具和大型客户机/服务器应用都有其专用的中间件。
本文主要对数据库中间件做详细的阐述。
数据库中间件是所有中间件中应用最广和发展前景最好的一种中间件,它作为前端客户机和后端数据库之间的一个应用层,起到一个桥梁的作用,负责接收客户端的数据请求,做一些简单的处理后,把请求再传递给相应的后端数据库,进行最后的数据处理,然后将结果由数据库中间件返回给客户端。数据库中间件不单进行与数据库连接等有关数据库的处理,也可以将传统C/S环境下的客户端进行的处理移植到中间层上,精简客户端,减轻客户机的负担,这样做可以增强系统的并行处理或性能,改善安全性能,减低对客户端的系统要求,也为NC(网络终端)等的实现准备了技术基础。
二、常用的数据库中间件种类
(一)通用网关接口CGI
CGI是Web服务器与CGI应用程序之间进行信息传递的一种标准,是目前访问数据库最常用的方法之一,它移植性好。几乎所有的web服务器都支持CGI标准,CGI程序驻留在Web服务器上,当Web服务器受到客户浏览器的请求后,执行相应的CGI程序,并通过Webserve将结果返回给浏览器。CGI有一个致命的弱点,那就是CGI程序不能被多个客户请求共享。每当接到一个请求后,即使有一个该CGI程序的实例在运行,也必须重新启动一个相同的实例。即创建一个并发进程,并发请求越多,创建的并发进程越多,占用的内存空间越大,这样就限制了应用程序自身所用的内存资源,而且每个请求创建一个进程一也会消耗很多时间,在需要多个数据库连接的多用户应用中,采用CGI来连接数据库势必会随着用户的增加而延长用户连接数据库的等待时间,使系统的性能降低,并可导致系统最终的崩溃。
(二)WebAPI
WebAPI同CGI一样也是一种中间件,它是针对CGI程序的诸多不足而提出的,为了提高Webserver与数据库服务器的通信效率和性能。Netscape和Microsoft推出了运行于各自服务器软件的NSAPI和ISAPI。与CGI作为独立运行机制不同,这些API都是以DLL形式提供的,它们和Webserve软件处少相同地址空间,Webserve进程可以直接调用这些webAPI。所以,使用WebAPI的速度明显快于CGI程序,功能也比较强大,但它也有缺点,如NSAPI和ISAPI互不兼容,只能运行在特定的web服务器和操作
文档评论(0)