Hi my name is Scott Hebbard from Sparx Systems. Today I will discuss the National Information
Exchange Model and Enterprise Architect. NIEM is a robust standards-based framework for the exchange
of information between people organizations and communities. This webinar will demonstrate how to
produce a NIEM subset using the Schema Composer. At the completion of this webinar you should have
a greater appreciation of how to implement NIEM using Enterprise Architect. Let's start with
the real world example, where two or more states need to exchange information in order to conduct
a prisoner transfer. Unfortunately each state uses different terminology to describe common elements.
They may even use different database structures to define information. A protocol must be established
for the two states to communicate reliably. However these differences make information
exchange complex, costly and difficult to negotiate. For example one state may use
the term “prisoner” while another state may use the term “inmate” even though they are talking
about the same underlying object. NIEM helps to alleviate these problems by providing a standard
framework approach to describing information exchange that all parties agree upon. Neither
party has to change their database, yet they can reliably share information. This webinar will
examine the benefits of using Enterprise Architect to model and define how information can be shared
based on NIEM principles. This approach helps to overcome the challenges of different databases by
using a community-driven standards based approach to modeling and exchanging information. How does
Enterprise Architect facilitate information exchange. Let's take a look at a completed
example of Enterprise Architect and a NIEM. The goal of this exercise is to facilitate
the exchange of information about a person using NIEM and Enterprise Architect. This could be for
prisoner transfer, interstate adoption, hospital ward transfer, warrant request, terror suspect,
watch list or countless other examples. Let's look at our Enterprise Architect solution generate a
subset and produce some artifacts including an MPD diagram and IEPD. The Project Browser
contains three packages including a NIEM Reference Model, NIEM 3 MPD Types. In the NIEM Starter Model
all three packages can be created by the Model Wizard as shown on screen. NIEM was born out
of a desire to create a reliable and consistent information exchange between Emergency Services,
Justice Department's and Law Enforcement Agencies after 911. Some of the history this is evident
from some of the domains listed including Biometrics and Emergency Management. The
reference model contains NIEM Core and several different domains. For this particular webinar
we're going to focus on NIEM Core. NIEM Core describes components that are universally
understood by all parties. Covering everything from an AddressType to a PersonType. These
definitions facilitate information exchange. The NIEM Starter Model contains our NIEM Core subset
that in term represents the information that would be exchanged to identify a person. You
can see that we've defined PersonType using a birthdate and personName which is further made
up of a given middle- and SurName. We also have a model package description that outlines and
visualizes the contents that will be generated in our IEPD with links to elements such as a
changelog conformance targets and much more. all of this is modeled in Enterprise Architect and
from this diagram a simple context menu can be used to automatically generate a corresponding
IEPD the IEP. Do information exchange package documentation is a collection of artifacts that
define and describe the structure and content of an information exchange. On screen we have
all the packages that make up our IEPD. We also have our XML Schema that describes the information
that is being exchanged. This code is a basis for cost effective and reliable information exchange
between two or more parties. Now let's step through the process of creating a NIEM Core
Subset and automatically generating an IEPD using Enterprise Architect. What are the required steps
to generate an IEPD. First you need to open the Schema Composer and create a transform. Select
the desired classes and attributes applicable to the information exchange. Create a NIEM
Subset and save to your model. Then generate the corresponding IEPD. To build our NIEM Subset we
need to use the Schema Composer in Enterprise Architect. Select tools followed by the Schema
Composer. Create a new model transform providing a suitable NIEM. In ensuring that you select NIEM
from your chosen schema set the NIEM space can be left blank because it is derived from NIEM. The
transform output will be saved as a model artifact rather than an external file. We shall save it
in the Starter Model under the package called myMPD. MPD is short for Model Package Description.
The Schema Composer has three columns to display;
Classes Attributes and the Schema itself. I plan on selecting Classes that are found in
NIEM Core and we'll use the search capability within the Project Browser to find PersonType.
drag the PersonType class into the column on the far left of screen. This class does all
information that is commonly associated with identifying a person. There are a large number
of attributes that can be used to describe a person. However I want to create a subset
that includes date of birth and name. Use the check boxes in the attributes list to
select attributes for PersonBirthDate. If I select the attribute PersonBirthDate the
Schema Composer automatically adds the type DateType to the list of classes as
these are referenced by the attributes. You have just selected the NIEM model
commonly uses XML schema abstract elements and substitution groups. The abstract elements add
some complexity to the creation of a subset because you are required to add an abstract
element as well as those elements that will be substituted in place of the abstract element.
Now that we've successfully added the Date to our schema, we need to add the Name. Select the
PersonType class in the left column. Scroll down and select PersonName. I can then further define
PersonNameType to include a given Name a MiddleName and a SurName. The schema is
displayed in the right hand column. Press the Update button and generate the results as an
internal model artifact. We've now described an information exchange about a person using their
birth date and name. Now that we've created our NIEM Core Subset, I can drag the NIEM
Core Subset classes onto a diagram. The diagram helps us to visualize and understand the various
inheritance relationships. For example PersonType consists of PersonBirthDate and PersonName. This
further defined as having a First-, Middle- and SurName. You can also identify how the data is
represented. Now let's generate our IEPD from our MPD diagram. From our MPD diagram we can use the
context menu. Simply select extensions followed by NIEM 3 and generate the NIEM 3 Schema. You can
see the results appear in their system output window. MPD diagram acts a little like a table
of contents where you can automate all of the components that will be included in your IEPD.
Let's have a look at the IEPD now. Can see there is a folder structure with NIEM and extension
and within the NIEM Core package we have our .xsd file. On screen we have the .xsd file that
Enterprise Architect is produced. You can see the person NIEM type which is a type definition
a complex type made up of three elements. Those tree elements appear in the sequence below. So
you have a PersonGivenName, PersonMiddleName and PersonSurName. Scrolling down the page
each of these three items are further defined with a type definition for PersonNameTextType.
The nc represents NIEM Core. You can see that the PersonNameTextType is used for both
a PersonName as a MiddleName and PersonSurName. PersonNameTextType is the data type for a Name by
which a person is known referred or addressed it’s an extension of proper NameTextType and
consequently a TextType and a simple string. So all the inheritance relationships are embedded
in the code. So there is no ambiguity about the information being exchanged. A similar
process can be followed for birthday. Let us now take a look at a slightly more elaborate
example. This first diagram is an example NIEM Core Subset. In addition to the PersonType and
DateType this example includes an ImageType as part of the subset. The second diagram
is a subset of our Biometrics domain where we define a FaceImageType of type ImageType
coordinates are used to identify features in the face image. We also have a diagram that
represents our personalized message request for a FaceImageType. So this
diagram represents the payload or content of the document that will be exchanged.
The next diagram is a personalized message response, which will consists of a greeting
and a person's Name which you may recognize from NIEM Core. The next diagram is the personalized
message PIM. The items in blue come from NIEM Core, while the green elements come
from the Biometrics domain. At the top you have your personalized message request with
an image and a corresponding response. The next diagram is our MPD diagram. You can see
it specifies the personalized message request, the corresponding personalized message response.
In this webinar we outlined. How to generate NIEM conformance schemas from your information models.
We outlined how the NIEM standard facilitates information exchange using two examples and we
also outlined how the schema composer is used to create a subset of the NIEM Core reference
schema. For more information about Enterprise Architect please visit www.sparxsystems.com