關鍵字:信息 SOA設計
SOA設計技巧的主流是以企業IT資產的功能分解為中心的,常常是事后才想起對SOA信息方面進行處理。在實際中,SOA解決方案需要囊括一組廣泛的設計考慮,反映出信息架構的最佳實踐,以全面支持可伸縮的、一致的并且可重用的信息訪問。在他們的新文章中,Brian Byrne、David McCarty、Guenter Sauter、Peter Worcester以及John Kling介紹了代表SOA設計中的信息透視圖的一系列模式和能力。他們的方法保證了最佳的方式利用信息以支持SOA解決方案的技術目標和業務目標:
服務可以跨整個企業重用。
向消費者公開的業務數據是準確、完整和及時的
跨業務領域和技術層共享的數據具有共同的結構,對于所有參與方具有共同的含義。
將企業的各個業務領域鏈接在一起的核心數據實體跨所有業務線保持一致和可信。
企業能夠從它的數據和數據系統獲得最大的業務價值。
這篇文章定義了三個主要的SOA相關模式:
通過業務術語表定義數據語義
任何成功的SOA都需要建立一個通用的容易訪問的業務術語表,業務術語表定義與過程、服務和數據相關的術語。SOA實施人員在整理組織中公認的業務語言和縮寫詞時,常常發現術語存在不一致的地方。如果客戶、渠道、收入等關鍵術語的定義不一致,就不可能實現與這些術語相關的服務。如果相關人員對服務的參數(即服務獲得的數據集)的含義有不同的解釋,服務的實現就不可能成功。關鍵在于,業務分析師和技術人員必須對SOA領域的所有方面(包括過程、服務和數據)使用的術語有共同的理解。業務術語表可以消除在描述核心業務概念時出現歧義的可能性,從而避免誤解數據需求。業務術語表建立一個通用的詞匯表來控制詞匯的定義,從而消除誤解。每個詞匯的定義包含描述和其他元數據,還要確定它在分類體系中的位置。由專人負責術語的定義:他們幫助定義術語并支持對術語的管理。
通過規范化建模定義數據結構
在設計服務時,一致的術語表是好的起點,但是僅有術語表還不夠。還必須清楚地了解業務信息的結構。服務的輸入和輸出參數(即消息)常常不是單一數據類型那么簡單。它們代表著復雜的實體及其關系定義。如果SOA架構師在設計公開的服務模型數據格式時使用規范化模型,那么可以大大改進SOA項目的開發時間和質量。過程、服務/消息和數據模型的規范化會加快設計速度,利用數據建模的規范化方針,避免不必要的轉換。從而產生能夠滿足不同服務消費者需要的服務定義,因此可以減少重復的服務。規范化數據模型在數據層建立這種統一的格式,而規范化消息模型在服務層定義這種統一的格式。規范化數據模型和消息模型的模式將在本系列的后續文章中討論。Industry Models提供一組過程、服務和數據模型,可以使用它們進行服務體系結構的分析和設計,確?缃nI域的數據定義保持嚴格一致。它們定義對特定行業領域進行建模的最佳實踐,并提供一個可擴展的框架,這樣在添加更多服務時不必重新設計SOA。
分析數據質量
如果考慮了上面描述的概念,設計師就可以讓服務設計在模型和元數據工件之間保持高度的一致性。但是,這并不能夠保證服務返回的數據質量是可接受的。數據即使滿足它原來的存儲庫和應用程序的規則和約束,也不一定能夠滿足企業級的需求。在將數據通過SOA向企業范圍公開時,在原來的應用程序中無關緊要的質量問題可能會變成很嚴重的問題。因此,問題就是:公開的數據的質量是否滿足SOA項目的需求,以及如何有效地做出這一判斷?建議的解決方案是在服務分析和設計期間進行數據質量評估。在對支持服務的源系統進行分類之后,就可以開始研究它們的數據質量問題!瓚摍z查數據是否符合相關的完整性規則。應該檢查是否存在重復的數據,研究在數據匹配和聚合期間如何解決重復的數據。以這些分析為基礎,可以采取適當的措施來確保服務的實現能夠滿足潛在服務消費者對數據精確性和含義的要求。
隨著SOA成熟,SOA信息設計的問題變得越來越重要。SOA從業者開始認識到使用規范數據(相較于EAI里的規范數據)是構建可重用組合式服務而不會遭遇映射中介大雜燴的必要條件。
文章來源于領測軟件測試網 http://www.kjueaiud.com/