中间件定义及分类
- 格式:doc
- 大小:32.00 KB
- 文档页数:4
中间件知识1,常见应用系统开发构架:传统的两层结构:表示层(Presentation Layer):用于处理人机交互。
目前最主流的两种表示层是Windows桌面和IE浏览器方式。
它主要责任是处理用户请求,例如鼠标点击、输入、HTTP请求等,实际部分业务逻辑。
数据层(Data source Layer):处理数据库、消息系统、事务系统。
实际部分业务逻辑。
经典的三层结构:表示层(Presentation Layer):用于处理人机交互。
目前最主流的两种表示层是Windows桌面和IE浏览器方式。
它主要的责任是处理用户请求,例如鼠标点击、输入、HTTP请求等。
业务层(Business Layer):模拟了企业中的实际活动,也可以认为是企业活动的模型。
数据层(Data source Layer):处理数据库、消息系统、事务系统。
通用的四层结构:表示层(Presentation Layer):用于处理人机交互。
目前最主流的两种表示层是Windows桌面和IE浏览器方式。
它主要的责任是处理用户请求,例如鼠标点击、输入、HTTP请求等。
业务层(Business Layer):模拟了企业中的实际活动,也可以认为是企业活动的模型。
数据层(Data source Layer):处理数据库、消息系统、事务系统。
安全层(Security Layer):管理系统身份验证、授证、日志等。
主要产品:应用中间件、平台中间件、工作流中间件、数据传输中间件等。
2,什么是中间件中间件(middleware):是基础软件的一大类,属于可复用软件的范畴。
顾名思义,中间件处于操作系统软件与用户的应用软件的中间。
中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
中间件技术概述李瑞轩华中科技大学计算机学院Overview of Middleware Technology 2006-3-7 2内容概要1. 分布式计算技术发展背景2. 中间件技术基础3. 中间件定义及特点4. 中间件的分类5. 中间件的发展趋势2006-3-7 31. 分布式计算技术发展背景M assivelyparallelprocessorM ultimediaO bject orientedO pen systemN etworks高速、低价和宽频带的数字通讯成熟的网络技术和面向对象技术发展迅速的先进微处理器采用微内核和多线程等技术的现代操作系统几乎完全无序的超大规模的异构网络互连环境M2O2N时代的来临2006-3-7 4分布对象技术应运而生新形式的软件危机升级的绞索开发的噩梦新一代的分布式计算技术分布对象技术=面向对象技术+网络通讯技术面向对象的多层客户/服务器软件开发的革命:产业化、标准化、集约化2006-3-7 5螺旋上升的发展道路分布对象技术传送对象传送请求——取得结果数据典型客户/服务器传送数据PC ——LAN的网络计算框架传送程序主机——终端的集中计算框架2006-3-7 6下一代分布式计算技术与Internet技术结合WWW从Hypertext Web、InteractiveWeb 到Semantic Web丰富的对象资源更有效的对象访问技术智能、主动的Agent技术向智能化、小型化和标准融合的方向发展2006-3-7 7实现分布式计算的技术路线80年代——理想的技术路线:试图在互连的计算机硬件上部署全新的分布式操作系统,全面管理系统中各自独立的计算机,呈现给用户单一的系统视图。
90年代——现实的技术路线:在网络计算平台上部署分布计算环境(也称为中间件),提供开发工具和公共服务,支持分布式应用,实现资源共享和协同工作。
当前人们所说的分布计算技术是指在网络计算平台上开发、部署、管理和维护以资源共享和协同工作为主要应用目标的分布式应用系统。
中间件在分布式系统中的作用分布式系统是指由多个节点分布在不同物理位置上的计算机组成的系统。
在这样的系统中,各个节点之间需要协同工作完成特定的任务。
中间件是一类用于处理分布式系统中通信和数据交换的软件模块。
它能够为分布式系统提供一定程度的透明性,使得整个系统可以看作是一个整体,而不是若干个孤立的节点。
本文将探讨中间件在分布式系统中的作用以及在实际应用中的使用场景。
一、中间件的定义中间件是连接网络上不同的软件应用的软件工具,它们不直接与终端用户互动,而是把不同的应用连接起来,让它们能够更好地协同工作。
一般来说,中间件有三个主要的功能:1.透明性:中间件能够把分布式系统中各个节点的差异性隐藏起来,使得系统中各个节点之间可以像单个系统那样协同工作。
2.协议转换:中间件能够把不同的通信协议之间进行转换,使得各种不同类型的应用都能够相互通信。
3.消息路由:中间件能够把消息从一个节点路由到另一个节点,使得数据在网络上的传输变得更加高效。
通常情况下,中间件的功能都集中在分布式系统的应用层上,它们通过网络协议来实现分布式系统中各个节点之间的通信。
二、中间件在分布式系统中的作用中间件在分布式系统中发挥重要的作用,主要体现在以下四个方面:1.实现协同工作:在分布式系统中,各个节点之间需要协同工作完成任务。
中间件的透明性和消息路由能力能够为各个节点之间的通信提供便利,使得不同的节点之间能够无缝协作。
2.高可用性:中间件可以在分布式系统中实现负载均衡,让不同的节点能够承担不同的工作负载,提高整个系统的可用性。
3.提高安全性:中间件能够实现数据的安全传输,保障分布式系统中各个节点之间传输的数据的安全性和完整性。
4.更好的性能:中间件的协议转换和消息路由功能能够使得分布式系统的通信更加高效,从而提高整个系统的性能和响应速度。
三、中间件的使用场景中间件在分布式系统中被广泛使用,以下是一些常见的使用场景:1.消息队列中间件:消息队列中间件用于解决不同系统之间的异步消息通信,实现异步处理。
一、摘要中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。
人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,即中间件=平台+通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软和实用软件区分开来。
它隐藏了计算机体系结构、操作系统、编程语言和网络技术等方面的异构性,将复杂的协议处理、分割的内存空间、数据复本、网络故障、并行操作等问题与应用程序隔离开来,为上层应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
中间件已成为构建现代分布式应用、集成系统的一种不可或缺的成分,数据访问、企业资源规划、多媒体、无线/移动计算、电子商务、网格等都是它的典型应用领域。
中间件技术屏蔽了底层分布式环境的复杂性和异构性,简化了分布式应用程序的开发,使分布式应用程序的健壮性、可扩展性、可用性更好。
本文介绍了中间件的定义、分类、主流中间件技术平台,分析了中间件技术面临的挑战,提出了中间件技术研究的几个发展趋势,即网格技术、面向移动计算、面向服务质量等。
二、关键词:中间件分类技术平台发展趋势计算机系统最初阶段多是单机系统,多个用户是通过联机终端来访问。
随着网络的出现,产生了客户/服务器的计算服务模式,多个客户端可以共享数据库服务器和打印服务器等。
随着计算机和网络技术的飞速发展,许多软件需要在不同厂家的硬件平台、网络协议异构环境下运行,应用的规模从局域网发展到广域网,应用范围面向三层和多层体系结构的分布式环境,在分布式环境中,无论是硬件平台还是软件平台都不可能做到统一,而大规模的应用软件通常要求在软硬件各不相同的分布式网络上运行。
中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,开发者不得不直接面对许多复杂棘手的问题,如操作系统的多样性、繁杂的网络程序设计和管理、复杂多变的网络环境、数据分散处理带来的不一致性问题等等,这些与用户的业务没有直接关系,但又必须解决,耗费了大量的时间和精力,因此开发者迫切需要一种基于标准的、独立于计算机硬件以及操作系统的开发和运行环境,于是,中间件技术应运而生。
中间件定义及分类中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。
人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,即中间件=平台+通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来。
按照IDC的分类方法,中间件可分为六类。
1.终端仿真/屏幕转换:用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间的互操作;2.数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件;在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,这类中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。
3.远程过程调用中间件:通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程;4.消息中间件:用来屏蔽掉各种平台及协议之间的特性,实现在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,实现应用程序之间的协同。
这是中间件中唯一不可缺少的,是销售额最大的中间件产品,主要产品有国内东方通科技公司的TongLINK、BEA公司的BEA eLink 、IBM公司的MQSeries等,目前在Windows 2000操作系统中已包含了其部分功能。
5.交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台。
在分布式事务处理系统中要处理大量事务,常常在系统中要同时做上万笔事务。
在联机事务处理系统 (OLTP)中,每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。
物联网中有一个叫中间件的家伙!物联网中有一个叫中间件的家伙物联网(Internet of Things,简称IoT)是指通过互联网技术连接传感器、设备、数据和人员,实现设备之间的智能互联和通信。
在物联网的实现过程中,中间件起着重要的作用。
它作为连接物联网各个部分的桥梁,为物联网应用提供了强大的支持和保障。
一、中间件的定义和作用中间件(Middleware)是指位于操作系统和应用程序之间的软件层,为应用软件提供基础服务和功能,使应用程序能够更方便地进行通信、协调、管理和控制。
在物联网中,中间件充当着数据传输和通信的关键角色,能够连接物联网中的各种设备和应用,从而实现数据的采集、存储、处理与分析,并为用户提供可视化的界面和智能化的应用。
中间件的作用主要体现在以下几个方面:1. 确保数据的安全传输:物联网中产生的海量数据需要在各个节点之间进行传输和交互,并且数据的安全性是至关重要的。
中间件可以提供加密和认证等安全措施,保证数据的机密性和完整性,防止数据泄露和篡改。
2. 实现设备的互联互通:物联网中涉及到大量的设备和传感器,这些设备可能采用不同的通信协议和数据格式。
中间件可以实现不同设备之间的协议转换和数据格式转换,使其能够相互通信和交互,实现真正的互联互通。
3. 数据管理和处理:物联网中的设备产生的数据规模庞大,中间件可以对这些数据进行采集、存储、处理和分析。
通过数据的聚合、过滤和挖掘,可以从中提取有用的信息,支持用户进行决策和应用开发。
4. 提供可视化界面和智能化应用:中间件可以通过界面展示物联网中的各种设备和数据,提供可视化的管理和控制界面,让用户能够直观地了解和操作物联网系统。
同时,基于中间件的智能化应用可以通过学习和推理,实现对设备的自动控制和优化,提高物联网系统的效率和性能。
二、中间件的分类和应用场景根据功能和应用领域的不同,中间件可以分为以下几类:1. 即时通讯中间件:在物联网中,人与设备之间以及设备与设备之间需要进行实时通讯。
中间件与企业应用服务总线工作机制中间件和企业应用服务总线(Enterprise Application Service Bus,简称EASB)是当今企业信息系统中必不可少的技术工具。
它们在实现企业信息系统高效运行和数据传递的过程中起着重要的作用。
本文将介绍中间件和EASB的基本概念,以及它们的工作机制和相互关系。
一、中间件的定义与工作机制1.1 中间件的定义中间件是指在互联网和计算机网络应用中,位于操作系统和应用软件之间的软件层,用于支持不同软件之间的通信和交互。
中间件提供了统一的接口和服务,使得不同的应用程序可以在不同的操作系统上相互通信和协作。
中间件包括了一系列的技术和软件,如消息传递、远程过程调用(Remote Procedure Call)、数据库连接、分布式事务处理等。
1.2 中间件的工作机制中间件的工作机制可以分为以下几个方面:1.2.1 通信协议支持中间件通过支持各种通信协议(如HTTP、TCP/IP、SOAP等)实现不同应用之间的数据传递和通信。
通信协议的选择根据不同的应用需求和系统要求来确定。
1.2.2 消息传递中间件通过提供消息传递机制,实现不同应用之间的异步通信。
消息传递可以通过队列、主题等方式实现,并且可以支持消息的可靠性传输和事务处理。
1.2.3 分布式事务处理中间件提供了分布式事务处理的机制,使得在分布式系统环境中的各个应用可以协调执行事务操作。
中间件通过保证数据的一致性和可靠性,实现分布式事务的正确执行。
1.2.4 安全性与权限控制中间件通过提供安全性和权限控制的机制,确保只有授权的应用和用户能够访问和使用系统资源。
安全性和权限控制机制包括身份验证、访问控制等。
二、企业应用服务总线(EASB)的定义与工作机制2.1 EASB的定义企业应用服务总线(EASB)是一种面向企业应用集成的技术框架,通过将企业中不同的应用系统集成到一个统一的总线上,实现应用之间的数据传递和业务协同。
中间件的定义,作用和分类-回复中间件的定义、作用和分类一、中间件的定义中间件(Middleware)是指位于操作系统和应用程序之间,用于传递和处理数据的软件组件。
它位于系统的核心层和应用层之间,充当了数据传递的桥梁和处理的工具。
中间件可以是软件包、库或应用,用于提供特定的功能和服务,以支持不同的应用程序和系统之间的通信和协调。
中间件的定义可以从不同的角度来解释。
从技术角度来看,中间件是一种基于网络架构的软件组件,用于实现不同应用、服务和系统之间的信息传递和交互。
它可以充当服务器和客户端之间的代理,处理请求、响应和数据的传输,实现系统的分布式、异步和并发处理。
从功能角度来看,中间件是一种提供通用服务和功能的软件组件,用于解决应用程序中常见的问题和需求。
例如,数据库连接池、缓存支持、消息队列、日志记录、安全认证、性能优化等都可以通过中间件来实现。
从架构角度来看,中间件是一种分层、模块化和可插拔的设计模式,用于构建复杂的软件系统。
通过将功能逻辑和业务逻辑分开,中间件能够简化开发流程、提高代码的可维护性和复用性。
综上所述,中间件是一种用于传递和处理数据的软件组件,通过提供通用的功能和服务,实现不同应用程序和系统之间的通信和协调。
二、中间件的作用中间件在各种应用程序和系统中起着重要的作用。
以下是中间件的几个主要作用:1. 提供通信和协调:中间件作为系统的桥梁,负责处理不同应用之间的数据传递和通信。
它们能够处理请求、响应和数据的传输,实现应用程序之间的协调和通信。
2. 实现功能和服务:中间件提供通用的功能和服务,使得应用程序可以快速、方便地实现常见问题和需求。
例如,数据库中间件可以提供连接池和查询优化,缓存中间件可以提供数据缓存和提升访问速度,安全认证中间件可以提供用户认证和权限控制等。
3. 提高性能和可扩展性:中间件通过提供分布式、异步和并发处理的能力,能够提高系统的性能和吞吐量。
例如,消息队列中间件可以将请求和处理解耦,实现异步处理和削峰填谷,从而提高系统的响应能力和可扩展性。
物联网中间件技术【正文】一、引言物联网中间件技术是连接物联网设备和应用程序的关键技术之一。
它提供了一种可靠、安全、高效的通信机制,使物联网的各个组件能够相互交互、共享数据和实现智能化操作。
本文将对物联网中间件技术进行详细介绍,并对其各个方面进行细化。
二、物联网中间件的定义和概念⒈物联网中间件的概念物联网中间件是一种位于物联网系统架构中的软件层,负责管理物联网设备和应用程序之间的通信。
它提供了一套通用接口和协议,使得不同类型的设备能够互相交互和共享数据。
⒉物联网中间件的作用和功能- 设备连接管理:物联网中间件提供了设册、发现、连接和管理的功能,可以管理大规模的设备网络。
- 数据传输和通信:物联网中间件支持不同的通信协议,包括物联网专用协议和标准协议,用于设备之间的数据传输和通信。
- 数据处理和分析:物联网中间件可以对设备的数据进行处理和分析,提供实时监测、数据存储和分析报告等功能。
- 安全和权限管理:物联网中间件提供了安全认证、权限控制和数据加密等机制,保障物联网系统的安全性。
三、物联网中间件技术的分类⒈消息队列中间件消息队列中间件是一种基于消息传递的通信模式,它通过消息队列将设备和应用程序解耦,并提供了可靠的消息传递机制。
常见的消息队列中间件包括MQTT、AMQP等。
⒉远程过程调用(RPC)中间件RPC中间件是一种基于函数调用的通信模式,它允许应用程序通过网络调用远程的函数或方法。
RPC中间件可以实现设备和应用程序之间的高效通信,常见的RPC中间件包括gRPC、Thrift等。
⒊数据中心(DC)中间件DC中间件是一种用于管理大规模数据中心的中间件技术,它可以管理分布式的物联网设备和应用程序,并提供高可用、高可靠的数据服务。
常见的DC中间件包括Hadoop、Spark等。
四、物联网中间件技术的应用场景⒈工业物联网工业物联网中间件技术可以实现设备监测、设备管理、生产调度等功能,帮助企业提高生产效率和管理能力。
中间件的定义,作用和分类解释说明1. 引言1.1 概述中间件是计算机系统中的一类重要软件组件,它位于操作系统和应用程序之间,作为连接和协调两者之间的桥梁。
中间件的存在可以有效地解决应用程序之间的耦合问题,提高系统的性能和可伸缩性,并简化系统开发和维护过程。
在当前信息化时代,中间件已经成为构建可靠、高效、安全的分布式系统不可或缺的关键技术。
1.2 文章结构本文将就中间件相关的主题展开详细讨论,并围绕以下几个方面进行阐述:- 中间件的定义:详细解释中间件的概念,介绍其基本特征以及与其他软件组件的区别;- 中间件的作用:探讨中间件在系统设计与实现过程中所起到的重要作用,包括解耦功能、提升系统性能和可伸缩性以及简化系统开发和维护过程;- 中间件的分类:根据不同标准对中间件进行分类,包括基于功能分类、基于架构分类以及基于使用方式分类;- 结论:总结中间件定义、作用和分类等重要意义。
1.3 目的本文的主要目的是对中间件进行深入探讨和系统归纳,帮助读者清晰理解中间件的概念、作用以及分类等相关知识。
通过详细的论述和分析,读者将能够更好地理解中间件在当今信息化时代的重要价值,并在实际应用中更加高效地使用和调优中间件技术。
2. 中间件的定义2.1 中间件概念解释中间件是一种位于应用程序和操作系统之间的软件层。
它充当了一个桥梁,连接了不同的应用程序或服务,并提供了各种功能和服务,以简化系统开发和维护过程。
中间件通过提供标准化接口和通信协议,使得不同平台、不同语言编写的应用程序能够相互交互和通信。
它隐藏了底层的复杂性,使得应用程序可以更加专注于业务逻辑的实现。
2.2 中间件的基本特征中间件具有以下几个基本特征:- 可插拔性:中间件提供可插拔的模块化结构,使得开发人员可以根据需求选择适合自己项目的中间件组件,并将其集成到系统中。
- 独立性:中间件能够独立于具体的操作系统、硬件设备和网络环境进行运行。
这意味着它能够在不同平台上部署和运行,并与其他系统兼容。
中间件中间件(middleware)是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。
顾名思义,中间件处于操作系统软件与用户的应用软件的中间。
中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,这些都是计算机最底层的东西,越底层越复杂,开发者不得不面临许多很棘手的问题,如操作系统的多样性,繁杂的网络程序设计、管理,复杂多变的网络环境,数据分散处理带来的不一致性问题、性能和效率、安全,等等。
这些与用户的业务没有直接关系,但又必须解决,耗费了大量有限的时间和精力。
于是,有人提出能不能将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千上万的应用软件重复使用。
这一技术思想最终构成了中间件这类的软件。
为解决分布异构问题,人们提出了中间件(middleware)的概念。
中间件是位于平台(硬件和操作系统)和应用之间的通用服务,如图1所示,这些服务具有标准的程序接口和协议。
针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。
图1 中间件也许很难给中间件一个严格的定义,但中间件应具有如下的一些特点:满足大量应用的需要运行于多种硬件和OS平台支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互支持标准的协议支持标准的接口由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。
对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。
中间件定义及分类中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。
人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,即中间件=平台+通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来。
按照IDC的分类方法,中间件可分为六类。
1.终端仿真/屏幕转换:用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间的互操作;2.数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件;在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,这类中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。
3.远程过程调用中间件:通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程;4.消息中间件:用来屏蔽掉各种平台及协议之间的特性,实现在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,实现应用程序之间的协同。
这是中间件中唯一不可缺少的,是销售额最大的中间件产品,主要产品有国内东方通科技公司的TongLINK、BEA公司的BEA eLink 、IBM公司的MQSeries等,目前在Windows 2000操作系统中已包含了其部分功能。
5.交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台。
在分布式事务处理系统中要处理大量事务,常常在系统中要同时做上万笔事务。
在联机事务处理系统 (OLTP)中,每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。
根据X/OPEN的DTP(Distributed Transaction Processing )模型规定,一个分布式交易处理系统应由事务处理、通信处理以及资源管理三部分组成。
BEA公司的TUXEDO便是最著名的一个交易中间件产品,东方通科技公司的TongLINK 和TongEASY实现了DTP参考模型规定,另外还有IBM公司的TXSeriers是应用广泛的一个交易中间件产品。
6.对象中间件:在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重用,在这个方面遵循的标准是 CORBA。
对象中间件将是未来的主流,目前产品如东方通的TONG BROKER,INPRICE公司的Borland Application Server。
当然,IDC的分类并不能包含目前所有的中间产品,比较流行的还有:Web服务器中间件浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能作数据写入、受HTTP协议的限制等,就必需进行修改和扩充,形成了 Web服务器中间件,如 SilverStream公司的产品,BEA公司的BEA WEBLOGIC,东方通公司的TONG WEB。
安全中间件一些军事、政府和商务部门上网的最大障碍是安全保密问题,而且不能使用国外提供的安全措施(如防火墙、加密、认证等),必需用国产的产品。
产生不安全因素是由操作系统引起的,但必需要用中间件去解决,以适应灵活多变的要求。
如东方通公司的TONG SEC。
为什么要中间件中间件是构件化软件的一种表现形式。
中间件抽象了典型的应用模式,应用软件制造者可以基于标准的中间件进行再开发,这种操作方式其实就是软件构件化的具体实现。
对于用户来说,选择中间件产品,主要是基于以下几个方面的好处:首先,中间件产品对各种硬件平台、操作系统、网络数据库产品以及Client端实现了兼容和开放。
例如,曾有一位BEA的客户从IBM平台迁移到Sun 的平台,原来开发的200万行C 语言代码仅仅花了3个小时就重新编译完成,没有遇到任何问题。
如果没有中间件,这样的平台迁移势必将大费周折。
其次,中间件保持了平台的透明性,使开发者不必考虑操作系统的问题。
其三,中间件实现了对交易的一致性和完整性的保护,提高了系统的可靠性。
其四,中间件产品可以降低开发成本,提高工作效率。
The Standish Group分析了100个关键应用系统中的业务逻辑程序、应用逻辑程序及基础程序所占的比例,结果发现,业务逻辑程序、应用逻辑程序仅占总程序量的 30%,而基础程序却占了70%。
如果以新一代的中间件系列产品进行组合应用,同时配合可复用的商务对象构件,则应用开发费用可望节省80%。
其五,基础软件的开发还是一件耗时费力的工作,如果使用标准商业中间件,大部分的编程工作将得以节省,用户可以将注意力集中于个性化的增值应用方面,并缩短开发周期50%~75%,从而更快地将产品投放市场。
中间件市场概况中间件是软件技术发展的一种潮流,被誉为发展最快的软件品种,近年来势头强劲,当然,这也是源于市场在全球范围内对中间件的支持。
毫无疑问,中间件正在成为软件行业新的技术与经济增长点。
1999年,Nasdaq股市上投资回报率最高的并非某些名声显赫的网站,而是全球最大的独立中间件厂商BEA公司,其股票升幅高达884.6%。
时至今日,BEA的营业收入已连续18个季度保持高速增长。
国际数据集团(IDC)在日前发表的一份报告中预计今后五年中间件市场将快速成长。
IDC 预计全球中间件和商业软件收入将从1999年的27亿美元增长到2004年的近97亿美元,增长255%。
据GlobalSight公司预计,全球电子商务市场到2001年将达到1.2万亿美元。
ForresterResearch则估计,仅仅是BtoB电子商务,到2003年的年收入就将达到1.3万亿美元。
而业内人士认为,未来基于 Internet的电子商务业务将有79%建筑在中间件的基础之上。
无疑,这将带来一个潜力巨大的市场。
在中国,有关数字同样让人兴奋,1998年中间件市场总值达12.34亿美元;1999年为17亿美元;预测到2004年将达到90.3亿美元,年增长率为39.7%,远远高于软件业的平均增长水平。
几种流行中间件产品介绍IBM MQSeriesIBM MQSeries是IBM的消息处理中间件。
MQSeries提供一个具有工业标准、安全、可靠的消息传输系统。
它的功能是控制和管理一个集成的系统,使得组成这个系统的多个分支应用(模块)之间通过传递消息完成整个工作流程。
MQSeries基本由一个信息传输系统和一个应用程序接口组成,其资源是消息和队列。
MQSeries的关键功能之一是确保信息可靠传输,即使在网络通信不可靠或出现异常时也能保证信息的传输。
MQSeries的异步消息处理技术能够保证当网络或者通信应用程序本身处于“忙 "状态或发生故障时,系统之间的信息不会丢失,也不会阻塞。
东方通科技 TongLINK/QTongLINK/Q是面向消息的中间件。
TongLINK/Q的主要功能是在不同的网络协议、不同的操作系统和不同的应用程序之间提供可靠的消息传送。
* 高效、可靠、灵活的传输功能通过预建连接、多路复用、流量控制、压缩传输、断点重传、传输优先级管理、服务(类)驱动等机制来保证实现。
* 事件代理机制事件代理机制提供了一种异步应用开发模型,用户只需要定义一个事件及怎么处理,TongLINK/Q自动完成操作。
利用事件代理机制,可以实现事件订阅与发布,实现策略管理。
* 会话管理TongLINK/Q通过一个简单的会话标识来描述一种复杂的通信关系,实现了更高层次、更抽象的通信服务。
* 良好的易用性和可管理性TongLINK/Q实现了实时监控和管理,提供了日志机制、动态配置、远程管理功能。
并提供多层次安全管理,支持多种开发工具。
BEA Tuxedo 交易中间件BEA TUXEDO是目前最成功的中间件产品,它有以下特点:* 高速数据甬道机制,减少客户机与主机和数据库的联接,降低整个系统的负担* 提供名字服务和数据依赖路由机制,提高系统设计的灵活性* 提供7种客户机/服务器通讯方式,使应用开发灵活方便* 提供多个层面的系统负载均衡机制,能最有效地运用系统资源* 提供服务优先级机制,区分服务的不同级别,使重要服务得到最快的响应* 提供网络通讯压缩和加密机制,使通讯性能和安全性大大提高* 提供动态伸缩机制,方便应用系统的扩充和维护* 提供故障恢复等机制,保证应用的高可用性* 提供多个层面的安全机制,保证应用的安全性* 支持XA协议,保证涉及多场地、异构数据源交易和数据的一致性* 提供多个层面的应用管理机制,使应用管理方便容易* 提供网络调度功能,实现网络资源的充分利用并支持通讯失败的自动恢复* 与其他多种系统互联,保护用户投资* 支持异构系统数据格式的透明转换,方便系统扩展* 支持包括声音、图象在内的多种数据类型,不同编程语言数据格式的区别由TUXEDO自动转换(如C和COBOL),其中FML类型更支持网上只传输有效数据和可改变的多种数据类型组合等功能* 提供域的划分与管理功能,使超大规模应用成为可能* 提供DES(Data Entry System)功能,支持字符界面的开发* 支持国际化,可用中文显示诊断和系统消息BEA Tuxedo一个特色功能是能够保证对电子商务应用系统的不间断访问。
它可以对系统组件进行持续的监视,查看是否有应用系统、交易、网络及硬件的故障。
一旦出现故障,BEA Tuxedo 会从逻辑上把故障组件排除,然后进行必要的恢复性步骤。
BEA Tuxedo的另一个特色是提供多个层面的负载均衡。