To achieve multimission capability, the Data Information Management System (DIMS) establishes a middleware decoupled from the internal structure and processing requirements of the data that is handled.
Data is ingested into the system via adapter modules. To incorporate a new product type it suffices to provide a small adapter program that extracts the desired inventory information and optionally generates a quicklook image for the product.
Data processing is carried out via configurable workflows that can be as simple as a single step processor call or as complex as a month long procedure on a multimachine cluster to compute the mean value of a measured quantity derived from several product types. The frameworks and programming interfaces provided by DIMS allow “fast lane” configurable workflow definition as well as elaborate special purpose workflow logic to be integrated easily. While the core services and frameworks of DIMS are implemented in the Java programming language, there are processing adapters for C/C++ and FORTRAN as well.
The DIMS Processing System Management (PSM) component also supports near-real-time processing and dissemination, controlled distribution of processing tasks onto several nodes, timer- and trigger-based workflows as well as systematic bulk processing and reprocessing of very large numbers of products.