National Information Exchange Model (NIEM) Practical Implementer’s Course Notes – Anatomy of an XML Exchange (Lesson 1)

NIEM Practical Implementer’s Course
Lesson 1 – Anatomy of an XML Exchange

Core Definitions

  • XML: eXtensible Mark‐up Language used to define and serialize data as well as define schemas, transformation rules, web services and visual presentation.
  • Message: One or more XML documents containing the data to be shared.
  • Publisher: An entity / software program that initiates a “One Way” exchange.
  • Subscriber: An entity / software program that receives messages in a “One Way” exchange.
  • Requestor: An entity / software program that initiates a “Two Way” exchange.
  • Responder: An entity / software program that receives “Request Messages” and returns “Response Messages” in a “Two Way” exchange.
  • Web Service: A type of program that allows a remote system (client) to interact with a program on a local system (server) using XML messages.
  • XML Document (.xml): A file that contains actual data and conforms to the rules of XML syntax (also known as an “Instance Document”).
  • XML Schema Document (.xsd): A set of rules to which an XML document must conform in order to be considered “valid”.
  • Web Service Description Language (.wsdl): Pronounced “wiz‐dull”, a document (containing XML) that describes the functionality of a Web Service (like a “Service Contract”).
  • XML Stylesheet (.xsl): An XML document that describes how XML data should be visually rendered.
  • XML Stylesheet Transformation (.xslt): An XML document that defines the rules by which a file defined by one schema is transformed (mapped) to a file defined by another schema.

General Notes

  • One-Way (Two-Party) Exchange Pattern (Publish/Subscribe)
    • Messages are pushed by a publisher directly to oneor more subscribers
    • Messages can be transactional or batch
    • Messages are transport neutral (web service, FTP, email, etc.)
    • Messages are essentially “fired and forgotten”
    • Pattern is very scalable as publisher is insulated from diverse subscriber interfaces
  • Two-Way Exchange Pattern (Request/Response)
    • Requestor sends an XML message requesting specific information
    • Responder replies with an XML message containing the requested information
    • Typically implemented via web services
    • Response is typically synchronous (occurs at about the same time)
  • Federated Query
    • Single request message may yield numerous response messages
    • Not all respondents may have data for every request
    • Typically built using a “Message Broker” device, insulating requestor
    • Message Broker aggregates multiple responses to requestor


Note: Information is being shared under the Creative Commons Attribution-ShareAlike 2.0 (CC BY-SA) license. Original content was created by NIEM course instructors Jenness, Owen, and Carlson.