統一建模語言(Unified Modeling Language, UML)是一種業界標準,當以面向對象的方法構建軟件系統時,用它來對業務概念建模。就信息和命令的傳輸方面而言,近來 XML 已經愈發成為實現這些系統的關鍵因素。XML 模式用于定義和限制被交換 XML 的本質,因此它成為了人們注意的焦點。本文討論了 UML 在設計 XML 模式方面的用法,并為使用 UML 框架創建 XML 詞匯表提供了一種實用的方法。
在將 UML 框架用于構造 XML 模式時,必須考慮三個問題:
為了有助于在本文中討論這兩種框架,將使用一家虛擬公司:BALTIC Shipping 作為示例。
BALTIC Shipping是一家國際性的運輸公司,專門從事美國到東歐的貨運業務。該公司希望創建一種機制,用于跟蹤從其紐約總部到各分公司(如位于愛沙尼亞塔林(Tallinn)的一個分公司)的裝運物情況(請參閱圖 1)。當產品起運時,總部通過電子方式以 XML 形式發送關于本次裝運物的信息。一旦貨物抵達目的地,分公司將以電子方式把確認信息發回給總部。
所有訂單和確認數據都以 XML 文檔形式交換,必須設計模式來概括文檔的結構。用于對裝運訂單建模的業務構造也用來與庫存跟蹤系統(Inventory Tracking System)交換信息,庫存跟蹤系統隨時都知道公司現有哪些包裝箱要交運。本文討論了構造 XML 模式時使用 UML 的功效,這些 XML 模式定義了這些以 XML 格式進行數據傳輸的業務構造。
圖 1. BALTIC Shipping 工作流
補充框架
UML 及其面向對象的建??梢詾闃嫿?XML 模式提供補充。您可以方便地用 UML 中的圖形符號來表示業務概念,并開始設計您的 XML 模式。
建模的價值
有關 UML 在創建 XML 模式時的優點的討論假定了面向對象建模的價值是已知的。在我上一篇文章“Create flexible and extensible XML schemas”中,我討論了使用面向對象方法構建 XML 模式的重要性和價值。使用 UML 設計面向對象系統除了具有技術優勢之外,UML 還提供了一個公共媒介,業務團隊和技術團隊可以通過該媒介方便地交流看法。業務分析人員是軟件系統(尤其是一個包含特定于領域信息的系統)中的關鍵協作者。由于業務分析人員參與設計 XML 文檔的過程,因此軟件架構設計師和業務分析人員之間默契的合作對于項目的成功變得非常重要。UML 的圖形符號使得技術人員和非技術人員很容易就諸如 Shipping Order 的定義之類的業務概念達成一致,因此也就加速并促進了項目的完成。
互補
設想一下,BALTIC Shipping 的業務經理找到您,請您對一個 XML 模式建模,該模式將對在公司內不同系統之間傳輸的信息進行形式化。他與您坐下來,一起討論該領域的業務概念。您可以在紙上繪制一些草圖,但 UML 使用圖和符號對這些概念建模提供了一種更好的正式方法。
圖 2. UML 圖
圖 2 中的 UML 圖里勾畫出了 Shipping Order 的業務定義。BALTIC Shipping 將 Shipping Order 定義為包含 ShippingId、Origin、Destination 和 Order。無論何時交換有關 Shipping Order 的任何數據,它都考慮這些必需的信息。此外,UML 圖也用來表示組成 Origin 或 Order 的內容。所顯示的 Origin 和 Destination 的類型與類型 Address 相同,BALTIC Shipping 將具有下列特征的 Address:Name、Street、City 和 Country 存儲在其數據庫中。這些都是業務概念,數據庫模型、軟件程序以及供經理和業務伙伴們閱讀的文檔中都用到了它們。這些概念還包括基數(Order 可以包含許多 Item)、繼承(Origin 繼承 Address 的全部特征)以及依賴關系(Order 依賴于其 Item 的詳細信息);UML 圖捕獲了所有這些關系。由于您希望您的 XML 文檔攜帶 Shipping Order 信息,因此下一步就是設計符合草擬的 UML 圖的 XML 模式。下面的模式表示 UML 圖(參閱圖 2)到 XML 模式的映射。
共5頁: 1 [2] [3] [4] [5] 下一頁 |
原文轉自:http://www.anti-gravitydesign.com