SDMX Source

SdmxSource is a .NET framework providing a rich API based on the SDMX Information Model and common use cases. The SDMX Information Model is a very powerful model for describing statistical data and related metadata, especially in the context of aggregated statistics. Standardizing the way any multidimensional statistical dataset can be described makes the life of a programmer simple when it comes to data processing and data (and metadata) visualization. The programmer can write a single block of code to visualize data, and this block of code will be able to visualize any data that conforms to the SDMX Information Model. The same is true for any other data processing task, for example data validation, data exchange, data cleaning, and so on. SDMX is great for code reuse, and by having an open source project, it enables code sharing.

There is a strong association between SDMX and XML as the file format in which information is being exchanged. XML is a very powerful representation for information exchange as it is both platform and machine independent. This enables an organization to exchange information with another organization without coupling themselves to a particular technology, or software platform. This is why XML is the language of the Internet (HTML is XML!). SDMX defines a set of schemas, which are effectively the rules which define how the XML must look, and what is valid and what is not valid. This set of rules, allows the receiving organization to know exactly how to process a message. Although XML is a very powerful mechanism for information exchange, once the information is received, it needs to be processed, and this is where SdmxSource comes in. SdmxSource provides a .NET API which allows developers to work at an object level. This enables developers to make use of Object Oriented paradigms, such as inheritance, immutability, polymorphism, decoupling, and so on. SdmxSource enables the developer to work with information, without having to learn, or care about the XML. SdmxSource does not even enforce the information being read or written is XML, as it allows for other information formats to be plugged in as required.

In addition, there is also the Eurostat SdmxSource Extension module which adds further features required by the existing software that are not included in the SdmxSource. This module is responsible for reading and writing custom requests that come from the NSI Web Client to get partial codelists based on available data. It also offers specialized beans for keeping query information of the custom requests. Finally, it provides additional interfaces used in Web Service provider plugins, e.g. for structure retrieval and for retrieval factory. Those interfaces use or extend SdmxSource interfaces.

SdmxSource was developed first in Java by Metadata Technology (http://www.sdmxsource.org/). Eurostat developed the .NET version following the Java implementation.