2012.10 - DDI Lifecycle - Moving Forward - 3
Upcoming SlideShare
Loading in...5
×
 

2012.10 - DDI Lifecycle - Moving Forward - 3

on

  • 604 views

 

Statistics

Views

Total Views
604
Views on SlideShare
604
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

2012.10 - DDI Lifecycle - Moving Forward - 3 2012.10 - DDI Lifecycle - Moving Forward - 3 Presentation Transcript

  • DDI & Model-View-Controller: An Architectural Perspective Dennis Wegener, Matthäus Zloch, Thomas Bosch (GESIS) Dagstuhl, 23.10.2012
  • Overview Architecture Missy/StarDat Presentation MVC Business LogicAbstract Persistence Persistence Page 2
  • Software Management - Maven & GIT• Apache Maven – software project management and comprehension tool• Maven Modules for data modelling in our projects: – Abstract module for DDI (based on DDI ontology) DDI model – Concrete modules for each project that • Inherit from abstract ddi module DDI model DDI model • Add project-specific data fields + Missy + StarDat Extensions Extensions• Sharing via VersionControlSystem – Project sources in internal VCS (GESIS-SVN) – Data Module shared externally (GIT) • https://github.com/missy-project/ddi-model
  • Missy Maven Structure
  • Data model & presentation - MVC• MVC design pattern• Model – Domain classes – Attributes – Relations• View – Representation – JSP, Velocity, XML, JSON, …• Controller – Commands – RESTful interface
  • RESTful interface• Well-defined interface based on HTTP – With few basic methods: GET, POST, PUT, DELETE – Response codes (e.g. 200 OK, 404 Not Found) – Data supported described by MIME types (e.g. text/xml, application/json)• Resources are identified using URIs – Collection URI (like http://missy.org/studies) – Element URI (like http://missy.org/studies/studyZA1000)• Resources could map to domain classes / entities of the DDI ontology
  • Data model & persistance – API• Once you have the model you can… – Generate views / user interfaces – Generate storage model (in RDB via hibernate)• Abstract persistance API – To be published …• Concrete Implementations – Relational DB – DDI XML files –…
  • Missy Example• Question: – DDI Ontology: class Question, fields like dcterms_identifier, …, field question text• Variable: – DDI Ontology: class Variable, fields like dcterms_identifier,… – Missy: inherits class Variable, adds fields variable name, variable label, classification, …• Relation: – Variable * hasQuestion 1 Question – Defined at level of DDI Ontology
  • Missy Extension DDI Ontology Page 9
  • Key Messages & Questions• DDI model implemented as abstract data model in OO programming language – According to MVC - domain classes with attributes & relations – Do we need a standard REST interface?• DDI model not directly based on XML representation – „Data model vs. Data format“ – Export mechanisms for XML based representation• DDI model integrated into project‘s architectures – Does it make sense to create a reference architecture?• Reuse of software modules is possible – We already share modules/code between internal projects Missy & StarDat – Is anyone else interested in sharing?