解析企業(yè)SOA的十大設(shè)計原則 |
發(fā)布時間: 2012/9/13 7:29:47 |
一、明確的邊界 通過跨越定義明確的邊界進(jìn)行顯式消息傳遞,服務(wù)得以彼此交互。有時候,跨越服務(wù)邊界可能要耗費很大的成本,這要視地理、信任或執(zhí)行因素而定。邊界是指服務(wù)的公共接口與其內(nèi)部專用實現(xiàn)之間的界線。服務(wù)的邊界通過WSDL發(fā)布,可能包括說明特定服務(wù)之期望的聲明。 二、服務(wù)共享和約和架構(gòu),不是類 服務(wù)交互應(yīng)當(dāng)只以服務(wù)的策略、架構(gòu)和基于合約的行為為基礎(chǔ)。服務(wù)的合約通常使用WSDL定義,而服務(wù)聚合的合約則可以使用BPEL定義(進(jìn)而,對聚合的每個服務(wù)使用 WSDL)。服務(wù)使用者將依靠服務(wù)的合約來調(diào)用服務(wù)及與服務(wù)交互。鑒于這種依賴性,服務(wù)合約必須長期保持穩(wěn)定。在利用XML架構(gòu) (xsd:any) 和SOAP處理模型(可選標(biāo)頭)的可擴展性的同時,合約的設(shè)計應(yīng)盡可能明確。 三、策略驅(qū)動 盡管它往往被認(rèn)為是最不為人所了解的原則,但對于實現(xiàn)靈活的Web服務(wù),它或許是最有力的。單純依靠WSDL無法交流某些業(yè)務(wù)交互要求。可以使用策略表達(dá)式將結(jié)構(gòu)兼容性(交流的內(nèi)容)與語義兼容性(如何交流消息或者將消息交流給誰)分隔開來。 四、自治 服務(wù)是獨立進(jìn)行部署、版本控制和管理的實體。開發(fā)人員應(yīng)避免對服務(wù)邊界之間的空間進(jìn)行假設(shè),因為此空間比邊界本身更容易改變。 五、采用可傳輸?shù)膮f(xié)議格式,而不是API 通常,服務(wù)提供商基于某種傳輸協(xié)議(例如HTTP)提供服務(wù),而服務(wù)消費者只能通過另一種不同的協(xié)議(比如MQ)通信。因此,也許需要在服務(wù)提供商與消費者之間建立一座異步起動同步運行的連接橋梁,超越HTTP和Java Messaging Service消息服務(wù)(JMS)等協(xié)議。從技術(shù)角度講,Java Messaging Service消息服務(wù)(JMS)并不是一種傳輸協(xié)議,而是一組供應(yīng)商中立(vendor-neutral)的通信APIs。 六、面向文檔 消息被構(gòu)造為“純文本的”XML文檔(換句話說,數(shù)據(jù)的格式只對XML有意義)。 消息通常用于傳輸業(yè)務(wù)文檔,比如購買訂單、發(fā)票和提單。這種交互類型與同步消息排隊系統(tǒng)的兼容性很好,比如MQ Series、MSMQ、JMS、TIBCO、IMS等等。 七、松偶合 服務(wù)之間要求最小的依賴性,只要求它們之間能夠相互知曉。 八、符合標(biāo)準(zhǔn) 當(dāng)通過Web的服務(wù)實現(xiàn)時,最原始的(基本的)面向服務(wù)的架構(gòu)(SOA)的模型僅僅提供了很低程度上的關(guān)于可靠性、安全性以及事務(wù)管理的標(biāo)準(zhǔn)化機制。第二代的技術(shù)條件和框架,如WS-ReliableMessaging規(guī)范、WS-Security規(guī)范和WS-Coordination規(guī)范 (與WS-AtomicTransaction規(guī)范和WS-BusinessActivity規(guī)范相聯(lián)系),它們試圖以工業(yè)標(biāo)準(zhǔn)的方式定位存在的缺陷。 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |