Professional Documents
Culture Documents
ODaaS: Towards The Model-Driven Engineering of Open Data Applications As Data Services
ODaaS: Towards The Model-Driven Engineering of Open Data Applications As Data Services
Refactoring
Model querying
Code generation
Language mappings
Models
Meta-Modelling
Infrastructure
R
E
S
Domain
Specific
Applications
ain
on
OpenData
ODaaS
What are we proposing?
Architecture of our approach
17
Domain
injectors
M d id
Madrid
Concerts
Functional
Sources
File-based
sources
(XML, Excel,
CSV,)
Relational
sources Gene
Servi
Dom
Spec
Serv
On-deman
Models
Meta-Modelling
Infrastructure
R
E
S
Domain
Specific
Applications
ain
on
OpenData
ODaaS
What are we proposing?
Architecture of our approach
To import data into the MDE technical space,
we use domain injectors.
18
Platform: File system, web service
Format: XML, JSON,
Model (e.g., transportation). +
Giving semantics
Domain
injectors
M d id
Madrid
Concerts
Functional
Sources
File-based
sources
(XML, Excel,
CSV,)
Relational
sources Gene
Servi
Dom
Spec
Serv
On-deman
Models
Meta-Modelling
Infrastructure
R
E
S
Domain
Specific
Applications
ain
on
OpenData
ODaaS
What are we proposing?
Architecture of our approach
Data can be dynamically fetched from data sources on demand.
19
Retrieving data
A data retrieval component activates the corresponding domain
injector to retrieve the data from the external source when data
is needed.
Domain
injectors
M d id
Madrid
Concerts
Functional
Sources
File-based
sources
(XML, Excel,
CSV,)
Relational
sources Gene
Servi
Dom
Spec
Serv
On-deman
Models
Meta-Modelling
Infrastructure
R
E
S
Domain
Specific
Applications
ain
on
OpenData
ODaaS
What are we proposing?
Architecture of our approach
! The system is accessible as a REST service.
! There is a console to discover and use the different data
services, and domain-specic applications.
20
REST Api + Console
Domain
injectors
M d id
Madrid
Concerts
Functional
Sources
File-based
sources
(XML, Excel,
CSV,)
Relational
sources Gene
Servi
Dom
Spec
Serv
On-deman
Models
Meta-Modelling
Infrastructure
R
E
S
Domain
Specific
Applications
ain
on
MDE
ODaaS
What are we proposing?
Architecture of our approach
21
How we use MDE elements
!
Characterizing the data.
!
Validation.
!
Checking data conformance to integrity constraints.
!
Transformation: data mappings.
Domain
injectors
M d id
Madrid
Concerts
Functional
Sources
File-based
sources
(XML, Excel,
CSV,)
Relational
sources Gene
Servi
Dom
Spec
Serv
On-deman
Models
Meta-Modelling
Infrastructure
R
E
S
Domain
Specific
Applications
ain
on
MDE
ODaaS
What are we proposing?
Architecture of our approach
Data sets from different sources
22
Making data compatible and homogeneous
Services are dened generically, based on the concepts of the domain.
Same meta-model
map to
visualization,
interaction,
MDE
ODaaS
Domain modelling
Geoposition Temporal
Transport
Madrid Bus
Night Lines
London
Metro
Generic
Meta-models
Domain
Meta-models
Domain
Models
instance of instance of
instance of instance of
Night Lines Metro
23
Data sets from different sources
Services are dened generically, based on the concepts of the domain.
Same meta-model
map to
visualization,
interaction,
Architecture of our approach
Making data compatible and homogeneous
MDE
ODaaS
Domain modelling
Place
Transp
S i
LineGroup:
Region
Line:
Region
Stop:Place
Coordinates
StopLocation: Coordinates
Geographical
Element
Region
contains
*
*
descBy
stops:
descBy
1..*
0..1
at
groups
lines:
contains
1..*
1..*
lat: double
long: double
name: String
Geoposition, potency *
Transport, potency *
instance of
lineId: String
Service
MadridBus:
TranspService
NightLines:
LineGroup
N13:Line
Cibeles: Stop
:stops
lat= 40.419167
long= -3.693056
StopLocation: Coordinates
CibelesLoc: StopLocation
coords: at
name= Cibeles
Madrid bus, potency 0
instance of
lineId=N13
24
Architecture of our approach
Making data compatible and homogeneous
Geoposition Temporal
Transport
Madrid Bus
Night Lines
London
Metro
Generic
Meta-models
Domain
Meta-models
Domain
Models
instance of instance of
instance of instance of
Night Lines Metro
MDE
ODaaS
Domain modelling
Place
Transp
S i
LineGroup:
Region
Line:
Region
Stop:Place
Coordinates
StopLocation: Coordinates
Geographical
Element
Region
contains
*
*
descBy
stops:
descBy
1..*
0..1
at
groups
lines:
contains
1..*
1..*
lat: double
long: double
name: String
Geoposition, potency *
Transport, potency *
instance of
lineId: String
Service
MadridBus:
TranspService
NightLines:
LineGroup
N13:Line
Cibeles: Stop
:stops
lat= 40.419167
long= -3.693056
StopLocation: Coordinates
CibelesLoc: StopLocation
coords: at
name= Cibeles
Madrid bus, potency 0
instance of
lineId=N13
Multi-level modelling*
allow a stratied
classication of
concepts and their
successive
renement.
25
Architecture of our approach
Making data compatible and homogeneous
* The Essence of Multilevel Metamodeling. Atkinson, Khne, 2001
MDE
ODaaS
Domain modelling
Place
Transp
S i
LineGroup:
Region
Line:
Region
Stop:Place
Coordinates
StopLocation: Coordinates
Geographical
Element
Region
contains
*
*
descBy
stops:
descBy
1..*
0..1
at
groups
lines:
contains
1..*
1..*
lat: double
long: double
name: String
Geoposition, potency *
Transport, potency *
instance of
lineId: String
Service
MadridBus:
TranspService
NightLines:
LineGroup
N13:Line
Cibeles: Stop
:stops
lat= 40.419167
long= -3.693056
StopLocation: Coordinates
CibelesLoc: StopLocation
coords: at
name= Cibeles
Madrid bus, potency 0
instance of
lineId=N13
Operations dened over
the top-most meta-
models become
applicable any number
of meta-levels below.
26
Architecture of our approach
Making data compatible and homogeneous
MDE
OpenData
ODaaS
Prototype implementation
27
MDE
OpenData
ODaaS
Prototype implementation
!
Model-to-model
transformations
!
In-place
transformations
!
Queries
!
Code generators
28
METADEPTH
MDE
OpenData
ODaaS
Prototype implementation
Data services are
exposed using a
REST API.
29
Jersey
MDE
OpenData
ODaaS
Prototype implementation
! Explore the
different data
services
! Invoking its
queries
! Browsing the
resulting models
30
Generic Web Application
MDE
OpenData
ODaaS
Related work
It is a data access protocol which uses an object-oriented entity-
relationship model, and denes a mapping between CRUD
operations and a REST service to access the data model.
31
Open Data Procotol (OData)
MDE
OpenData
ODaaS
Related work
Ontologies could be used as an alternative to multi-level
modelling. However, by remaining in the MDE technical space,
we can use languages and tools for model manipulation, like
transformations, code generation, and in-place transformations.
32
Ontologies
MDE
OpenData
ODaaS
Related work
Some efforts for the systematic use of open data are starting to
emerge. Some tools, like Any23, inject data from different
sources (CSV and HTML micro-formats) into RDF triples.
However, these tools are not meant to discover the underlying
structure of the data, validate it, or synthesize a full interactive
application.
33
Tools
MDE
OpenData
ODaaS
Conclusions