前页 后页

使用Schema Composer子集NIEM

Enterprise Architect的Schema Composer是一种工具,可以大大简化从NIEM参考模型名称空间包创建子集的过程。

访问

使用此处概述的方法之一显示Schema Composer窗口,然后显示“ New Model Transform”对话框,

输入新模型转换的名称,然后从“模式集”下拉列表中选择“国家信息交换模型(NIEM)”。

将概要文件另存为项目中合适的Package中的模型工件(IEPD的根Package合适-这样就可以轻松找到Artifact)。

色带

开发>模式建模>模式编写器>打开模式编写器:新建>模型转换

创建子集模型

NIEM专家建议,最好的第一步是创建XML交换的UML模型,因为它使您可以捕获业务需求,而不会受到NIEM中工作方式的过度影响。

一旦有了用于交换的UML模型的初稿,就可以开始使用NIEM重新创建该模型。

最初,在NIEM参考模型中找到合适的类型和属性似乎是不可能的任务。随着您获得经验并熟悉NIEM模型的内容,这将变得更加容易。

您通常会使用的大多数NIEM类型,例如PersonType,OgranizationType,DocumentType或ActivityType,都具有众多属性,而您通常只需要其中一些属性。这是子设置变得有用的地方。

如果要使用人的姓名,地址和出生日期为人建模,则可以从Niem-core中选择PersonType和AddressType。从这些类型中,仅选择模型所需的属性。

如果所选属性引用其他类型,则这些类型将自动添加到Schema Composer。

当“生成”子集时, Enterprise Architect创建子集所需的目标架构包,然后将所选类型及其简化的属性集复制到目标包中。

进一步完善您的子集

创建子集后,可以通过调整类型内属性的基数或限制属性的允许值来进一步优化子集。

要调整基数或限制属性的允许值,请在Schema Composer的中央窗格中选择该属性,然后右键单击并选择“限制此属性”。显示“属性限制”对话框,您可以在其中调整基数或根据需要对属性应用限制。

单击“更新”将更改保存到模型转换配置文件,然后单击“生成”以应用限制来重新生成子集模型。

NIEM子集通常是一个迭代过程。使用保存的模型转换配置文件,您可以在IEPD开发的各个阶段中根据需要重新加载,更新和重新生成子集。

使用Schema Composer子集NIEM

行动

1个

打开架构编辑器。 (请参阅访问:功能区

2

创建一个新的Schema Composer配置文件。

单击“新建”按钮,然后选择“模型转换”。

在打开的对话框中,为配置文件指定名称,然后在“模式集”字段中选择“ NIEM”。

(此对话框上的“名称空间”字段不用于NIEM,因为NIEM在其“模型包”中使用标记值来指定名称空间。)

选择一个位置来保存您的新配置文件,然后单击确定按钮。

3

在“浏览器”窗口中,在“参考模型”的Niem-core程序包中找到所需的PersonType和AddressType类型。

将所需的类型从“浏览器”窗口拖放到Schema Composer的“类”窗格中。

4

现在,在模式编辑器的“类”窗格中选择一种类型,例如PersonType。

PersonType属性的完整列表显示在“属性”窗格中。

5

使用“属性”列表中的复选框来选择要在交换模型中使用的“ PersonType”属性。在这种情况下,请选中“ PersonBirthDate”和“ PersonName”的复选框。

选择这些属性时,Schema Composer会自动将类型“ 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模型子集”,然后单击“生成”按钮。

导航到包含要构建的MPD的程序包层次结构。选择将包含子程序包的父程序包,然后单击“确定”按钮。

12

您在Schema Composer中选择的类将仅带有您选择的属性子集而复制到目标Packages。

笔记

  • 请通读每个演练示例-每个示例都包含重要信息
  • 支持NIEM开发的Schema Composer功能可帮助创建子集模式。它无助于产生扩展架构

学到更多