版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2015年-11月-13日第一章INTRO概念一類獨立的系統(tǒng)軟件和服務(wù)程序Aclassofstandalonesystem-levelsoftwareandservicesprocedures在操作系統(tǒng)的頂部WorkingonthetopofOS管理計算機(jī)資源和網(wǎng)絡(luò)Managingcomputationalresourcesandnetworkcommunications支持分布式通信Supportingdistributedappsb)功能在異構(gòu)的網(wǎng)絡(luò)環(huán)境中,涉及到跨連通性和可操作問題中提供統(tǒng)一的協(xié)議和接口Providingstandardizedinterfacesandprotocols隱藏實現(xiàn)細(xì)節(jié)Hidingimplementationdetails提高程序的可移植性Increasingtheportabilityofapps放置于操作系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)的頂部為高級應(yīng)用的開發(fā)和執(zhí)行提供環(huán)境Providingenvironmentsfortheexecutionanddevelopmentofhigher-levelapps協(xié)助軟件工程師靈活高效地開發(fā)和集成復(fù)雜的分布式軟件Assistingsoftwareengineersinflexiblyandefficientlydevelopingandintegratingcomplexdistributedsoftware中間件發(fā)展的主要因素隱藏異構(gòu)型Hidingheterogeneity硬件異構(gòu)hardwareheterogeneity操作系統(tǒng)異構(gòu)OSheterogeneity數(shù)據(jù)庫異構(gòu)databaseheterogeneity支持可操作性supportinginter-operability不同的平臺differentplatforms不同的網(wǎng)絡(luò)協(xié)議differentnetworkprotocols不同的通信機(jī)制differentcommunicationmechanisms提高軟件的復(fù)用率improvingefficiencyandqualityofsoftwaredevelopment主要類別對象請求代理中間件ORBobjectrequestbrokersmiddleware面向信息中間件MOMmessage-orientedmiddleware數(shù)據(jù)庫訪問中間件DAMdatabaseaccessmiddleware事務(wù)處理中間件TPMtransactionprocessingmiddleware第二章RMI對象請求代理ORB提供一個框架,使得遠(yuǎn)程對象可以在網(wǎng)絡(luò)中以同樣的方式使用在網(wǎng)絡(luò)中的本地對象Providingaframeworkwhereremoteobjectcanuselocalobjectsinthesamewayoverthenetwork當(dāng)對象在客戶端和服務(wù)器之間傳遞時,提供功能的編組和解組的功能Providingfunctionalitiesformarshallingandunmarshalingwhenobjectsaretransmittedbetweenclientsandservers.客戶端和服務(wù)器之間的傳輸隱藏實現(xiàn)的細(xì)節(jié),這使得開發(fā)人員能夠有效地實現(xiàn)分布式應(yīng)用程序,而無需面對復(fù)雜的底層操作系統(tǒng)和網(wǎng)絡(luò)通信Hidingtheimplementationdetails,whichenabledeveloperstoimplementdistributedappsefficientlywithoutfacingthecomplexunderlyingoperatingsystemsandnetworkcommunicationsJAVARMI的概述WritingdistributedobjectsusingjavaSimpleanddirectmodelfordistributedcomputationwithjavaobjects以java為中心,由此帶來了安全性和分布式計算的可移植性Centeredaroundjava,thusbringingthepowerofJavaSafetyandportabilitytodistributedcomputing行為可以被轉(zhuǎn)移動Behaviorcanberemoved通過JNI可以鏈接到現(xiàn)有的遺留系統(tǒng)Connectedexistedlegacysystemby JNI通過JDBC可以鏈接到關(guān)系數(shù)據(jù)庫ConnectedrelationaldatabasebyJDBC優(yōu)點面向?qū)ο驩O全部的對象可以作為參數(shù)和返回值A(chǔ)llobjectscanbeargumentsandreturnvalues可移動性行為mobilebehavior類的實現(xiàn)可以被移植Theimplementationsofclasscanbemoved設(shè)計模式designpatterns傳遞性對象確保了面向?qū)ο蠹夹g(shù)的全功率PassingobjectsensurethefullpowerofOOtechs基于JAVA的安全機(jī)制:安全經(jīng)理BasedonJAVAsecuritymechanismssecuritymanager次優(yōu)點十分容易開發(fā),使用,維護(hù)Easytowrite,useandmaintain可以與現(xiàn)存的遺留系統(tǒng)鏈接canconnectwithexistedlegacysystemRMI/JNI,RMI/JDBC開發(fā)一次,可以在任何地方運行writeonce,canbeuseanywhere100%移植到任何JVM100%portabletoanyJVM分布式垃圾收集distributedgarbagecollection并行計算parallelcomputing多線程,并行處理MUTI-thread,concurrentprocessing架構(gòu)architecture存根stub1.編組參數(shù),發(fā)送調(diào)用Marshalingarguments,sendinginvocation骨骼skeleton解封參數(shù),調(diào)用服務(wù)器來實現(xiàn)Unmarshalingarguments,invokingserver'simplementationf)RMI的分布式應(yīng)用定位遠(yuǎn)程對象locateremoteobjects與遠(yuǎn)程對象通信communicatewithremoteobjectsiii.為被傳遞的對象加載類定義loaddefinitionofclassesthatarepassedaroundg)遠(yuǎn)程接口,對象和方法remoteinterface,objectsandmethods通過實現(xiàn)一個具有以下特點的遠(yuǎn)程接口來實現(xiàn)對象遠(yuǎn)程化Anobjectsbecomesremotebyimplementingaremoteinterfacewithfollowingcharacteristics—個遠(yuǎn)程接口擴(kuò)展了接口oneremoteinterfaceextendsaninterfaceJava.rmi.remote接口的每—個方法都有事先聲明everymethodsoftheinterfacehasbeendeclareda)Java.rmi.RemoteExceptioninitsthrowsclauseh)主要步驟mainsteps定義遠(yuǎn)程接口definetheremoteinterfaceremotely可能包括本地接口/方法的實現(xiàn)mayincludetheimplementationoflocalinterface/method客戶實現(xiàn)implementingtheclient1.在遠(yuǎn)程接口定義后的任何時間都可以被實現(xiàn)canbeimplementedanytimewhentheremoteinterfacehasbeendefined第三章JMSa)面向消息中間件MOM在異構(gòu)平臺上發(fā)送/接收分布式應(yīng)用軟件/組件之間的消息Sending/receivingmessagesbetweendistributedapps/componentsovertheheterogeneousplatforms1.支持異步調(diào)用Supportingasynchronouscalls創(chuàng)建一個分布式通信層Createadistributecommunicationlayer1.避免應(yīng)用開發(fā)者接觸來自不同系統(tǒng)和網(wǎng)絡(luò)接口的細(xì)節(jié)InsulatingappdevelopersfromthedetailsaboutdifferentOSandnetworkinterfaces在不同平臺和網(wǎng)絡(luò)上的API通常是MOM提供的TheAPISfromdifferentplatformsandnetworkareprovidedbyMOM比較異步通信Asynchronouscommunication組件松散耦合Loosely-coupledcomponentsRPC/ORB1.同步通信Synchronouscommunication組件緊密耦合Tightly-coupledcomponentsMOM標(biāo)準(zhǔn)i.歷史上,缺乏MOM的準(zhǔn)確標(biāo)準(zhǔn)Therewasalackofstandardsinthehistory.高級消息隊列協(xié)議AMQPAdvancedMessageQueuingProtocol數(shù)據(jù)分發(fā)服務(wù)DDSDataDistributionService可擴(kuò)展消息和存在協(xié)議XXMPextensibleMessagingandPresenceProtocolJava消息服務(wù)的JAVAEEJavaMessageServicebyJAVAEE由大多數(shù)MOM供應(yīng)商實施,旨在隱藏特定的MOMAPI實現(xiàn)方法ImplementedbymostMOMvendorsandaimstohidetheparticularJavaMessageService—種JAVAAPI接□,允許應(yīng)用程序創(chuàng)建發(fā)送接收讀取消息AjavaAPIthatallowsappstocreate,send,receiveandreadmessages定義一組通用接□和關(guān)聯(lián)用語Definesasetofcommoninterfaceandassociatedsemantics通過JMS的提供者,力爭最大力度的提高JMS應(yīng)用程序的可移植性TrythebesttoimprovetheportabilityofJMSappsacrossJMSproviders使得通信變得松散耦合的,異步的,可靠的Enablingcommunicationthatislooselycoupled,asynchronous,andreliable當(dāng)用JMS的時候提供者希望該組件不依賴與其他組件的接□信息,因此組件可以很容易地被替換Providershopethecomponentsdon'trelyonothercomponents'message,socomponentscanbeeasilyreplaced提供者希望該應(yīng)用程序運行時其他組件也同時運行Providerswantstheappstorunwhetherornotallcomponentsareupandrunningsimultaneously應(yīng)用業(yè)務(wù)模式允許組件將信息發(fā)送到另—個組件,并繼續(xù)操作而不用即時響應(yīng)Applicationbusinessmodelallowscomponentssendmessagetoanothercomponentsandtocontinuetooperatewithoutreceivinganimmediateresponse信息傳遞方式點對點傳送消息方式Pointtopointmessagingstyle1.每個消息都是針對特定隊列的Eachmessageisaddressedtoaspecificqueue隊列將保留所有發(fā)送的消息,直到他們被消耗或者過期Thequeuewillretainallthemessagesthathavebeensentuntiltheyareconsumedorexpire.每一條消息都只有一個消費者Everymessagehasoneconsumerii. 發(fā)布/訂閱消息方式Publish/subscribemessagingstyle1.客戶端可以將信息發(fā)到一個主題里Theclientcansendamessagetoatopic出版社和訂閱者可以動態(tài)的發(fā)布或者訂閱主題Publisherandsubscribercandynamicallypublishorsubscribetothetopic.當(dāng)且僅當(dāng)消息被發(fā)送給訂閱服務(wù)器后,主題才會保留信息Topicwillretainthemessagesonlywhenmessageshavebeensenttothesubscribers每一條信息都可以有多個消費者Eachmessagehasmultipleconsumers當(dāng)一個客戶端創(chuàng)建了一個主題后,另一個訂閱了相應(yīng)主題的客戶端才可以消費已發(fā)送的信息,并且消費者必須要保持活躍來消費信息
Afteraclientcreateatopic,anotherclientwhichhassubscribedthetopiccanconsumemessagesthathavebeensent,andtheconsumermustcontinuetobeactiveinorderforittoconsumemessages.MsgM旳Cltent1Senda*<——Consumes ?Acknowledges—-CNent2QueueMsgC*ieni1——PuMlsties一*GllentSTopicMsgC*ieni1——PuMlsties一*GllentSTopic百 SuDacrlbeaDellrvarsSubscribesDelirversQiams消息消費同步Synchronously1.消費者通過調(diào)用消息接收方法來獲取消息的目的地Consumerfetchesthemessagefromthedestinationbycallingthereceivemethod如果消息沒有在指定時間內(nèi)到達(dá),該接收方法會阻止消息進(jìn)入Thereceivemethodcanblockuntilamessagearrivesorcantimeoutifamessagedosenotarrivewithinaspecifiedtimelimit異步Asynchronously客戶端可以注冊一個消息監(jiān)聽器Theclientcanregisteramessagelistenerwithaconsumer當(dāng)消息到達(dá)目的地時,JMS的提供者通過調(diào)用監(jiān)聽器的onMessage方法來提供信息Whenmessagearrivestothedestination,theproviderofJMSdeliverthemessagebycallingthelistener'sonMessagemethodh) JMS兀素JMS提供者:一個JMS接口的實現(xiàn)JMSprovider:animplementationoftheJMSinterfaceJMS客戶端:一個應(yīng)用或者過程,可以生產(chǎn)/接收消息JMSclient:anapplicationorprocessthatcanproduce/receivemessagesJMS提供者/出版者:創(chuàng)建/發(fā)送消息的客戶端JMSprovider/publisher:aclientthatcancreate/sendmessagesJMS消費者:接收消息的客戶端JMSconsumer:aclientthatcanreceivemessagesJMS消息:包含數(shù)據(jù)的對象,在客戶端之間轉(zhuǎn)移JMSmessage:anobjectincludingdataandtransferredbetweenJMSclientsJMS隊列:一個包含著已經(jīng)被發(fā)送出去并且等待被接收的信息(只有一個消費者)中轉(zhuǎn)區(qū)JMSqueue:aqueuethatincludemessageswhichhavebeensentand
waitingtobereadxiii.JMS主題:一個發(fā)送信息給多個訂閱服務(wù)器的初版發(fā)行機(jī)構(gòu)xiv.JMSTopic:adistributionmechanismforpublishingmessagesthataredeliveredtomultiplesubscribersi)JMS應(yīng)用程序的基本構(gòu)造塊JMSapplication'sbasicbuildingblocksi.ii.iii.管理對象:連接工廠和目的地Administeredobjects:connectionfactoriesanddestinations鏈接iv.Connectionsv.會議vi.Sessionsvii.消息生產(chǎn)者viii.Messageproviderix.消息消費者x.Messageconsumerxi.消息xii.Message
JMSAPIProgrammingModelj)JMS信息類型JMSMessageTypesMessageTypeBodyContentsTextXlessageAjava」iin啟-Stringobject(lorexaimple;thecontentsofanXMLfile). jMapMessageAsetofname-vaAiEpairs,withnamesasStringobjectsandvaluesasprimitivetypesintheJavaprogrannminglanguage.Theentriescanbeaccessedsequentiallybyenumeratororrandomlybynam^.Theorderoftheentriesisundcfincil.BytesMessageAstreamofuninterprEtEdbytes.ThismessagetypeUfbtliterallyencodingabodytomatchynexistinginessagefann?it.StreamMessageAstreamofprimitivevaluesintheJavaprograiniTiin^language,tilledandreadsequentially.ObfectMessageASerializablEobjecTintheJava卩rogramininglanguage.
第四章JDBCa)Intro一套為了建立JAVA編程語言和更大范圍數(shù)據(jù)庫之間獨立性數(shù)據(jù)庫連接的標(biāo)準(zhǔn)JAVAAPI接口b)框架b)框架JDBCArchitecture?JDBCAPI&JDBCDriverAPIJavaApplicationJD8CAPIc)組件JDBCOdvorJDBCDriverManagerc)組件JDBCOdvorJDBCDriverManagerDriverManagerDriverConnectionStatementResultSetSQLexceptionJDBC功能創(chuàng)造一個數(shù)據(jù)庫連接產(chǎn)生SQL聲明在數(shù)據(jù)庫中執(zhí)行SQL語句查看修改產(chǎn)生的記錄生成一個簡單的JDBC應(yīng)用導(dǎo)入包導(dǎo)入數(shù)據(jù)庫連接編程需要的JDBC類的包Importjava.Sql.*;注冊JDBCdriver初始化一個driver,來建立一個與數(shù)據(jù)庫聯(lián)系的通信通道Class.forName(“com.mysql,jdbc,driver”);打開鏈接創(chuàng)造一個鏈接對象,代表著與數(shù)據(jù)庫的物理連接Staticfinalstringuser=”username”;Staticfinalstringpass=”password”;Conn=DriverManager.getConnection(DB_URL.user,pass);執(zhí)行語句為了建造并提交SQL說明給數(shù)據(jù)庫,使用聲明或者準(zhǔn)備聲明Stmt=conn.createStatement();Stringsql;Sql=“SELECTid,name,hometownFROMt_student”;
ResultsSetrs=stmt.executeQuery(sql);對更新,插入,刪除進(jìn)行聲明Stmt=conn.createStatement();Stringsql;Sql=“DELETEFROMt_studentwhereid=1”;Intnum=stmt.executeUpdate(sql);從結(jié)果中提取數(shù)據(jù)1.用resultSet.getXXX()1.用resultSet.getXXX()從結(jié)果中提取數(shù)據(jù)vi.清空環(huán)境while(r5.next(]){//Retnevebycolumnnameintid=rs-getlntC^d");Stringname=rs.getStringC'name11);Stringhometown=rs.getStrjng("hometown");rs.close();stmtxlosef);ronrs.close();stmtxlosef);ronn.close();f)數(shù)據(jù)類型SQLJDBC/JavasetXXXupdateXXXVARCHARjava,lang.StringsetString□pdatestringCHARjavang,StringsetStringupdatestringNUMERICjava.math.BigDecimalsetBigDecimalupdateBigDecimalINTEGERintsetlntupdatelntFLOATfloatsetFloatupdateFloatDOUBLEdoublpsetDoubleupdateDouble□ATEjava.sql.DatesetDateupdateDateTIMEjava.sql.TimesetTimeupdateTimeTIMESTAMPjava.sql.TimesTampsetTimestampupdateTimestampg)執(zhí)行SQL語句發(fā)送查詢語句給數(shù)據(jù)庫發(fā)送更新語句給數(shù)據(jù)庫TheStatementObject?UsingcreateStatement()methodStatementstmt二null;try{stmt二conn.createStatement();}catch(SQLExceptione){}finally{stmt.close();k}
ThePreparedStatementObjectPreparedStatementpstmt=null;tn/{StringSQL="UPDATEt_studentSETage二?WHEREid=?”pstmt=cann.prepareStatement(SQL);catch(SQLExceptione){finally{pstmt.close();TheCallableStatementObjectCallableStatementcstmt=null;try{StringSQL="{callproceduneName(?/?)}ncstmt=conn.preparecall(SQL);catch(SQLExceptione){HR■finally{TheCallableStatementObject(cont.)ParameterDescriptionINAparameterwhosevalueisunknownwhentheSQLstatemsntiscreated.YoubindvaluestoINparameterswiththesetXKXf)methods.OUTAparameterwhose\/alueissuppliedbytheSQLstatementitreturns.YouretrievevaluesfromtheOUTparameterswiththegetXXXf)methods.INOUTAparameterthatprovidesbothinputandoutputvalues.YoubindvariableswiththesetXXX()methodsandretrievevalueswiththegetXXX()studentlD=102;stmt.se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新形勢下工藝品行業(yè)可持續(xù)發(fā)展戰(zhàn)略制定與實施研究報告
- 2025-2030年中國生活性服務(wù)行業(yè)資本規(guī)劃與股權(quán)融資戰(zhàn)略制定與實施研究報告
- 自動扶梯施工方案
- 中學(xué)教學(xué)常規(guī)要求
- 測你在床上的真實風(fēng)格究竟是啥
- 真空采血管使用情況調(diào)研
- 無塵室系統(tǒng)行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報告
- 2024-2027年中國超休閑游戲行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- 監(jiān)控器安裝知識培訓(xùn)課件
- 車輛汽修知識培訓(xùn)課件
- (八省聯(lián)考)河南省2025年高考綜合改革適應(yīng)性演練 思想政治試卷(含答案)
- 綜合測試 散文閱讀(多文本)(解析版)-2025年高考語文一輪復(fù)習(xí)(新高考)
- 鈑金設(shè)備操作培訓(xùn)
- 2024駕校經(jīng)營權(quán)承包合同
- 福建省能化集團(tuán)筆試題目
- 快遞公司與驛站合作協(xié)議模板 3篇
- 水利工程招標(biāo)文件樣本
- 品質(zhì)管控培訓(xùn)質(zhì)量管理與質(zhì)量控制課件
- 小數(shù)加減乘除計算題大全(300題大全)-
- 2023-2024學(xué)年小學(xué)語文四年級素養(yǎng)檢測復(fù)習(xí)試題附答案
- 露天礦山全員安全教育培訓(xùn)
評論
0/150
提交評論