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

2012.10 - DDI Lifecycle - Moving Forward - 3






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



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.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
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?