Eurostat D.1 SdmxSource SDMX RI User Group Luxembourg, 24-25 September 2013.

15
Eurostat Eurostat D.1 SdmxSource SDMX RI User Group Luxembourg, 24-25 September 2013

Transcript of Eurostat D.1 SdmxSource SDMX RI User Group Luxembourg, 24-25 September 2013.

Eurostat Eurostat

D.1 SdmxSource

SDMX RI User GroupLuxembourg, 24-25 September 2013

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