登录注册
上海交通大学论坛 > 数据库 > 浏览当前帖子 手机版 关闭左侧栏
数据存取中间件概览
返回本版】  【发表帖子】  【回复帖子 浏览量  5632      回帖数 0
寻找“楚楚”    等级  

楼主 发表于  2012/5/1 18:32:13    编 辑   


  中间件概述 


                  网络、关系数据库以及客户机/服务器运算等先进  
                际醯某鱿郑俳烁鋈说缒缘娜嫫占啊F笠的诓俊⒉棵 
                偶湟约坝胪獠渴澜绲男畔⒔涣骺汕嵋椎亟柚ㄊ郊扑慊 
                靡允迪帧H缃瘢蠹叶伎衫肧QL通用语言进行网络连接 
                和存取数据。事实上,我们对SQL语言一点也不陌生,我 
                们每天所处理的电子邮件、打印文档或共享文件,都是借 
                助SQL语言才得以实现的。如果在网络连接中增设中间 
                件,日常对系统的简单请求将可传送到拥有相应数据资料 
                的电脑中,随即获得处理,并将有关信息返还。 

                  由于实际用途的不同,中间件的类型和规模也千差万 
                别。某些中间件主要针对特定的应用和数据库。因此,对 
                于不同的应用/数据库组合,应采用不同的中间件;在选 
                用中间件之前,明确所需的功能是很重要的。 

                  能够处理连接以及读写现有数据库逻辑步骤的中间 
                件,被称之为数据存取中间件。显然,人们需要的是能够 
                在现有的台式机系统中,利用现有的开发工具,实现基于 
                标准的数据存取功能。 


                                 数据存取中间件 


                  对最终用户来讲,数据存取中间件所涉及的工具包括 
                电子表格和查询工具,甚至包括个人电脑上运行的定制或 
                纵向的应用系统。这些工具大多通过两个相关的标准,与 
                外界数据库相连。这两个标准分别是获各大关系数据库供 
                应商认可的标准化SQL通用语言;以及可传输SQL的事实标 
                准界面———开放数据库连接(Open Data base 
                Connectivity,ODBC)。 

                  使用ODBC时,用户必须先安装一个“驱动器”,其原 
                理类似于打印机驱动器。ODBC驱动器将用户对应用系统的 
                数据请求组合起来,利用网络传送到指定的服务器系统。 
                其中所涉及的传送管理程序包括INTERSOLV公司的Data 
                Direct Seque Link等通用的中间件层产品,以及□□专 
                用数据库厂商的中间件产品。 

                  每当服务器接收到请求时,系统便会自动执行一系列 
                步骤。由于服务器可能同时接收到数以百计的用户请求, 
                因此系统必须能够妥善处理各项请求的安全性及排序工 
                作。然后,由指定的数据库引擎来处理和提供所需的数 
                据。只有向最终用户返还所需的请求数据时,才会再一次 
                利用中间件。 


                               客户机端ODBC驱动器 


                  ODBC需要先翻译用户的请求,然后发送到指定的数据 
                库系统。可以在个人电脑或服务器系统上进行翻译。如果 
                用户采用的是客户机端ODBC系统,翻译工作将由ODBC驱动 
                器在个人电脑上进行,如同打印机驱动器需要先设定Word 
                文件的格式,然后向指定的打印机发出打印指令一样。在 
                上述结构中,ODBC驱动器需要采用配合指定数据库的专用 
                中间件,才能连接至相关的数据库,处理数据存取工作。 

                  若用户只采用一种数据库或服务器系统,则在客户机 
                上执行指定数据库的转换工作游刃有余。随着数据库数量 
                的增加,相关的行政及操作方面的问题也变得愈加复杂。 
                此外,诸如职员及资源等行政开支,以及如何优化网络数 
                据库资源等问题也都是不容忽视的。 


                               服务器端ODBC驱动器 


                  先进的ODBC结构采用一种全新的方法:无论数据库及 
                服务器的类型和数量如何,在每台个人电脑上都安装单一 
                的ODBC驱动器或输入点。真正的工作是由一个通用的中间 
                件连接层完成的,它替代了数据库中间件,将ODBC请求传 
                送到指定的服务器。这种结构的优点是精简行政工作,节 
                省企业的日常维护成本。 

                  部分数据存取中间件采用次层目录及额外的服务器处 
                理引擎,将SQL映射到数据库中,有效地取代了交易监控 
                (Transaction Monitor)或类似的系统,来管理用户的 
                信息请求。个别数据存取中间件甚至可以在翻译程序中, 
                将SQL转换成产品级的数据语言,以存取在线的旧数据 
                库,如IMS/DB及VSAM等文件。然而,这项先进的技术不 
                但存在高成本及复杂性等问题,还对性能及系统负荷提出 
                了更高的要求,一般仅局限于存取副本或脱机数据库。 

                  其它基于服务器的解决方案采用类似的方法——— 
                “网关”实施方案,集中处理大型机上的数据,如DB2 
                等。每名用户都可在一个复杂的中央服务区内与其本身的 
                程序沟通,并通过中央服务区与其它相关的DB2程序进行 
                对话。有关的请求将由一个中央处理器重新处理,不但牺 
                牲了系统的某些安全性能,还会引发系统瓶颈,导致成本 
                上升。更严重的是,若中央处理器出现故障,该方法还将 
                大大降低系统的可靠性。 

                                                    
                  图:中间件工作方式 




                              最佳的网关是没有网关 


                  对网关持否定态度的人认为,有关网关成本及复杂性 
                等问题其实可以防患于未然,即允许从应用系统直接存取 
                数据库处理程序。然而,由于个别应用系统或数据库必须 
                保持连接,或者用户需要采用特殊的方法集成其数据,往 
                往不选择这种直接的方法。 

                  多达80%的请求较简单、直接。用户偶尔需要连接两 
                个来自不同机器的不同数据库系统中的大型表格,若为此 
                而设立一个网关,实在有点不切合实际。更有效的方法是 
                利用一个可管理的呼叫工具,将信息复制到部门服务器或 
                数据仓库。否则,用户可能会承担失控的风险,大大加重 
                系统的负荷。 

                  除了网关及复制外,不少机构采用从客户机至服务器 
                数据库的直接点对点存取,视之为最佳的结构。该结构可 
                简化安装及维护工作,提高连接的可靠性及吞吐量。事  
                瞪希荽嫒≈屑浼商峁└鋈说缒灾量突Щ衿髌 
                教ㄖ涞闹苯恿樱鏦indowsNT、OS/2及UNIX,甚至 
                包括大型机、AS/400及VAX主机等。 


                                  中间件的选择 


                  在选择中间件时,应注意以下事项: 

                  网络效率及优化———如何处理大量的数据、庞大的 
                用户及复杂的请求,系统的性能至关重要。我们必须充分 
                利用现有资源,如将个别请求组合为模块,以及利用较大 
                的信息包来交换信息。 

                  数据压缩———压缩功能与系统的性能有直接的关 
                系。通过提高每个信息包的数据容量,可以大幅压缩客户 
                机和服务器之间交换的信息包尺寸,以降低网络的负荷, 
                从而降低系统的带宽要求。 

                  安全性———安全性不仅仅指存取个别服务的权利, 
                而是涵盖在客户机与服务器之间传输的客户信息及数据本 
                身的安全问题。因此,安全性可分为网络上的数据库、服 
                务器及数据加密等三个重要的层次。 

                  针对变化采取的保险措施———随着企业收购及合  
                ⒌钠捣狈⑸约凹际醯目焖俑拢笠档男畔⒓际踅峁 
                拐诜⑸本绲谋浠6杂谟没Ю唇玻┯ι痰奈榷ㄐ约 
                凹际醯牧榛钚员涞萌找嬷匾C娑晕蠢幢浠牟蝗范ㄐ裕 
                ヒ弧⑼ㄓ玫氖荽嫒≈屑浼晌没峁┛煽康谋U稀 
                U饫锼傅谋浠ǎ  

                  *平台(如SunSolaris日渐取代DECVAX) 

                  *数据库(如Oracle取代Ingres) 

                  *客户机(如WindowsNT取代OS/2) 

                  *通信(如TCP/IP取代SNA) 

                  将连接功能扩展至现实的动态业务环境,我们会发 
                现,连接的使用类型从直接的业务应用、企业的智能信息 
                分析、工作组的数据复制、Web技术以至旧式系统的集成 
                等,覆盖面极广。上述类型代表了数据存取中间件的不同 
                侧面,显示了其通用性和灵活性。 

                  以数据复制为例,通常将数据复制到另一个数据库, 
                以保障至少有一台服务器能使用关键数据,并可集成来自 
                不同的本机数据库的数据,以实施定期、优化的数据检索 
                及数据仓库项目。 

                  另一个例子是借助通用的信息视窗,展示企业信息。 
                最终用户在存取透明数据时,无须掌握SQL语言。 

                  一般的数据存取中间件主要执行简单的数据查询及报 
                告功能。而灵活的工具不但能存取数据,还能设定格式, 
                并将数据转换成有意义的信息,以方便参考并制订商业决 
                策。在一个真正集成化的工作环境中,用户可以利用 
                ActiveX或OLE语言,将信息集成在其它应用系统中,并通 
                过电子邮件系统,将报告发送至机构内的□□成员;甚至 
                能够编排时间,定期将报告发送给未参加会议的用户。 

                  对于Web应用来讲,数据库存取的格式相对较为复 
                杂,而且数据存取中间件的作用也与一般企业内部环境中 
                常见的结构稍有不同。最大的差别在于前者引入了Java技 
                术以及相关的标准,如Java Data base Connectivity 
                (JDBC)、微软的Active XOLE/COM及OLEDB。 

                  JDBC等Java技术的集成,甚至ODBC界面的引入,只是 
                连接的一部分,其余则基本一致。通用而灵活的标准化数 
                据存取中间件有助于解决实施问题,并推广创新的技术。 

                  对于考虑采用中间件的机构来说,首先应明确本身的 
                数据存取需求,进而确定及解决与现有及未来应用和数据 
                库以及与大规模交易处理应用的集成问题。 

                  鉴于数据存取的重要性,用户应在成本及优势方面, 
                对DBMS厂商的专用中间件及开放、独立的中间件解决方案 
                作一细致的比较,以作出选择。后者具有扩展性,适用于 
                独立用户、部门甚至整个企业范围。 

                  当用户需要建立一个大型数据存取中间件结构时,系 
                统的设计问题是不容忽视的。考虑到因特网及软、硬件技 
                术的迅猛发展,以及多媒体应用和个人笔记本电脑的普 
                及,在设计中间件产品时,必须为技术开发留有余地。 
1
表情
所有内容均为会员自愿发表,并不代表本站立场.
论坛帮助 会员认证删帖申请 联系我们