FAQs
Xsd.exe (or XML Schema Definition Tool) is a code generation tool that is part of the Windows SDK and is packaged with Visual Studio. It allows various forms of code generation relating to XML and XML schema for both C# and Visual Studio.NET. It can create an XML schema document from XML; sample XML from an XML schema, XML schema from a .NET assembly, or C# and Visual Basic from XML schema. It is this last code generation capability that is valuable to us as we can generate C# and Visual Basic XML serialization code from the NIEM IEPD schemas.
Source: IJIS Technical Advisory Committee NIEM FAQ Series "NIEM IEPD XML Code Generation in C# with .NET 3.5"; see article ID# 547
Svcutil.exe is a newer code generation utility that Microsoft has released as part of WCF in .NET 3.0. Unfortunately, SvcUtil.exe does not support the more advanced XML schema features that are required by NIEM such as abstract types and substitution groups.
Source: IJIS Technical Advisory Committee NIEM FAQ Series "NIEM IEPD XML Code Generation in C# with .NET 3.5"; see article ID# 547
Sgen.exe is a tool that is provided with Visual Studio and can be used to optimize XML serialization. When used directly, XmlSerializer will create a serialization assembly at run-time for serializing and deserializing the generated code. It relies heavily on reflection and has the potential to perform very poorly given the size of some IEPDs. Sgen.exe can be used to create a serialization DLL from an existing DLL that contains the generated classes so that they are not created at runtime. To use Sgen.exe, call it from the command line with the name of the DLL that contains the generated XML serialization classes as an input argument.
Example: > sgen.exe MyNiemIepdXmlPersistence.dll
This will generate an XmlSerializers DLL called MyNiemIepdXmlPersistence.XmlSerializers.dll with namespace Microsoft.Xml.Serialization.GeneratedAssembly with a number of type serializers that should be used instead of the default System.Xml.Serialization.XmlSerializer class.
Source: IJIS Technical Advisory Committee NIEM FAQ Series "NIEM IEPD XML Code Generation in C# with .NET 3.5"; see article ID# 547
Yes, it is OK to exclude any NIEM content in a subset schema (including the metadata attributes in the structure namespace) as long as something else in the subset or the extensions does not depend on it. It appears that the NIEM Schema Subset Generation tool includes these attributes in the subset, so one will have to manually edit the structures.xsd file to remove them as attributes of s:ComplexObjectType. Also, when associations or roles are used or needed, the s:id and s:ref must be part of the schema.
Before:
<xsd:complexType name="ComplexObjectType" abstract="true">
<xsd:annotation>
<xsd:documentation>The ComplexObjectType type provides a base class
for object definition, association definitions, and external adapter
type definitions. An instance of one of these types may have an ID.
It may have metadata as it establishes the existence of an object
(maybe a conceptual object). It may also have link metadata, as an
element of one of these types establishes a relationship between its
value and its context.</xsd:documentation>
</xsd:annotation>
<xsd:attribute ref="s:id"/>
<xsd:attribute ref="s:metadata"/>
<xsd:attribute ref="s:linkMetadata"/>
</xsd:complexType>
After:
<xsd:complexType name="ComplexObjectType" abstract="true">
<xsd:annotation>
<xsd:documentation>The ComplexObjectType type provides a base class
for object definition, association definitions, and external adapter
type definitions. An instance of one of these types may have an ID.</xsd:documentation>
</xsd:annotation>
<xsd:attribute ref="s:id"/>
</xsd:complexType>
XML Substitution groups are very heavily used within NIEM. Within the XSD.exe, there is an issue where substitution groups will not always serialize when members in a namespace are different from the one the substitution group head has declared. This issue will manifest itself during testing with unexpected exceptions occurring because of null values in the rendered classes.
Note that the circumstances where a substitution group member will or will not serialize is somewhat dependent on the overall complexity of the IEPD, however, they can be broken down into the following scenarios:
1. A substitution group with a head element & members in different namespaces
2. Substitution group without head and extension types in different namespace.
For more details on these two scenarios, please see the full article at
Source: IJIS Technical Advisory Committee NIEM FAQ Series "NIEM IEPD XML Code Generation in C# with .NET 3.5"; see article ID# 547
While WSDL is valuable in general as a way to describe the behavioral and information models of services, this brief (see source below) focuses on the value of WSDL to software developers, who can use WSDL definitions to produce software code for the intersystem sharing of information. This Technical Brief will also demonstrate the ability of several available tools to create programming code based on NIEM schemas. In doing so, this brief also demonstrates that the web services tool space — on both the Java and Microsoft .NET platforms — has matured to the point that there are no longer significant barriers to the use of NIEM with web services and WSDL.
In order to effectively establish a web services-based information sharing environment, it is critical that systems have the ability to access and process XML data. A common and efficient way to do this is to leverage the WSDL definition of a service in order to automatically generate programming code (Java, .NET, etc.) that maps to XML constructs that define a service.
For further reading, please see source below.
Source - Web Services and NIEM:Realizing the Value of Available Tools
A reference architecture is a set of documents that the technologists—developers, architects, project managers—in a jurisdiction can use to accelerate the planning process for information sharing, while simultaneously aligning the final outcomes with proven best practices. A reference architecture is a tool practitioners can use to make it easier to develop a well-conceived, formal approach to designing information sharing solutions/systems. A key benefit of reference architecture is that it helps promote consistent thinking and approaches among the people who use it, even if they have not shared information with each other.
Source: https://bja.ojp.gov/sites/g/files/xyckuh186/files/media/document/GRAFAQ…
The Services Task Team (STT), was implemented by the U.S. DOJ, Bureau of Justice Assistance and Global Infrastructure Standards Working Group (GISWG) in order to assist in GRA execution.
The goal of the STT is to implement the GRA framework, methodologies, and guidelines for the development of Global Justice Reference Service Specifications.
An entity (person or organization) that offers the use of capabilities by means of a service.
Donna Roy, NIEM Executive Director, draws an analogy between NIEM and a bank card transaction, both of which use the power of a common language to enable the cross-jurisdictional exchange of information, while protecting the information’s integrity. For more information on the "Magic of NIEM," click here.
The information below provides Grant Resources for Justice and Public Safety Community.
Grants.Gov: http://grants.gov/
Office of the Juvenile Justice and Deliquency Prevention (OJJDP): http://www.ojjdp.gov/funding/funding.html
FEMA Grants: http://www.fema.gov/grants
Excellent one-stop shop for Police Grants. It includes a free Basic Search tool and grant writing tips for Federal, state, foundation and corporate grants: http://www.policegrantshelp.com/grants/
Funding Sources newsletter from JustNet (good links to funding agencies): https://www.justnet.org/InteractiveTechBeat/fall_2011/GrantsHelpAgencie…
The Walmart and Target Corporations also fund a number of law enforcement and public safety projects: http://walmartstores.com/CommunityGiving/203.aspx; and http://sites.target.com/site/en/company/page.jsp?contentId=WCMP04-031891
MetLife Foundation Grants - MetLife supports organizations that supports drug market disruption gang prevention, youth sand senior citizen safety. Law Enforcement Technology Grants | eHow.com http://www.ehow.com/about_5506905_law-enforcement-technology-grants.htm…
The NIEM Naming and Design Rules (NDR) refers to ISO 11179 as guidance for good data definitions. Typing information within a data definition (such as "7 digits" and blocking ranges that refer to various kinds of accounts) is considered TERRIBLE practice by ISO 11179. All NIEM data XML elements are typed elements and carry only typing needed for representation (NIEM can use constraints and/or patterns when required). The definition for an ID should state the meaning of the ID and/or its use; not define it through its specific typing and business rules. NIEM has other fields for data examples and detailed description of usage if needed.
The newly-developed, interactive Global Information Sharing Toolkit (GIST) Web portal, was designed to help you locate the best Global tools and solutions for your business needs.Whether you are tackling a justice information sharing business problem, targeting a general area of interest, or are looking for a specific Global publication, the Global Wizard has the solution. This tool is designed to give you, the user, options for locating the best solutions from developing a privacy policy to establishing a fusion center to seeking guidance on First Amendment rights or implementing Global Reference Architecture standards, the GIST will make that much easier.
Also see attached flier.
Documents
https://bja.ojp.gov/media/document/30126
The GFIPM System-to-System Profile and GFIPM Implementation Guide provides the details in the implementation techniques to consider in GFIPM.
An organization wishing to participate in the federation MUST adhere to the following sequence of membership phases and associated processes:
- Request-to-Join Process
- Application Process
- Onboarding Process
- Ongoing Membership
For further details on the participation process, please refer to GFIPM Operational Policies and Procedures