统一建模语言(Unified Modeling Language, UML)是一种业界标准,当以面向对象的方法构建软件系统时,用它来对业务概念建模。就信息和命令的传输方面而言,近来 XML 已经愈发成为实现这些系统的关键因素。XML 模式用于定义和限制被交换 XML 的本质,因此它成为了人们注意的焦点。本文讨论了 UML 在设计 XML 模式方面的用法,并为使用 UML 框架创建 XML 词汇表提供了一种实用的方法。
在将 UML 框架用于构造 XML 模式时,必须考虑三个问题:
- UML 和 XML 模式之间的互补性
- 如何扩展 UML 以捕获模式提供的全部功能
- 根据 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] 下一页 |