SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Andere mochten auch

Huesos de la mano y pie
Huesos de la mano y pieHuesos de la mano y pie
Huesos de la mano y piegaby vallejo
 
Presentación do proxecto (2)
Presentación do proxecto (2)Presentación do proxecto (2)
Presentación do proxecto (2)teteg662
 
Pres Ip Label Newtest Octobre 2008 Nl (2)
Pres Ip Label Newtest Octobre 2008 Nl (2)Pres Ip Label Newtest Octobre 2008 Nl (2)
Pres Ip Label Newtest Octobre 2008 Nl (2)runderkamp
 
Media kit k_cubeventures_media_eng1602
Media kit k_cubeventures_media_eng1602Media kit k_cubeventures_media_eng1602
Media kit k_cubeventures_media_eng1602K Cube Ventures
 
Escuela superior politécnica de chimborazo
Escuela superior politécnica de chimborazoEscuela superior politécnica de chimborazo
Escuela superior politécnica de chimborazogaby vallejo
 
PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008Krit Kamtuo
 
The kitchen language basic english
The kitchen language basic englishThe kitchen language basic english
The kitchen language basic englishteteg662
 
anatomia y fisiologia del aparato reproductor femenino
 anatomia y fisiologia del aparato reproductor femenino anatomia y fisiologia del aparato reproductor femenino
anatomia y fisiologia del aparato reproductor femeninoUNEMI
 
SBI Magnum Balanced Fund: An Open-ended Balanced Scheme - Dec 16
SBI Magnum Balanced Fund: An Open-ended Balanced Scheme - Dec 16SBI Magnum Balanced Fund: An Open-ended Balanced Scheme - Dec 16
SBI Magnum Balanced Fund: An Open-ended Balanced Scheme - Dec 16SBI Mutual Fund
 
Computer Architecture
Computer ArchitectureComputer Architecture
Computer ArchitecturePAF KIET
 
Presentation on formation of company (pakistan)
Presentation on formation of company (pakistan)Presentation on formation of company (pakistan)
Presentation on formation of company (pakistan)Arshad Islam
 
21 pared y suelo pélvico
21 pared y suelo pélvico21 pared y suelo pélvico
21 pared y suelo pélvicoSergio Cárdenas
 
Unit 42 design_for_advertising
Unit 42 design_for_advertisingUnit 42 design_for_advertising
Unit 42 design_for_advertisingJo Lowes
 

Andere mochten auch (18)

Huesos de la mano y pie
Huesos de la mano y pieHuesos de la mano y pie
Huesos de la mano y pie
 
Presentación do proxecto (2)
Presentación do proxecto (2)Presentación do proxecto (2)
Presentación do proxecto (2)
 
Pres Ip Label Newtest Octobre 2008 Nl (2)
Pres Ip Label Newtest Octobre 2008 Nl (2)Pres Ip Label Newtest Octobre 2008 Nl (2)
Pres Ip Label Newtest Octobre 2008 Nl (2)
 
Media kit k_cubeventures_media_eng1602
Media kit k_cubeventures_media_eng1602Media kit k_cubeventures_media_eng1602
Media kit k_cubeventures_media_eng1602
 
Escuela superior politécnica de chimborazo
Escuela superior politécnica de chimborazoEscuela superior politécnica de chimborazo
Escuela superior politécnica de chimborazo
 
Contemporary Islamic Banking
Contemporary Islamic BankingContemporary Islamic Banking
Contemporary Islamic Banking
 
Animals
AnimalsAnimals
Animals
 
PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008PHP Enhancement with Windows Server 2008
PHP Enhancement with Windows Server 2008
 
Fred_Plumier_PhD_Slides
Fred_Plumier_PhD_SlidesFred_Plumier_PhD_Slides
Fred_Plumier_PhD_Slides
 
The kitchen language basic english
The kitchen language basic englishThe kitchen language basic english
The kitchen language basic english
 
anatomia y fisiologia del aparato reproductor femenino
 anatomia y fisiologia del aparato reproductor femenino anatomia y fisiologia del aparato reproductor femenino
anatomia y fisiologia del aparato reproductor femenino
 
SBI Magnum Balanced Fund: An Open-ended Balanced Scheme - Dec 16
SBI Magnum Balanced Fund: An Open-ended Balanced Scheme - Dec 16SBI Magnum Balanced Fund: An Open-ended Balanced Scheme - Dec 16
SBI Magnum Balanced Fund: An Open-ended Balanced Scheme - Dec 16
 
Computer Architecture
Computer ArchitectureComputer Architecture
Computer Architecture
 
Presentation on formation of company (pakistan)
Presentation on formation of company (pakistan)Presentation on formation of company (pakistan)
Presentation on formation of company (pakistan)
 
21 pared y suelo pélvico
21 pared y suelo pélvico21 pared y suelo pélvico
21 pared y suelo pélvico
 
Formation of a Company
Formation of a Company Formation of a Company
Formation of a Company
 
Ppp josivaldo augusto
Ppp josivaldo augustoPpp josivaldo augusto
Ppp josivaldo augusto
 
Unit 42 design_for_advertising
Unit 42 design_for_advertisingUnit 42 design_for_advertising
Unit 42 design_for_advertising
 

Ähnlich wie Zloch, Bosch, Wegener: A technical perspective...

NoSQL Simplified: Schema vs. Schema-less
NoSQL Simplified: Schema vs. Schema-lessNoSQL Simplified: Schema vs. Schema-less
NoSQL Simplified: Schema vs. Schema-lessInfiniteGraph
 
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 workshopDenodo
 
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 StandardsNeo4j
 
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...matteo mazzeri
 
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 HadoopWilfried Hoge
 
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èsIBMInfoSphereUGFR
 
2014.07.11 biginsights data2014
2014.07.11 biginsights data20142014.07.11 biginsights data2014
2014.07.11 biginsights data2014Wilfried Hoge
 
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, 2017Debraj GuhaThakurta
 
Objectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL DatabaseObjectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL DatabaseInfiniteGraph
 
Model-Driven Cloud Data Storage
Model-Driven Cloud Data StorageModel-Driven Cloud Data Storage
Model-Driven Cloud Data Storagejccastrejon
 
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 EssentialBigDataExpo
 
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...Databricks
 

Ähnlich wie Zloch, Bosch, Wegener: A technical perspective... (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...
 

Mehr von GESIS - Leibniz-Institut für Sozialwissenschaften (8)

Brislinger, Recker: Keeping data re-usable in the evs
Brislinger, Recker: Keeping data re-usable in the evsBrislinger, Recker: Keeping data re-usable in the evs
Brislinger, Recker: Keeping data re-usable in the evs
 
Bosch, Wackerow: Linked data on the web
Bosch, Wackerow: Linked data on the web Bosch, Wackerow: Linked data on the web
Bosch, Wackerow: Linked data on the web
 
Baum, Kempf: Thesaurus based indexing
Baum, Kempf: Thesaurus based indexingBaum, Kempf: Thesaurus based indexing
Baum, Kempf: Thesaurus based indexing
 
Kempf, Sondergeld: Indicator-Based Monitoring of an Interdisciplinary Field o...
Kempf, Sondergeld: Indicator-Based Monitoring of an Interdisciplinary Field o...Kempf, Sondergeld: Indicator-Based Monitoring of an Interdisciplinary Field o...
Kempf, Sondergeld: Indicator-Based Monitoring of an Interdisciplinary Field o...
 
Recker, Schumann: De-mystifying OAIS compliance
Recker, Schumann: De-mystifying OAIS complianceRecker, Schumann: De-mystifying OAIS compliance
Recker, Schumann: De-mystifying OAIS compliance
 
Von der Ein-Datenbank-Suche zum verteilten Suchszenario: Zum Aufbau von Cross...
Von der Ein-Datenbank-Suche zum verteilten Suchszenario: Zum Aufbau von Cross...Von der Ein-Datenbank-Suche zum verteilten Suchszenario: Zum Aufbau von Cross...
Von der Ein-Datenbank-Suche zum verteilten Suchszenario: Zum Aufbau von Cross...
 
Nah am Nutzer (Steinberg) - Konzept und Umsetzung eines Discovery-Services mi...
Nah am Nutzer (Steinberg) - Konzept und Umsetzung eines Discovery-Services mi...Nah am Nutzer (Steinberg) - Konzept und Umsetzung eines Discovery-Services mi...
Nah am Nutzer (Steinberg) - Konzept und Umsetzung eines Discovery-Services mi...
 
Linking for learning by Thomas Bosch
Linking for learning by Thomas BoschLinking for learning by Thomas Bosch
Linking for learning by Thomas Bosch
 

Kürzlich hochgeladen

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 

Zloch, Bosch, Wegener: A technical perspective...

  • 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