280 likes | 292 Views
This article explains the concept of the model-driven environment and its impact on design and implementation processes. It discusses the goals of design and implementation, platform independence, model-driven development, and the benefits of using a model-driven approach. The article also explores the interaction between different services and the role of conversions in data formats. Additionally, it covers the information model, communication channels, and messages in the model-driven environment.
E N D
CORE – COmmon Reference EnvironmentHow it works Jean-Pierre Kent 11 January 2012
Contents • Introduction • Design ≠ implementation • Overview • A model of the user’s experience • Presentation of the information model
Design ≠ Implementation • Goal of design: • Deliver a concept apt to contribute to the industrialisation of official statistics (ref: HLG-BAS Vision) • Result: • A model that exceeds the capacity of a 1-year project
Design≠ Implementation • Goal of implementation • Deliver Proof Of Concept with: • Platform independence • Model-driven • Model-driven • Result: • Implementation of a subset of the model design environment execution environment
What is Platform Independence? • Once implemented, a service can run on any platform (e.g. .Net, Java, ...) • A process engine running on a platform (e.g. Java) can control services running on another platform (e.g. .Net) • A process can be distributed: • Manage microdata at Statistics Netherlands • Do aggregation at ISTAT • Produce the SDMX output at Eurostat • Under control of a process engine running at INSEE
Model-Driven: cutting costs • Traditionally: • Designer makes models • Developer creates the system • System runs. • In a model-driven environment: • Designer makes models • System runs
Model-Driven: effectivity Model-Driven Taylor-made Flexibility Standard package, ERP, CRM, DMS... Spaghetti Standardisation
Model-driven: benefits • Cost reduction: less manual work • Reliability: manual work is error prone • Time to market: less manual work • Standardisation: system enforces standards • Flexibility: incremental development, agile maintenance • Reliability: build processes from well-designed and well-tested services • Strict separation of design and execution • Focus on process quality as a source of product quality • … and some more
Overview • What users see and use • This is not the information model • Nor the technical model • But a model of the user’s experience
CORE Design time This is where GSIM comes in
How do services interact? • You can use different tools for different services • e.g. SPSS, SAS, R ... • Different tools expect different data formats • Conversions are inevitable
Conversions are expensive! • Between 2 formats • A B: 2 conversions • Between 3 formats • A B: 6 conversions C • Between N formats: N2-N
CORE reduces N2-N to 2*N • Standard CORE data format • Conversion to and from CORE format Model (CORE) Model (CORE) Input (CORE) Output (CORE) Convertor Convertor Model (X) Model (X) Input (X) Tool X Output (X) Convertor is tool-specific – not service-specific Convertors are format-specific, not service-specific
The information model • What the designer sees • Data set description and data set kind • Service and data set kind
Communication channels • Manage communication between a service and the execution environment • Give support to Plug-and-Play coupling • Implement messaging
4 types of messages • Service signature message • Service configuration message • Service execution message • Service output message
Service signature message • Service communicates to its environment the channels that it supports. • Channels constrain the kinds of information • expected during execution or during configuration • e.g. data set kind “microdata” • to produce during execution. • e.g. data set kind “aggregate”
Service configuration message • Environment communicates details about data sets that will be offered to the service during execution. • e.g. number of columns of a data set • value types for each of these columns • This information must fit in the channels specified in the service signature message • e.g. a data set description must match the expected data set kind
Service execution message • Service is requested to execute itself • Service is offered a number of data sets and business objects as input. • This information must comply with the service's signature message • It must be consistent with the data set and business object details the service is configured with through the service configuration message • e.g. a data set must match the expected data set description
Service output message • A service ends its execution by sending a service output message. • The result of the service execution is documented by data sets which match the service's configuration message. • e.g. the output data sets are consistent with their data set descriptions.
Questions (Part 3) ? 28