版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/1596037
J2EE Architecture(2)
1、架構術語
架構師要有藝術家的風範。
事實證明,在任何情況下,都有必要将技術與藝術巧妙的融合在一起。
企業解決方案的架構師與其它行業或技術領域的架構師沒什麼不同。架構師獨立于技術看問題,站在中立的角度透視系統,并注重系統元件群組件行為的抽象表示。架構師的語言獨立于任何特定廠商或技術實作。
企業架構師使用一些獨立于廠商的标準術語描述企業系統。部分術語如下:
1)抽象(Abstract):是事務标記,它隐藏細節,在設計中重複使用,是一種清楚的表示法。
2)邊界(Boundary):指兩個對象的互動區域。
3)脆度(Brittleness):指細微變化對更大系統部分的破壞程度。
4)能力(Capability):除“功能”外的能力,是“能看到”的系統品質,如可靠性和可用性等。
5)摩擦(Friction):指兩個元件互動時的互動程度。
6)分層(Layering):指分離的層次結構。
7)表面(Surface Area):指将功能或方法呈現給用戶端的應用程式部分。
2、架構師和設計師
1)“架構師”不考慮任何廠商專用的工具或應用程式,在概念級别處理企業問題。
架構解決方案是企業解決方案的進階表示;用矩形框等圖形集表示工件,用連接配接的線段表示互動。
2)“設計師”研究架構師建立的“架構”細節,利用架構師建議的架構,在實作級别進行詳細分析。
3)架構師必須提供足夠細節,以友善設計人員和程式設計團隊了解和實作。架構師向團隊闡明“企業應用程式品質”需求;設計師的産品不僅要滿足企業的“功能”需求,還要滿足“企業應用程式品質”需求。
4)設計師制作設計工件,如UML(Unified Modeling Language)圖,程式設計團隊将利用這些圖形實作解決方案。
5)在很多企業應用程式中,架構師可能同時擔當設計師角色。
3、架構方法
架構師基于多個重要構件建立架構。如下:
1)“企業應用程式品質”和“設計目标”
“企業應用程式品質”和不涉及功能,指“能看到”的系統品質,對企業具有決定性的影響。
“企業應用程式品質”包含多個元素,如:
(1)性能
(2)可靠性
(3)安全性
(4)可用性
(5)易管理性
(6)可通路性
(7)靈活性
(8)可移植性
(9)互操作性
有必要指出,這些品質需求與上下文有關,而且有些品質需求本質上“互相沖突”,任何企業解決方案都是各項“企業應用程式品質”折衷的結果。
“設計目标”有助于将“企業應用程式品質”運用于企業解決方案,如下的設計目标:
(1)子產品化
(2)元件擴充性
(3)合約等
2)流程和工件
“流程”是一系列有序步驟,有助于獲得所需的解決方案。流程的輸出是架構“工件”。
為便于與開發人員交流,有必要在這些工件中使用UML圖。
企業解決方案通常十分複雜,且開發的應用程式不能滿足動态需求,原因有以下幾點:
(1)業務瞬息萬變;
(2)業務規則全部或部分使用人工流程,将人工流程作為企業解決方案的一部分;
(3)雖有上好的解決方案,但無法實作,它超越了應用程式和解決方案提供商的能力範圍。
架構師需要确認和識别以下3種限制:
(1)假設(Assumption)
一個應用程式不可能适用于所有企業環境,也即,應用程式的開發隻有基于某些前提條件,才能使解決方案達到“有效”和“有用”的目的。這些前提條件稱為假設。
假設可能有很多種,架構師要清晰地列出這些前提條件,将它們作為傳遞品的一部分。
架構師不能想當然地認為客戶已了解假設,而應讓客戶和利益相關方了解一系列假設。例子如下:
(1.1)解決方案僅在基于Windows/Intel平台的LAN企業網絡上開發和傳遞。
(1.2)由于解決方案在企業内部網實作,故不必執行更多安全檢查。
(1.3)企業應用程式使用者的數量有限,對性能要求不高,故将應用程式部署在低端伺服器即可。
(2)風險(Risk)
風險使開發應用程式期間一些可能的重要情形帶來的成本風險。企業可能遇到各個級别的風險,如應用程式開發級别、部署級别和應用程式運作時風險,也可能遇到政治風險。例子:
(2.1)安全漏洞;
(2.2)不可抗力;
(2.3)依賴于專用系統/服務/格式/元件;
(2.4)計算機病毒等引發系統故障。
(3)限制(Constraint)
限制是規則和前提條件,在企業應用程式開發、部署、實作和運作階段,都要滿足限制的要求。
限制可能是業務規則,也可能是客戶制定的、不在架構師控制和了解範圍内的規則。
例子:
(3.1)支援現有的多資訊用戶端;
(3.2)在IBM AIX RISC工作站和Apple Macintosh系統上部署應用程式;
(3.3)企業解決方案與現有的OLAP應用程式互動;
(3.4)将HTML頁面上不安全的靜态内容外包出去;
(3.5)将事務擴充到大型機和遺留系統的資料庫。
3)通信機制
架構師利用架構原理、經驗和專長,為指定的企業應用程式規劃合乎品質标準的架構。
架構師需要選擇若幹種通信媒介/協定來驅動解決方案,企業常用的一些重要通信機制如下:
(1)HTTP/HTTPS協定
(2)RMI/IIOP
(3)面向消息的通信
(4)專用通信協定
4、架構技術
架構師需要精通:
1)分布式技術
2)客戶機/伺服器技術
3)大型機和遺留系統
4)分布系統使用的通信機制
5)事務處理和隔離級别
6)諸如XML、SOAP、WSDL和UDDI的WEB服務技術
7)JAX-RPC、JAXR和SAAJ等技術