您好,欢迎访问三七文档
2015年-11月-13日第一章INTRO1.概念ii.一类独立的系统软件和服务程序iii.Aclassofstandalonesystem-levelsoftwareandservicesproceduresiv.在操作系统的顶部v.WorkingonthetopofOSvi.管理计算机资源和网络vii.Managingcomputationalresourcesandnetworkcommunicationsviii.支持分布式通信ix.Supportingdistributedappsb)功能i.在异构的网络环境中,涉及到跨连通性和可操作问题中ii.提供统一的协议和接口iii.Providingstandardizedinterfacesandprotocolsiv.隐藏实现细节v.Hidingimplementationdetailsvi.提高程序的可移植性vii.Increasingtheportabilityofappsviii.放置于操作系统和数据库管理系统的顶部ix.为高级应用的开发和执行提供环境x.Providingenvironmentsfortheexecutionanddevelopmentofhigher-levelappsxi.协助软件工程师灵活高效地开发和集成复杂的分布式软件xii.Assistingsoftwareengineersinflexiblyandefficientlydevelopingandintegratingcomplexdistributedsoftwarec)中间件发展的主要因素i.隐藏异构型Hidingheterogeneity1.硬件异构hardwareheterogeneity2.操作系统异构OSheterogeneity3.数据库异构databaseheterogeneityii.支持可操作性supportinginter-operability1.不同的平台differentplatforms2.不同的网络协议differentnetworkprotocols3.不同的通信机制differentcommunicationmechanismsiii.提高软件的复用率improvingefficiencyandqualityofsoftwaredevelopmentd)主要类别i.远程过程调用中间件RPCremoteprocedurecallmiddlewareii.对象请求代理中间件ORBobjectrequestbrokersmiddlewareiii.面向信息中间件MOMmessage-orientedmiddlewareiv.数据库访问中间件DAMdatabaseaccessmiddlewarev.事务处理中间件TPMtransactionprocessingmiddleware第二章RMIa)对象请求代理ORBi.提供一个框架,使得远程对象可以在网络中以同样的方式使用在网络中的本地对象ii.Providingaframeworkwhereremoteobjectcanuselocalobjectsinthesamewayoverthenetworkiii.当对象在客户端和服务器之间传递时,提供功能的编组和解组的功能iv.Providingfunctionalitiesformarshallingandunmarshalingwhenobjectsaretransmittedbetweenclientsandservers.v.客户端和服务器之间的传输隐藏实现的细节,这使得开发人员能够有效地实现分布式应用程序,而无需面对复杂的底层操作系统和网络通信vi.Hidingtheimplementationdetails,whichenabledeveloperstoimplementdistributedappsefficientlywithoutfacingthecomplexunderlyingoperatingsystemsandnetworkcommunicationsb)JAVARMI的概述i.用java编写分布式对象ii.Writingdistributedobjectsusingjavaiii.直接用java对象来为分布式计算机建模iv.Simpleanddirectmodelfordistributedcomputationwithjavaobjectsv.以java为中心,由此带来了安全性和分布式计算的可移植性vi.Centeredaroundjava,thusbringingthepowerofJavaSafetyandportabilitytodistributedcomputingvii.行为可以被转移动viii.Behaviorcanberemovedix.通过JNI可以链接到现有的遗留系统x.ConnectedexistedlegacysystembyJNIxi.通过JDBC可以链接到关系数据库xii.ConnectedrelationaldatabasebyJDBCc)优点i.面向对象OO1.全部的对象可以作为参数和返回值2.Allobjectscanbeargumentsandreturnvaluesii.可移动性行为mobilebehavior1.类的实现可以被移植2.Theimplementationsofclasscanbemovediii.设计模式designpatterns1.传递性对象确保了面向对象技术的全功率2.PassingobjectsensurethefullpowerofOOtechsiv.安全Secure1.基于JAVA的安全机制:安全经理2.BasedonJAVAsecuritymechanismssecuritymanagerd)次优点i.十分容易开发,使用,维护ii.Easytowrite,useandmaintainiii.可以与现存的遗留系统链接canconnectwithexistedlegacysystem1.RMI/JNI,RMI/JDBCiv.开发一次,可以在任何地方运行writeonce,canbeuseanywhere1.100%移植到任何JVM100%portabletoanyJVMv.分布式垃圾收集distributedgarbagecollectionvi.并行计算parallelcomputing1.多线程,并行处理MUTI-thread,concurrentprocessinge)架构architecturei.存根stub1.编组参数,发送调用2.Marshalingarguments,sendinginvocationii.骨骼skeleton1.解封参数,调用服务器来实现2.Unmarshalingarguments,invokingserver’simplementationf)RMI的分布式应用i.定位远程对象locateremoteobjectsii.与远程对象通信communicatewithremoteobjectsiii.为被传递的对象加载类定义loaddefinitionofclassesthatarepassedaroundg)远程接口,对象和方法remoteinterface,objectsandmethodsi.通过实现一个具有以下特点的远程接口来实现对象远程化Anobjectsbecomesremotebyimplementingaremoteinterfacewithfollowingcharacteristics1.一个远程接口扩展了接口oneremoteinterfaceextendsaninterfacea)Java.rmi.remote2.接口的每一个方法都有事先声明everymethodsoftheinterfacehasbeendeclareda)Java.rmi.RemoteExceptioninitsthrowsclauseh)主要步骤mainstepsi.定义远程接口definetheremoteinterface1.指明可以远程调用的方法specifyingthemethodsthatcanbeinvokedremotelyii.实施远程对象implementingtheremoteobjects1.可能包括本地接口/方法的实现mayincludetheimplementationoflocalinterface/methodiii.客户实现implementingtheclient1.在远程接口定义后的任何时间都可以被实现canbeimplementedanytimewhentheremoteinterfacehasbeendefined第三章JMSa)面向消息中间件MOMi.在异构平台上发送/接收分布式应用软件/组件之间的消息ii.Sending/receivingmessagesbetweendistributedapps/componentsovertheheterogeneousplatforms1.支持异步调用2.Supportingasynchronouscallsiii.创建一个分布式通信层iv.Createadistributecommunicationlayer1.避免应用开发者接触来自不同系统和网络接口的细节2.InsulatingappdevelopersfromthedetailsaboutdifferentOSandnetworkinterfacesv.在不同平台和网络上的API通常是MOM提供的vi.TheAPISfromdifferentplatformsandnetworkareprovidedbyMOMb)比较i.MOM1.异步通信2.Asynchronouscommunication3.组件松散耦合4.Loosely-coupledcomponentsii.RPC/ORB1.同步通信2.Synchronouscommunication3.组件紧密耦合4.Tightly-coupledcomponentsc)MOM标准i.历史上,缺乏MOM的准确标准ii.Therewasalackofstandardsinthehistory.iii.高级消息队列协议AMQPiv.AdvancedMessageQueuingProtocolv.数据分发服务DDSvi.DataDistributionServicevii.可扩展消息和存在协议XXMPviii.extensibleMessagingandPresenceProtocolix.Java消息服务的JAVAEEx.JavaMessageServicebyJAVAEE1.由大多数MOM供应商实施,旨在隐藏特定的MOMAPI实现方法2.ImplementedbymostMOMvendorsandaimstohidetheparticularMOMAPIimplementationsd)JavaMessageServicei.一种JAVAAPI接口,允许应用程序创建发送接收读取消息ii.AjavaAPIthatallowsappstocreate,send,receiveandreadmessagesiii.定义一组通用接口和关联用语iv.Definesasetofcommoninterfaceandassociatedsemanticsv.通过JMS的提供者,力争最大力度的提高JMS应用程序的可移植性vi.TrythebesttoimprovetheportabilityofJMSappsacrossJMSprovidersvii.使得通信变得松散耦合的,异步的,可靠的viii.Enablingcommunicationthatislooselycoupled,asynchronous,andreliablee)当用JMS的时候i.提供者希望该组件不依赖与其他组件的接口信息,因此组件可以很容易地被替换ii.Providershopethec
本文标题:中间件复习笔记
链接地址:https://www.777doc.com/doc-2726140 .html