What are some of the architectural options, tools, and techniques for processing a NIEM- or GJXDM-conformant IEP and interfacing to systems and databases?
Many vendors offer specific tools for this purpose, and many databases now have the capability to read an XML document and insert the contents into the appropriate tables. Implementers should beware that this approach carries some risk of tightly coupling the business logic of the exchange to a particular database and particular database structure. Implementers should consider the benefits and potential pitfalls of the approach before applying it.
This article will focus on options, standards, and tools that are either offered under an open source license, developed by a standards body or industry consortium, or freely available to the general public.
One approach is to write software that parses the XML stream (the IEP) and processes the resulting structure or tokens to interact with a database or system. This approach is usually programming-intensive and can be error-prone. It typically involves using an XML parser, such as the .NET runtime's parser or the Crimson or Xerces parsers on the Java platform.
A second approach is to use a software library and application programming interface (API) that represents an XML stream as a graph of objects automatically, based on code generated from an XML schema. The .NET framework contains this capability natively; the Java 2 platform offers several approaches to this, including the Java API for XML Binding (JAX-B) and XML Beans.