Wiki source code of 9 Architecture for an SDMX System
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | {{box title="**Contents**"}} |
| 2 | {{toc/}} | ||
| 3 | {{/box}} | ||
| 4 | |||
| 5 | == 9.1 Scope of this Chapter == | ||
| 6 | |||
| |
2.1 | 7 | [[image:SDMX_2-1_User_Guide_draft_0-1_html_9a15e8ac68e65d15.png||data-xwiki-image-style-alignment="center" height="416" width="326"]] |
| |
1.1 | 8 | |
| |
2.1 | 9 | This Chapter brings together the different [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] constructs described in this User Guide into a coherent architecture that supports the typical [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] use cases shown above. The architecture described here shows how applications need not be concerned with the actual XML (or [[SDMX-EDI>>doc:sdmx:Glossary.SDMX-EDI.WebHome]]) or (% style="color:#e74c3c" %)version(%%) of [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]], but are concerned with interfaces offered by [[components>>doc:sdmx:Glossary.Component.WebHome]] that work with objects constructed according to the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] |
| |
1.1 | 10 | |
| |
2.1 | 11 | Information Model (called [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] Beans in the diagrams) which are themselves built from the actual XML (or [[SDMX-EDI>>doc:sdmx:Glossary.SDMX-EDI.WebHome]]). For data and [[metadata sets>>doc:sdmx:Glossary.Metadata set.WebHome]] the actual XML is read directly into or written directly out of the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[Component>>doc:sdmx:Glossary.Component.WebHome]]. |
| |
1.1 | 12 | |
| |
2.1 | 13 | Such an architecture, known as a [[Component>>doc:sdmx:Glossary.Component.WebHome]] Architecture, enables applications to be built quickly and with minimal resource. As each [[Component>>doc:sdmx:Glossary.Component.WebHome]] is agnostic to the context in which it is used it can therefore be used by many applications (e.g. a Data Writer [[Component>>doc:sdmx:Glossary.Component.WebHome]] may be used in a database application, or an application reading a spreadsheet), thus reducing considerably the development effort and resulting in more robust and more easily maintained systems. |
| |
1.1 | 14 | |
| 15 | == 9.2 Architecture == | ||
| 16 | |||
| |
2.1 | 17 | [[image:SDMX_2-1_User_Guide_draft_0-1_html_e298383f7dece120.jpg||data-xwiki-image-style-alignment="center" height="452" width="576"]] |
| |
1.1 | 18 | |
| 19 | (% style="text-align: center;" %) | ||
| 20 | **{{id name="image_26"/}}Figure 26: Schematic of a Component Architecture** | ||
| 21 | |||
| |
2.1 | 22 | The [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] Beans underpin the framework and are what may be referred to as ‘domain objects’, ‘data transfer objects’, or ‘business objects’. The [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] Beans are an Object [[representation>>doc:sdmx:Glossary.Representation.WebHome]] of the information being exchanged. The information may have been exchanged in [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]], EDI, or even CSV, it does not matter, as the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] Beans are not coupled to a particular syntax or (% style="color:#e74c3c" %)version(%%) of the standard. The [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] Beans are format and (% style="color:#e74c3c" %)version(%%) independent allowing the software that uses them to be decoupled from the format in which the data/metadata are exchanged. |
| |
1.1 | 23 | |
| |
2.1 | 24 | Whilst “bean” objects can be created for a [[data set>>doc:sdmx:Glossary.Data set.WebHome]] or [[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]], this does not scale well for large volumes of data/metadata. Therefore, the architecture shows a data streaming approach where the data/metadata are read or written directory to/from an input or output stream – this could be a local file or streamed over the internet. |
| |
1.1 | 25 | |
| |
2.1 | 26 | The “structure” [[components>>doc:sdmx:Glossary.Component.WebHome]] use the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] Beans by means of the object interfaces, thus they do not need to be concerned with the external format of the [[structural metadata>>doc:sdmx:Glossary.Structural metadata.WebHome]] – this is done by structure readers and writers. |
| |
1.1 | 27 | |
| |
2.1 | 28 | For [[data sets>>doc:sdmx:Glossary.Data set.WebHome]] and [[metadata sets>>doc:sdmx:Glossary.Metadata set.WebHome]] there are no “beans” but rather the data/metadata are input to/output from the data and metadata readers and writers. |
| |
1.1 | 29 | |
| 30 | == 9.3 Using the Architecture == | ||
| 31 | |||
| 32 | === 9.3.1 Tools and Applications === | ||
| 33 | |||
| |
2.1 | 34 | [[image:SDMX_2-1_User_Guide_draft_0-1_html_76b8bb227050eff2.jpg||data-xwiki-image-style-alignment="center" height="444" width="502"]] |
| |
1.1 | 35 | |
| 36 | (% style="text-align: center;" %) | ||
| 37 | **{{id name="image_27"/}}Figure 27: Applications Supporting Use Cases** | ||
| 38 | |||
| 39 | These three basic tools/applications support the requirements of many of the use cases listed in 3.2. | ||
| 40 | |||
| |
2.1 | 41 | [[image:SDMX_2-1_User_Guide_draft_0-1_html_327ac46075654a87.jpg||data-xwiki-image-style-alignment="center" height="305" width="576"]] |
| |
1.1 | 42 | |
| 43 | (% style="text-align: center;" %) | ||
| 44 | **{{id name="image_28"/}}Figure 28: Applications Integrated with a Component Architecture** | ||
| 45 | |||
| |
2.1 | 46 | A [[Component>>doc:sdmx:Glossary.Component.WebHome]] Architecture enables the [[components>>doc:sdmx:Glossary.Component.WebHome]] to be shared by many applications thus reducing development and maintenance effort and resulting in a more robust system. |
| |
1.1 | 47 | |
| 48 | == 9.4 Availability of Component Architectures == | ||
| 49 | |||
| |
2.1 | 50 | [[Component>>doc:sdmx:Glossary.Component.WebHome]] Architectures based on the schematic depicted above are beginning to emerge as freely available [[components>>doc:sdmx:Glossary.Component.WebHome]] or open source. The [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] Tools Database (accessible from the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] website at [[__www.sdmx.org__>>url:http://www.sdmx.org/]]) contains details of many [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] tools including complete architectures. |