中间件技术山东大学课程中心_第1页
中间件技术山东大学课程中心_第2页
中间件技术山东大学课程中心_第3页
中间件技术山东大学课程中心_第4页
中间件技术山东大学课程中心_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中间件技术第1页发展路线主要技术介绍第2页程序设计办法发展构造化程序设计——以数据为中心面向对象程序设计——以对象为中心组件程序设计——以组件为中心综合使用第3页软件需求变化计算实用管理(MIS)分布式系统第4页软件环境变化单任务多任务文字界面图形界面单线程多线程平台有关跨平台单机(本地)网络(分布式)单一语言多种语言第5页发展路线面向过程语言crpc面向对象语言javarmi组件Webservice中间件技术分布式技术第6页分布式技术分布式就是把整个网络作为一台大型计算机,在不一样地方做不一样工作分布式软件系统(DistributedSoftwareSystems)是支持分布式处理软件系统,是在由通信网络互联多处理机体系构造上执行任务系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文献系统和分布式数据库系统等分布式计算是一门计算机科学,它研究如何把一种需要非常巨大计算能力才能处理问题提成许多小部分,然后把这些部分分派给许多计算机进行处理,最后把这些计算成果综合起来得到最后成果第7页分布式计算是近年提出一种新计算方式。所谓分布式计算就是在两个或多种软件互相共享信息,这些软件既能够在同一台计算机上运行,也能够在通过网络连接起来多台计算机上运行。分布式计算比起其他算法具有下列几个长处:

1、稀有资源能够共享,

2、通过度布式计算能够在多台计算机上平衡计算负载,

3、能够把程序放在最适合运行它计算机上,

其中,共享稀有资源和平衡负载是计算机分布式计算关键思想之一。第8页概念:类、对象类是定义,它封装了状态和操作对象是实例,它反应了详细事物对象由类来定义一种对象能够与多种具有继承关系类相联系第9页概念:组件定义:可独立公布二进制单元有地方称作“package”比方:零件容易混同:服务器(server)、对象例如:COM组件、JavaApplet第10页COM:组件COM对象载体包括多种COM对象进程内组件DLLExportEntrys进程外组件IPC:RPC/LPC第11页中间件中间件(Middleware)是一类软件,处于系统软件(操作系统和网络软件)与应用软件之间,它能使应用软件之间进行跨网络协同工作(也就是互操作),这时允许各应用软件之下所包括“系统构造、操作系统、通信协议、数据库和其他应用服务”各不相同中间件是一类软件,而非一种软件;中间件不但仅实现互连,还要实现应用之间互操作;中间件是基于分布式处理软件,最突出特点是其网络通信功能。第12页当代应用系统基本特性分布任务已不只是在单机上运行,而是由网络中多台计算机上有关应用共同协作完成,需考虑网络传输、数据安全、数据一致性、同步等很多问题;异构计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁多,需考虑数据表达、调用接口、处理方式等很多问题;动态协作参与协作应用允许位置透明性、迁移透明性、负载平衡性等需求。第13页问题分布异构环境中,一般存在:多种硬件系统平台,多种各样系统软件,多种格调各异顾客界面,不一样网络协议和网络体系构造连接。第14页第15页1.1第16页中间件特性易用性位置透明性:应用无须懂得对方网络和应用地址;不经重新编译,就可把一种应用从一台机器上转移到另一台机器消息传输完整性:消息不应丢失或反复消息格式完整性:消息格式不应被破坏语言透明性:使用中间件程序应能与另一种用不一样语言编写程序通信;假如用不一样语言重写一种程序,其他程序应不受影响第17页中间件中要处理问题互操作问题(通信)提供一种基本环境(基础服务)第18页互操作问题Stub,skeleton注册第19页C语言中函数函数调用f(inta2,intb2){intx,y,z;…return(z)}main(){inta1,b1,c;c=f(a1,b1);}a2b2xya1b1102102z30c30第20页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

=

new

Object();

System.out.println("pi

=

"

+

pi

+

"

;

po

=

"

+

po);

//

Step

3

(示意图:3-2-3)

}

public

static

void

main(String[]

args){

int

i

=

1;

Object

o

=

new

Object();

System.out.println("i

=

"

+

i

+

"

;

o

=

"

+

o);

//

Step

1

(示意图:3-1-1)

showMe(i,

o);

System.out.println("i

=

"

+

i

+

"

;

o

=

"

+

o);

//

Step

4

(示意图:3-2-3)

}第21页int

i

=

1;Object

o

=

new

Object();

System.out.println("i

=

"

+

i

+

"

;

o

=

"

+

o);

//

Step

1

(示意图:3-1-1)第22页static

void

showMe(int

pi,

Object

po){

System.out.println("pi

=

"

+

pi

+

"

;

po

=

"

+

po);

//

Step

2

(示意图:3-2-2第23页

po

=

new

Object();

System.out.println(“pi

=

+

pi

+

;

po

=

+

po);

//

Step

3

(示意图:3-2-3)……System.out.println("i

=

"

+

i

+

"

;

o

=

"

+

o);

//

Step

4

(示意图:3-2-3)第24页Rpc调用从一种程序片调用另一种程序片过程称为远程过程调用,即RPC。RPC是一种Client/Server模型,调用程序片(本地程序)称为rpcclient,被调用程序片(远程程序)称为rpcserver。第25页RPC调用模型main(…)...调用A...退出主程序A(…)...调用B...退出过程A代码B(…).......退出过程B代码机器1机器2机器3第26页rmi在分布式程序中,远程对象办法能被运行在不一样主机上其他java虚拟机办法调用类似于rpc第27页第28页远程对象:办法能被不一样宿主机上Java虚拟机调用对象。远程接口:一种申明远程对象办法接口。远程服务器:创建远程对象实例客户端:使用远程对象基本概念第29页存在于客户端远程对象本地映象:调用远程对象时,实际调用是桩对象上办法负责初始化并与远程对象所在远程VM连接将参数打包,传递到远程VM等候办法调用成果解包返回值和异常将值返回给调用者Stub(存根/桩)第30页框架存在于服务器接收客户桩祈求和真正远程对象进行交互传送服务器响应到客户负责解包客户端输入远程办法参数调用实际远程对象办法将成果打包返回给调用者传至远程引用层第31页RMI系统体系构造ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”Server第32页RMI流程(1)ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”Server121.ServerCreatesRemoteObject

2.ServerRegistersRemoteObject第33页RMI流程(2)ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”Server43.ClientrequestsobjectfromRegistry4.Registryreturnsremotereference(andstubgetscreated)3第34页RMI流程(3)ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”Server65.Clientinvokesstubmethod6.Stubtalkstoskeleton7.Skeletoninvokesremoteobjectmethod57第35页CORBA第36页客户程序与对象实现之间界面(interface)是对象接口定义,对象接口是服务双方共同签订合约对象实现能够采取多种方式实现:独立服务程序,一种程序库,被包装非面向对象应用程序等对象接口是对象构造与行为外部可见规格说明,用IDL描述对象实现提供对象内部详细数据表达与可执行代码,同一接口实现可采取不一样语言编写所有接口均未要求组件详细实现,为开发实现活动留下自由第37页corba静态工作方式客户对象实现IDLstubs客户方代理StaticIDLskeleton服务方代理ORB内核对象适配器OAORB内核第38页基础服务定位消息安全事件事务数据第39页WebService概念提供一种与操作系统无关、与程序设计语言无关、与机器类型无关、与运行环境无关平台,实现网络上应用共享AServiceisapieceofsoftwarethatisnottightlycoupledwithClientapplications.ServicesaredynamicallydiscoverableandcomposableentitiesWeb服务体系构造与Web应用N层构造类似,区分在于顶层面向浏览器WebServer被面向程序(WebServiceClient)Web服务所取代。第40页WebService特点Web服务是用标准、规范XML概念描述某些操作接口(利用标准化XML消息传递机制能够通过网络访问这些操作)该接口隐藏了实现服务细节,允许独立于实现服务所基于硬件或软件平台和编写服务所用编程语言使用服务。Web服务履行一项特定任务或一组任务。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论