ESCWA SDMX Workshop Session SDMX and a Reusable
ESCWA SDMX Workshop Session: SDMX and a Re-usable Component Architecture © Metadata Technology
Goals • Language Independent Architecture • High Cohesion • Loose Coupling • Program to Interfaces – Not Implementations © Metadata Technology
Use the Model • SDMX-ML is for EXCHANGE between systems • The SDMX Information Model is where the power is © Metadata Technology
Finding the Common Model © Metadata Technology
What is Data? • Results of Measurements Country: UK Unemployed: 13 million Year: 2010 Country: Australia Country: France State : Perth Unemployed: 5 million Coastline (Km): 12500 Year: 1982 © Metadata Technology
Modelling Data Country : UK Basket : Narrow KEY Time Period : 1999 -10 : 106. 34 Type : Real Value : 107. 8 © Metadata Technology : Real Basket : Narrow Time Period : 2000 -01 Value Type Time Period : 2001 -02 Values Value : 101. 73 Type : Nominal Value : 104. 8
Simple Data Transformation Model Compact 2. 0 To 2. 1 Transformation Compact “Compact” 2. 0 2. 1 “Compact” 2. 1 To 2. 0 Transformation © Metadata Technology
Simple Data Transformation Model Compact Generic Utility 1. 0 Compact Generic Utility 2. 0 Generic EDI Structure Specific 2. 1 © Metadata Technology 2. 1 CSV ? ? ?
Decoupled Data Transformation Model Read Key Read Observation Write Key Data Reader Data Writer Interface Compact Generic EDI © Metadata Technology Write Observation EDI
Summary so far • Good design protects software from change • Finding a common model means everything can be reused © Metadata Technology
Break Down The Problem Creating Sub-Systems © Metadata Technology
Make a Generic Solution • Each aspect of a system can be broken down into a sub-system • Each sub-system has a specific responsibility © Metadata Technology
Break down the Problem • SDMX breaks down nicely into sub systems Generating a Data Reading Query Transformation Structure Validation Generating a Structure Query Calling a Web Service with a Structure Query © Metadata Technology Data Validation Data Writing Structure Transformation Querying a File Consuming a Structure Query Consuming a Data Query
Interfaces can be reused Bean. Retrieval. Manager File Retrieval © Metadata Technology In Memory Retrieval Web Service Retrieval
Implementing a Web Service for Data User Data Query Web Service Request Format? Response Format? Database Administrator Database © Metadata Technology
Implementing a Web Service for Data SDMX Query User Data Query Web Service • Consumes SDMX query, and gets parser to create bean • Passes Query to Database layer, along with Data Writer Data Query Engine Data Writer Data Parser Build Data Query Bean From Any version of SDMX Query What Implements Data Writer? A powerful concept of passing an interface with useful methods such as : start. Series(…), add. Observation(…) add. Attribute(…) Internally the Data. Writer wraps an output stream, and writes SDMX straight to the output stream. © Metadata Technology Database Generic Data Compact Utility Data Writer EDI Data Writer ? ? ?
- Slides: 16