




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中间件技术中间件技术发展路线主要技术介绍发展路线程序设计方法的发展结构化程序设计——以数据为中心面向对象程序设计——以对象为中心组件程序设计——以组件为中心综合使用程序设计方法的发展结构化程序设计——以数据为中心综软件需求的变化计算实用管理(MIS)分布式系统软件需求的变化计算实用管理(MIS)分布式系统软件环境的变化单任务多任务文字界面图形界面单线程多线程平台相关跨平台单机(本地)网络(分布式)单一语言多种语言软件环境的变化单任务多任务文字界面图形界面单线程多线程平台相发展路线面向过程语言crpc面向对象语言javarmi组件Webservice中间件技术分布式技术发展路线面向过程语言crpc面向对象语言rmi组件Webs分布式技术分布式就是把整个网络作为一台大型计算机,在不同的地方做不同的工作分布式软件系统(DistributedSoftwareSystems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果分布式技术分布式就是把整个网络作为一台大型计算机,在不同的地分布式计算是近年提出的一种新的计算方式。所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算比起其它算法具有以下几个优点:
1、稀有资源可以共享,
2、通过分布式计算可以在多台计算机上平衡计算负载,
3、可以把程序放在最适合运行它的计算机上,
其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。分布式计算是近年提出的一种新的计算方式。所谓分布式计算就是在概念:类、对象类是定义,它封装了状态和操作对象是实例,它反映了具体的事物对象由类来定义一个对象可以与多个具有继承关系的类相联系概念:类、对象类是定义,它封装了状态和操作对象由类来定义概念:组件定义:可独立发布的二进制单元有的地方称作“package”比喻:零件容易混淆:服务器(server)、对象例如:COM组件、JavaApplet概念:组件定义:可独立发布的二进制单元容易混淆:例如:COM:组件COM对象的载体包含多个COM对象进程内组件DLLExportEntrys进程外组件IPC:RPC/LPCCOM:组件COM对象的载体中间件中间件(Middleware)是一类软件,处于系统软件(操作系统和网络软件)与应用软件之间,它能使应用软件之间进行跨网络的协同工作(也就是互操作),这时允许各应用软件之下所涉及的“系统结构、操作系统、通信协议、数据库和其它应用服务”各不相同中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。中间件中间件(Middleware)是一类软件,处于系统软件现代应用系统的基本特征分布任务已不只是在单机上运行,而是由网络中多台计算机上的相关应用共同协作完成,需考虑网络传输、数据安全、数据一致性、同步等诸多问题;异构计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁多,需考虑数据表示、调用接口、处理方式等诸多问题;动态协作参与协作的应用允许位置透明性、迁移透明性、负载平衡性等需求。现代应用系统的基本特征分布任务已不只是在单机上运行,而是由问题分布异构环境中,通常存在:多种硬件系统平台,各种各样的系统软件,多种风格各异的用户界面,不同的网络协议和网络体系结构连接。问题分布异构环境中,通常存在:中间件技术-山东大学课程中心课件1.11.1中间件的特性易用性位置透明性:应用不必知道对方网络和应用的地址;不经重新编译,就可把一个应用从一台机器上转移到另一台机器消息传输的完整性:消息不应丢失或重复消息格式的完整性:消息格式不应被破坏语言透明性:使用中间件的程序应能与另一个用不同语言编写的程序通信;如果用不同语言重写一个程序,其他程序应不受影响中间件的特性易用性中间件中要解决的问题互操作问题(通信)提供一个基本的环境(基础服务)中间件中要解决的问题互操作问题(通信)互操作问题Stub,skeleton注册互操作问题Stub,skeletonC语言中函数函数调用f(inta2,intb2){intx,y,z;…return(z)}main(){inta1,b1,c;c=f(a1,b1);}a2b2xya1b1102102z30c30C语言中函数函数调用f(inta2,intb2)a2b2Java中的调用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)
}Java中的调用int
i
=
1;Object
o
=
new
Object();
System.out.println("i
=
"
+
i
+
"
;
o
=
"
+
o);
//
Step
1
(示意图:3-1-1)int
i
=
1;static
void
showMe(int
pi,
Object
po){
System.out.println("pi
=
"
+
pi
+
"
;
po
=
"
+
po);
//
Step
2
(示意图:3-2-2static
void
showMe(int
pi,
Obj
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)
po
=
new
Object();Rpc的调用从一个程序片调用另一个程序片的过程称为远程过程调用,即RPC。RPC是一个Client/Server模型,调用程序片(本地程序)称为rpcclient,被调用程序片(远程程序)称为rpcserver。Rpc的调用从一个程序片调用另一个程序片的过程称为远程过程调RPC调用模型main(…)...调用A...退出主程序A(…)...调用B...退出过程A代码B(…).......退出过程B代码机器1机器2机器3RPC调用模型main(…)主程序A(…)过程A代码B(…)rmi在分布式程序中,远程对象的方法能被运行在不同主机上的其他java虚拟机的方法调用类似于rpcrmi在分布式程序中,远程对象的方法能被运行在不同主机上的其中间件技术-山东大学课程中心课件远程对象:方法能被不同宿主机上的Java虚拟机调用的对象。远程接口:一个声明远程对象的方法的接口。远程服务器:创建远程对象的实例客户端:使用远程对象基本概念远程对象:方法能被不同宿主机上的Java虚拟机调用的对象。基存在于客户端远程对象的本地映象:调用远程对象时,实际调用的是桩对象上的方法负责初始化并与远程对象所在的远程VM连接将参数打包,传递到远程VM等待方法调用的结果解包返回值和异常将值返回给调用者Stub(存根/桩)存在于客户端Stub(存根/桩)框架存在于服务器接收客户桩的请求和真正的远程对象进行交互传送服务器响应到客户负责解包客户端输入的远程方法的参数调用实际的远程对象的方法将结果打包返回给调用者传至远程引用层框架RMI系统体系结构ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”ServerRMI系统体系结构ClientVirtualMachiRMI流程(1)ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”Server121.ServerCreatesRemoteObject
2.ServerRegistersRemoteObjectRMI流程(1)ClientVirtualMachinRMI流程(2)ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”Server43.ClientrequestsobjectfromRegistry4.Registryreturnsremotereference(andstubgetscreated)3RMI流程(2)ClientVirtualMachinRMI流程(3)ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”Server65.Clientinvokesstubmethod6.Stubtalkstoskeleton7.Skeletoninvokesremoteobjectmethod57RMI流程(3)ClientVirtualMachinCORBACORBA客户程序与对象实现之间的界面(interface)是对象的接口定义,对象接口是服务双方共同订立的合约对象实现可以采用多种方式实现:独立服务程序,一个程序库,被包装的非面向对象应用程序等对象接口是对象结构与行为的外部可见的规格说明,用IDL描述对象实现提供对象内部的具体数据表示与可执行代码,同一接口的实现可采用不同语言编写所有接口均未规定组件的具体实现,为开发的实现活动留下自由客户程序与对象实现之间的界面(interface)是对象的接corba静态工作方式客户对象实现IDLstubs客户方代理StaticIDLskeleton服务方代理ORB内核对象适配器OAORB内核corba静态工作方式客户对象实现IDLstubsStat基础服务定位消息安全事件事务数据基础服务定位WebService的概念提供一个与操作系统无关、与程序设计语言无关、与机器类型无关、与运行环境无关的平台,实现网络上应用的共享AServiceisapieceofsoftwarethatisnottightlycoupledwithClientapplications.ServicesaredynamicallydiscoverableandcomposableentitiesWeb服务的体系结构与Web应用的N层结构类似,区别在于顶层的面向浏览器的WebServer被面向程序的(WebServiceClient)的Web服务所取代。WebService的概念提供一个与操作系统无关、与程序设WebService特点Web服务是用标准的、规范的XML概念描述一些操作的接口(利用标准化的XML消息传递机制可以通过网络访问这些操作)该接口隐藏了实现服务的细节,允许独立于实现服务所基于的硬件或软件平台和编写服务所用的编程语言使用服务。Web服务履行一项特定的任务或一组任务。Web服务可以单独或同其它Web服务一起用于实现复杂的聚集或商业交易WebService特点Web服务是用标准的、规范的X部署在Web上的对象对象界面描述:WSDL对象访问:SOAP对象界面发现:UDDI对象实现:EJB,COM+,CORBA以及任何可用于对象实现的技术UDDIWSDLSOAPEJB/COM+/CORBA部署在Web上的对象对象界面描述:WSDLUDDIWSDLWebService架构ServiceProviderServiceBrokerServiceRequesterFindBind/InvokePublishSOA模型WebService架构ServiceServiceSer中间件技术中间件技术发展路线主要技术介绍发展路线程序设计方法的发展结构化程序设计——以数据为中心面向对象程序设计——以对象为中心组件程序设计——以组件为中心综合使用程序设计方法的发展结构化程序设计——以数据为中心综软件需求的变化计算实用管理(MIS)分布式系统软件需求的变化计算实用管理(MIS)分布式系统软件环境的变化单任务多任务文字界面图形界面单线程多线程平台相关跨平台单机(本地)网络(分布式)单一语言多种语言软件环境的变化单任务多任务文字界面图形界面单线程多线程平台相发展路线面向过程语言crpc面向对象语言javarmi组件Webservice中间件技术分布式技术发展路线面向过程语言crpc面向对象语言rmi组件Webs分布式技术分布式就是把整个网络作为一台大型计算机,在不同的地方做不同的工作分布式软件系统(DistributedSoftwareSystems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果分布式技术分布式就是把整个网络作为一台大型计算机,在不同的地分布式计算是近年提出的一种新的计算方式。所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算比起其它算法具有以下几个优点:
1、稀有资源可以共享,
2、通过分布式计算可以在多台计算机上平衡计算负载,
3、可以把程序放在最适合运行它的计算机上,
其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。分布式计算是近年提出的一种新的计算方式。所谓分布式计算就是在概念:类、对象类是定义,它封装了状态和操作对象是实例,它反映了具体的事物对象由类来定义一个对象可以与多个具有继承关系的类相联系概念:类、对象类是定义,它封装了状态和操作对象由类来定义概念:组件定义:可独立发布的二进制单元有的地方称作“package”比喻:零件容易混淆:服务器(server)、对象例如:COM组件、JavaApplet概念:组件定义:可独立发布的二进制单元容易混淆:例如:COM:组件COM对象的载体包含多个COM对象进程内组件DLLExportEntrys进程外组件IPC:RPC/LPCCOM:组件COM对象的载体中间件中间件(Middleware)是一类软件,处于系统软件(操作系统和网络软件)与应用软件之间,它能使应用软件之间进行跨网络的协同工作(也就是互操作),这时允许各应用软件之下所涉及的“系统结构、操作系统、通信协议、数据库和其它应用服务”各不相同中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。中间件中间件(Middleware)是一类软件,处于系统软件现代应用系统的基本特征分布任务已不只是在单机上运行,而是由网络中多台计算机上的相关应用共同协作完成,需考虑网络传输、数据安全、数据一致性、同步等诸多问题;异构计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁多,需考虑数据表示、调用接口、处理方式等诸多问题;动态协作参与协作的应用允许位置透明性、迁移透明性、负载平衡性等需求。现代应用系统的基本特征分布任务已不只是在单机上运行,而是由问题分布异构环境中,通常存在:多种硬件系统平台,各种各样的系统软件,多种风格各异的用户界面,不同的网络协议和网络体系结构连接。问题分布异构环境中,通常存在:中间件技术-山东大学课程中心课件1.11.1中间件的特性易用性位置透明性:应用不必知道对方网络和应用的地址;不经重新编译,就可把一个应用从一台机器上转移到另一台机器消息传输的完整性:消息不应丢失或重复消息格式的完整性:消息格式不应被破坏语言透明性:使用中间件的程序应能与另一个用不同语言编写的程序通信;如果用不同语言重写一个程序,其他程序应不受影响中间件的特性易用性中间件中要解决的问题互操作问题(通信)提供一个基本的环境(基础服务)中间件中要解决的问题互操作问题(通信)互操作问题Stub,skeleton注册互操作问题Stub,skeletonC语言中函数函数调用f(inta2,intb2){intx,y,z;…return(z)}main(){inta1,b1,c;c=f(a1,b1);}a2b2xya1b1102102z30c30C语言中函数函数调用f(inta2,intb2)a2b2Java中的调用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)
}Java中的调用int
i
=
1;Object
o
=
new
Object();
System.out.println("i
=
"
+
i
+
"
;
o
=
"
+
o);
//
Step
1
(示意图:3-1-1)int
i
=
1;static
void
showMe(int
pi,
Object
po){
System.out.println("pi
=
"
+
pi
+
"
;
po
=
"
+
po);
//
Step
2
(示意图:3-2-2static
void
showMe(int
pi,
Obj
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)
po
=
new
Object();Rpc的调用从一个程序片调用另一个程序片的过程称为远程过程调用,即RPC。RPC是一个Client/Server模型,调用程序片(本地程序)称为rpcclient,被调用程序片(远程程序)称为rpcserver。Rpc的调用从一个程序片调用另一个程序片的过程称为远程过程调RPC调用模型main(…)...调用A...退出主程序A(…)...调用B...退出过程A代码B(…).......退出过程B代码机器1机器2机器3RPC调用模型main(…)主程序A(…)过程A代码B(…)rmi在分布式程序中,远程对象的方法能被运行在不同主机上的其他java虚拟机的方法调用类似于rpcrmi在分布式程序中,远程对象的方法能被运行在不同主机上的其中间件技术-山东大学课程中心课件远程对象:方法能被不同宿主机上的Java虚拟机调用的对象。远程接口:一个声明远程对象的方法的接口。远程服务器:创建远程对象的实例客户端:使用远程对象基本概念远程对象:方法能被不同宿主机上的Java虚拟机调用的对象。基存在于客户端远程对象的本地映象:调用远程对象时,实际调用的是桩对象上的方法负责初始化并与远程对象所在的远程VM连接将参数打包,传递到远程VM等待方法调用的结果解包返回值和异常将值返回给调用者Stub(存根/桩)存在于客户端Stub(存根/桩)框架存在于服务器接收客户桩的请求和真正的远程对象进行交互传送服务器响应到客户负责解包客户端输入的远程方法的参数调用实际的远程对象的方法将结果打包返回给调用者传至远程引用层框架RMI系统体系结构ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”ServerRMI系统体系结构ClientVirtualMachiRMI流程(1)ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”Server121.ServerCreatesRemoteObject
2.ServerRegistersRemoteObjectRMI流程(1)ClientVirtualMachinRMI流程(2)ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”Server43.ClientrequestsobjectfromRegistry4.Registryreturnsremotereference(andstubgetscreated)3RMI流程(2)ClientVirtualMachinRMI流程(3)ClientVirtualMachineClientServerVirtualMachineStubRemoteObjectSkeletonRegistryVirtualMachine“Fred”Server65.Clientinvokesstubmethod6.Stubtalkstoskeleton7.Skeletoninvokesremoteobjectmethod57RMI流程(3)ClientVirtualMachi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东云浮云城区“粤聚英才·粤见未来”招聘机关事业单位急需紧缺人才8人 粤港澳大湾区(广东)人才港专场笔试模拟试题及答案解析
- 读《三国演义》有感集锦
- 幼儿园、小学适用-“小手拉大手分类齐步走”垃圾分类实践活动方案
- 适应市场竞争的企业策略
- 逃离外企工作总结
- 部门管理会议
- 2024秋之圆装饰家装公司抖音推广营销方案
- 汽车线束技术要求-征求意见稿
- 人教河南 九年级 下册 语文 第一单元《 祖国啊我亲爱的祖国》习题课 课件
- 人教河南 九年级 下册 语文 第二单元《 溜索》习题课 课件
- 冻猪肉储备投标方案
- 临床科室综合目标管理考核标准
- 2023年广东省深圳市龙华区中考道德与法治二模试卷及答案解析
- 中国书画艺术品投资(山东联盟)知到章节答案智慧树2023年山东财经大学
- 高中学生社会实践活动100例
- 天津渔港防波堤施工组织设计
- 公司样品承认书
- YY/T 1870-2023液相色谱-质谱法测定试剂盒通用要求
- 博科ERP产品介绍
- 后张法预应力T梁预制施工方案
- 丙醇安全技术说明书MSDS
评论
0/150
提交评论