|
登录注册 |
☦ 上海交通大学论坛 > 数据库 > 浏览当前帖子 | 手机版 关闭左侧栏 |
数据存取中间件概览 |
【返回本版】 【发表帖子】 【回复帖子】 | 浏览量 5629 回帖数 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 |
论坛帮助 会员认证删帖申请 联系我们 |