前页 | 后页 |
使用Schema 编辑器对NIEM进行子集化
Enterprise Architect的Schema 编辑器是一个可以大大简化从NIEM模型参考命名空间包创建子集的过程的工具。
访问
使用此处列出的任何一种方法来显示Schema 编辑器模型使用对话框,
输入新模型转换的名称,然后从“架构集”下拉列表中选择“国家信息交换模型(NIEM) ”。
在您的项目中保存一个合适的工件模型的配置文件(在您的工件包很容易找到合适的根包)。
功能区 |
开发 >架构建模> Schema 编辑器> 打开Schema 编辑器:新建 >模型转换 |
创建子集模型
NIEM专家建议第一步是为您的 XML 交换创建一个UML模型,因为它允许您捕获业务需求,而不会受到NIEM中的操作方式的过度影响。
一旦您有了用于交换的UML模型的初稿,您就可以开始使用NIEM重新创建该模型。
最初,在NIEM参考模型中找到合适的类型和属性似乎是一项不可能完成的任务。随着您获得经验并熟悉NIEM模型的内容,这将变得更加容易。
您通常使用的大多数NIEM类型,例如 PersonType、OrganizationType、 DocumentType或 ActivityType,都有许多属性,您通常只需要其中的几个。这是子集变得有用的地方。
如果您尝试使用他们的姓名、地址和生日来模型一个人,您可以从 NIEM-core 中选择 PersonType 和 AddressType。从这些类型中,仅选择您的模型所需的属性。
如果所选属性引用了其他类型,这些类型将自动添加到Schema 编辑器中。
当您“生成”您的子集时, Enterprise Architect创建子集所需的目标模式包,然后将所选类型及其缩减的属性集复制到目标包中。
进一步完善您的子集
创建子集后,您可以通过调整类型内属性的基数或限制属性的允许值来进一步属性它。
要调整基数或限制属性的允许值,请在Schema 编辑器的中央属性中选择该属性,然后右键单击并选择“限制此属性”。将显示“属性限制”对话框,您可以在其中调整基数或根据需要对属性应用限制。
单击“更新”以保存对模型转换配置文件的更改,然后单击“生成”以重新生成具有应用限制的子集模型。
NIEM子集化通常是一个迭代过程。使用保存的模型转换配置文件,您可以在 IEPD 开发的各个阶段根据需要重新加载、更新和重新生成子集。
使用Schema 编辑器对NIEM进行子集化
节 |
行动 |
---|---|
1 |
打开Schema 编辑器。 (见访问:功能区) |
2 |
创建一个新的Schema 编辑器配置文件。 单击新建按钮并选择“模型转换”。 在打开的对话框中,指定配置文件的名称并在“架构集”字段中选择“ NIEM ”。 (此对话框中的“命名空间”字段不用于NIEM ,因为NIEM使用其模型包上的标记值来指定命名空间。) 选择一个位置来保存您的新个人资料,然后单击确定按钮。 |
3 |
在浏览器窗口中,在参考模型的 NIEM-core包中找到所需的 PersonType 和 AddressType 类型。 将所需类型从浏览器窗口拖放到Schema 编辑器的“类”窗格中。 |
4 |
现在在Schema 编辑器的“类”窗格中选择一种类型,比如 PersonType。 PersonType 的完整属性列表显示在“属性”窗格中。 |
5 |
使用“属性”列表中的复选框来选择“PersonType”的属性以在您的交换模型中使用。在这种情况下,请选中“PersonBirthDate”和“PersonName”复选框。 当您选择这些属性时, Schema 编辑器会自动将类型“DateType”和“PersonNameType”添加到类列表中,因为这些类型被您刚刚选择的属性引用。 |
6 |
现在在“类”窗格中选择“日期类型”。 'DateType' 有四个属性,DateAccuracyAbstract、DateAugmentationPoint、DateMarginOfErrorDuration 和 DateRepresentation。这些属性中的前三个是日期元数据——它们不包含日期值。第四个,DateRepresentation,是一个抽象属性,所以它也不直接保存日期值。它用作最终保存日期值的属性的占位符。 NIEM模型通常使用XML Schema抽象元素和替换组。 抽象元素为子集的创建增加了一些复杂性,因为您需要添加抽象元素以及将替换抽象元素的那些元素。 例如,大多数与日期相关的类型都包含抽象元素nc:DateRepresentation,可以用 nc:Date、nc:DateTime 等替代。 |
7 |
选择属性 DateType.DateRepresentation。 您会注意到另一种类型 DateRepresentationPropertyHolder 已添加到“类”列表中。 |
8 |
在“类”列表中选择 DateRepresentationPropertyHolder。 无类型属性 DateRepresentation 被称为替换组的“头”。必须在替代的客户端 DateType 以及替代的供应商 DateRepresentationPropertyHolder 中选择此属性。作为替换组首的属性是为您预先选择的,因此您只需在 DateType 中选择最终将替换为 DateRepresentation 的属性。选择属性 Date:date - 它将用作实际保存数据值的 DateRepresentation。 在涉及替换组的情况下,简单地添加抽象元素而不添加来自相关 PropertyHolder 类型的可替换元素是一个常见的错误。 |
9 |
通过从 PersonNameType 类中选择 PersonGivenName、PersonMiddleName 和 PersonSurName,对 PersonName 属性重复该过程。 |
10 |
要将您当前选择的类和属性保存到您正在创建的配置文件中,请单击更新按钮。 这将使用您当前的选择更新配置文件,如果您需要对其执行进一步的工作,则可以在以后重新加载它。这有助于创建子集包的迭代过程。 |
11 |
现在单击“生成”选项。 在“架构导出”对话框中选择“ NIEM模型子集”,然后单击“生成”按钮。 导航到包含您正在构建的 IEPD 的包层次结构。选择将包含子包的父包,然后单击确定按钮。 |
12 |
您在Schema 编辑器中选择的类将被复制到目标包,仅包含您选择的属性子集。 |
注记
- 请通读每个演练示例 - 每个示例都包含重要信息
- 支持NIEM开发的Schema 编辑器功能,协助创建 Subset Schemas;它无助于产生扩展模式