- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章中间件概述资料
中间件技术 ————Middleware Technology 联系方式 鹿旭东 Dongxul@sdu.edu.cn计算机软件工程系 先修课程 面向对象技术 Java语言程序设计 软件工程 内容简介 中间件已经成为构建网络分布式异构信息系统不可缺少的关键技术,与操作系统、数据库管理系统并列为基础软件体系的三大支柱。 本课程将阐述中间件产生的背景,中间件概念、定义及发展情况,中间件的功能、作用、特点、分类、优越性、面临的问题及发展趋势。将以OMG组织的CORBA和Sun公司的EJB规范为例,阐述中间件基本框架、工作原理和实现的关键技术。并介绍当前技术及相应框架。 计算:从集中到分布 计算模式的发展 集中式计算模式 桌面计算模式 分布式计算模式 软件设计的基本思想(1) 隐式地(implicitly)与显式地(explicitly) 两种不同的支持方式 对面向对象设计的支持 对异常的支持 对象约束的支持 底层支持来解决分布式软件的复杂性 逻辑的(logical)与物理的(physical) 不同的抽象层次 抽象定义 源于对复杂控制性的不足 目的是在更高层次上掌握各种机制 软件设计的基本思想(2) 面向对象技术 本质上是一个建模过程 封装、继承、多态性 有机融合分布式和面向对象技术 RPC和RMI Corba EJB DCOM 软件体系结构 从体系结构角度探讨分布式软件系统的有关问题 分布式系统应用 一些典型的商务应用系统: 股票交易系统 银行应用系统 客户电话中心系统 采购系统 这些系统都应是分布式系统 现代应用系统的基本特征 分布 任务已不只是在单机上运行,而是由网络中多台计算机上的相关应用共同协作完成,需考虑网络传输、数据安全、数据一致性、同步等诸多问题; 异构 计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁多,需考虑数据表示、调用接口、处理方式等诸多问题; 动态协作 参与协作的应用允许位置透明性、迁移透明性、负载平衡性等需求。 传统的Client/Server结构 广义的C/S体系结构 信息提供和请求服务 过程式程序设计中的过程调用 接口(interface、规格说明) 通信协议(参数传递风格) 分布式程序一般是C/S结构的,重要的是接口和通信协议,此外还有可靠性、安全性、性能等因素 2层结构的缺陷 2层结构存在很多缺陷: 客户端的负担仍比较重 仍然需要客户端进行较复杂的数据处理 客户端的可移植性不好 处理复杂必然牵涉更多的移植性问题 每个客户端上都要安装数据库驱动程序 系统的可维护性不好 客户端包含过多的商业逻辑 商业逻辑与人机交互界面交织在一起 数据的安全性 需求:需要更合理的工作分配——3层或多层结构 典型的3层结构 3层结构的优点(1 of 2) 除了更合理的分配任务外,3层结构还具有如下优点: 将业务逻辑放置在中间层可以提高系统的性能,使中间层的业务逻辑处理与数据层的业务数据紧密结合在一起,而无需考虑客户的具体位置。 添加新的中间层服务器能够满足新增客户机的需求,可以大大提高3层系统的可伸缩性。 将业务逻辑从客户端移到中间层,在客户层的应用程序与数据层的数据库之间增加了一层,这样客户端的应用程序可以独立于数据层的数据库。 3层结构的优点(2 of 2) 将业务逻辑致于中间层,从而使业务逻辑集中到一处。而在2层方式下,业务逻辑被分散到所有的客户机上(除非使用存储过程)。这样做是不可取的,因为业务规则是动态变化的,而对于这些业务而言,规范又是强制性的,所以,将业务逻辑分散到整个客户层的客户机上会使实施过程变得非常困难。 大量的中间层中间件平台提供丰富的系统级服务,使得开发人员可以以更少的工作量开发出更复杂、可靠、高效的软件系统。 N层结构 在3层结构中,客户层和数据层已被严格定义,但中间层并未明确定义。 中间层可以包括所有与应用程序的界面和持久数据存储无关的处理。假定将中间层划分成许多服务程序是符合逻辑的,那么将每一主要服务都视为独立的层,则3层结构就成为了n层结构。 如中间层可以分为实现任务分配机制和界面呈现的Web服务器层和实现实际商业逻辑的EJB层。 多层结构 问题 分布异构环境中,通常存在: 多种硬件系统平台, 各种各样的系统软件, 多种风格各异的用户界面, 不同的网络协议和网络体系结构连接。 中间件的理解 An extension of the OS which provides a transparent communication layer to the applications(操作系统的扩展-透明的通讯) The glue which connects objects which are distributed across multip
文档评论(0)