DRAFT SDMX-CORE

From FMR Knowledge Base
Revision as of 02:12, 24 July 2023 by Mnelson (talk | contribs) (Created page with "= Architectire = The sdmx-io modules are as follows <u>Interface Modules</u><br/> These modules contains Java Interfaces only, no Java classes. The sdmx-io framework uses In...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Architectire

The sdmx-io modules are as follows

Interface Modules
These modules contains Java Interfaces only, no Java classes. The sdmx-io framework uses Interfaces over implementation classes in order to achieve loose coupling.

fusion-api  - contains generic Interfaces that are unrelated to SDMX. Each package in this project is broken down by function, i.e audit, cache, date, email, exception
fusion-api-dao - contains Interface definitions for database persistence, not coupled to database platform, but all based on storeage and retrieval of Java Objects
fusion-api-sdmx - contains Interfaces for SDMX Information model (SdmxBeans and related), high level Interfaces for SDMX related functions which cross mulitple modules
fusion-api-service - contains Interfaces definitions for web services to use - allowing projects the implement web service entry points to not require web service depdenancies
fusion-sdmx-im - contains the implementation code for the SDMX Information Model (SdmxBeans and related structures such as Codelists, Concepts, etc)

Format Modules
These modules contains Java classes for reading and writing SDMX Structureal Metadata, Reference Metadata, and Data

fusion-sdmx-csv - reading and writing SDMX-CSV format
fusion-sdmx-edi - reading and writing SDMX-EDI format
fusion-sdmx-json - reading and writing SDMX-JSON format
fusion-sdmx-ml reading and writing SDMX-XML 
fusion-core-dao
fusion-core-data
fusion-core-sdmx
fusion-audit
fusion-sdmx-kafka
fusion-sdmx-publication
fusion-sdmx-reporttemplate
fusion-sdmx-rest
fusion-sdmx-search
fusion-sdmx-security

Utility Classes

fusion-utils


The packages are generally split into the following

api - contains interfaces relevent to the module 
constant
engine
factory
filter 
manager
model
service (or rest)
util
 


Sdmx Core makes heavy use of Interfaces as opposed to Implementation code, this allows classes to work to interfaces without needing to concern themselves about the actual implementation used.