Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

2012.10 - DDI Lifecycle - Moving Forward - 3

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
What's new in Drupal 7
What's new in Drupal 7
Wird geladen in …3
×

Hier ansehen

1 von 10 Anzeige

Weitere Verwandte Inhalte

Ähnlich wie 2012.10 - DDI Lifecycle - Moving Forward - 3 (20)

Weitere von Dr.-Ing. Thomas Hartmann (20)

Anzeige

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 Logic Abstract 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?

×