面向服務的分析與設計原理 軟件測試方法
關鍵字:面向服務 分析 設計原理 Olaf Zimmermann (ozimmer@de.ibm.com) , 高級 IT 架構師, IBM
Pal Krogdahl (pal.krogdahl@se.ibm.com) , 解決方案架構師, IBM
Clive Gee (clive@us.ibm.com) , 高級解決方案架構師, IBM
2004 年 6 月
最初的面向服務的體系結構(Service-Oriented Architecture,SOA) 的實現項目的經驗表明,諸如面向對象的分析與設計(Object-Oriented Analysis and Design,OOAD)、企業體系結構(Enterprise Architecture,EA)框架和業務流程建模(Business Process Modeling,BPM)這樣的現有開發流程和表示法僅僅涵蓋了支持目前出現在 SOA 中的體系結構模式所需的部分要求。
在 Info World 最近的訪談(請參見參考資料)中,Grady Booch 宣稱“像對問題的良好抽象和良好的分離這樣的工程基礎決不會過時”,不過,他也指出“還是有現實的機會提升抽象的級別。過去的經驗表明,必須將抽象的級別提升到公司處理的業務領域,從而將整個企業 IT 前景都納入考慮的范疇。
正如 Mark Colan 在文章“面向服務的體系結構擴展 Web 服務的前景,第 1 部分”中介紹的,SOA 是一種新興的企業結構形式,可以用于設計下一代企業應用程序。SOA 方法在有力地加強已經制定的良好通用軟件體系結構原則(如信息隱藏、模塊化和問題分離)的同時,還增添了一些其他的主題,例如服務編排、服務庫和服務總線中間件模式。
需要結構化方法或分析與設計方法來設計高質量的 SOA。因為現有的方法中沒有一種能夠滿足程序設計人員對最新的 SOA 項目的要求,所以他們建議將已經形成的良好實踐(如 OOAD、EA 和 BPM)中的原理組合起來,并且使用根據需要創新的原理來對其加以補充。
引言
面向服務的體系結構(SOA)和 Web 服務的基本觀念是成為我們日常語言的一部分,并可看作是適于設計現代企業應用程序的體系結構形式。在這種背景下,什么構成好的服務這個基本問題就成為確保成功實現 SOA 的關鍵。
像面向對象的分析與設計(Object-Oriented Analysis and Design,OOAD)、企業體系結構(Enterprise Architecture,EA)框架和業務流程建模(Business Process Modeling,BPM)這樣的現有建模規則為我們提供了高質量的實踐,可以長期幫助標識和定義體系結構內的適當抽象。然而經驗表明,這些實踐各自單獨應用時達不到要求。
在本文中,我們將研究 OOAD、EA 和 BPM 中的適當原理。我們還將推動對混合方法的需求,這種方法把所有這些規則中的原理與許多獨特的新原理組合起來。這樣得到的交叉學科 OOAD 方法使成功地進行 SOA 開發更容易,我們稱之為面向服務的分析與設計(Service-Oriented Analysis and Design,SOAD),它還有待正式定義。我們還只是剛剛跨入 SOAD 的殿堂。
面向服務的概念
在發現新的商機或威脅的預期下,SOA 體系結構形式旨在提供企業業務解決方案,這些業務解決方案可以按需擴展或改變。SOA 解決方案由可重用的服務組成,帶有定義良好且符合標準的已發布接口。SOA 提供了一種機制,通過這種機制,可以集成現有的遺留應用程序,而不管它們的平臺或語言。
從概念上講,SOA 中有三個主要的抽象級別:
操作:代表單個邏輯工作單元(LUW)的事務。執行操作通常會導致讀、寫或修改一個或多個持久性數據。SOA 操作可以直接與面向對象 (OO) 的方法相比。它們都有特定的結構化接口,并且返回結構化的響應。完全同方法一樣,特定操作的執行可能涉及調用附加的操作。
服務:代表操作的邏輯分組。例如,如果我們將 CustomerProfiling 視為服務,則按照電話號碼查找客戶、按照名稱和郵政編碼列出顧客和保存新客戶的數據就代表相關的操作。
業務流程:為實現特定業務目標而執行的一組長期運行的動作或活動。業務流程通常包括多個業務調用。業務流程的例子有:接納新員工、出售產品或服務和完成訂單。
在 SOA 術語中,業務流程包括依據一組業務規則按照有序序列執行的一系列操作。操作的排序、選擇和執行稱為服務或流程編排。典型的情況是調用已編排服務來響應業務事件。
文章來源于領測軟件測試網 http://www.kjueaiud.com/