中间件技术-山东大学课程中心课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《中间件技术-山东大学课程中心课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中间件 技术 山东大学 课程 中心 课件
- 资源描述:
-
1、山东大学计算机科学与技术学院基础技术教学部中间件技术中间件技术山东大学计算机科学与技术学院基础技术教学部发展路线发展路线主要技术介绍主要技术介绍山东大学计算机科学与技术学院基础技术教学部程序设计方法的发展程序设计方法的发展结构化程序设计结构化程序设计 以数据为中心以数据为中心面向对象程序设计面向对象程序设计 以对象为中心以对象为中心组件程序设计组件程序设计 以组件为中心以组件为中心综合使用山东大学计算机科学与技术学院基础技术教学部软件需求的变化软件需求的变化计算计算实用实用管理管理(MIS)分布式系统分布式系统山东大学计算机科学与技术学院基础技术教学部软件环境的变化软件环境的变化单任务单任务多
2、任务多任务文字界面文字界面图形界面图形界面单线程单线程多线程多线程平台相关平台相关跨平台跨平台单机单机(本地本地)网络网络(分布式分布式)单一语言单一语言多种语言多种语言山东大学计算机科学与技术学院基础技术教学部发展路线发展路线面向过程语言crpc面向对象语言javarmi组件Web service中间件技术分布式技术山东大学计算机科学与技术学院基础技术教学部分布式技术分布式技术分布式就是把整个网络作为一台大型计算机,在不同的地方分布式就是把整个网络作为一台大型计算机,在不同的地方做不同的工作做不同的工作 分布式软件系统分布式软件系统(Distributed Software Systems)
3、是支持分布式是支持分布式处理的软件系统处理的软件系统,是在由通信网络互联的多处理机体系结构上是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译语言及其编译(解释解释)系统、分布式文件系统和分布式数据库系统、分布式文件系统和分布式数据库系统等系统等分布式计算是一门计算机科学,它研究如何把一个需要非常分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这
4、些计算结果这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果综合起来得到最终的结果 山东大学计算机科学与技术学院基础技术教学部分布式计算是近年提出的一种新的计算方式。所谓分布式计分布式计算是近年提出的一种新的计算方式。所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算比起其它算法具有以下几个优点:算机上运行。分布式计算比起其它算法具有以下几个优点:1、稀有资源可以共享,、稀有资源可
5、以共享,2、通过分布式计算可以在多台计算机上平衡计算负载,、通过分布式计算可以在多台计算机上平衡计算负载,3、可以把程序放在最适合运行它的计算机上,、可以把程序放在最适合运行它的计算机上,其中,共享稀有资源和平衡负载是计算机分布式计算的核心其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。思想之一。山东大学计算机科学与技术学院基础技术教学部概念:类、对象概念:类、对象类是定义,它封装了状态和操作类是定义,它封装了状态和操作对象是实例,它反映了具体的事物对象是实例,它反映了具体的事物对象由类来定义对象由类来定义一个对象可以与多个具有继承关系的类相联系一个对象可以与多个具有继承关系的类
6、相联系山东大学计算机科学与技术学院基础技术教学部概念:组件概念:组件定义:可独立发布的二进制单元定义:可独立发布的二进制单元有的地方称作有的地方称作“package”比喻:零件比喻:零件容易混淆:容易混淆:服务器服务器(server)、对象、对象例如:例如:COM组件、组件、Java Applet山东大学计算机科学与技术学院基础技术教学部COM:组件:组件COM对象的载体对象的载体 包含多个包含多个COM对象对象进程内组件进程内组件 DLL Export Entrys进程外组件进程外组件 IPC:RPC/LPC山东大学计算机科学与技术学院基础技术教学部中间件中间件中间件中间件(Middlewa
7、re)是一类软件,处于系统软件(操是一类软件,处于系统软件(操作系统和网络软件)与应用软件之间,它能使应用作系统和网络软件)与应用软件之间,它能使应用软件之间进行跨网络的协同工作(也就是互操作),软件之间进行跨网络的协同工作(也就是互操作),这时允许各应用软件之下所涉及的这时允许各应用软件之下所涉及的“系统结构、操系统结构、操作系统、通信协议、数据库和其它应用服务作系统、通信协议、数据库和其它应用服务”各不各不相同相同 中间件是一类软件,而非一种软件;中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布
8、式处理的软件,最突出的特点是其网络通信功能。中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。山东大学计算机科学与技术学院基础技术教学部现代应用系统的基本特征现代应用系统的基本特征分布分布 任务已不只是在单机上运行,而是由网络中多台计任务已不只是在单机上运行,而是由网络中多台计算机上的相关应用共同协作完成,需考虑网络传输、数据安全、算机上的相关应用共同协作完成,需考虑网络传输、数据安全、数据一致性、同步等诸多问题;数据一致性、同步等诸多问题;异构异构 计算机硬件、操作系统、网络协议、数据库系统计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁多,需考虑数据表示、调用接口、处
9、理方以及开发工具种类繁多,需考虑数据表示、调用接口、处理方式等诸多问题;式等诸多问题;动态协作动态协作 参与协作的应用允许位置透明性、迁移参与协作的应用允许位置透明性、迁移透明性、负载平衡性等需求。透明性、负载平衡性等需求。山东大学计算机科学与技术学院基础技术教学部问题问题分布异构环境中,通常存在:分布异构环境中,通常存在:多种硬件系统平台,多种硬件系统平台,各种各样的系统软件,各种各样的系统软件,多种风格各异的用户界面,多种风格各异的用户界面,不同的网络协议和网络体系结构连接。不同的网络协议和网络体系结构连接。山东大学计算机科学与技术学院基础技术教学部山东大学计算机科学与技术学院基础技术教学
10、部1.1山东大学计算机科学与技术学院基础技术教学部中间件的特性中间件的特性易用性易用性位置透明性:应用不必知道对方网络和应用的地址;不经重位置透明性:应用不必知道对方网络和应用的地址;不经重新编译,就可把一个应用从一台机器上转移到另一台机器新编译,就可把一个应用从一台机器上转移到另一台机器消息传输的完整性:消息不应丢失或重复消息传输的完整性:消息不应丢失或重复消息格式的完整性:消息格式不应被破坏消息格式的完整性:消息格式不应被破坏语言透明性:使用中间件的程序应能与另一个用不同语言编语言透明性:使用中间件的程序应能与另一个用不同语言编写的程序通信;如果用不同语言重写一个程序,其他程序应写的程序通
11、信;如果用不同语言重写一个程序,其他程序应不受影响不受影响山东大学计算机科学与技术学院基础技术教学部中间件中要解决的问题中间件中要解决的问题互操作问题(通信)互操作问题(通信)提供一个基本的环境(基础服务)提供一个基本的环境(基础服务)山东大学计算机科学与技术学院基础技术教学部互操作问题互操作问题Stub,skeleton注册注册山东大学计算机科学与技术学院基础技术教学部C语言中函数函数调用语言中函数函数调用f(int a2,int b2)int x,y,z;return(z)main()int a1,b1,c;c=f(a1,b1);a2b2xya1b1102102z30c30山东大学计算机科
12、学与技术学院基础技术教学部Java中的调用中的调用public class PassParameter static void showMe(int pi,Object po)System.out.println(pi=+pi+;po=+po);/Step 2(示意图:3-2-2)pi+;po=newObject();System.out.println(pi=+pi+;po=+po);/Step 3(示意图:3-2-3)public static void main(String args)int i=1;Objecto=newObject();System.out.println(i=+i
展开阅读全文