DDI & Model-View-Controller: An Architectural Perspective Dennis Wegener, Matthäus Zloch, Thomas Bosch (GESIS) Dagstuhl, 23.10.2012.

Slides:



Advertisements
Similar presentations
Pierre-Johan CHARTRE Java EE - JAX-RS - Pierre-Johan CHARTRE
Advertisements

Dr. Leo Obrst MITRE Information Semantics Information Discovery & Understanding Command & Control Center February 6, 2014February 6, 2014February 6, 2014.
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
CTS2 DEVELOPMENT FRAMEWORK CTS2 Overview. Schedule What is it? Why a framework? What does this do for me? Plugins Implementations available now CTS2 Compliance.
The eXtensible Markup Language (XML) An Applied Tutorial Kevin Thomas.
General introduction to Web services and an implementation example
Logics for Data and Knowledge Representation Projects and thesis introduction.
Web Services Seminar: Service Description Languages
AHRT: The Automated Human Resources Tool BY Roi Ceren Muthukumaran Chandrasekaran.
Common Terminology Services 2 (CTS2)
Spring, Hibernate and Web Services 13 th September 2014.
™ Suggestions for Semantic Web Interfaces to Relational Databases Mike Dean W3C Workshop on RDF Access to Relational Databases Cambridge,
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Peoplesoft: Building and Consuming Web Services
06 | Implementing Web APIs Jon Galloway | Tech Evangelist Christopher Harrison | Head Geek.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
CS 415 N-Tier Application Development By Umair Ashraf July 6,2013 National University of Computer and Emerging Sciences Lecture # 9 Introduction to Web.
UNIT-V The MVC architecture and Struts Framework.
Semantic Sensor/Device Description System EEEM042-Mobile Applications and Web Services Assignment- Spring Semester 2015 Prof. Klaus Moessner, Dr Payam.
CSS/417 Introduction to Database Management Systems Workshop 5.
Raffaele Di Fazio Connecting to the Clouds Cloud Brokers and OCCI.
LexEVS 6.0 Overview Scott Bauer Mayo Clinic Rochester, Minnesota February 2011.
BTS430 Systems Analysis and Design using UML Domain Model Part 1—Finding Conceptual Classes.
1 Another group of Patterns Architectural Patterns.
Košice, 10 February Experience Management based on Text Notes The EMBET System Michal Laclavik.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Nadir Saghar, Tony Pan, Ashish Sharma REST for Data Services.
FlexElink Winter presentation 26 February 2002 Flexible linking (and formatting) management software Hector Sanchez Universitat Jaume I Ing. Informatica.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
RESTful Web Service 2014 년 12 월 한연희
Chapter 38 Persistence Framework with Patterns 1CS6359 Fall 2011 John Cole.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Representational State Transfer (REST). What is REST? Network Architectural style Overview: –Resources are defined and addressed –Transmits domain-specific.
A Generic Multilevel Approach for Designing Domain Ontologies Based on XML Schemas 3rd Annual European DDI Users Group Meeting (EDDI 2011) Thomas.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
RDF David R Newman 15 May 2009.
CHAPTER 3 MODELING COMPONENT-LEVEL DESIGN.
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-
OpenMRS Create New Module.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
Concept mining for programming automation. Problem ➲ A lot of trivial tasks that could be automated – Add field Patronim on Customer page. – Remove field.
Semantic Domain Specific Language for Wireless Experimentation Milorad Tosic and Ivan Seskar (CordSS, FLEX & ORBIT)
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
Chapter 04 Semantic Web Application Architecture 23 November 2015 A Team 오혜성, 조형헌, 권윤, 신동준, 이인용.
INFN OCCI implementation on Grid Infrastructure Michele Orrù INFN-CNAF OGF27, 13/10/ M.Orrù (INFN-CNAF) INFN OCCI implementation on Grid Infrastructure.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
SysML v2 Model Interoperability & Standard API Requirements Axel Reichwein Consultant, Koneksys December 10, 2015.
Eclipse Vorto Alexander Edelmann.
Better RESTFul API – Best Practices
WEB SERVICES.
CMPE 280 Web UI Design and Development October 24 Class Meeting
Entity Framework 4 and WCF Data Services 4
Ashish Pandit IT Architect, Middleware & Integration Services
WEB API.
The Re3gistry software and the INSPIRE Registry
Data, Databases, and DBMSs
Middleware, Services, etc.
LOD reference architecture
Create Your Own Information Systems on the Basis of DDI-Lifecycle
RDF David R Newman 15 July 2009.
The Next Generation of the Microdata Information System MISSY: An Integrated Solution for the Documentation of European Microdata European DDI User Conference,
Web APIs In computer programming, an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application.
WCF Data Services and Silverlight
Chengyu Sun California State University, Los Angeles
SDMX IT Tools SDMX Registry
Presentation transcript:

DDI & Model-View-Controller: An Architectural Perspective Dennis Wegener, Matthäus Zloch, Thomas Bosch (GESIS) Dagstuhl,

Page 2 Overview Architecture Missy/StarDat Presentation Business Logic Abstract Persistence MVC Persistence

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) –Concrete modules for each project that Inherit from abstract ddi module Add project-specific data fields Sharing via VersionControlSystem –Project sources in internal VCS (GESIS-SVN) –Data Module shared externally (GIT) DDI model DDI model + Missy Extensions DDI model + StarDat Extensions

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 –Element URI (like 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

Page 9 Missy Extension DDI Ontology

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?

Architecture - LOD LOD compatibility –abstract data model based on DDI ontology –Ontology as rdf already available Services and Interfaces –based on abstract model –E.g. SPARQL endpoint, export,…

StarDat example

Missy Software Architecture