《分布式对象中间件概述.ppt》由会员分享,可在线阅读,更多相关《分布式对象中间件概述.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、CompanyLOGO分布式对象中间件概述By Beyond章节概要v分布式对象中间件的产生背景v分布式对象中间件技术v总结产生背景v随着计算机技术和Internet的快速发展,应用系统不再局限于单机系统,而是朝着多处理器的分布式应用发展。分布式应用系统需要在网络的异构环境(各种操作系统、网络协议、数据库等)下完成系统功能,从而使得一种能够独立于操作系统及硬件资源等的软件应用和开发平台中间件应运而生。产生背景分布式对象体系结构B/S体系结构C/S体系结构产生背景面向对象技术通面向对象技术通过封装、继承及过封装、继承及多态提供了良好多态提供了良好的代码重用功能的代码重用功能分布式技术将网分布式技
2、术将网络上的所有资源络上的所有资源互相连接起来,互相连接起来,对外表现为一个对外表现为一个统一的整体,对统一的整体,对客户是透明的,客户是透明的,不必区分本地操不必区分本地操作和远程操作作和远程操作分布式对象分布式对象体系结构体系结构产生背景三种主流技术介绍v 目前比较著名的分布式对象中间件技术有:OMG的公共对象请求代理结构(CORBA)Microsoft的分布式对象构件模型(DCOM)JAVA商业应用组件技术EJB公共对象请求代理体系结构 CORBAvCORBA由对象管理组织OMG于1991年提出,它规定了分布式对象之间如何实现互操作。CORBA是为解决分布式处理环境中硬件和软件系统的互联
3、而提出的一种解决方案,它具有不依赖于编程语言(C、C+、JAVA等)、软硬件平台(Windows 95、Windows NT、Open VSM等)、网络协议的特点。CORBA对象可以用任何一种CORBA软件开发商所支持的语言和平台来实现。公共对象请求代理体系结构 CORBA公共对象请求代理体系结构 CORBAv对象请求代理(ORB):位于所有的CORBA进程中,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的软总线。通过它,各个对象可以透明地向本地或远端对象发出请求或接收响应,每一台运行着分布式对象的计算机都有自己的对象请求代理。ORB可以实现单进程中对象间
4、的调用,也可以实现在同一台计算机中运行的多进程中对象之间的调用,也可以实现运行在网络中多个计算机上多进程中对象间的调用。对于远端对象调用,需要在ORB间通过网络进行通信。公共对象请求代理体系结构 CORBA公共对象请求代理体系结构 CORBAv公共服务:为创建对象、对象访问控制提供了一套标准函数。提供诸如:并发控制服务、名字服务、事务(交易)服务、安全服务、查询服务等多种服务v公共设施:向应用对象直接提供应用服务的框架的集合v应用程序对象:为用户提供一组完成特定任务的对象,所有应用对象都有用接口定义语言(IDL)定义的接口并且可以运行在对象请求代理之上,各个对象之间可以相互调用分布组件对象模式
5、 DCOMv组件对象模型(COM)是构建二进制兼容软件组件的规范。COM对象间相互调用是通过一组语义相关的接口来实现的,接口中包含对象的方法函数,请求服务的对象通过方法调用来实现所需要的功能。COM定义了组件之间相互作用的方式,使得组件之间的联系无需任何中介组件。COM可以直接截取从客户端发出的请求调用,并将其直接传递给另一进程空间中的组件。但是COM组件只能在一台计算机内使用,为COM组件的跨平台使用带来了限制。分布组件对象模式 DCOMvDCOM(Distributed Component Object Model)一种分布式组件对象模型,它主要是为不同网络环境中的分布式对象提供交互的标准
6、。DCOM具有语言独立性,可以采用多种开发语言进行开发。v当客户进程(请求服务的组件)和组件位于不同的计算机上时,DCOM用网络协议来代替进程间的通信。分布组件对象模式 DCOMJAVA商业应用组件技术EJBvEJB是Sun推出的基于Java的服务器端构件规范J2EE的一部分,自从J2EE推出之后,得到了广泛的发展,己经成为应用服务器端的标准技术。vSun EJB技术是在Java Bean本地构件基础上发展的面向服务器端分布应用构件技术,它基于Java语言,提供了基于Java二进制字节代码的重用方式。vEJB给出了系统的服务器端分布构件规范,这包括了构件、构件容器的接口规范以及构件打包、构件配
7、置等标准规范内容。JAVA商业应用组件技术EJB企业应用多层结构企业应用多层结构分布式分布式计算Internet技术应用技术应用EJBEJB是业务逻辑层的中间件技术,是业务逻辑层的中间件技术,与与Java BeanJava Bean不同,它提供了事务不同,它提供了事务 处理的能力处理的能力EJBEJB像像CORBACORBA一样,一样,提供了分布式技术的基础,提供了分布式技术的基础,提供了对象之间的通讯手段提供了对象之间的通讯手段EJBEJB、ServletServlet和和JSPJSP一起成为一起成为新一代应用服务器的技术标准新一代应用服务器的技术标准三种主流技术比较接口定义 开发语言COR
8、BAOMG IDL接口支持多语言接口支持多语言DCOM与与C+紧密集成紧密集成EJBJAVA RMI API接口定义和接口定义和JAVA 平台通信CORBA支持异构平台间通信支持异构平台间通信DCOM仅限仅限WINDOWS平台平台EJB几乎所有几乎所有OS和和WEB服务器、浏览器服务器、浏览器发展趋势标准化v标准是业界共同遵守的技术格式。由于中间件还是一项发展中的技术,作为基础的标准化工作仍在进行中,所以当前流行的来自不同厂家之间的中间件产品还很难实现互操作。目前使用最广泛是OMG的CORBA和Microsoft的DCOM两种标准,但它们在具体实现时差别很大,使用的标准也不同。v由于中间件是基
9、于分布式系统应用程序模块,所以它的标准就和互联网的标准密切相关,但是这两个标准在防火墙面前都束手无策。而作为被业界广泛接收的XML就成了它们靠拢的标准。v值得注意的是,Web services就是架构在XML标准之上的,它的成功也从另一方面指明了标准化的方向。发展趋势构件化v 中间件本身作为软件产品,构件化的软件开发对中间件同样适用。v 中间件作为分布式计算平台,涉及资源多样。v 中间件的一个重要的设计目标是互操作,而互操作的关键是有清晰而与实现无关的接口。v 中间件的应用范围越来越广,但应用有不同的需要、不同的业务特点,如果仅仅依靠固定的模式去套用,显然不合适。v 因此,中间件必须设计成可伸
10、缩的体系,由一些可替换的构件组成,如某些重于可靠,某些强调实时,某些则需要小巧。发展趋势开放化和可配置化v 随着新的应用形式的出现以及传统应用环境的改变,中间件系统不断面临着一些新的挑战,例如群件、多媒体、实时以及移动系统所提出的需求。这些应用系统都具有一个共同的特点,它们都需要根据运行环境的改变而动态地改变。v 为此,传统的中间件平台必须引入某种新的机制来实现具有开放性的中间件系统。发展趋势简单化v中间件出现的原因就是为了方便网络编程,因此如何使它的应用更简便一直是它的努力方向,为此提出了基于服务的体系结构,它是比过程调用更高层次上的概念。显然,层次越高使用越简单服务越可靠。v目前使用广泛的命名服务、事务服务和安全服务己经证明了这一点。但是和理想中的网络透明、服务透明和发现透明还有相当大的距离。v未来的中间件应该能够提供更高层次上的和粒度更大的服务。查找服务用户服务谢 谢