系統架構設計師備考資料(5.第九、十章)

第九章,第十章

第九章  面向構件的軟件設計


口袋應試:這一章主要爲概念題,題點分散,大家掌握就好。
9.1構件的概念
9.1.1術語與概念
1.構件
構件的特性是:
(1)獨立部署單元; 
(2)作爲第三方的組裝單元; 
(3)沒有(外部的)可見狀態。 
一個構件可以包含多個類元素,但是一個類元素只能屬於一個構件。將一個類拆分進行部署通常沒什麼意義。
2.對象
對象的特性是:
(1)一個實例單元,具有唯一的標誌。
(2)可能具有狀態,此狀態外部可見。
(3)封裝了自己的狀態和行爲。
6.接口

接口標準化的一個非常有意思的變種,是對消息的格式、模式和協 議的標準化。它不是要將接口格式化爲參數化操作的集合,而是關注輸入輸出的消息的 標準化,它強調當機器在網絡中互連時,標準的消息模式、格式、協議的重要性。這也 是因特網OP、UDP、TCP、SNMP等)和Web (HTTP、HTML等)標準的主要做法。 爲了獲得更廣泛的語義,有必要在一個單一通用的消息格式語境中標準化消息模式。這 就是XML的思想。XML提供了一種統一的數據格式。

[email protected]
出題概率:★★
170136


9.3構件框架
9.3.1體系結構
3.構件系統架構特性
●構件系統體系結構由一組平臺決策、一組構件框架和構件框架之間的互操作設計 組成。
●構件框架是一種專用的體系結構(通常圍繞一些關鍵的機制),同時,也是一組 固定地作用於構件層次機制的策略。
●概念框架的互操作設計包括系統體系結構連接的所有框架間的互操作的規則。
●構件是一組通常需要同時部署的原子構件。構件和原子構件之間的區別在於,大 多數原子構件永遠都不會被單獨部署,儘管它們可以被單獨部署。
●一個原子構件是一個模塊和一組資源。
●模塊是一組類和可能的非面向對象的結構體,比如過程或者函數。
●資源是一個類型化的項的固定集合。
5.構件和中間件

中間件是一個軟件集合的名字,這些軟件位於操作系統和高層次分佈式編程平臺之 間。中間件有時被分爲面向消息的中間件(Microsoft Operations Manager, MOM)和麪 向對象的中間件(Object Oriented Method, 00M)。然而,現有的大多數中間件都是這 兩種類型的混合體。當然,現在也有一種趨勢是由傳統的操作系統直接支持。操作系統 總是包含了對通信協議的支持。Web服務的推進和程序世界從以程序爲中心到以協議爲 中心的轉變,導致兩種中間件的價值觀:支持合適的協議或者提供簡化本地服務構造的 結構。

[email protected]
出題概率:★★
120109、160138


9.3.2語境相關組合構件框架
2. EJB容器

EJB爲EJB實例提供了容器。雖然這些容器在MTS語境的基礎上被模式化,但它 們仍然有自己的變化。EJB容器允許類請求進行明確的事務控制一一也就是說,該類的 實例需要直接調用事務API來開始、提交和結束一個事務。如此明確的控制使得這些類 組裝更加困難,但是當添加合法的事務代碼時這種控制開闢了一條更加容易的道路。明 確的控制在COM+中是可能做到的,但是不如EJB直接(本質上,外部控制需要獨立存 在於COM+的事務域之外,並且和微軟的分佈式事務控制器DTC直接發生交互)。

此外,EJB容器通過支持會話Bean和實體Bean支持持久對象。會話Bean的行爲類似於MTS語境中的COM實例------旦事務結束(異常中斷或是正常提交)其狀態將丟失。實體Bean在事務正常提交時就保存至事務永久存儲器。也就是說,Bean能夠作 爲永久對象保存,除了可顯式編寫語句——這是MTS或COM+的唯一選擇。

從版本2.0開始,EJB提供了改進的由容器管理的持久性和關係,提髙了 EJB實體 Bean從一個應用服務器的容器到另外一個應用服務器容器的可移植性。EJB 2.0也增加 了消息驅動的Bean類型,這是一個完全由數據驅動的EJB構件類型。與無狀態會話Bean 一樣,消息驅動的Bean也是在消息到達時實例化,消息處理完畢後被銷燬。這類似於 C〇A+中的隊列構件。消息驅動激活的概念可以追溯到IBM信息管理系統(Information Management System, IMS)的事務管理功能,該系統激活和停止IMS程序以處理隊列 消息。

[email protected]
出題概率:★
180136、180137、180138


9.3.3構件開發
1.面向構件的編程方法學

面向構件的編程(COP)關注於如何支持建立面向構件的解決方案。一個基於一般 OOP 風格的 COP 定義如下(Szyperski,1995): “面向構件的編程需要下列基本的支持:
●多態性(可替代性);
●模塊封裝性(高層次信息的隱藏);
●後期的綁定和裝載(部署獨立性);
●安全性(類型和模塊安全性)。”

[email protected]
出題概率:★
160135


9.3.4構件組裝
1.構件初始化及互連
5) 最終用戶組裝

系統組裝分爲三個不同的層次:定製(customization)、集成(integration)和擴展 (extensionX這三個層次對應於構件組裝過程中的不同任務。

[email protected]
出題概率:★
180139


教材外題點


EJB分爲會話Bean、實體Bean和消息驅動Bean。
1、會話Bean:用於實現業務邏輯,它可以是有狀態的,也可以是無狀態的。每當客戶端請求時,容器就會選擇一個會話Bean來爲客戶端服務。會話Bean可以直接訪問數據庫,但更多時候,它會通過實體Bean實現數據訪問。
2、實體Bean:用於實現O/R映射,負責將數據庫中的表記錄映射爲內存中的實體對象,事實上,創建一個實體Bean對象相當於新建一條記錄,刪除一個實體Bean會同時從數據庫中刪除對應記錄,修改一個實體Bean時,容器會自動將實體Bean的狀態和數據庫同步。
3、消息驅動Bean:是EJB3.0中引入的新的企業Bean,它基於JMS消息,只能接收客戶端發送的JMS消息然後處理。MDB實際上是一個異步的無狀態會話Bean,客戶端調用MDB後無需等待,立刻返回,MDB將異步處理客戶請求。這適合於需要異步處理請求的場合,比如訂單處理,這樣就能避免客戶端長時間的等待一個方法調用直到返回結果

出題概率:★
180138


如果大家要在備考複習中進行分類測試練習,或者查找更詳細的備考資料,可以使用“系統架構設計師口袋應試”小程序,或者關注我的個人公衆號“跬步郎”來查找後續更新的內容。


第十章  構件平臺/典型架構


口袋應試:這一章的出題概率並不高,只是因爲在歷年考試中出現過幾次,所以單列出來。大家儘量瞭解即可。


10.1.3 CORBA構件模型
CORBA構件模型中,對象適配器的主要作用是在底層傳輸平臺與接收調用並返回結果的對象實現之間進行協調,,目前採用的對象適配器規範是POA(可移植對象適配器),它替代了傳統的BOA(基本對象適配器)。Servant(伺服對象)是最終完成客戶請求的服務對象實現,伺服對象管理器(伺服對象激活器和伺服對象定位器)用來提供CORBA服務端的對象查找服務,活動對象映射表用來保存已註冊的CORBA對象標識和伺服對象之間的映射關係。

[email protected]
出題概率:★
160136、160137



10.2.4 各種構件--Applet, Servlet, Bean 和 Enterprise Bean


在Java領域中定義了 5種不同的構件模型,而且將來可能會出現更多。
Applet是第一個Java構件模型,用於輕量級的可下載的構件,以增強網站在瀏覽器 中的視覺效果。
第二個Java構件模型是JavaBean。它主要用於支持基於連接的程序,比如同時用在 客戶端和服務器端的程序。
EJB是Java的第三個構件模型。它使用容器集成服務,用以支持EJB (構件)使 用聲明屬性和部署描述符的方式來請求服務。
第四個Java構件模型是servlet。它跟Applet相似,但屬於服務器端構件模型, 而且是通常由Web服務器進程進行實例化的輕量級構件,Web頁面就是一個典型的例 子。
J2EE引入的第五種Java構件模型爲應用客戶端構件。它本質上是在客戶端的不受 限制的Java程序。

[email protected]
出題概率:★
180141


伺服對象(Servant):CORBA 對象的真正實現,負責完成客戶端請求。

對象適配器(Object Adapter):用於屏蔽ORB 內核的實現細節,爲服務器對象的實現者提供抽象接口,以便他們使用ORB 內部的某些功能。

對象請求代理(Object Request Broker):解釋調用並負責查找實現該請求的對象,將參數傳給找到的對象,並調用方法返回結果。客戶方不需要了解服務對象的位置、通信方式、實現、激活或存儲機制。

出題概率:★
180140



自頂向下方法是一種決策策略。軟件開發涉及做什麼決策、如何決策和決策順序等決策問題。

自頂向下方法在任何時刻所作的決定都是當時對整個設計影響最大的那些決定。如果把所有決定分組或者分級,那麼決策順序是首先作最高級的決定,然後依次地作較低級的決定。同級的決定則按照隨機的順序或者按別的方法。一個決策的級別是看它距離要達到的最終目的(因此是軟件的實際實現)的遠近程度。從問題本身來看,或是由外(用戶所見的)向內(系統的實現)看,以距離實現近的決定爲低級決定,遠的爲高級決定。
在這個自頂向下的過程中,一個複雜的問題(任務)被分解成若干個較小較簡單的問題(子任務),並且一直繼續下去,直到每個小問題(子任務)都簡單到能夠直接解決(實現)爲止。
自頂向下方法的優點是:
●可爲企業或機構的重要決策和任務實現提供信息。
●支持企業信息系統的整體性規劃,並對系統的各子系統的協調和通信提供保證。
●方法的實踐有利於提高企業人員整體觀察問題的能力,從而有利於尋找到改進企業組織的途徑。
自頂向下方法的缺點是:
●對系統分析和設計人員的要求較高。
●開發週期長,系統複雜,一般屬於一種高成本、大投資的工程。
●對於大系統而言,自上而下的規劃對於下層系統的實施往往缺乏約束力,
●從經濟角度來看,很難說自頂向下的做法在經濟上是合算的。


出題概率:★
130137


|上一篇(4.第六、七章)|目錄|

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章