前页 | 后页 |
示例NIEM架构
此页面提供了从头到尾定义新的NIEM兼容架构的概述。
NIEM建模所需的框架包已在前面的主题中进行了描述。模型向导包(首页)“Create from模式”选项卡还提供了一个方便的起点,用于定义您的 IE。将其导入您的模型时,您会发现包含 IEPD 类型实例的图表,其中设置了运行状态属性以显示您最可能需要设置的核心。
本节介绍从模式中获取示例 IEPD 并创建“Hello World”样式消息的过程,其中请求基于面部图像的个性化消息。响应将是图中人物的身份和给他们的个性化信息。
导入NIEM框架包
Enterprise Architect中的NIEM建模从NIEM技术架构委员会和物件管理组 NIEM-UML 规范定义的标准类型开始,如此处所述。这些可从我们的可重用资产服务器和模型模式向导中获得。
要将这些导入您的模型:
- 打开首页'从模式创建'选项卡(模型向导)
- 查找蓝图' NIEM 3、4 和 5'
- 选择您的模型所需的包
- 单击模型(s) 按钮将所选模式导入您的模型。
- 所有NIEM 5 模型都需要NIEM IEPD Types包以及NIEM参考模型包之一
- 所有NIEM 3 和 4 模型都需要NIEM MPD Types包以及NIEM参考模型包之一
- 所有NIEM 2. 1模型都需要NIEM 2. 1参考模型包,但不是 MPD 类型包,因为NIEM 2. 1 MPD 元素可从NIEM 2. 1图表工具箱
部件 |
细节 |
---|---|
NIEM框架 |
NIEM的强大主要来自于可用于构建自己的模式的广泛类型库。 Enterprise Architect完成为NIEM以及所有版本的NIEM 4 提供了完成NIEM框架NIEM这些框架都可以从首页的“创建模式”选项卡(模型向导)中获得。 本教程使用NIEM 5.0 框架,因此选择该模式进行导入。 |
来自 NIEM-UML 的 IEPD 类型 |
用户定义的NIEM架构围绕 IEPD 构建,该 IEPD 为架构A使用者定义了如何使用包含的各种 XSD 文件以及定义了哪些消息类型。 在UML中建模时,使用UML配置文件中定义的多个类的实例创建 IEPD。 Enterprise Architect在一个包中提供了这些类,该包可从首页“从模式创建”选项卡(模型向导)中获得。 所有NIEM 5 模型都需要这些 IEPD 类型,因此请选择“ NIEM 5 IEPD Types”模式进行导入。 |
子集NIEM命名空间
工件模式包括一个Schema 编辑器模型,用于指定一个子集。双击它打开Schema 编辑器并开始子集化过程。
我们希望我们的请求消息发送用于面部识别的面部图像。为此,我们需要从 Biometrics包中子集适当的类型。开始通过在NIEM 5.0参考模型中的 Domains\Biom包中找到类型 FaceImageType。将此类型拖入Schema 编辑器。该类型所继承的超类型会自动添加到Schema 编辑器中。
我们的响应消息需要来自 'niem-core'包的 PersonType。将此类型也拖到Schema 编辑器上。
此图显示了在NIEM 5.0参考模型中跨多个命名空间选择类型和属性的子集:
一旦选择了所需的类型,您就可以生成子集。出现提示时,选择将生成子命名空间包的父包。生成后,子集包中的类应如下所示:
我们现在可以创建一个现在PIM 图NIEM我们所有的子类类放在该图上,以生成类似于以下内容的内容:
创建扩展类型
我们将定义两条消息,一条请求和一条响应。对于这些消息中的每一个,我们都需要定义文档根元素。这些将被建模为NIEM模式的扩展。现在我们已经定义了我们的子集包,我们可以定义这些文档根。因为我们只创建了两种简单的文档类型,所以只需要为每条消息创建一个 PropertyHolder 和ObjectType 。 ObjectTypes 链接到我们从NIEM框架中选择的类型,用于描述每条消息的内容,如下所示:
自定义 IEPD
IEPD类的实例携带标识 IEPD 的信息,它与各种其他模型工件之间的链接决定了在生成模式文件和目录文件时生成什么(以及生成到哪里)。这里描述了要点。
部件 |
描述 |
---|---|
IEPD 元数据 |
模式中的顶级object是 IEPD 类的一个实例。 IEPD 的名称是物件本身的名称。所有其他属性都处于object的运行状态。 该图显示了 IEPD 在提供真实信息后的样子。
NIEM-UML 建议iepdBaseURI 的最后一部分与IEPD 的名称相匹配,并指定iepdVersionID 将附加到iepdBaseURI 以生成生成的iepdURI。此示例遵循该约定。 该模式将iepdClassCode 的值默认为'iepd'。这意味着 IEPD 旨在表示信息交换包文档 (IEPD)。这是最常见的 IEPD 类型,也是我们想要创建的,所以一直保留默认值。 |
定义的文档类型 |
IEPD 应定义一种或多种文档类型。每一个都是名为“IEPConformanceTarget”的 IEPConformanceTargetType 实例。提供的模型模式已经包括其中之一,但我们需要第二个,如下所示:
注记QualifiedNamesType 的实例,其qualifiedName关系到一个PropertyHolder。这指定正在描述的文档的顶层将是来自所包含属性之一的元素。主题创建NIEM数据模型中的创建扩展包部分描述了它是如何定义的。 |
用途包 |
将 IEPD 实例连接到信息模型的关系指定要使用该 IEPD 生成哪些模式文件。在此示例中,我们使用来自两个不同NIEM命名空间的类型。子设置过程为每个创建了一个 InformationModel包,其中命名空间标记值与原始匹配,目的设置为子集。我们还创建了一个扩展包,我们在其中定义了我们自己的类型以及如何使用NIEM类型。 此图显示了它的外观:
使用的关系还指定包使用方式以及该包定义的模式的相对路径。 |
附加文件 |
NI 预计所有NIEM包都至少包含更改log和自述文件,但也支持其他几种类型的工件包。在Enterprise Architect的工件关系。与包使用一样,关系指定文件的位置。 在此图像中,描述了每种文档类型的自述文件、变更日志和示例文档。这会将有关这些文件的信息添加到目标目录文件中。 Enterprise Architect不会创建这些文件,它们的内容超出了本教程的范围。
|
生成IEPD
要生成您的 IEPD:
- 在图表或浏览器窗口中选择 IEPD 实例规范。
- 从“特定”功能区中,选择“技术> NIEM >生成NIEM架构”选项
该对话框显示标准NIEM工件和可作为模式生成的链接命名空间列表。设置目标目录并单击“生成”按钮以创建建模的 IEPD。