(Web Services Description Language,WSDL)的多。因此,Web 服務策略(WS-Policy) 框架是一個重要的相關規范。
除了已經制定的良好體系結構可跟蹤性原則之外,業務可跟蹤性也是一個理想的品質:應該有可能將所有的運行時構件直接與非技術領域專家可以理解的語言聯系起來。這對于直接在業務和服務層公開的抽象非常重要。Sarbanes-Oxley (SOX) 法案(請參閱來自 Astor 的文章)是需要這種業務可跟蹤性的業務驅動程序的一個例子。
流程:中間相遇
在真實世界中,并沒有全新的項目,必須始終考慮遺留系統(遺留系統是現有系統的同義詞)。因此,需要中間相遇的方法,而不是單純的自頂向下或自底向上的流程。
在設計取決于現有的 IT 環境而不是現在和將來的業務需要的情況下,自底向上的方法往往會導致不好的業務服務抽象。而自頂向下的方法可能會產生不足的非功能性需求特征,并且損害其他的體系結構品質因素(例如因域模型中缺乏標準化而導致的性能問題),另外,也會在服務和組件中產生不匹配的不良問題。
服務獲取和知識代理
這是一個知識管理和生命周期問題:如何成功地準備好服務并且使其在概念化之后可以重用?
應該將重用看作是標識和定義服務最主要的推動標準之一。如果組件(或服務)不可能重用,就不無法將其作為服務進行部署。它可以連接到另一個與企業體系結構相關的服務,但是不能單獨作為一個服務而存在。
然而,即使從開始就計劃好了重用,還必須形式化服務獲取流程。由多個使用者使用服務是明確的 SOA 設計目標。構建時服務注冊中心(例如企業 UDDI 目錄)可能能夠解決部分問題。
示例:汽車工作訂單
汽車工作訂單(Automotive Work Order)描述了一家汽車維修公司管理其顧客運營的流程。我們將通過這個領域中的問題來闡述 SOAD 的觀點。
工作訂單代表汽車服務公司和顧客之間的約定,以進行一系列例行維修或應急維修,例如例行 50,000 英里服務,更換剎車片或輪胎,或者換油。
業務場景(如圖 7 所示)如下:
當顧客打電話預約時創建工作訂單。
為每個計劃的維修活動或操作創建一個獨立的工作訂單項,其中包括需要使用的零件、備件和勞務的詳細情況。
在安排預約之前確保所有必需的零件都有庫存。
需要為每個工作訂單項安排具有適當的裝備的維修間以及具備適當的條件的機器。
計算估計的總成本,接著顧客認可該預約;或者方案終止,隨即取消工作訂單。
在預約之前,立即在選定的維修間裝配必需的零件、備件、工具和設備。
當顧客到達時,進行計劃的活動以及在檢查交通工具時顯得有必要的任何其他活動。
記錄所用的零件和備件的實際價值以及勞務。
在完成所有的維修時計算總費用。
創建發票并且將其交給顧客。
圖 7. 工作訂單的宏流示例
文章來源于領測軟件測試網 http://www.kjueaiud.com/