面向服務開發的7項原則
發表時間:2023-07-29 來源:明輝站整理相關軟件相關文章人氣:
[摘要]未來的軟件結構要求有一套新的開發方法。你們公司做好準備了嗎?by Jason Bloomberg當今關于Web服務(web services)的描述主要是關于集成的。走出不景氣階段的企業都把降低集成...
未來的軟件結構要求有一套新的開發方法。你們公司做好準備了嗎?
by Jason Bloomberg
當今關于Web服務(web services)的描述主要是關于集成的。走出不景氣階段的企業都把降低集成成本作為一個明顯的目標。運用公開的、基于標準的、松散藕合的Web服務技術就給企業提供了一個不是很昂貴的集成方法。然而,Web服務不僅僅是使集成簡單化了,它們的用處更多。實際上,它們將注定要從根本上改變人們創建和使用軟件的方式。
為了擺脫老式的思考方式,軟件專家必須要了解Web服務的技術,并且要了解Web服務可以給我們帶來怎樣的前景。下面的面向服務開發的七項原則——它們是隨著老式思考方式轉變到新的思考方式而產生的——為你形成這種新層次的觀念提供了指南。
1. 動態的服務替代了靜態的組件
構建一個Web服務不僅僅是像傳統的組件開發期望的那樣創建具有特殊功能的軟件。一個Web服務的Web服務描述語言(WSDL)文件動態地描述了Web服務的功能。所以,開發人員只需要指出在哪里找到WSDL文件,這樣調用Web服務的軟件在運行時就可以找到對服務功能的描述。該原則要求在運用Web服務的系統中顯示邏輯層同商業邏輯層和持久(persistence)邏輯層分離開。當開發人員構建一個Web服務時,他們可能不知道那個服務是如何被調用的、或者Web服務使用者的用戶界面將是怎樣的。一個Web服務架構師不能將商業邏輯和顯示邏輯結合起來。
2. 服務呈現(Exposure)和響應(Reflection)替代了傳統的系統集成
當今的系統架構師根據系統級的需求來集成項目。架構師計劃各種組件應該如何集成。作為這種top-down方法的替代,面向服務的開發采用了一種bottom-up的方法。在任何系統結構形成前,系統中的每個組件都呈現成一個Web服務。然后,每個服務(查詢一個服務自己的功能)給外部系統提供它們訪問服務所需要的信息。
在構建一個系統時,Web服務架構師首先考慮系統的需求,并進行服務裝配。在服務裝配過程中,架構師訪問服務的動態描述,它們只代表了實際的API的一部分。然后,架構師確定系統的結構,即使在運行前,單獨的組件及其接口并沒有被完全地描述。
3. 為廣泛的適用性編寫代碼替代了為可重用性編寫代碼
為可重用性編寫代碼是面向對象編程的一個重要的特點。實際上,對開發人員來說,編寫可重用的代碼可能比為單獨用途的應用程序編寫代碼更具挑戰性。因此,靈活的軟件方法(如Extreme Programming(XP))就避開了可重用性。在XP中,如果外來的功能進入到代碼中,那么開發人員就重新編寫、或重構(refactor)代碼,直到它盡可能地簡單。
雖然重構可以形成一些重用的方法,因為最終代碼滿足很多情況,但這種方法同傳統的為可重用性編寫的代碼不同,因為它的目的是創建靈活的和廣泛適用的代碼。重用性和廣泛適用性的代碼的區別是很小的,但它們卻是面向服務的開發過程的本質。最好的方法就是把面向服務開發的結構性原則同靈活的開發原則結合起來。