SlideShare a Scribd company logo
1 of 39
A Technical Perspective on Use-Case-Driven Challenges
for Software Architectures
to Document Study and Variable Information
IASSIST 2013
29.05.2013
Matthäus Zloch
GESIS, Germany
matthaeus.zloch@gesis.org
Thomas Bosch
GESIS, Germany
thomas.bosch@gesis.org
boschthomas@blogspot.com
Dennis Wegener
GESIS, Germany
dennis.wegener@gesis.org
1
Outline
• What has already been said
• Challenges for MISSY Software Developers
• MISSY Software Architecture
• Implementation of DISCO
• Persistence Strategies
2
Thomas Presentation
• General information about MISSY
• Next generation MISSY
• Software architecture overview
• Presentation layer and MISSY use cases
• Business logic
• data model
• DDI-RDF Discovery Vocabulary
CHALLENGES AND
REQUIREMENTS
MISSY for Software Developers
4
Requirements to Software Developers
• Focus lies on software reusability
• must be stable and reliable
• API must be clean and easy to extend
• Flexible Web Application Framework and modern architecture
• Service-oriented
• Use of Semantic Web technologies
• Complex data model to represent use-cases (seen in previous
presentation)
5
Requirements to Software Developers
• Define and implement a common data model and
• Different Persistence Strategies
• Creation of an abstract framework and architecture
• Should be well designed to be able to be extended and reusable
• Available as open source software
• Independent of end-user system
6
SOFTWARE ARCHITECTURE
Design Goals for the MISSY
7
Software Architecture – Design Goals
• Separation of
• Model, i.e. concepts and real life objects, that represents the use case
• (Physical) Storage mechanisms
• Logic that controls and provides services to manipulate the data
• The representation of information itself
• The key is to have logically separated parts, where people
might work independently but collaboratively
• Creation of a reusable and extendable abstract API
8
Software Architecture
• State-of-the-art technologies to develop software
• Multitier architecture
• Model-View-Controller (MVC-Pattern)
• Maven Projects + Modules
• Multitier architecture separates the project into logical parts
• Presentation, application processing, data, persistence, …
9
10
MVC – Interactions
11
Model
View
Controller
manipulates
accesses
controls
View Technologies
12
…
Model
View
Controller
manipulates
accesses
controls
Data Model
13
…
Model
View
Controller
manipulates
accesses
controls
Missy Technologies
14
Model
View
Controller
manipulates
accesses
controls
THE DATA MODEL
Implementation of
15
Data Model
• DDI-RDF Discovery Vocabulary DISCO
• designed for the discovery use-case
• provides object types, properties and data type properties designed
for discovery use-case
• We use DISCO as the internal data model
• Implemented in Java
• Maps all object properties available
• Subclass relationships through Java native inheritance
16
17
Extendible Data Model
• DISCO does not cover all use cases
• Projects may have individual needs
• DISCO-model objects may be extended
18
DISCO-Model
Your Project-Model
Extendible Data Model
• DISCO does not cover all use cases
• Projects may have individual needs
• DISCO-model objects may be extended
19
Provide this
as an API!!DISCO-Model
Your Project-Model
20
21
disco-
model api
22
disco-
model api
project-
model (api)
Multilevel-Model
23
disco-model api
project1-model
gesis-model api
project2-model
PERSISTENCE STRATEGIES
Data is stored via
24
Persistence-Layer – Strategies
• The application itself does not need to know how the
data is (physically) stored
• Methods are provided to access and store objects through
data access objects
• Actual implementation is “hidden” to the upper layers
• A strategy is an implementation of the actual type of
persistence or physical storage, respectively
• e.g. DDI-L-XML, DDI-RDF, XML-DB, Relational-DB, etc.
25
Persistence-Layer – Strategies
• The application itself does not need to know how the
data is (physically) stored
• Methods are provided to access and store objects through
data access objects
• Actual implementation is “hidden” to the upper layers
• A strategy is an implementation of the actual type of
persistence or physical storage, respectively
• e.g. DDI-L-XML, DDI-RDF, XML-DB, Relational-DB, etc.
26
disco-
persistence api
Persistence-Layer – Strategies
• The application itself does not need to know how the
data is (physically) stored
• Methods are provided to access and store objects through
data access objects
• Actual implementation is “hidden” to the upper layers
• A strategy is an implementation of the actual type of
persistence or physical storage, respectively
• e.g. DDI-L-XML, DDI-RDF, XML-DB, Relational-DB, etc.
• Due to performance:
27
disco-
persistence api
disco-persistence relational
Persistence-Layer – Strategies / Modules
• disco-persistence-api
• Defines persistence functionality for model components regardless of the
actual type of physical persistence
• disco-persistence-relational
• Implements the persistence functionality defined in disco-persistence-api
with respect to the usage of relational DBs
• disco-persistence-xml
• Implements the persistence functionality defined in disco-persistence-api
with respect to the usage of DDI-XML
• disco-persistence-rdf
• Implements the persistence functionality defined in disco-persistence-api
with respect to the usage of the disco-specification
28
Persistence-Layer – Strategies / Modules
• disco-persistence-api
• Defines persistence functionality for model components regardless of the
actual type of physical persistence
• disco-persistence-relational
• Implements the persistence functionality defined in disco-persistence-api
with respect to the usage of relational DBs
• disco-persistence-xml
• Implements the persistence functionality defined in disco-persistence-api
with respect to the usage of DDI-XML
• disco-persistence-rdf
• Implements the persistence functionality defined in disco-persistence-api
with respect to the usage of the disco-specification
29
30
31
JPA-Annotations
32
JPA-Annotations
disco-
persistence-
api
missy-
persistence-
api
Hibernate Example
33
Inheritance of Properties
34
from DDI-Identifiable
35
Inheritance of Properties
from disco-api
Declaration of own Properties
36
project-model
Missy Project API – Modules
37
persistence
business
presentation missy-editor-web
missy-editor-core disco-model
disco-
persistence-api
disco-
persistence-
relational
missy-model
missy-
persistence-api
missy-
persistence-
relational
38
Thank you for your attention
39
Matthäus Zloch
Team Architecture
GESIS, Germany
matthaeus.zloch@gesis.org
The Missy Project
http://github.com/missy-project

More Related Content

Viewers also liked

KIT Graduiertenkolloquium 11.05.2016
KIT Graduiertenkolloquium 11.05.2016KIT Graduiertenkolloquium 11.05.2016
KIT Graduiertenkolloquium 11.05.2016
Dr.-Ing. Thomas Hartmann
 

Viewers also liked (7)

2016.02 - Validating RDF Data Quality using Constraints to Direct the Develop...
2016.02 - Validating RDF Data Quality using Constraints to Direct the Develop...2016.02 - Validating RDF Data Quality using Constraints to Direct the Develop...
2016.02 - Validating RDF Data Quality using Constraints to Direct the Develop...
 
KIT Graduiertenkolloquium 11.05.2016
KIT Graduiertenkolloquium 11.05.2016KIT Graduiertenkolloquium 11.05.2016
KIT Graduiertenkolloquium 11.05.2016
 
Understanding The Participatory News Consumer
Understanding The Participatory News ConsumerUnderstanding The Participatory News Consumer
Understanding The Participatory News Consumer
 
Doctoral Examination at the Karlsruhe Institute of Technology (08.07.2016)
Doctoral Examination at the Karlsruhe Institute of Technology (08.07.2016)Doctoral Examination at the Karlsruhe Institute of Technology (08.07.2016)
Doctoral Examination at the Karlsruhe Institute of Technology (08.07.2016)
 
Rakumo intro
Rakumo introRakumo intro
Rakumo intro
 
Time managment
Time managmentTime managment
Time managment
 
2013.05 - LDOW 2013 @ WWW 2013
2013.05 - LDOW 2013 @ WWW 20132013.05 - LDOW 2013 @ WWW 2013
2013.05 - LDOW 2013 @ WWW 2013
 

Similar to 2013.05 - IASSIST 2013 - 2

Model-Driven Cloud Data Storage
Model-Driven Cloud Data StorageModel-Driven Cloud Data Storage
Model-Driven Cloud Data Storage
jccastrejon
 

Similar to 2013.05 - IASSIST 2013 - 2 (20)

NoSQL Simplified: Schema vs. Schema-less
NoSQL Simplified: Schema vs. Schema-lessNoSQL Simplified: Schema vs. Schema-less
NoSQL Simplified: Schema vs. Schema-less
 
2013.05 - IASSIST 2013
2013.05 - IASSIST 20132013.05 - IASSIST 2013
2013.05 - IASSIST 2013
 
02 - DatabaseConcepts.pdf
02 - DatabaseConcepts.pdf02 - DatabaseConcepts.pdf
02 - DatabaseConcepts.pdf
 
Belgium & Luxembourg dedicated online Data Virtualization discovery workshop
Belgium & Luxembourg dedicated online Data Virtualization discovery workshopBelgium & Luxembourg dedicated online Data Virtualization discovery workshop
Belgium & Luxembourg dedicated online Data Virtualization discovery workshop
 
DevOps for the DBA- Jax Style!
DevOps for the DBA-  Jax Style!DevOps for the DBA-  Jax Style!
DevOps for the DBA- Jax Style!
 
Unit4
Unit4Unit4
Unit4
 
Government GraphSummit: And Then There Were 15 Standards
Government GraphSummit: And Then There Were 15 StandardsGovernment GraphSummit: And Then There Were 15 Standards
Government GraphSummit: And Then There Were 15 Standards
 
Paolo Kreth - Persistence layers for microservices – the converged database a...
Paolo Kreth - Persistence layers for microservices – the converged database a...Paolo Kreth - Persistence layers for microservices – the converged database a...
Paolo Kreth - Persistence layers for microservices – the converged database a...
 
Big SQL 3.0 - Fast and easy SQL on Hadoop
Big SQL 3.0 - Fast and easy SQL on HadoopBig SQL 3.0 - Fast and easy SQL on Hadoop
Big SQL 3.0 - Fast and easy SQL on Hadoop
 
IBM InfoSphere Data Architect 9.1 - Francis Arnaudiès
IBM InfoSphere Data Architect 9.1 - Francis ArnaudièsIBM InfoSphere Data Architect 9.1 - Francis Arnaudiès
IBM InfoSphere Data Architect 9.1 - Francis Arnaudiès
 
2014.07.11 biginsights data2014
2014.07.11 biginsights data20142014.07.11 biginsights data2014
2014.07.11 biginsights data2014
 
Require js training
Require js trainingRequire js training
Require js training
 
Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017
 
2012.12 - EDDI 2012 - Workshop
2012.12 - EDDI 2012 - Workshop2012.12 - EDDI 2012 - Workshop
2012.12 - EDDI 2012 - Workshop
 
Objectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL DatabaseObjectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL Database
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
CDMI For Swift
CDMI For SwiftCDMI For Swift
CDMI For Swift
 
Model-Driven Cloud Data Storage
Model-Driven Cloud Data StorageModel-Driven Cloud Data Storage
Model-Driven Cloud Data Storage
 
Big Data Expo 2015 - Barnsten Why Data Modelling is Essential
Big Data Expo 2015 - Barnsten Why Data Modelling is EssentialBig Data Expo 2015 - Barnsten Why Data Modelling is Essential
Big Data Expo 2015 - Barnsten Why Data Modelling is Essential
 
Using Crowdsourced Images to Create Image Recognition Models with Analytics Z...
Using Crowdsourced Images to Create Image Recognition Models with Analytics Z...Using Crowdsourced Images to Create Image Recognition Models with Analytics Z...
Using Crowdsourced Images to Create Image Recognition Models with Analytics Z...
 

More from Dr.-Ing. Thomas Hartmann

2015.03 - The RDF Validator - A Tool to Validate RDF Data (KIM)
2015.03 - The RDF Validator - A Tool to Validate RDF Data (KIM)2015.03 - The RDF Validator - A Tool to Validate RDF Data (KIM)
2015.03 - The RDF Validator - A Tool to Validate RDF Data (KIM)
Dr.-Ing. Thomas Hartmann
 
Towards the Discovery of Person-Level Data (SemStats, ISWC 2013) [2013.10]
Towards the Discovery of Person-Level Data (SemStats, ISWC 2013) [2013.10]Towards the Discovery of Person-Level Data (SemStats, ISWC 2013) [2013.10]
Towards the Discovery of Person-Level Data (SemStats, ISWC 2013) [2013.10]
Dr.-Ing. Thomas Hartmann
 
2013.02 - 7th Workshop of German Panel Surveys
2013.02 - 7th Workshop of German Panel Surveys2013.02 - 7th Workshop of German Panel Surveys
2013.02 - 7th Workshop of German Panel Surveys
Dr.-Ing. Thomas Hartmann
 
2012.10 - DDI Lifecycle - Moving Forward - 3
2012.10 - DDI Lifecycle - Moving Forward - 32012.10 - DDI Lifecycle - Moving Forward - 3
2012.10 - DDI Lifecycle - Moving Forward - 3
Dr.-Ing. Thomas Hartmann
 
2012.10 - DDI Lifecycle - Moving Forward - 3
2012.10 - DDI Lifecycle - Moving Forward - 32012.10 - DDI Lifecycle - Moving Forward - 3
2012.10 - DDI Lifecycle - Moving Forward - 3
Dr.-Ing. Thomas Hartmann
 
2012.10 - DDI Lifecycle - Moving Forward - 2
2012.10 - DDI Lifecycle - Moving Forward - 22012.10 - DDI Lifecycle - Moving Forward - 2
2012.10 - DDI Lifecycle - Moving Forward - 2
Dr.-Ing. Thomas Hartmann
 

More from Dr.-Ing. Thomas Hartmann (20)

2015.09. - The Role of Reasoning for RDF Validation (SEMANTiCS 2015)
2015.09. - The Role of Reasoning for RDF Validation (SEMANTiCS 2015)2015.09. - The Role of Reasoning for RDF Validation (SEMANTiCS 2015)
2015.09. - The Role of Reasoning for RDF Validation (SEMANTiCS 2015)
 
2015.09 - Guidance, Please! Towards a Framework for RDF-Based Constraint Lang...
2015.09 - Guidance, Please! Towards a Framework for RDF-Based Constraint Lang...2015.09 - Guidance, Please! Towards a Framework for RDF-Based Constraint Lang...
2015.09 - Guidance, Please! Towards a Framework for RDF-Based Constraint Lang...
 
2015.03 - The RDF Validator - A Tool to Validate RDF Data (KIM)
2015.03 - The RDF Validator - A Tool to Validate RDF Data (KIM)2015.03 - The RDF Validator - A Tool to Validate RDF Data (KIM)
2015.03 - The RDF Validator - A Tool to Validate RDF Data (KIM)
 
2014.12 - Let's Disco - 2 (EDDI 2014)
2014.12 - Let's Disco - 2 (EDDI 2014)2014.12 - Let's Disco - 2 (EDDI 2014)
2014.12 - Let's Disco - 2 (EDDI 2014)
 
2014.12 - Let's Disco (EDDI 2014)
2014.12 - Let's Disco (EDDI 2014)2014.12 - Let's Disco (EDDI 2014)
2014.12 - Let's Disco (EDDI 2014)
 
2014.10 - How to Formulate and Validate Constraints (DC 2014)
2014.10 - How to Formulate and Validate Constraints (DC 2014)2014.10 - How to Formulate and Validate Constraints (DC 2014)
2014.10 - How to Formulate and Validate Constraints (DC 2014)
 
2014.10 - Towards Description Set Profiles for RDF Using SPARQL as Intermedia...
2014.10 - Towards Description Set Profiles for RDF Using SPARQL as Intermedia...2014.10 - Towards Description Set Profiles for RDF Using SPARQL as Intermedia...
2014.10 - Towards Description Set Profiles for RDF Using SPARQL as Intermedia...
 
2014.10 - Requirements on RDF Constraint Formulation and Validation (DC 2014)
2014.10 - Requirements on RDF Constraint Formulation and Validation (DC 2014)2014.10 - Requirements on RDF Constraint Formulation and Validation (DC 2014)
2014.10 - Requirements on RDF Constraint Formulation and Validation (DC 2014)
 
The Next Generation of the Microdata Information System MISSY - An Integrated...
The Next Generation of the Microdata Information System MISSY - An Integrated...The Next Generation of the Microdata Information System MISSY - An Integrated...
The Next Generation of the Microdata Information System MISSY - An Integrated...
 
The New Microdata Information System (MISSY) - Integration of DDI-based Data ...
The New Microdata Information System (MISSY) - Integration of DDI-based Data ...The New Microdata Information System (MISSY) - Integration of DDI-based Data ...
The New Microdata Information System (MISSY) - Integration of DDI-based Data ...
 
Use Cases and Vocabularies Related to the DDI-RDF Discovery Vocabulary (EDDI ...
Use Cases and Vocabularies Related to the DDI-RDF Discovery Vocabulary (EDDI ...Use Cases and Vocabularies Related to the DDI-RDF Discovery Vocabulary (EDDI ...
Use Cases and Vocabularies Related to the DDI-RDF Discovery Vocabulary (EDDI ...
 
Towards the Discovery of Person-Level Data (SemStats, ISWC 2013) [2013.10]
Towards the Discovery of Person-Level Data (SemStats, ISWC 2013) [2013.10]Towards the Discovery of Person-Level Data (SemStats, ISWC 2013) [2013.10]
Towards the Discovery of Person-Level Data (SemStats, ISWC 2013) [2013.10]
 
2013.05 - IASSIST 2013 - 3
2013.05 - IASSIST 2013 - 32013.05 - IASSIST 2013 - 3
2013.05 - IASSIST 2013 - 3
 
2013.02 - 7th Workshop of German Panel Surveys
2013.02 - 7th Workshop of German Panel Surveys2013.02 - 7th Workshop of German Panel Surveys
2013.02 - 7th Workshop of German Panel Surveys
 
2012.12 - EDDI 2012 - Poster Demo
2012.12 - EDDI 2012 - Poster Demo2012.12 - EDDI 2012 - Poster Demo
2012.12 - EDDI 2012 - Poster Demo
 
2012.10 - DDI Lifecycle - Moving Forward - 3
2012.10 - DDI Lifecycle - Moving Forward - 32012.10 - DDI Lifecycle - Moving Forward - 3
2012.10 - DDI Lifecycle - Moving Forward - 3
 
2012.11 - ISWC 2012 - DC - 2
2012.11 - ISWC 2012 - DC -  22012.11 - ISWC 2012 - DC -  2
2012.11 - ISWC 2012 - DC - 2
 
2012.11 - ISWC 2012 - DC - 1
2012.11 - ISWC 2012 - DC - 12012.11 - ISWC 2012 - DC - 1
2012.11 - ISWC 2012 - DC - 1
 
2012.10 - DDI Lifecycle - Moving Forward - 3
2012.10 - DDI Lifecycle - Moving Forward - 32012.10 - DDI Lifecycle - Moving Forward - 3
2012.10 - DDI Lifecycle - Moving Forward - 3
 
2012.10 - DDI Lifecycle - Moving Forward - 2
2012.10 - DDI Lifecycle - Moving Forward - 22012.10 - DDI Lifecycle - Moving Forward - 2
2012.10 - DDI Lifecycle - Moving Forward - 2
 

Recently uploaded

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 

Recently uploaded (20)

Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 

2013.05 - IASSIST 2013 - 2

  • 1. A Technical Perspective on Use-Case-Driven Challenges for Software Architectures to Document Study and Variable Information IASSIST 2013 29.05.2013 Matthäus Zloch GESIS, Germany matthaeus.zloch@gesis.org Thomas Bosch GESIS, Germany thomas.bosch@gesis.org boschthomas@blogspot.com Dennis Wegener GESIS, Germany dennis.wegener@gesis.org 1
  • 2. Outline • What has already been said • Challenges for MISSY Software Developers • MISSY Software Architecture • Implementation of DISCO • Persistence Strategies 2
  • 3. Thomas Presentation • General information about MISSY • Next generation MISSY • Software architecture overview • Presentation layer and MISSY use cases • Business logic • data model • DDI-RDF Discovery Vocabulary
  • 5. Requirements to Software Developers • Focus lies on software reusability • must be stable and reliable • API must be clean and easy to extend • Flexible Web Application Framework and modern architecture • Service-oriented • Use of Semantic Web technologies • Complex data model to represent use-cases (seen in previous presentation) 5
  • 6. Requirements to Software Developers • Define and implement a common data model and • Different Persistence Strategies • Creation of an abstract framework and architecture • Should be well designed to be able to be extended and reusable • Available as open source software • Independent of end-user system 6
  • 8. Software Architecture – Design Goals • Separation of • Model, i.e. concepts and real life objects, that represents the use case • (Physical) Storage mechanisms • Logic that controls and provides services to manipulate the data • The representation of information itself • The key is to have logically separated parts, where people might work independently but collaboratively • Creation of a reusable and extendable abstract API 8
  • 9. Software Architecture • State-of-the-art technologies to develop software • Multitier architecture • Model-View-Controller (MVC-Pattern) • Maven Projects + Modules • Multitier architecture separates the project into logical parts • Presentation, application processing, data, persistence, … 9
  • 10. 10
  • 16. Data Model • DDI-RDF Discovery Vocabulary DISCO • designed for the discovery use-case • provides object types, properties and data type properties designed for discovery use-case • We use DISCO as the internal data model • Implemented in Java • Maps all object properties available • Subclass relationships through Java native inheritance 16
  • 17. 17
  • 18. Extendible Data Model • DISCO does not cover all use cases • Projects may have individual needs • DISCO-model objects may be extended 18 DISCO-Model Your Project-Model
  • 19. Extendible Data Model • DISCO does not cover all use cases • Projects may have individual needs • DISCO-model objects may be extended 19 Provide this as an API!!DISCO-Model Your Project-Model
  • 20. 20
  • 25. Persistence-Layer – Strategies • The application itself does not need to know how the data is (physically) stored • Methods are provided to access and store objects through data access objects • Actual implementation is “hidden” to the upper layers • A strategy is an implementation of the actual type of persistence or physical storage, respectively • e.g. DDI-L-XML, DDI-RDF, XML-DB, Relational-DB, etc. 25
  • 26. Persistence-Layer – Strategies • The application itself does not need to know how the data is (physically) stored • Methods are provided to access and store objects through data access objects • Actual implementation is “hidden” to the upper layers • A strategy is an implementation of the actual type of persistence or physical storage, respectively • e.g. DDI-L-XML, DDI-RDF, XML-DB, Relational-DB, etc. 26 disco- persistence api
  • 27. Persistence-Layer – Strategies • The application itself does not need to know how the data is (physically) stored • Methods are provided to access and store objects through data access objects • Actual implementation is “hidden” to the upper layers • A strategy is an implementation of the actual type of persistence or physical storage, respectively • e.g. DDI-L-XML, DDI-RDF, XML-DB, Relational-DB, etc. • Due to performance: 27 disco- persistence api disco-persistence relational
  • 28. Persistence-Layer – Strategies / Modules • disco-persistence-api • Defines persistence functionality for model components regardless of the actual type of physical persistence • disco-persistence-relational • Implements the persistence functionality defined in disco-persistence-api with respect to the usage of relational DBs • disco-persistence-xml • Implements the persistence functionality defined in disco-persistence-api with respect to the usage of DDI-XML • disco-persistence-rdf • Implements the persistence functionality defined in disco-persistence-api with respect to the usage of the disco-specification 28
  • 29. Persistence-Layer – Strategies / Modules • disco-persistence-api • Defines persistence functionality for model components regardless of the actual type of physical persistence • disco-persistence-relational • Implements the persistence functionality defined in disco-persistence-api with respect to the usage of relational DBs • disco-persistence-xml • Implements the persistence functionality defined in disco-persistence-api with respect to the usage of DDI-XML • disco-persistence-rdf • Implements the persistence functionality defined in disco-persistence-api with respect to the usage of the disco-specification 29
  • 30. 30
  • 36. Declaration of own Properties 36 project-model
  • 37. Missy Project API – Modules 37 persistence business presentation missy-editor-web missy-editor-core disco-model disco- persistence-api disco- persistence- relational missy-model missy- persistence-api missy- persistence- relational
  • 38. 38
  • 39. Thank you for your attention 39 Matthäus Zloch Team Architecture GESIS, Germany matthaeus.zloch@gesis.org The Missy Project http://github.com/missy-project