?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

銀河唯一官網1331:架構設計師與 SOA (下)

?

本系列的上部分先容了有關架構設計師以及 SOA 架構的常識,闡發了 SOA 架構師在設計 SOA 系統架構時有哪些應該分外留意的地方。本文將延續第一部分的內容,向您先容了 SOA 為企業級架構設計帶來的影響,以及在構建基于 SOA 架構的企業系統時應該如何包管所構建的系統架構能夠滿意系統中不合的辦事級別需求。

1. SOA 為企業級架構設計帶來的影響

1.1 SOA 的特征及其應用范圍

SOA 既不是一種說話,也不是一種詳細的技巧,它是一種新的軟件系統架構模型。 SOA 最主要的利用處合在于辦理在Internet情況下的不合商業利用之間的營業集成問題。Internet情況差別于Intranet情況的幾個特征主如果:

(a)大年夜量異構系統并存,不同謀略機硬件事情要領不合,操作系統不合、編程說話也不合;

(b)大年夜量、頻繁的數據傳輸的速率仍舊相對較遲鈍并且不穩定;

(c)無法完成辦事(service)的版本進級,以致根本就無法知道互聯網上有哪些機械直接或者間接的應用某個辦事。

SOA 架構具有一些范例特點,主要包括松耦合性,位置透明性以及協議無關性。松耦合性要求 SOA 架構中的不合辦事之間應該維持一種松耦合的關系,也便是應該維持一種相對自力無依附的關系;位置透明性要求 SOA 系統中的所有辦事對付他們的調用者來說都是位置透明的,也便是說每個辦事的調用者只必要知道他們調用的是哪一個辦事,但并不必要知道所調用辦事的物理位置在哪里;而協議無關性要求每一個辦事都可以經由過程不合的銀河唯一官網1331協議來調用。經由過程這些 SOA 架構所具有的特點我們可以看到,SOA 架構的呈現為企業系統架構供給了加倍機動的構建要領,假如企業架構設計師基于 SOA 來構建系統架構,就可以從底層架構的級別來包管全部系統的松耦合性以及機動性,這都為未來企業營業邏輯的擴展打好了根基。

1.2 SOA 架構的分層模型

接下來簡要先容一下 SOA 系統中的分層模型,全部 SOA 架構的分層模型如圖2所示。

在 SOA 系統中不合的功能模塊可以被分為7層:第一層便是系統已經存在的法度榜樣資本,例如ERP或者CRM系統等。第2層便是組件層,在這一層中我們用不合的組件把底層系統的功能封裝起來。第3層便是 SOA 系統中最緊張的辦事層,在這層中我們要用底層功能組件來構建我們所必要的不合功能的辦事。總的來說,銀河唯一官網1331SOA 中的辦事可以被映射成具系一切中的任何功能模塊,然則從功能性方面可以大年夜致劃分為以下三種類型:(1)商業辦事(business service) 或者是商業歷程(business process)。這一類的辦事是一個企業可以裸露給外部用戶或者相助伙伴應用的辦事。比如說提交貸款申請,用戶信用反省,貸款信用查詢。(2)商業功能辦事(business function service), 這類辦事會完成一些詳細的商業操作,也會被更上層的商業辦事調用,不過大年夜多半環境下這類辦事不會裸露給外部用戶直接調用,比如說檢索用戶帳戶信息,存儲用戶信息等。(3)技巧功能辦事(technical function service),這類辦事主要完成一些底層的技巧功能,比如說日志辦事以及安然辦事等。在辦事層之上的第4層便是商業流程層,在這一層中我們使用已經封裝好的各類辦事來構建商業系統中的商業流程。在商業流程層之上的便是第5層表示層了,我們使用表示層來向用戶供給用戶接口辦事,這一層可以用基于portal的系統來構建。以上這5層都必要有一個集成的情況來支持它們的運行,第6層中的企業辦事總線(ESB)供給了這個功能。第7層主要為全部 SOA 系統供給一些幫助的功能,例如辦事質量治理,安然治理這一類的幫助功能。

2. SOA 架構中的非功能性辦事級別(service-level)需求

除了系統的營業需求,架構設計師還必須要包管構建出來的系統架構能夠滿意系統中的非功能性辦事級別(service-level)需求以及辦事質量(QoS)方面的需求。在項目初始及細化階段,架構設計師應該與系統所有涉及方(Stakeholders)一路,為每一個辦事級別需求定義其相關的衡量標準。構建出的系統架構必須要能滿意以下幾方面的辦事水準要求:機能、可進級性、靠得住性、可用性、可擴展性、可掩護性、易治理性以及安然性。架構設計師在設計架構歷程中必要平衡所有的這些辦事級別需求。例如,假如辦事級別需求中最緊張的是系統機能,架構設計師很有可能不得不在必然程度上就義系統的可掩護性及可擴展性,以確保滿意系統機能上的要求。跟著互聯網的成長,新構建的系統對付辦事級別需求也變得日益緊張,現在基于互聯網的企業系統的用戶已經不僅僅局限于是本企業的雇員,企業的外部客戶銀河唯一官網1331也會成為企業系統的主要用戶。

架構設計師的職責之一便是要盡可能地為前進銀河唯一官網1331系統設計職員和系統開拓職員的事情效率斟酌。在構建全部企業系統架構的歷程中,必要充分注重各類辦事級別需求,從而避免在系統開拓和運行的時刻呈現重大年夜問題。一個企業級系統中的辦事級別需求每每是十分錯綜繁雜的, SOA 架構設計師必要憑借富厚的專業履歷和踏實的理論常識來分離和抽象系統中不合的辦事級別需求,圖3展示了這種闡發的歷程。

圖3

顛末 SOA 架構設計師闡發和抽象的辦事級別需求主要分為以下幾類:

﹡ 機能是指系統供給的辦事要滿意必然的機能衡量標準,這些標準可能包括系統反映光陰以及處置懲罰買賣營業量的能力等;

﹡ 可進級性是指當系統負荷加大年夜時,能夠確保所需的辦事質量,而不必要變動全部系統的架構;

﹡ 靠得住性是指確保各利用及其相關的所有買賣營業的完備性和同等性的能力;

﹡ 可用性是指一個系統應確保一項辦事或者資本永世都可以被造訪到;

﹡ 可擴展性是指在不影響現有系統功能的根基上,為系統填加新的功能或改動現有功能的能力;

﹡ 可掩護性是指在不影響系統其他部分的環境下修正現有功能中問題或缺陷,并對全部系統進行掩護的能力;

﹡ 可治理性是指治理系統以確保系統的可進級性、靠得住性、可用性、機能和安然性的能力;

﹡ 安然性是指確保系統安然不會被危及的能力。

1) 機能

我們平日可以根據每個用戶造訪的系統相應光陰來衡量系統的整體機能;別的,我們也可以經由過程系統能夠處置懲罰的買賣營業量(每秒)來衡量系統的機能。對付架構設計師來說,無論采取哪種衡量系統機能的措施來構建系統架構,這些對付機能的斟酌對系統設計開拓職員來說都應該是透明的,也便是說對付系統整體架構機能的斟酌應該是架構設計師的事情,而不是系統設計開拓職員應該關注的工作。在較傳統的基于EJB或者XML-RPC的散播式謀略模型中,它們的辦事供給都是經由過程函數調用的要領進行的,一個功能的完成每每必要經由過程客戶端和辦事器往返很多次的遠程函數調用才能完成。在Intranet的情況下,這些調用給系統的相應速率和穩定性帶來的影響都可以輕忽不計,但假如我們在基于 SOA 的架構中應用了很多Web Service來作為辦事供給點的話,我們就必要斟酌機能的影響,尤其是在Internet情況下,這些每每是抉擇全部系統是否能正常事情的一個關鍵抉擇身分。是以在基于 SOA 的系統中,保舉采納大年夜數據量低頻率造訪模式,也便因此大年夜數據量的要領一次性進行信息互換。這樣做可以在必然程度上前進系統的整體機能。

2) 可進級性

可進級性是指當系統負荷加大年夜時,仍能夠確保所需的辦事質量,而不必要變動全部系統的架構。當基于 SOA 的系統中負荷增大年夜時,假如系統的相應光陰仍能夠在可吸收的限度內,那么我們就可以覺得這個系統是具有可進級性的。要想理解可進級性,我們必須首先懂得系統容量或系統的遭遇能力,也便是一個系統在包管正常運行質量的同時,所能夠處置懲罰的最大年夜進程數量或所能支持的最大年夜用戶數量。假如系統運轉時已經不能在可吸收光陰范圍內反映,那么這個系統已經到達了它的最大年夜可進級狀態。要想進級已達到最大年夜負載能力的系統,你必須增添新的硬件。新添加的硬件可以以垂直或水平的要領加入。垂直進級包括為現在的機械增添處置懲罰器、內存或硬盤。水平進級包括在情況中添置新的機械,從而增添系統的整體處置懲罰能力。作為一個系統架構設計師所設計出來的架構必須能夠處置懲罰對硬件的垂直或者水平進級。基于 SOA 的系統架構可以很好地包管整系一切的可進級性,這主如果由于系統中的功能模塊已經被抽象成不合的辦事,所有的硬件以及底層平臺的信息都被樊籬在辦事之下,是以不管是對已有系統的水平進級照樣垂直進級,都不會影響到系統整體的架構。

3) 靠得住性

靠得住性是指確保各利用及其相關的所有買賣營業的完備性和同等性的能力。當系統負荷增添時,你的系統必須能夠持續處置懲罰需求造訪,并確保系統能夠象負荷未增添曩昔一樣精確地處置懲罰各個進程。靠得住性可能會在必然程度上限定系統的可進級性。假如系統負荷增添時,不能保持它的靠得住性,那么實際上這個系統也并不具備可進級性。是以,一個真正可進級的系統必須是靠得住的系統。在基于 SOA 來構建系統架構的時刻,靠得住性也是必須要著重斟酌的問題。要在基于 SOA 架構的系統中包管必然的系統靠得住性,就必須要首先包管散播在系統中的不合辦事的靠得住性。而不合辦事的靠得住性一樣平常可以由其支配的利用辦事器或Web辦事器來包管。只有確保每一個 SOA 系統中的辦事都具有較高的靠得住性,我們才能包管系統整體的靠得住機能夠得以保障。

4) 可用性

可用性是指一個系統應確保一項辦事或者資本應該老是可被造銀河唯一官網1331訪到的。靠得住性可以增添系統的整體可用性,但縱然系統部件掉足,無意偶爾卻并不必然會影響系統的可用性。經由過程在情況中設置冗余組件和差錯規復機制,雖然一個零丁的組件的差錯會對系統的靠得住性孕育發生不良的影響,但因為系統冗余的存在,使得全部系統辦事仍舊可用。在基于 SOA 來構建系統架構的時刻,對付關鍵性的辦事必要更多地斟酌其可用性需求,這可以由兩個層次的技巧實現來支持,第一種是使用不合辦事的詳細內部實現內部所基于的框架的容錯或者冗余機制來實現對辦事可用性的支持;第二種是經由過程UDDI等動態查找匹配要領來支持系統整體的高可用性。在 SOA 架構設計師構建企業系統架構的時刻,應該綜合斟酌這兩個方面的內容,只管即便包管所構建的 SOA 系統架構中的關鍵性營業能具有較高的可用性。

5) 可擴展性

可擴展性是指在不影響現有系統功能的根基上,為系統添加新的功能或改動現有功能的能力。當系統剛設置設置設備擺設擺設好的時刻,你很難衡量它的可擴展性,直到第一次你必須去擴展系統已有功能的時刻,你才能真正去衡量和檢測全部系統的可擴展性。任何一個架構設計師在構建系統架構時,為了確保架構設計的可擴展性,都應該斟酌下面幾個要素:低耦合,界面(interfaces)以及封裝。當架構設計師基于 SOA 來構建企業系統架構時,就已經隱含地辦理了這幾個可擴展性方面的要素。這是由于 SOA 架構中的不合辦事之間本身就維持了一種無依附的低耦合關系;辦事本身是經由過程統一的接口定義(可所以WSDL)說話來描述詳細的辦事內容,并且很好地封裝了底層的詳細實現。在這里我們也可以從一個方面看到基于 SOA 來構架企業系統能為我們帶來的好處。

6) 可掩護性

可掩護性是指在不影響系統其他部分的環境下改動現有系統功能中問題或缺陷的能力。同系統的可擴展性相同,當系統剛被支配時,你很難判斷一個系統是否已經具備了很好的可掩護性。當創建和設計系統架構時,要想前進系統的可掩護性,你必須斟酌下面幾個要素:低耦合、模塊性以及系統文檔記錄。在企業系統可擴展性中我們已經提到了 SOA 架構能為系統中裸露出來的各個子功能模塊也便是辦事帶來低耦合性和很好的模塊性。關于系統文檔記載,除了底層子系統的相關文檔外,基于 SOA 的系統還會引用到許多系統外部的由第三方供給的辦事,是以假如人力資本答應的話,應該增添專職的文檔治理員來專門認真有關全部企業系統所涉及的所有外部辦事相關文檔的網絡、歸類和收拾,這些相關的文檔可能涉及到第三方辦事的接口(可所以WSDL)、辦事的質量和級別、詳細機能測試結果等各類相關文檔。基于這些文檔,就可以為 SOA 架構設計師構建企業 SOA 架構供給很好的文檔參考和支持。

7) 可治理性

可治理性是指治理系統以確保全部系統的可進級性、靠得住性、可用性、機能和安然性的能力。具有可治理性的系統,應具備對辦事質量需求(QoS)的系統監控能力,經由過程改變系統的設置設置設備擺設擺設從而可以動態地改良辦事質量,而不用改變整系一切架構。一個好的系統架構必須能夠監控全部系統的運行環境并具備動態系統設置設置設備擺設擺設治理的功能。在對繁雜系統進行系統架構建模時, SOA 架構設計師應該只管即便斟酌使用將系統整體架構構建在已有的成熟的底層系統框架(Framework)上。對付 SOA 架構設計師來說,可以選擇的底層系統框架有很多,可以選用基于MQ, MessageBorker,WebSphere Application Server等產品來構建企業辦事總線(Enterprise Service Bus)以支持企業的 SOA 系統架構,也可以選用較新的基于WebSphere Application Server 6中內嵌的Sibus來構建企業的ESB以支持 SOA 系統架構。詳細選擇哪種底層框架來實施 SOA 系統架構要根據每個系統各自的特征來抉擇,但這些底層的框架都已經供給了較高的系統可治理性。是以,闡發并選擇不合的產品或底層框架來實現企業系統架構也是架構設計師的主要職責之一。有關于若何使用已有底層架構來構建 SOA 系統,中國 SOA 設計中間已經頒發了一系列相關的文章,大年夜家可以在DeveloperWorks中的 SOA 專欄看到它們。

8) 安然性

安然性是指確保系統安然不會被危及的能力。今朝,安然性應該說是最艱苦的系統質量節制點。這是由于安然性不僅要求確保系統的保密和完備性,而且還要防止影響可用性的辦事回絕(Denial-of-Service)進擊。這就要求當 SOA 架構設計師在構建一個架構時,應該把整系一切架構盡可能地瓜分成各個子功能模塊,在將一些子功能模塊裸露為外部用戶可見的辦事的時刻,要環抱各個子模塊構建各自的安然區,這樣更便于包管整系一切架構的安然。假如一個子模塊受到了安然進擊,也可以包管其他模塊相對安然。假如企業 SOA 架構中的一些辦事是由Web Service實現的,在斟酌這些辦事安然性的時刻也要同時斟酌效率的問題,由于WS-Security會為Web Service帶來必然的履行效率損耗。

3.停止語

本系列兩部分先容了有關架構設計師以及 SOA 架構的常識,闡發了 SOA 架構師在設計 SOA 系統架構時有哪些應該分外留意的地方并在著末簡要先容了在構建基于 SOA 架構的企業系統時應該如何包管所構建的系統架構能夠滿意系統中不合的辦事級別需求。從架構設計師的角度, SOA 是一種新的設計模式,措施學。是以, SOA 本身涵蓋了很多的內容,也觸及到了系統整體架構設計、實現、掩護等各個方面。本文的內容只是涉及到了有關于架構方面的一部分內容,盼望能對廣大年夜的 SOA 系統開拓設計職員起到必然的贊助感化。

下部分:架構設計師與SOA(上)

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

河北十一选五开奖的 安卓上最好的麻将游戏 贵州11选5任选五基本走势图 nba掘金vs爵士比赛酷6 黑龙江福彩22选五开奖 四川麻将胡牌牌型 上海十一选五今日开奖 河南快三 11选5遗漏数据查 通昭配资 谁有山东11选5微 江苏十一选五前三直 3分彩 幸运11选5官网 微乐江西棋牌 南昌麻将 新版青海11选5直三走势图 超级大乐透