




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、分布計算環(huán)境作業(yè)一 通過生成進程來構建并發(fā)服務器與使用多線程來構建并發(fā)服務器相比有優(yōu)點也有缺點,請分析這兩種方式的優(yōu)缺點。你認為基于CORBA實現(xiàn)的并發(fā)服務器是基于生成進程的方法,還是基于多線程的方法?為什么?并發(fā)服務器需要同時處理多個請求。采用多進程:優(yōu)點:1)處理各個請求的進程之間隔離性好。缺點:1)創(chuàng)建/撤銷處理各個請求的進程的代價大;2)分發(fā)器(主進程)將請求發(fā)送到另一個進程的代價大(如果能說明為什么代價大更好);3)如果各個子進程間需要通信,代價大。采用線程:優(yōu)點:1)創(chuàng)建/撤銷處理各個請求的線程的代價?。?)分發(fā)器(主線程)將請求發(fā)送到另一個線程的代價?。ㄈ绻軌蛘f明為什么代價小更
2、好);3)如果各個線程間需要通信,代價小。缺點:1)一個線程出問題,可能會影響其他線程。CORBA:使用多線程技術實現(xiàn)并發(fā)服務器。因為如果采用多進程實現(xiàn),有以下問題: 1)服務器端要同時維護多個可被用戶訪問的CORBA對象,這些對象的數(shù)量常常會比較大,為每個服務對象起一個進程,進程數(shù)會比較大,系統(tǒng)開銷過大;2)對于遠程方法調(diào)用來說,請求的參數(shù)比較復雜,主進程將請求再發(fā)送給子進程,開銷比較大;3)主進程、子進程都需要ORB的Runtime,進程啟動/撤銷的代價大;所以如果采用多進程的話實現(xiàn)并發(fā)CORBA服務器很困難。主要問題:(一) 針對性不夠:a) 直接羅列進程和線程的優(yōu)缺點(二) 理由不夠充
3、分:a) 為支持高并發(fā)及高可用,所以多線程或多進程b) 為支持穩(wěn)定性和健壯性,所以多線程或多進程c) ORB拿到請求后要決定哪一個對象實例完成這個請求,送過去,這種工作過程類似于線程d) 多線程更適合,代價低,所以e) 因為ORB每拿到一個對象都會派生一個線程,所以f) 事務控制,所以.g) CORBA要對穩(wěn)定性隔離性要求較高,所以基于進程方式(三) 沒有弄清楚題目問的重點:a) CORBA支持遠程調(diào)用,客戶和服務器不在同一個位置,所以多進程(四) 其它:a) 服務對象由不同語言編寫,不能在單一進程中b) 因為POA有線程策略,那么如果你不知道POA的工作機制呢?c) 多個伺服對象在不同位置,
4、所以多進程。二 為什么傳輸層通信服務往往不適合用于直接構建比較復雜的分布式應用?目前的解決辦法是什么?為什么這樣做?首先,說明傳輸層通信服務提供什么樣的能力?只是為端到端連接提供傳輸服務。其次分析構建比較復雜分布式應用需要什么樣的支持?不僅僅是端到端的通信支持,而且要求具有一些分布透明性,如位置的透明性、訪問透明性等,顯然,僅僅基于傳輸層服務,位置、訪問透明性等的支持,例如遠程對象訪問方法的打包拆包等等,都需要應用程序開發(fā)者來負責實現(xiàn),大大加大了應用開發(fā)的難度。目前使用分布計算環(huán)境(中間件)來支持相應的分布式應用系統(tǒng)的實現(xiàn)。例如使用CORBA、EJB支持面向?qū)ο蟮姆植际较到y(tǒng)的實現(xiàn)。使用消息中間
5、件來支持面向消息的分布式系統(tǒng)的實現(xiàn)。使用Web Service來實現(xiàn)Web環(huán)境下分布式系統(tǒng)的實現(xiàn)。等等(舉2個或以上例子就好)。這些分布式計算環(huán)境解決了相應的分布式應用系統(tǒng)要解決的共性問題,如支持訪問、位置透明性,使得分布式應用系統(tǒng)可以更加方便地構建。主要問題:(一) 為什么不行,說得太簡單,就說了沒有支持分布透明性,需要開發(fā)人員注意通信的實現(xiàn),從而導致解決方案的可擴展性很差。(二) 解決方法單一:ODP、RPC、MPI、HTTP、消息隊列.。(三) 使用C/S模式。(四) 流、各種應用級協(xié)議都提到了,就是不提分布計算環(huán)境。(五) 局限在通信一點上。三 DNS中的高層命名服務器(那些在DNS命
6、名空間中接近根的)一般不支持遞歸式名字解析,為什么?你認為CORBA的命名服務使用的是哪種解析方法,為什么?(1) 采用遞歸方式,對性能影響較大:維持緩存、服務器要等待等等。而基于DNS的工作機制,高層服務器要處理的請求量大,對性能要求高。所以(2) CORBA命名服務通過resolve方法,根據(jù)指定的對象名,返回給相應的對象引用,對于客戶來說,這是一次請求得到最終結果的方式,因此可以認為是遞歸方式。采用這種一次性獲得結果的方式,使得客戶端編程簡單便捷。主要問題:(一) 說明了DNS的工作機制,指明根域名服務器不支持遞歸,但沒有說明為什么。(二) CORBA名字空間的樹形結構是基于LDAP屬性
7、的嗎?(三) CORBA的命名服務提供了Iterator迭代接口,但這不能說明是迭代解析。(四) 至于DNS中的重定位/重定向方式,在CORBA中主要用于提供重置透明性,與命名服務的工作機制無關。四 CORBA ORB中,實現(xiàn)了ODP工程視點中存根對象、聯(lián)編對象和協(xié)議對象的功能的組件分別是什么?CORBA應用中,對應于客戶端和服務器端的基本工程對象的組件分別是什么?存根對象:服務器端骨架、客戶端存根;聯(lián)編對象:ORB核心和對象適配器;協(xié)議對象:ORB核心;服務器端基本工程對象:對象實現(xiàn)的實例(伺服對象);客戶端基本工程對象:客戶應用程序。主要問題:答非所問的,把通道里的對象也當成基本工程對象的
8、。五 現(xiàn)要為某網(wǎng)上商城實現(xiàn)一個商品價格查詢服務,該服務具有以下功能: 用戶可以主動查詢某個商品的價格。 用戶可以訂購某個商品的價格,當商品價格低于用戶指定的閾值時,該服務通知訂購用戶當前的價格。 多個用戶可同時使用該服務?,F(xiàn)要使用面向?qū)ο蟮募夹g,如CORBA技術實現(xiàn)該服務:請描述該服務對象和客戶端程序(用戶程序)分別需要實現(xiàn)的接口。接口可以采用任何一種程序設計語言描述(甚至夾雜自然語言),但要明確每個接口名、接口中的方法名、方法的返回值和參數(shù)名以及類型。商品價格查詢服務的接口:方法一:價格查詢Float getPrice(String goodID) throws someFailure返回值
9、為價格。方法二:訂購價格變化情況Void subscribe(String goodID, float myInterestPrice, Ref myCallback) throws some someFailure其中,myInterestPrice為指定的價格閾值,myCallback為實現(xiàn)nicePrice()方法的客戶端回調(diào)接口對象引用??蛻舳藢崿F(xiàn)的接口:方法一:Void nicePrice(String goodID, float nicePrice) throws some someFailure其中,nicePrice是低于閾值的新價格。(參數(shù)類型和名字等,可在合理范圍內(nèi)變動。缺
10、失紅色部分,不會扣分)主要問題:寫代碼的。寫屬性的。接口與方法混淆的。代碼里直接寫著提醒用戶的。還有把客戶端和服務器端要實現(xiàn)的方法寫在同一個接口中的。首先弄清楚,誰實現(xiàn)的接口由誰來調(diào)。六 無狀態(tài)會話Bean可以用于實現(xiàn)有狀態(tài)的應用嗎?為什么?可以。雖然無狀態(tài)會話Bean在不同方法調(diào)用中不保留任何狀態(tài),但可以將用于識別會話的數(shù)據(jù)保留在客戶端,客戶隨后的請求中攜帶該數(shù)據(jù),使得接收請求的無狀態(tài)會話Bean可以識別出正在為哪個會話進行處理,從而實現(xiàn)有狀態(tài)服務。例如,無狀態(tài)會話Bean在客戶某次會話的第一次請求時將一個可以標識本次會話的ID返回給客戶方,由客戶保存,同時服務器將該會話相關的狀態(tài)數(shù)據(jù)保留在
11、持久化存儲中。則該會話持續(xù)過程中,客戶每次請求服務器時,在方法參數(shù)中加入這個ID,這樣,無狀態(tài)會話Bean的該方法執(zhí)行時,可以根據(jù)這個標識符從數(shù)據(jù)庫中取出相應的狀態(tài)數(shù)據(jù),基于該數(shù)據(jù)進行處理,處理完后新狀態(tài)可以重新存入數(shù)據(jù)庫,以備后續(xù)調(diào)用使用,從而實現(xiàn)有狀態(tài)服務。主要問題:第一問不明確答復。明確回答可以或者不可以。把無狀態(tài)會話Bean的定義和特點抄一遍就是原因了?;卮鸩豢梢裕驗榇嬖谟趯ο蟪刂泄┒鄠€客戶使用,所以不能保持某一客戶的狀態(tài)。無狀態(tài)會話Bean中也有成員變量。無狀態(tài)會話Bean會有成員變量嗎?你需要怎么謹慎地使用它,才能保證這個狀態(tài)不至于影響各個方法的調(diào)用結果?想一想,為什么EJB2.
12、0中說到,無狀態(tài)會話Bean的Create方法沒有參數(shù)?(計數(shù)器服務?)使用Cookie,Bean的使用環(huán)境中無Cookie。有狀態(tài)Bean New不出那么多,大家共享。七 EJB3.0中是否還有類似EJB2.0中的生命周期方法(回調(diào)方法)的成份存在? 為什么?還有。因為EJB3.0中的Bean,例如很多有狀態(tài)會話Bean,仍然需要有容器負責相應的狀態(tài)初始化、狀態(tài)保存、狀態(tài)恢復等生命周期管理工作,如在初始化或者從外存恢復到內(nèi)存時進行狀態(tài)的賦值,所以必須要有相應的接口如回調(diào)函數(shù)供容器調(diào)用從而完成這些工作,這些回調(diào)函數(shù)的作用與2.0的生命周期函數(shù)是基本一樣的。只是回調(diào)函數(shù)的定義方法與2.0不一樣,
13、不再需要實現(xiàn)某個接口,而是可以定義任意名字的方法,通過增加標注如PostConstruct來聲明其為一標注指定類型的回調(diào)方法。主要問題:明確回答有或者沒有。八 在語義網(wǎng)中,各概念(或資源)間的關系有清晰的定義,請問這些關系可以由語義網(wǎng)中的哪些技術來定義?為什么?(不考慮本體上面的層次)可以使用RDF Schema自身詞匯、RDF Schema 定義的新的詞匯、本體語言自身詞匯、本體語言定義的新的詞匯。例如RDF schema 中的subClassOf、value; RDF Schema 定義的新的詞匯author;本體語言OWL中的disjointWith、partOf;OWL定義的Fly。主
14、要問題:不針對性回答問題,把相關定義抄一遍。九 輕量級容器的控制反轉(zhuǎn)實質(zhì)上是“對象生成”的控制權的倒置,這是把對象生成的控制權從對象的調(diào)用者交給了被調(diào)用對象嗎?為什么? 不是。因為實際上是把對象生成的控制權從對象的調(diào)用者交給了容器,由容器來控制。容器根據(jù)配置文件或者標注,為調(diào)用對象創(chuàng)建出被調(diào)用對象(被依賴對象),然后把創(chuàng)建好的對象注入到調(diào)用對象那里,供調(diào)用對象使用。主要問題:沒有明確說交給了容器或由容器來控制。十 XML標記及其標記之間的嵌套可以描述XML文檔的結構并傳達所標記數(shù)據(jù)的含義,因此對數(shù)據(jù)的處理方式取決于標記,對嗎?為什么?不對。雖然XML標記說明了數(shù)據(jù)的含義,但是處理方式取決于具體處理這個數(shù)據(jù)的程序或者腳本,對于同樣含義的數(shù)據(jù),可以有不同的處理方式。當然,對于標準化的程序,比如XHTML的瀏覽器,對于X
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度學生傷害賠償協(xié)議書(校園意外)
- 二零二五年度道路運輸企業(yè)司機薪酬管理合同
- 2025年度物業(yè)保潔項目管理勞動合同
- 二零二五年度業(yè)主委員會與物業(yè)服務社區(qū)停車管理合同
- 2025年度門面房出租與租賃合同爭議解決協(xié)議
- 典當與拍賣服務作業(yè)指導書
- 2025年IT服務管理培訓課件
- 二手住房出售協(xié)議
- 網(wǎng)絡直播行業(yè)主播言論免責協(xié)議
- 客戶關系管理軟件開發(fā)外包合同書
- 機電一體化(專業(yè)畢業(yè)論文)
- 小學2年級心理健康教育課件《智斗“攔路虎”-人人都會有困難》
- 2024年新疆區(qū)公務員錄用考試《行測》真題及答案解析
- 焊工(初級)考試題庫及答案
- 2024年云南省中考物理試題含答案
- 感染科質(zhì)控中心工作匯報
- Module1Unit1Welivedinasmallhouse (教案) 英語五年級下冊
- 期末試卷(試題)-2024-2025學年滬教版三年級上冊數(shù)學
- 風險評估報告模板
- 合肥市2024年中考理化生實驗評分細則
- 2024年湖南學業(yè)水平考試地理真題及答案
評論
0/150
提交評論