18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 数据库中间件(数据库)

数据库中间件(数据库)

时间:2022-11-23 02:30:01 | 来源:信息时代

时间:2022-11-23 02:30:01 来源:信息时代

    数据库中间件 : 位于操作系统之上、应用程序之下,支持分布式软件应用开发、部署、运行和管理的支撑软件。如图1所示,中间件是在操作系统的编程接口(application program interface,API)之上提供的一个高层的API,用以简化分布式软件开发人员的开发工作。
分布式软件系统开发和集成首先要面对多重异构问题,包括硬件和网络的异构、操作系统和编程语言的异构等,中间件作为一层共性的支撑软件其主要的作用是为用户屏蔽这些异构。除此之外,中间件还提供一组共性支撑的服务,如支持位置透明的命名服务,支持失效透明的容错服务,以及安全、实时、事务等相关服务,为分布式软件系统的开发提供多维度的透明。


图1 中间件的位置


如果说操作系统是“使硬件可用的软件”,中间件就可类比为“使分布式系统可编程的软件”。如同在一台没有操作系统的裸机上很难进行单机的软件开发一样,没有中间件的支持,特别是当系统异构时,进行分布式软件系统的开发也同样困难。
中间件作为技术术语最早出现在20世纪80年代,用于描述网络连接管理软件,直到90年代随着网络技术的逐渐成熟,这个术语才获得广泛使用。20世纪90年代初,中间件主要是指一系列使分布式软件应用更容易构建和管理的例程或服务,后来业界又把中间件和关系数据库联系在一起。现在中间件的内涵更多地与网络操作系统、分布式操作系统以及分布式计算机环境关联在一起。目前主流的中间件包括: 消息中间件、企业应用集成中间件、事务处理中间件、数据集成中间件、分布对象中间件CORBA、应用服务器J2EE、Web服务中间件、.NET系列中间件等,它们因所面向的问题领域及对底层系统的抽象层次的不同而不同。不同种类的中间件有着不同的发展途径,总体的发展趋势从软件开发模式的角度可以归纳为: 从过程到对象、从对象到服务。随着网络应用领域的不断拓展,面向网格计算和普适计算的中间件已初见端倪,中间件的家族也将不断的成长和优胜劣汰。
(1)消息中间件是为支持和保障分布式应用程序之间消息的异步收发而研制的一种中间件。该类中间件的核心机制是一个消息队列,消息的收发者可以根据应用的拓扑结构任意配置,消息也可以方便地在队列中抽取和增加。很多消息中间件产品提供了消息持久存储、复制及实时控制等机制。
(2) 事务处理中间件的主要功能是对大规模并发的分布式事务的执行过程进行监控和管理。事务处理应用往往是关键业务应用(如银行系统),因此对其正确性和性能都有很高的要求,事务处理中间件是其支撑平台。大部分的事务处理中间件产品支持对异构分布、分布数据资源的访问,支持事务的ACID特性保持,并提供对多种共性的支撑服务,如连接管理、负载均衡、容错等。
(3)数据集成中间件的主要功能是通过对不同来源、格式和特性的数据的转换与包装,提供统一的高层访问服务,实现各种异构数据源的共享,其理想目标是使用户能够像使用单个数据库资源一样地使用分布异构数据资源。大多数的数据集成中间件都提供数据建模、抽取转换和统一访问接口等功能。
(4)分布对象中间件提供对远程对象的抽象,使用户能够像调用本地对象一样地调用远程对象,同时也使分布式应用的开发者能够方便地使用面向对象的技术,包括封装、继承以及多态等。CORBA是一个开放式的分布式对象计算标准,CORBA技术不仅提供分布式对象的抽象,而且实现编程语言独立及屏蔽不同厂商导致的异构。DCOM是微软公司的分布式对象技术,DCOM实现编程语言独立,但因为其依赖微软操作系统,所以不能屏蔽与其他操作系统的异构。COM+是DCOM的下一代技术,它在编程的简易性上比DCOM有了很大的提高。基于SOAP协议的微软分布式对象框架.NET,实现了编程语言独立,并且可屏蔽不同厂商导致的异构,但其仍然依赖于微软的操作系统。Java的RMI(remote method invocation)与CORBA和DCOM的分布式对象抽象类似,它提供屏蔽操作系统异构及Java提供商异构的支持,但其依赖于Java语言。
(5) Web服务中间件的核心思想是“把软件当作服务”,或者说把“服务”作为软件系统设计和软件之间相互操作的基本原则。服务的提供者和消费者遵循服务接口规范发布服务、提供服务,以及查找服务、请求服务,这些操作与底层的操作系统及程序设计语言无关。该技术提供了一种新型的软件集成、开发的模式。
上述多种中间件在市场上并存,并各有特色。开放的CORBA技术提供了完善的异构屏蔽解决方案,但因为其较高的技术门槛,以及缺乏有力的厂商和产品,其市场份额一直平平。微软的DCOM和NET技术虽然在屏蔽异构方面不足,但伴随其操作系统,得到较为广泛的应用。Java的RMI技术虽然依赖语言,但针对较为紧凑的应用,具有独特优势。分布对象中间件技术在封装、继承等方面对集成提供了更好的技术支持,但面向过程的中间件产品,如事务处理中间件和消息中间件仍然占据着较大的市场份额。面向服务的中间件以其分布式软件开发、集成的模式出现,但面对关键业务应用时仍然存在着许多挑战。
尽管中间件种类繁多,但其研究的内容却可归纳为互操作协议、接口描述语言、基础服务和构件技术等方面。
(1)消息通信对于计算机的重要性完全类似于语言对于人类的重要性。人类语言建立在双方都熟悉的语言规则之上,而协议则是为计算机通信制定的必须遵循的规则。犹如人类具有许多不同种类的语言一样,中间件技术历史不长,但也出现了包括RPC、IIOP、RMI、SOAP在内的一系列互操作协议。互操作协议涉及到的主要技术包括数据表示、消息格式、向低层协议的映射、引用表示、连接管理等。互操作协议是中间件技术屏蔽网络、操作系统,乃至编程语言异构的基础。
(2) 为了使客户能够准确、方便地访问服务(功能模块),服务提供者必须对所提供服务进行准确的描述,并将这些信息以一定的方式提供给客户。接口定义语言的核心工作是定义服务的接口。中间件的接口定义主要是对服务提供的操作进行描述,这些描述主要包括: 功能性描述、约束性描述、执行方式描述和参数传递方式描述等。目前已有的接口描述语言包括RPC-IDL、OMG-IDL、MIDL、WSDL等。
(3)“分而治之”是解决复杂软件系统建设的有效方法,而构件技术则是对该思想的具体体现。如同汽车是由各种不同部件组装而成一样,基于构件的软件开发方法也是依照一定的接口规范对构件进行组装的过程。所谓构件“是一个不透明的功能实现体,能够被第三方所组装,且符合一个构件模型”。从软件开发、管理和运行支撑等不同角度对构件有着不同的理解。目前中间件技术领域中最为主要的构件技术包括 OMG 组织的 CCM(component model,CORBA)和JCP组织的 (enterprise Java bean,EJB)等,涉及的主要技术包括构件模型、构件描述、构件组装、构件部署和构件运行支撑等。
(4)基础服务是软件复用思想的具体体现。在大型分布式应用中存在着大量的、具有共享特征的、且与具体应用无关的“功能”,如命名、安全、事务、事件、时间等,称实现这些功能的程序模块为基础服务。目前这些基础服务已经作为各种中间件技术的一个部分提供给用户,使用户在进行软件开发时能够更加关注于自己的业务需求。基础服务研究的内容涉及广泛,几乎遍及了计算机软件技术的各个方面。
有时候中间件又被称为“粘合剂”,因为它通常能够将遗留系统(企业信息化中采用特定技术已构成的系统)集成在一起。几乎所有的主机应用在设计时都未考虑互操作和远程访问的问题,随着企业应用的发展,系统集成已成为重要的需求,如银联系统。因此需要一种技术在不影响已有系统正常工作的前提下,将系统集成起来。分布式对象中间件技术由于其封装等特性,在遗留系统集成方面更具优势,特别是CORBA技术,它支持大多数类型的异构屏蔽,并且允许在最大程度使用原有的系统。
使用中间件编程并不需要学习专门的编程语言,可以使用自己熟悉的编程语言如C++或Java。使用已有的语言来进行中间件编程主要有三种方法。第一种方法是中间件系统提供一个函数库,开发人员通过调用函数库来使用中间件; 第二种方法是采用一个外部的接口定义语言来描述远程调用的接口,并通过接口定义语言到编程语言的映射来支持开发者编写代码: 第三种方法是编程语言本身也是一种接口定义语言,如Java和RMI。
在一个大型分布式应用系统中,可能在多个层次上使用不同种类的中间件。例如,底层开发人员可能直接采用CORBA技术开发一个服务(应用模块),采用Web Service技术将其进一步封装,并在注册中心发布,而高层应用开发者可以采用Web Service中间件技术发现相应的服务,并组装成最终的应用。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭