版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年-n月-13日
第一章INTRO
1.概念
ii.一类独立的系统软件和服务程序
iii.Aclassofstandalonesystem-levelsoftwareandservicesprocedures
iv.在操作系统的顶部
v.WorkingonthetopofOS
vi管理计算机资源和网络
vii.Managingcomputationalresourcesandnetworkcommunications
viii.支持分布式通信
ix.Supportingdistributedapps
Application
Middleware
OperatingIOperating
SystemISystem
HARDWAREIHARDWARE
b)功能
i.在异构的网络环境中,涉及到跨连通性和可操作问题中
ii.供应统一的合同和接口
iii.Providingstandardizedinterfacesandprotocols
iv.隐蔽实现细节
v.Hidingimplementationdetails
vi.提高程序的可移植性
vii.Increasingtheportabilityofapps
viii.放置于操作系统和数据库管理系统的顶部
ix.为高级应用的开发和执行供应环境
x.Providingenvironmentsfortheexecutionanddevelopmentofhigher-levelapps
xi.帮助软件工程师敏捷高效地开发和集成简单的分布式软件
xii.Assistingsoftwareengineersinflexiblyandefficientlydevelopingandintegrating
complexdistributedsoftware
c)中间件进展的主要因素
i.隐蔽异构型Hidingheterogeneity
1.硬件异构hardwareheterogeneity
2.操作系统异构OSheterogeneity
3.数据库异构databaseheterogeneity
ii.支才寺可操彳乍'性supportinginter-operability
1.不同的平台differentplatforms
2.不同的网络合同differentnetworkprotocols
3.不同的通信机制differentcommunicationmechanisms
iiL提高软件的复用率improvingefficiencyandqualityofsoftwaredevelopment
d)主要类别
i.远程过程调用中间件RPCremoteprocedurecallmiddleware
ii.对象恳求代理中间件ORBobjectrequestbrokersmiddleware
iii.面对信息中间件MOMmessage-orientedmiddleware
iv.数据库访问中间件DAMdatabaseaccessmiddleware
v.事务处理中间件TPMtransactionprocessingmiddleware
第二章RMI
a)对象恳求代理ORB
i.供应一个框架,使得远程对象可以在网络中以同样的方式使用在网络中的本地对象
ii.Providingaframeworkwhereremoteobjectcanuselocalobjectsinthe
samewayoverthenetwork
iii.当对象在客户端和服务器之间传递时,供应功能的编组和解组的功能
iv.Providingfunctionalitiesformarshallingandunmarshalingwhenobjectsare
transmittedbetweenclientsandservers.
v.客户端和服务器之间的传输隐蔽实现的细节,这使得开发人员能够有效地实现分布
式应用程序,而无需面对简单的底层操作系统和网络通信
vi.Hidingtheimplementationdetails,whichenabledeveloperstoimplement
distributedappsefficientlywithoutfacingthecomplexunderlyingoperating
systemsandnetworkcommunications
b)JAVARMI的概述
i.用java编写分布式对象
ii.Writingdistributedobjectsusingjava
iii.直接用java对象来为分布式计算机建模
iv.Simpleanddirectmodelfordistributedcomputationwithjavaobjects
v.以java为中心,由此带来了平安性和分布式计算的可移植性
vi.Centeredaroundjava,thusbringingthepowerofJavaSafetyandportability
todistributedcomputing
vii.行为可以被转移动
viii.Behaviorcanberemoved
ix.通过JNI可以链接到现有的遗留系统
x.ConnectedexistedlegacysystembyJNI
xi.通过JDBC可以链接到关系数据库
xii.ConnectedrelationaldatabasebyJDBC
c)优点
i.面对对象。0
1.全部的对象可以作为参数和返回值
2.Allobjectscanbeargumentsandreturnvalues
ii.可移动性行为mobilebehavior
1.类的实现可以被移植
2.Theimplementationsofclasscanbemoved
iii.设计模式designpatterns
1.传递性对象确保了面对对象技术的全功率
2.Passingobjectsensurethefullpowerof00techs
iv.平安Secure
1.基于JAVA的平安机制:平安经理
2.BasedonJAVAsecuritymechanismssecuritymanager
d)次优点
i.非常简洁开发,使用,维护
ii.Easytowrite,useandmaintain
iii.可以与现存的遗留系统链接canconnectwithexistedlegacysystem
1.RMI/JNI,RMI/JDBC
iv.开发一次,可以在任何地方运行writeonce,canbeuseanywhere
1.100%移植至IJ任何JVM100%portabletoanyJVM
v.分布式垃圾收集distributedgarbagecollection
vi.并行计算parallelcomputing
1.多线程,并行处理MUTI-threadconcurrentprocessing
e)架构architecture
i.存根stub
1.编组参数,发送调用
2.Marshalingarguments,sendinginvocation
ii.骨骼skeleton
1.解封参数,调用服务器来实现
2.Unmarshalingarguments,invokingserver*simplementation
f)RMI的分布式应用
i.定位远程对象locateremoteobjects
ii.与远程对象通信communicatewithremoteobjects
iii.为被传递的对象加载类定义loaddefinitionofclassesthatarepassedaround
g)远程接口,对象和方法remoteinterface,objectsandmethods
i.通过实现一个具有以下特点的远程接口来实现对象远程化Anobjectsbecomes
remotebyimplementingaremoteinterfacewithfollowingcharacteristics
1.一个远程接口扩展了接口oneremoteinterfaceextendsaninterface
a)
2.接口的每一^•方法都有事先声明everymethodsoftheinterfacehasbeen
declared
a)Java.rmi.RemoteExceptioninitsthrowsclause
h)主要步骤mainsteps
i.定义远程接口definetheremoteinterface
1.指明可以远程调用的方法specifyingthemethodsthatcanbeinvoked
remotely
ii.实施远程对象implementingtheremoteobjects
1.可能包括本地接口/方法的实现mayincludetheimplementationoflocal
interface/method
iii.客户实现implementingtheclient
1.在远程接口定义后的任何时间都可以被实现canbeimplementedanytimewhen
theremoteinterfacehasbeendefined
第三章JMS
a)面对消息中间件MOM
i.在异构平台上发送/接收分布式应用软件/组件之间的消息
ii.Sending/receivingmessagesbetweendistributedapps/componentsover
theheterogeneousplatforms
1.支持异步调用
2.Supportingasynchronouscalls
iii.创建一个分布式通信层
iv.Createadistributecommunicationlayer
1.避开应用开发者接触来自不同系统和网络接口的细节
2.InsulatingappdevelopersfromthedetailsaboutdifferentOSandnetwork
interfaces
v.在不同平台和网络上的API通常是MOM供应的
vi.TheAPISfromdifferentplatformsandnetworkareprovidedbyMOM
b)比较
i.MOM
1.异步通信
2.Asynchronouscommunication
3.组件松散耦合
4.Loosely-coupledcomponents
ii.RPC/ORB
1.同步通信
2.Synchronouscommunication
3.组件紧密耦合
4.Tightly-coupledcomponents
c)MOM标准
i.历史上,缺乏MOM的精确标准
ii.Therewasalackofstandardsinthehistory.
iii.高级消息队列合同AMQP
iv.AdvancedMessageQueuingProtocol
v.数据分发服务DDS
vi.DataDistributionService
vii.可扩展消息和存在合同XXMP
viii.extensibleMessagingandPresenceProtocol
ix.Java消息服务的JAVAEE
x.JavaMessageServicebyJAVAEE
1.由大多数MOM供应商实施,旨在隐蔽特定的MOMAPI实现方法
2.ImplementedbymostMOMvendorsandaimstohidetheparticularMOM
APIimplementations
d)JavaMessageService
i.一种JAVAAPI接口,允许应用程序创建发送接收读取消息
ii.AjavaAPIthatallowsappstocreate,send,receiveandreadmessages
iii.定义一组通用接口和关联用语
iv.Definesasetofcommoninterfaceandassociatedsemantics
v.通过JMS的供应者,力争最大力度的提高JMS应用程序的可移植性
vi.TrythebesttoimprovetheportabilityofJMSappsacrossJMSproviders
Vii.使得通信变得松散耦合的,异步的,牢靠的
viii.Enablingcommunicationthatislooselycoupled,asynchronous,andreliable
e)当用JMS的时候
i.供应者盼望该组件不依靠与其他组件的接口信息,因此组件可以很简洁地被替换
ii.Providershopethecomponentsdon'trelyonothercomponents,
message,socomponentscanbeeasilyreplaced
iii.供应者盼望该应用程序运行时其他组件也同时运行
iv.Providerswantstheappstorunwhetherornotallcomponentsareupand
runningsimultaneously
v.应用业务模式允许组件将信息发送到另一个组件,并连续操作而不用即时响应
vi.Applicationbusinessmodelallowscomponentssendmessagetoanother
componentsandtocontinuetooperatewithoutreceivinganimmediateresponse
f)信息传递方式
i.点对点传送消息方式Pointtopointmessagingstyle
1.每个消息都是针对特定队列的
2.Eachmessageisaddressedtoaspecificqueue
3.队列将保留全部发送的消息,直到他们被消耗或者过期
4.Thequeuewillretainallthemessagesthathavebeensentuntiltheyare
consumedorexpire.
5.每一条消息都只有一个消费者
6.Everymessagehasoneconsumer
ii.发布/订阅消息方式Publish/subscribemessagingstyle
1.客户端可以将信息发到一个主题里
2.Theclientcansendamessagetoatopic
3.出版社和订阅者可以动态的发布或者订阅主题
4.Publisherandsubscribercandynamicallypublishorsubscribetothetopic.
5.当且仅当消息被发送给订阅服务器后,主题才会保留信息
6.Topicwillretainthemessagesonlywhenmessageshavebeensenttothe
subscribers
7.每一条信息都可以有多个消费者
8.Eachmessagehasmultipleconsumers
9.当一个客户端创建了一个主题后,另一个订阅了相应主题的客户端才可以消费已发
送的信息,并且消费者必需要保持活跃来消费信息
10.Afteraclientcreateatopic,anotherclientwhichhassubscribedthetopic
canconsumemessagesthathavebeensent,andtheconsumermustcontinueto
beactiveinorderforittoconsumemessages.
Queue
g)消息消费
i.同步Synchronously
1.消费者通过调用消息接收方法来猎取消息的目的地
2.Consumerfetchesthemessagefromthedestinationbycallingthereceive
method
3.假如消息没有在指定时间内到达,该接收方法会阻挡消息进入
4.Thereceivemethodcanblockuntilamessagearrivesorcantimeoutifa
messagedosenotarrivewithinaspecifiedtimelimit
ii.异步Asynchronously
1.客户端可以注册一个消息监听器
2.Theclientcanregisteramessagelistenerwithaconsumer
3.当消息到达目的地时,JMS的供应者通过调用监听器的onMessage方法来供应信
息
4.Whenmessagearrivestothedestination,theproviderofJMSdeliverthe
messagebycallingthelistener'sonMessagemethod
h)JMS元素
JMS供应者:一个JMS接口的实现
ii.JMSprovider:animplementationoftheJMSinterface
iii.JMS客户端:一个应用或者过程,可以生产/接收消息
iv.JMSclient:anapplicationorprocessthatcanproduce/receivemessages
v.JMS供应者/出版者:创建/发送消息的客户端
vi.JMSprovider/publisher:aclientthatcancreate/sendmessages
vii.JMS消费者:接收消息的客户端
viii.JMSconsumer:aclientthatcanreceivemessages
ix.JMS消息:包含数据的对象,在客户端之间转移
x.JMSmessage:anobjectincludingdataandtransferredbetweenJMSclients
xi.JMS队列:一个包含着已经被发送出去并且等待被接收的信息(只有一个消费者)中
转区
xii.JMSqueue:aqueuethatincludemessageswhichhavebeensentand
waitingtoberead
xiii.JMS主题:一个发送信息给多个订阅服务器的初版发行机构
xiv.JMSTopic:adistributionmechanismforpublishingmessagesthatare
deliveredtomultiplesubscribers
i)JMS应用程序的基本构造块JMSapplication,sbasicbuildingblocks
i.管理对象:连接工厂和目的地
ii.Administeredobjects:connectionfactoriesanddestinations
iii.链接
iv.Connections
v.会议
vi.Sessions
vii.消息生产者
viii.Messageprovider
ix.消息消费者
x.Messageconsumer
Xi.消息
xii.Message
JMSAPIProgrammingModel
Creates
Message
Producer
CreatesReceives
Rom
DestinationDestination
j)JMS信息类型
JMSMessageTypes
MessageTypeBodyContents
TextMessageAjava.lang.Stringobject(fbrexample,thecontentsofanXML
file).
MapMessageAsetofname-valuepairs,withnamesasStringobjectsandvalues
asprimitivetypesintheJavaprogramminglanguage.Theentries
canbeaccessedsequentiallybyenumeratororrandomlybyname.
Theorderoftheentriesisundefined.
BytesMessageAstreamofuninterpretedbytes.Thismessagetypeisfbrliterally
encodingabodytomatchanexistingmessagefbnnat.
StreamMessageAstreamofprimitivevaluesintheJavaprogramminglanguage,
filledandreadsequentially.
ObjectMessageASerializableobjectintheJavaprogramminglanguage.
第四章JDBC
a)Intro
i.一套为了建立JAVA编程语言和更大范围数据库之间独立性数据库连接的标准JAVA
API接口
b)框架
JDBCArchitecture
•JDBCAPI&JDBCDriverAPI
C)组件
i.DriverManager
ii.Driver
iii.Connection
iv.Statement
v.ResultSet
vi.SQLexception
d)JDBC功能
i.制造一个数据库连接
ii.产生SQL声明
iii.在数据库中执行SQL语句
iv.查看修改产生的纪录
e)生成一个简洁的JDBC应用
i.导入包
1.导入数据库连接编程需要的JDBC类的包
2.Importjava.Sql
ii.注册JDBCdriver
1.初始化一个driver,来建立一个与数据库联系的通信通道
2.Class.forName("com.mysqljdbc,driver");
iii.打开链接
1.制造一个链接对象,代表着与数据库的物理连接
2.Staticfinalstringuser="username";
3.Staticfinalstringpass="password";
4.Conn=DriverManager.getConnection(DB_URL.user,pass);
iv.执行语句
1.为了建筑并提交SQL说明给数据库,使用声明或者预备声明
2.Stmt=conn.createStatement();
3.Stringsql;
4.Sql="SELECTid,name,hometownFROMt_student";
5.ResultsSetrs=stmt.executeQuery(sql);
6.对更新,插入,删除进行声明
7.Stmt=conn.createStatementQ;
8.Stringsql;
9.Sql="DELETEFROMt.studentwhereid=l";
10.Intnum=stmt.executeUpdate(sql);
v.从结果中提取数据
1.用resultSet.getXXXQ从结果中提取数据
while(rs.next()){
//Retrievebycolumnname
intid=rs.getlnt("id");
Stringname=rs.getString(/znameH);
Stringhometown=rs.getString(//hometown");
<)7
vi.清空环境
rs.close();
stmt.close();
conn.close();
\__________________________________)
f)数据类型
SQLJDBC/JavasetXXXupdateXXX
VARCHARjava.Iang.StringsetStringupdateString
CHARjava.Iang.StringsetstringupdateString
NUMERICjava.math.BigDecimalsetBigDecimalupdateBigDecimal
INTEGERintsetlntupdatelnt
FLOATfloatsetFloatupdateFloat
DOUBLEdoublesetDoubleupdateDouble
DATEjava.sql.DatesetDateupdateDate
TIMEjava.sql.TimesetTimeupdateTime
TIMESTAMPjava.sql.TimestampsetTimestampupdateTimestamp
g)执行SQL语句
i.发送查询语句给数据库
ii.发送更新语句给数据库
TheCallableStatementObject
CallableStatementcstmt=null;
try(
StringSQL="{callprocedureName(?,?)}'*;
cstmt=conn.prepareCall(SQL);
}
catch(SQLExceptione){
}
finally{
TheCallableStatementObject(cont.)
ParameterDescription
AparameterwhosevalueisunknownwhentheSQLstatementiscreated.
IN
YoubindvaluestoINparameterswiththesetXXX()methods.
AparameterwhosevalueissuppliedbytheSQLstatementitreturns.You
OUT
retrievevaluesfromtheOUTparameterswiththegetXXXf)methods.
Aparameterthatprovidesbothinputandoutputvalues.Youbindvariables
INOUT
withthesetXXXf)methodsandretrievevalueswiththegetXXXf)methods.
intstudentlD=102;
stmt.setlnt(l,studentID);
stmt.registerOutParameter(2,java.sql.Types.VARCHAR);
\________________________________________)
第五
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026辐射安全与防护培训考试题库(含参考答案)
- 《执教者陈瑞琼》课件
- 《新生儿脐带的护》课件
- 《提高记忆力的方法》课件
- 《数列通项的求法》课件
- 《李杜诗五首》课件
- 《有机08醛酮醌》课件
- 贲安能源扩建钠离子电池生产及研发项目环境影响报告表
- 《新西兰的民俗》课件
- 《污水源热泵》课件
- 2026年物流RFID技术应用师考试题库及答案
- (2026年)口腔种植科室规章制度
- 《红星照耀中国》第五章:长征 带读课(课件)
- 部编版六年级上册语文1-8单元基础知识默写填空专项训练(含答案)
- 2026年危化品重点县指导服务企业自查表考试试题及答案
- 建筑结构健康监测技术规程
- 遵义会议放光辉合唱简谱
- 《新污染物治理技术》-课件 第1章 新污染物简介
- wedo自动投篮机课件
- 网络与信息安全管理员(网络安全管理员)理论知识考核要素细目表
- 医院护工合同协议书范本
评论
0/150
提交评论