软件中间件技术课件.ppt

上传人:石*** 文档编号:84136534 上传时间:2023-04-02 格式:PPT 页数:175 大小:5.49MB
返回 下载 相关 举报
软件中间件技术课件.ppt_第1页
第1页 / 共175页
软件中间件技术课件.ppt_第2页
第2页 / 共175页
点击查看更多>>
资源描述

《软件中间件技术课件.ppt》由会员分享,可在线阅读,更多相关《软件中间件技术课件.ppt(175页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件中间件技术第1页,此课件共175页哦中间件技术简介中间件技术简介引言引言 中间件(中间件(MiddlewareMiddleware)是处于)是处于操作系统和应用程和应用程序之间的序之间的软件软件,也有人认为它应该属于操作系统中的一,也有人认为它应该属于操作系统中的一部分。在使用中间件时,往往是一组中间件集成在一部分。在使用中间件时,往往是一组中间件集成在一起,构成一个平台起,构成一个平台(包括开发平台和运行平台),但在,但在这组中间件中必需要有一个通信中间件,即中间件这组中间件中必需要有一个通信中间件,即中间件=平台平台通信,这个定义也限定了只有用于通信,这个定义也限定了只有用于分布式系统

2、分布式系统中才能称中才能称为中间件,同时还可以把它与为中间件,同时还可以把它与支撑软件支撑软件和实用软件区分和实用软件区分开来开来。第2页,此课件共175页哦中间件技术简介中间件技术简介引言引言 中间件屏蔽了底层中间件屏蔽了底层操作系统操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。第3页,此课件共175页哦中间件技术简介中间件技术简

3、介引言引言 中间件具有标准的程序接口和协议,可以实现不同硬件和操作系统平台上的数据共享和应用互操作。在具体实现上,中间件是一个用API(Application Programming Interface,应用程序接口)定义的分布式软件管理框架,具有强大的通信能力和良好的可扩展性。第4页,此课件共175页哦中间件技术简介中间件技术简介引言引言 第5页,此课件共175页哦中间件技术简介中间件技术简介引言引言 中间件的工作机制如下中间件的工作机制如下中间件的工作机制如下中间件的工作机制如下:客户端上的应用程序需要从网络中某个节点客户端上的应用程序需要从网络中某个节点处获取一定的数据或者服务,这些数据

4、和服务可能处获取一定的数据或者服务,这些数据和服务可能处于一个运行着和客户端不同的操作系统的服务器处于一个运行着和客户端不同的操作系统的服务器上,客户上,客户/服务器应用程序中负责查找数据的那一服务器应用程序中负责查找数据的那一部分只要通过调用中间件部分只要通过调用中间件API访问一个中间件系访问一个中间件系统,由中间件完成到网络中查找目标数据源或者服统,由中间件完成到网络中查找目标数据源或者服务的任务,进而传输客户请求,重组答复信息,最务的任务,进而传输客户请求,重组答复信息,最后将结果送回给应用程序。后将结果送回给应用程序。第6页,此课件共175页哦中间件技术简介中间件技术简介中间件的发展

5、历程中间件的发展历程 中中间间件件分类分类 对象对象中中间间件件 对象中间件技术对象中间件技术COM+COM+对象中间件技术对象中间件技术CORBACORBA 点评主流中间件技术平台点评主流中间件技术平台 中国中间件市场发展趋势与预测中国中间件市场发展趋势与预测第7页,此课件共175页哦中间件的发展历程中间件的发展历程早期早期 对于中间件的早期需求产生于同行业公司之间的通信.(20.(20世纪世纪6060年代年代)金融业之间的国际货币划拨需要的金融业之间的国际货币划拨需要的SWIFT(Society for Worldwide Interbank Financial Telecommunica

6、tion,全世界银行间金融电信学会全世界银行间金融电信学会)航空工业需要的IATA(International Air Transport IATA(International Air Transport Association,Association,国际航空运输协会)航空公司已经拥有多节点网络航空公司已经拥有多节点网络 第8页,此课件共175页哦中间件的发展历程中间件的发展历程早期早期 (20 (20世纪70年代年代)大多数主要的IT硬件商推出了硬件商推出了“网络体系结构”,以支以支持分布式计算机的大型网络。持分布式计算机的大型网络。IBM(系统网络体系结构系统网络体系结构)Sperry(

7、Sperry(分布式通信体系结构分布式通信体系结构)Burroughs(网络体系结构网络体系结构)DEC(DEC(分布式网络体系结构分布式网络体系结构)这些产品为程序提供了发送和接收消息的功能,还有这些产品为程序提供了发送和接收消息的功能,还有一些基础的服务。一些基础的服务。(文件传输、远程打印、终端传输、远文件传输、远程打印、终端传输、远程文件访问)程文件访问)第9页,此课件共175页哦中间件的发展历程中间件的发展历程早期早期 为了使一个组织使用多个商家的为了使一个组织使用多个商家的ITIT产品成为可能,开开放系统运动应运而生。(实现同样的标准)放系统运动应运而生。(实现同样的标准)电气接口

8、电气接口(RS 232)网络协议(X.25)国际标准化组织国际标准化组织(International Organization for Standardization,ISO)OSI(Open System Interconnect,OSI(Open System Interconnect,开放系统互连开放系统互连)系列标准系列标准.第10页,此课件共175页哦中间件的发展历程中间件的发展历程早期早期 最流行的是最流行的是OSIOSI基本参考模型基本参考模型,即著名的七层模型即著名的七层模型(1980.12)(1980.12)。好几年以后才被正式认可。(太慢。好几年以后才被正式认可。(太慢/太

9、复杂)太复杂)第11页,此课件共175页哦中间件的发展历程中间件的发展历程早期早期 Unix Unix诞生于诞生于 19691969年,是贝尔实验室员工年,是贝尔实验室员工Ken Ken ThompsonThompson的个人项目。由于贝尔实验室是的个人项目。由于贝尔实验室是AT&TAT&T(美国电(美国电话电报公司)的下属机构,所以话电报公司)的下属机构,所以UnixUnix的版权归的版权归AT&TAT&T所有。所有。加州大学伯克利分校得到源码后,为加州大学伯克利分校得到源码后,为UnixUnix添加了许添加了许多功能。然后在多功能。然后在19791979年,推出了一个自家的年,推出了一个自

10、家的Unix版本,取版本,取名为名为Berkeley Software DistributionBerkeley Software Distribution(伯克利软件套件),简称BSDBSD。第12页,此课件共175页哦中间件的发展历程中间件的发展历程早期早期 UNIX的特点:十分有价值意识:便宜;提供产品无限制:不断地修补该OS。以至当时UNIX有许多不同的版本。(Berkeley版本和AT&T版本)第13页,此课件共175页哦中间件的发展历程中间件的发展历程早期早期 TCP/IP伴随UNIX产生。TCP/IP是为美国的军事应用于20世纪70年代中期开发的,在1983年部署于ARPAnet

11、。军事的影响力和财力是TCP/IP成功的关键。1983年ARPAnet分解为一个军事和一个非军事网络。非军事网络是由学术机构和研究机构组成的,UNIX在其中居于统治地位。第14页,此课件共175页哦中间件的发展历程中间件的发展历程早期早期 几年以后,ARPAnet演化为互联网(Internet)。互联网的爆炸(很大程度上是由Web引起的)已使得TCP/IP成了主导的网络互联标准。TCP/IP是一组标准。IP(Internet Protocol,网络协议)是网络标准,它确保消息可以从一台机器发送到另一台机器。TCP(Transmission Control Protocol,传输控制协议)是程序

12、之间通过IP通信的会话标准。第15页,此课件共175页哦中间件的发展历程中间件的发展历程互联网的应用互联网的应用 互联网是人类的一次革命,没有任何厂商能够垄断这一技术。在IT界,互联网改变了许多东西。它加速了它加速了TCP/IPTCP/IP作为一个通用网络标准的统治地位;作为一个通用网络标准的统治地位;它导致了工作站上大量自由互联网软件发展;它导致了工作站上大量自由互联网软件发展;它激发它激发“瘦瘦”客户的概念;客户的概念;它产生了一种新风格(即它产生了一种新风格(即HTMLHTML、XMLXML和和SOAPSOAP等);等);它改变了我们对安全性的认识;它改变了我们对安全性的认识;它把我们从

13、特定的终端有特定的功用的观念中解放出来;它把我们从特定的终端有特定的功用的观念中解放出来;第16页,此课件共175页哦中间件的发展历程中间件的发展历程互联网的应用互联网的应用在IT界,互联网改变了许多东西。它导致了集中式计算机应用的回归;它它使使我我们们更更好好地地认认识识到到目目录录的的作作用用,特特别别是是DNS(Domain Domain Name Name ServerServer,域域名名服服务务器器)的的作作用用是是把把WebWeb(即URL)名称翻译成网络(即名称翻译成网络(即IPIP)地址;)地址;它促进了企业网(intranet)(intranet)和外部网(extranet

14、)(extranet)的的成长成长。从从某某种种程程度度上上讲讲,它它使使人人们们意意识识到到一一个个有有效效的的解解决决方案未必是复杂的。方案未必是复杂的。第17页,此课件共175页哦中间件的发展历程中间件的发展历程互联网的应用互联网的应用 互联网应用与传统应用的不同主要有四点:用户发出指令。用户发出指令。键键入入命命令令;链链接接、返返回回命命令令、个个人人收收藏藏夹夹以以及及显显示示的的URLURL地址 设备(显示器,移动设备,连接介质)。设备(显示器,移动设备,连接介质)。识识别别用用户户(网网络络地地址址)DHCPDHCP,动动态态主主机机配配置置协协议议(Dynamic Host

15、Configuration Protocol)安全性。安全性。第18页,此课件共175页哦中间件分类中间件分类中间件的要素中间件的要素 对对于于一一个个完完整整的的解解决决方方案案来来说说,需需要要考考虑虑至至少少8 8个个要要素:素:通信链路 中间件协议 应用程序的编程接口(应用程序的编程接口(APIAPI)一个公共的数据格式 服务器处理控制服务器处理控制 命名命名/目录服务目录服务 安全性安全性 管理管理第19页,此课件共175页哦中间件的要素中间件的要素 通信链路通信链路1.通信链路(Link)。多数中间件被限制使用一种或几种网络标准,现行的主要标准是TCP/IP和SNA(Systems

16、 Network Architecture,系统网络体系结构)。第20页,此课件共175页哦中间件的要素中间件的要素 中间件协议中间件协议2.中间件协议。常称为“Wire Protocol”(线路协议)。该协议定义了一些标准,这些准则使两个过程有效地通信成为可能。中间件协议像所有协议一样,被定义为:在通信链路上(Link)的消息格式 在每个终端上实体状态的传输框图 中间件的一个显著特征是它允许程序通信。第21页,此课件共175页哦中间件的要素中间件的要素 应用程序的编程接口应用程序的编程接口3.应用程序的编程接口(应用程序的编程接口(APIAPI)一一个个APIAPI是是一一组组过过程程调调用

17、用,程程序序用用它它来来驱驱动动中中间间件件。APIAPI之间的巨大的差异是可能存在的:之间的巨大的差异是可能存在的:APIAPI可以是面向对象的或者是传统的。可以是面向对象的或者是传统的。对对一一个个特特殊殊的的应应用用来来说说,APIAPI可可以以被被修修改改(ODBC)(ODBC)或或者者被编译。被编译。APIAPI可以是基于操作的也可以是基于语言的。可以是基于操作的也可以是基于语言的。例例如如,CORBA的的解解释释性性接接口口是是基基于于操操作作的的,而而远远程程数数据据库访问是基于语言的库访问是基于语言的(SQL)(SQL)。APIAPI调调用用可可以以锁锁住住、也也可可以以解解释

18、释处处理理中中的的线线程程,直直到到服务器应答。服务器应答。第22页,此课件共175页哦中间件的要素中间件的要素 一个公共的数据格式一个公共的数据格式4.一个公共的数据格式 具有某种结构的消息的接收方将消息分解为单独的字段,并把每个字段的数据的值转换成某种接收者可以理解的东西。发送方和接收方必须清楚地知道消息的结构。不同的机器有不同的数据表示标准,发送方和/或接收方可能需要转换数据的值。多数但不是全部的中间件产品都能够实现这些消息的聚集/分解和数据格式的转换。XML作为一个通用的数据表示标准正被越来越多地使用。第23页,此课件共175页哦中间件的要素中间件的要素 服务器控制服务器控制5.服务器

19、处理控制 服务器进程控制分解成3个主要任务。进程与线程的控制;资源管理;对象管理。第24页,此课件共175页哦中间件的要素中间件的要素 命名命名/目录服务目录服务6.6.命名命名/目录服务目录服务 一一个个中中间间件件服服务务器器的的网网络络访访问问点点是是一一个个定定义义网网络络地地址址(IP(IP地址)的的典典型型的的3232位位数数以以及及一一个个允允许许操操作作系系统统将将消消息息发发送送到到正正确确程程序序的的端端口口号号。命命名名服服务务把把这这些些数数字字映映射射到到我我们们可可以以明明白白的的名名称称。最最著著名名的的命命名名服服务务是是在在InternetInternet上上

20、使使用用的的DNS(Domain DNS(Domain Name Name Service)Service)。目目录录服服务务前前进进了了一一步步,提提供供了了一一个个通通用用的的查查找找功功能能;一一个个中中间间件件等等价价于于电电话话目目录录,目录服务倾向于成为中间件连接的单独产品。目录服务倾向于成为中间件连接的单独产品。第25页,此课件共175页哦中间件的要素中间件的要素 安全性安全性7.安全性 只有合法用户才允许使用服务器资源,而且当他们连接时,也只能给定有限的有选择的服务。安全渗透到系统的每一部分。加密需要协议层级别的支持,访问控制需要服务器控制功能的支持,授权可能需要一个专门安全管

21、理系统的支持。第26页,此课件共175页哦中间件的要素中间件的要素 管理管理8.管理 为了对所有这些软件进行操作控制、调试、监控以及配置控制,我们需要一个人机界面。第27页,此课件共175页哦中间件的特点中间件的特点 中间件具有以下特点:满足大量应用的需要;运行于多种硬件和OS(Operating System)平台;支持分布式计算,提供跨网络、硬件平台和OS平台的透明性的应用或服务的交互功能;支持标准的协议,支持标准的接口。第28页,此课件共175页哦中间件的十大优越性中间件的十大优越性(1)应用开发:从分析了100个关键应用系统中的业务逻辑程序、应用逻辑程序及基础程序所占的比例;业务逻辑程

22、序和应用逻辑程序仅占总程序量的30%,而基础程序占了70%,使用传统意义上的中间件一项就可以节省25%60%的应用开发费用。如是以新一代的中间件系列产品来组合应用,同时配合以可复用的商务对象构件,则应用开发费用可节省至80%。第29页,此课件共175页哦中间件的十大优越性中间件的十大优越性(2 2)系统运行:没有使用中间件的应用系统,其初期)系统运行:没有使用中间件的应用系统,其初期的资金及运行费用的投入要比同规模的使用中间件的应的资金及运行费用的投入要比同规模的使用中间件的应用系统多一倍。用系统多一倍。(3 3)开发周期:基础软件的开发是一件耗时的工作,)开发周期:基础软件的开发是一件耗时的

23、工作,若使用标准商业中间件则可缩短开发周期若使用标准商业中间件则可缩短开发周期50%75%50%75%。(4 4)减少项目开发风险:研究表明,没有使用标准商业中间件的关键应用系统开发项目的失败率高于90%90%。企业自己开发内置的基础软件是得不偿失的,项目。企业自己开发内置的基础软件是得不偿失的,项目总的开支至少要翻一倍,甚至会十几倍。总的开支至少要翻一倍,甚至会十几倍。第30页,此课件共175页哦中间件的十大优越性中间件的十大优越性(5 5)合理运用资金:借助标准的商业中间件,企业可以)合理运用资金:借助标准的商业中间件,企业可以很容易地在现有或遗留系统之上或之外增加新的功能模块,很容易地在

24、现有或遗留系统之上或之外增加新的功能模块,并将它们与原有系统无缝集合。依靠标准的中间件,可以并将它们与原有系统无缝集合。依靠标准的中间件,可以将老的系统改头换面成新潮的将老的系统改头换面成新潮的Internet/Intranet Internet/Intranet 应用系应用系统。统。(6 6)应用集合:依靠标准的中间件可以将现有的应用、新的应用和购买的商务构件融合在一起进行应用集合。第31页,此课件共175页哦中间件的十大优越性中间件的十大优越性(7 7)系统维护:需要一提的是,基础软件的自我开发是要付出很高代价的,此外,每年维护自我开发的基础软件的开支则需要当初开发费用的15%25%15%

25、25%,每年应用程序的维护开支也还需要当初项目总费用的,每年应用程序的维护开支也还需要当初项目总费用的10%20%左右。而在一般情况下,购买标准商业中左右。而在一般情况下,购买标准商业中间件每年只需付出产品价格的间件每年只需付出产品价格的15%20%15%20%的维护费,当的维护费,当然,中间件产品的具体价格要依据产品购买数量及哪一然,中间件产品的具体价格要依据产品购买数量及哪一家厂商而定。家厂商而定。第32页,此课件共175页哦中间件的十大优越性中间件的十大优越性(8 8)质量:基于企业自我建造的基础软件平台上的应用系统,每增加一个新的模块,就要相应地在基础软件之上进行改动。而标准的中间件在

26、接口方面都是清晰和规范的。标准中间件的规范化模块可以有效地保证应用系统质量及减少新旧系统维护开支。(9 9)技术革新:企业对自我建造的基础软件平台的频繁)技术革新:企业对自我建造的基础软件平台的频繁革新是极不容易实现的(不实际的)。而购买标准的商业革新是极不容易实现的(不实际的)。而购买标准的商业中间件,则对技术的发展与变化可以放心,中间件厂商会中间件,则对技术的发展与变化可以放心,中间件厂商会责无旁贷地把握技术方向和进行技术革新。责无旁贷地把握技术方向和进行技术革新。第33页,此课件共175页哦中间件的十大优越性中间件的十大优越性(1010)增加产品吸引力:不同的商业中间件提供不同的)增加产

27、品吸引力:不同的商业中间件提供不同的功能模型,合理使用,可以让你的应用更容易增添新的功能模型,合理使用,可以让你的应用更容易增添新的表现形式与新的服务项目。从另一个角度看,可靠的商表现形式与新的服务项目。从另一个角度看,可靠的商业中间件也使得企业的应用系统更完善,更出众。业中间件也使得企业的应用系统更完善,更出众。第34页,此课件共175页哦中间件的十大优越性中间件的十大优越性 中间件屏蔽了低层操作系统的复杂性,使程序开发人员面对中间件屏蔽了低层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集

28、中在自己的业务上,不必再为程序在不同系统软件上的移植而集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。重复工作,从而大大减少了技术上的负担。中间件带给应用系统的不只是开发的简单、开发周期的缩短,中间件带给应用系统的不只是开发的简单、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。由于采用了中间件技术,应用系统的总建设费用体费用的投入。由于采用了中间件技术,应用系统的总建设费用可以减少可以减少50%50%左右。在网络经济大发展、电子商务大发展左右。在网络经济

29、大发展、电子商务大发展的今天,从中间件获得利益的不只是的今天,从中间件获得利益的不只是ITIT厂商,厂商,ITIT用户同样用户同样是赢家,并且是更有把握的赢家。是赢家,并且是更有把握的赢家。第35页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 什么是通信什么是通信 根据参与通信的实体来分类。演变过程:终端与主机通信实体是硬件盒;进程与进程通信;客户程序和/或对象与对象通信;消息与消息队列通信。通信实体演变得越来越小、越来越抽象、越来越多。第36页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 什么是通信什么是通信 可以看出这是分层。对象位于进程之中

30、,进程位于硬件盒内,支撑整个体系的是硬件层到硬件层的通信。这也反映在网络协议中:IP是硬件与硬件的通信,TCP是进程与进程的通信,IIOP是对象与对象的通信。第37页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 什么是通信什么是通信 对对于于建建立立一一个个分分布布式式系系统统来来说说,分分层层是是一一个个基基本本的的概念。概念。TCP/IPTCP/IP基本上有4 4层:层:物物理理层层线路、无线电波以及各种各样的在网络上连接两个硬件盒的“绳子绳子”。数据链路层数据链路层在网络上相邻盒之间的协议。在网络上相邻盒之间的协议。网络层允许通过多种硬件盒发送消息以到达在网络上的

31、任何机器的协议。IP。传传输输层层允允许许一一个个硬硬件件盒盒中中的的进进程程创创建建和和使使用用与与另另一一个硬件盒中的进程的一个网络会话的协议。个硬件盒中的进程的一个网络会话的协议。TCPTCP。第38页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 什么是通信什么是通信 分层的基本思想是,每一层使用它的下一层发送和接收消息。每一层都有一个协议。因为每一层都有一个定义十分规范的行为,所以系统工作良好。典型的中间件软件开始于TCP/IP层之上。第39页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 它们如何通信它们如何通信 每一层都有一个协议,中间

32、件功能的本质是它们的协议。协议分为两个主要的类型:会话协议和非会话协议。多数中间件协议是会话协议,会话协议可以根据谁是会话的发起者分类。可以分为三种情形,分别是多对一、一对一、一对多会话协议。第40页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 它们如何通信它们如何通信 第41页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 它们如何通信它们如何通信 客户/服务器:客户端发起对话,可以有多个客户对一个服务器对话。通常客户继续控制对话。客户发送一个消息,得到一个或者多个应答。服务器不做任何事情,直到下一个客户消息到达。这就是客户问而服务器答的情形。第

33、42页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 它们如何通信它们如何通信 在对等(peer to peer)协议中双方的地位是平等的。任何一方都可以发起一个会话。TCP就是一个对等协议。对等协议也被用于E-mail和相互间通信的目录服务器。第43页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 它们如何通信它们如何通信 推协议除了是服务器发起消息外,有点像客户/服务器协议。可以被称作服务器/客户技术。最著名的“推”协议的例子位于发布和订阅工具之中。第44页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 它们如何通信它们如何

34、通信 基层的协议是非会话网络协议,如IP,它们具有极小完整性。这些协议的设计理念就是快,它们必须依赖于高层提供的完整性。对于语音与视频通信,与数据质量相比,时效性更重要。而对于数据传输来说,恰恰相反,完整性就是一切。第45页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 它们如何通信它们如何通信 事务和信息检索中间件一定要:无消息丢失 无消息接收顺序错误 无消息讹误 无消息重复第46页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 它们如何通信它们如何通信 如果没有任何会话的概念,就不能检测到消息的丢失或者重复,这就意味着中间件协议几乎肯定是基于会话

35、的。有些网络技术不满足这样的要求,必须用中间件弥补这些不足。如网络协议不能适应客户或者服务器方事务的完整性,对此需要一些附加的协议,如两阶段提交(准备阶段和提交阶段)或者消息队列。第47页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 它们如何通信它们如何通信 中间件协议真正的特征是协议与应用的集成。这有两层意思:中间件应有一个对于应用结构使用很方便的协议如:客户/服务器或者队列。中间件可以实现附加的应用层集成,如两阶段提交。第48页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 什么是接口什么是接口 接口分为两个基本类型,分别称为基于API(App

36、lication Program Interface)和基于IDL(InterfaceDescriptionLanguage)。一个API对使用中间件来说,是一组固定的过程调用。IDL是一个独立的语言,它独立于程序的其余部分定义接口。基于IDL的应用有编译时的灵活性;基于API的中间件有运行时的灵活性。第49页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 什么是接口什么是接口 在基于在基于APIAPI的中间件中,有许多不同的接口风格。一种可能的分类方法是:基于消息的:基于消息的:APIAPI有一个消息和消息类型。服务器根据消息类型决定路由消息的路线。基于命令语言的:命令

37、被编码成语言。典型的例子是远程数据库访问,命令语言是SQLSQL。基于操作调用的:操作调用的建立是通过一系列中间件基于操作调用的:操作调用的建立是通过一系列中间件过程调用来实现的。过程调用来实现的。CORBA和和COMCOM的解释性接口就是这样。第50页,此课件共175页哦中间件的一个技术性的分类中间件的一个技术性的分类 根据根据在系统中所起的作用和采用的技术不同在系统中所起的作用和采用的技术不同分分类中间件类中间件 大致划分为以下五种:大致划分为以下五种:数据库中间件(DMDM,DatabaseMiddleware)远程过程调用中间件(远程过程调用中间件(RPC,RemoteProcedur

38、eCallRPC,RemoteProcedureCall)面向消息中间件(面向消息中间件(MOMMOM,MessageOrientedMessageOrientedMiddlewareMiddleware)事务处理中间件(事务处理中间件(TPMTPM,TransactionProcessingTransactionProcessingMonitorMonitor)基于对象请求代理(基于对象请求代理(ORBORB,ObjectRequestBrokerObjectRequestBroker)的)的中间件中间件 第51页,此课件共175页哦数据访问技术数据访问技术 (数据库中间件)(数据库中间件)

39、提供直接访问不同数据源的手段,而不必改变应用层的程序,譬如大家熟悉的ODBC、JBDC、JDO、ADO这些数据标准接口。数据库中间件在所有的中间件中是应用最广泛,技术最成熟的一种。第52页,此课件共175页哦数据访问技术数据访问技术 (数据库中间件)(数据库中间件)数据访问技术迫使在网络上以大的开销去执行最简单的命令。对事物处理来说,这不是一个好的解决方案。大多数数据库供应商支持一个称为存储过程的功能,可以使用远程数据库访问技术调用存储过程,这样就把远程数据库访问转换为一个RPC形式,但是,两者之间有显著的不同之处。第53页,此课件共175页哦远程过程调用(远程过程调用(远程过程调用(远程过程

40、调用(RPCRPCRPCRPC,Remote Procedure Call)第54页,此课件共175页哦远程过程调用(远程过程调用(远程过程调用(远程过程调用(RPCRPCRPCRPC,Remote Procedure CallRemote Procedure Call)IDL(Interface Definition Language,接口定义语言)IDL产生客户占位程序(stub)和服务器构架(skeleton),它们是程序块,被编译和连接到客户机和服务器程序。占位程序的用途是将参数转换为一个比特串,并在网络上发送消息。构架获得消息,把消息又转换回参数,并调用服务器。第55页,此课件共17

41、5页哦远程过程调用(远程过程调用(远程过程调用(远程过程调用(RPCRPCRPCRPC,Remote Procedure CallRemote Procedure Call)远程过程调用是另外一种形式的中间件,它在客户/服务器计算方面,比数据库中间件又迈进了一步。RPC的灵活特性使得它有比数据访问技术更广泛的应用,它可以应用在更复杂的客户/服务器计算环境中。远程过程调用的灵活性还体现在它的跨平台性上面,它不仅可以调用远端的子程序,而且这种调用是可以跨不同操作系统平台的,而程序员在编程时并不需要考虑这些细节。第56页,此课件共175页哦远程过程调用(远程过程调用(远程过程调用(远程过程调用(RP

42、CRPC,Remote Procedure Call)RPC也有一些缺点,主要是因为RPC一般用于应用程序之间的通信,而且采用的是同步通信方式,因此对于比较小型的简单应用还是比较适合的,因为这些应用通常不要求异步通信方式。但是对于一些大型的应用,这种方式就不是很适合了,因为此时程序员需要考虑网络或者系统故障,处理并发操作、缓冲、流量控制以及进程同步等一系列复杂问题。第57页,此课件共175页哦基于消息的中间件技术(基于消息的中间件技术(MOMMOM)MOM 提供一个异步消息传送机制。并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调用更进一步的原因。另外消息中间件不会占用大量

43、的网络带宽,可以跟踪事务,并且通过将事务存储到磁盘上实现网络故障时系统的恢复。当然和远程过程调用相比,消息中间件不支持程序控制的传递,不过这种功能和它的优势比起来却是无关紧要的。消息中间件适用于需要在多个进程之间进行可靠的数据传送的分布式环境。随着 JMS(Java Message JMS(Java Message Service)Service)的兴起,的兴起,MOM 产品的应用也变得更为广泛。第58页,此课件共175页哦基于消息的中间件技术(基于消息的中间件技术(MOMMOM)MOMMOM的发送机制的发送机制 第59页,此课件共175页哦基于消息的中间件技术(基于消息的中间件技术(MOMM

44、OM)消息队列是程序与队列之间的通信。中间件负责将消息从一个队列传递到另一个队列。它确保无论网络发生了什么,消息最终到达目的地,而且,仅有一个消息拷贝放入目标队列中。第60页,此课件共175页哦基于消息的中间件技术(基于消息的中间件技术(MOMMOM)队列有名字 队列独立于程序 消息可以在队列中等待 队列可以存放到磁盘上 队列可以是一个资源管理程序和一个事务管理程序的合作。有些消息队列系统可跨越不同类型的网络第61页,此课件共175页哦基于消息的中间件技术(基于消息的中间件技术(MOMMOM)消息队列是一个端到端的中间件,而不是客户机/服务器中间件。一个消息管理器可以容纳许多队列,其中一些是发

45、送队列,另一些是接收队列。第62页,此课件共175页哦交易处理监控器(事务处理中间件)交易处理监控器(事务处理中间件)TP TP 监控器(监控器(Transaction Processing Monitors)Transaction Processing Monitors)作为一个中间作为一个中间件,是现代应用服务器的锥形。交易(件,是现代应用服务器的锥形。交易(TransactionTransaction),又称之为),又称之为事务。事务。事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布式应用的速度和可靠性要求而实现的。它给

46、程序员提供了一个事务处式应用的速度和可靠性要求而实现的。它给程序员提供了一个事务处理的理的APIAPI,程序员可以使用这个程序接口编写高速而且可靠的,程序员可以使用这个程序接口编写高速而且可靠的分布式应用程序分布式应用程序基于事务处理的应用程序。基于事务处理的应用程序。交易处理中间件的核心作用是保证分布式计算环境中各节点交易处理中间件的核心作用是保证分布式计算环境中各节点交易处理结果的一致性,及时的交易响应时间,使整个系统达到交易处理结果的一致性,及时的交易响应时间,使整个系统达到高吞吐率,高吞吐率,724724小时的不间断运行。小时的不间断运行。常见的功能包括全局事务协调、事务的分布式两段提

47、交、常见的功能包括全局事务协调、事务的分布式两段提交、资源管理器支持、故障恢复、高可靠性、网络负载平衡等等。资源管理器支持、故障恢复、高可靠性、网络负载平衡等等。第63页,此课件共175页哦应用服务器应用服务器 应用服务器是一个软件开发平台,除可以开发独立的应用系统外,服务器也集成了各种整合技术。此外,很多厂商还专门开发了许多特制的适配器或连接器,因此,利用应用服务器做整合平台,也是目前很多企业考虑的选项之一。第64页,此课件共175页哦Portal ServerPortal Server PortalPortalPortalPortal:门户:门户:门户:门户 不同于传统网站,是一种先进的具

48、有全新整合方式的应用不同于传统网站,是一种先进的具有全新整合方式的应用服务网站,用于从其他资源和服务系统中获取数据和服务,服务网站,用于从其他资源和服务系统中获取数据和服务,并整合在一个网页窗口中,统一展示给用户。而传统网站只并整合在一个网页窗口中,统一展示给用户。而传统网站只能在网页中罗列一些数据的链接或提供服务网站的链接。能在网页中罗列一些数据的链接或提供服务网站的链接。Portal ServerPortal ServerPortal ServerPortal Server:门户服务器:门户服务器:门户服务器:门户服务器 Portal ServerPortal Server是一种用于构建具

49、体新型门户网站的门户是一种用于构建具体新型门户网站的门户构建与服务平台。它通过其中含有的构建与服务平台。它通过其中含有的PortalPortal组件为用户提供组件为用户提供各种各样的信息和内容。它本身具有很强的二次开发能力,各种各样的信息和内容。它本身具有很强的二次开发能力,支持支持MVCMVC开发模式。开发模式。第65页,此课件共175页哦对象中间件对象中间件 对象中间件的概念 对象中间件是基于对象请求代理的中间件。对象请求代理是近年来才发展起来的一项新技术,它可以看作和编程语言无关的面向对象的RPC应用,被视为从面向对象过渡到分布式计算的强大推动力量。从管理和封装的模式上看,对象请求代理和

50、远过程调用有些类似,不过对象请求代理可以包含比远过程调用和消息中间件更复杂的信息,并且可以适用于非结构化的或者非关系型的数据。第66页,此课件共175页哦对象中间件对象中间件 对象中间件的概念 对象中间件相当于软总线,能使不同软件交互访问。为软件用户及开发者提供一种即插即用的互操作性,就象现在使用集成块或扩展板装配计算机一样。随着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计算,并发展为当今软件技术的主流方向。第67页,此课件共175页哦对象中间件对象中间件 对象中间件的概念 对对象象请请求代理(求代理(Object Request BrokerObject Request Br

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁