Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

2012.10 - DDI Lifecycle - Moving Forward - 3

1.022 Aufrufe

Veröffentlicht am

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

2012.10 - DDI Lifecycle - Moving Forward - 3

  1. 1. DDI & Model-View-Controller: An Architectural Perspective Dennis Wegener, Matthäus Zloch, Thomas Bosch (GESIS) Dagstuhl, 23.10.2012
  2. 2. Overview Architecture Missy/StarDat Presentation MVC Business LogicAbstract Persistence Persistence Page 2
  3. 3. 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
  4. 4. Missy Maven Structure
  5. 5. Data model & presentation - MVC• MVC design pattern• Model – Domain classes – Attributes – Relations• View – Representation – JSP, Velocity, XML, JSON, …• Controller – Commands – RESTful interface
  6. 6. 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
  7. 7. 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 –…
  8. 8. 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
  9. 9. Missy Extension DDI Ontology Page 9
  10. 10. 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?

×