Date post: | 27-Dec-2015 |
Category: |
Documents |
Upload: | eustace-moody |
View: | 225 times |
Download: | 0 times |
Eurostat Eurostat
2
SdmxSource Description
An API for SDMX software development
Java (v1.0 public 09/2013)
.NET
ActionScript
Implementation of the API core
Model
Parsers
Writers
Eurostat
What is an API – A real life example
Eurostat
3
Bank
AccountdepositAmount
withdrawAmount
CardchargeAmount
payAmount
VISAchargeAmount
payAmount
AMEXchargeAmount
payAmount
Any bank may have a set of services
Services have methods of interactionThe services and methods are the bank interface
Services may be implemented in different ways
Eurostat
What is SdmxSource
Specifies the Common SDMX API
A set of interfaces for SDMX SW interoperability
Following the SDMX Information Model
Hides the standard’s complexity from the programmer
Implements the Common SDMX API
Supports SDMX 1.0, 2.0, 2.1
Including SDMX-EDI
Allows easy addition of new implementations
Eurostat
4
Eurostat
Benefits of the Common SDMX API
It allows interchangeable API implementations It ensures reusability of common building blocks like the
reading and writing of SDMX-ML messages New SDMX-ML building blocks will accept beans from the
new API that can be automatically integrated to other systems SDMX version neutral Allows easy support of future SDMX messages without any
impact to the users/programs, since they only depend on the API
In ensures cleaner code in the client programs
Eurostat
5
Eurostat
Implementation example
An API method for data writing writeObservation
Your component uses it to “write” SDMX messages …without caring about the output format, e.g. in DR: seriesWriter.writeObservation(obsConceptValue, obsValue);
An implementation of the above is responsible for the output SDMX 2.0 Compact, Generic or Cross-Sectional SDMX 2.1 Generic or Structure Specific SDMX-EDI …your writer implementation (e.g. JSON)
Eurostat
6
Eurostat Eurostat
7
SdmxSource Components
SdmxApi SdmxBeans SdmxDataParser SdmxEdiParser SdmxFileQueryProcessor SdmxQueryBuilder SdmxSourceUtil SdmxStructureParser SdmxStructureRetrieval
Eurostat Eurostat
8
SdmxSource Licensing
GNU Lesser General Public License v3.0
http://www.gnu.org/licenses/lgpl.html
May use and integrate LGPL software into ones SW
Allows work to be linked with (in the case of a library, 'used by') a non-(L)GPLed program, regardless of whether it is free software or proprietary software
Eurostat Eurostat
9
Maintenance Process – Until today
During SdmxSource integration, with
SDMX RI Components
Euro SDMX Registry
Data Structure Wizard
SDMX Converter
Two development teams collaborated under Eurostat’s contracts
SdmxSource team (Metadata Technology)
SDMX RI team (Intrasoft International – Agilis)
Eurostat Eurostat
10
Maintenance Process – Until today
Due to lack of license, the SDMX RI team worked on SdmxSource under a Non-Disclosure Agreement
After end of SdmxSource maintenance contract (Spring 2013)
SDMX RI team worked with version 0.9.25 until the 1.0 release to avoid chasing a moving target
SDMX RI team branched SdmxSource source code to 0.9.25b for bug fixing and missing features
SDMX RI team had to move on with the “Ultimate” SDMX RI version
Eurostat Eurostat
11
Release SdmxSource in Maven repository
Import SdmxSource in Git repository
Send updated SdmxSource from
branch in .java files
Import updated SdmxSource in source
code repository
Compare SdmxSource with previous version
Update SDMX RI
Update SdmxSource in local branch
Compare updated SdmxSource
Merge to HEAD SDMX RI
teamSdmxSource
team
Maintenance Process
Eurostat Eurostat
12
Maintenance Process – Until today
SdmxSource development team
Released every one to two months
Performed own bug fixing and development
Imported changes from SDMX RI team into their own source code repository
Had to test own SW tools before releasing into maven repository
Eurostat Eurostat
13
Maintenance Process – Until today
SDMX RI development team
Got SdmxSource releases from a maven repository
Imported into local Git repository for comparing with previous version
Had to synchronize SDMX RI in each release
Reported SdmxSource missing parts & bugs
Updated SdmxSource in a branch, to minimize the waiting time of the release cycle
Sent updated SdmxSource in .java files
Eurostat Eurostat
14
Source Repository & Issue Tracker
SdmxSource team created a project in mantis issue tracker
SDMX RI team reported bugs and change requests there
Work was split between the two teams
SdmxSource was developed in an SVN repository
SdmxSource was released in a maven repository
SDMX RI was developed in a Git repository
Eurostat Eurostat
15
Synchronization to the public version
Until now, working under Non-Disclosure Agreement
Java Source branched since April 2013 (v0.9.25)
SDMX RI and SdmxSource teams shall collaborate to merge changes to 1.0 version
All SDMX RI components shall be migrated to that version
Cannot be officially released until then