Persistente Domänenmodelle mit JPA 2.0 und Bean Validation

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Objektrelationales Mapping mit JPA
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
Warum Objektorientierung?
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
1 Prof. Dr. Andreas SchmietendorfWS06/07 – Labor C/S-Programmierung Übung 4 Mehrstufige Client/Server-Systeme mit JSPs, Servlets und JavaBeans (Web-Container)
Datenbankzugriff im WWW (Kommerzielle Systeme)
Microsoft Access – Einführung – Allgemeine Technologien I
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Ruby on Rails im Überblick
Verbs Used Impersonally With Dative Deutsch I/II Fr. Spampinato.
Objektrelationales Mapping mit JPA
Zusammenfassung / Ausblick Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Architektur, Design oder Implementation? Ulrich Schulz, Sebastian Ordyniak.
Cassey - Common Answer Set Evaluation sYstem Jean Gressmann Benjamin Kaufmann Robert Lenk.
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung.
XDoclet ETIS SS05.
Transaction Script Software Component Technology for Distributed Applications.
Modellierung der Zugriffslogik auf Datenbanktabellen Software Component Technology for Distributed Applications Andreas Fink.
Explizite und editierbare Metainformationen für Software Muster.
Software Design Patterns Extreme Programming (XP).
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Erweiterung von Eclipse als Entwicklungs-Plattform aus Sicht des Eclipse-Boardmitgliedes TogetherSoft Together auf Basis von Eclipse.
OO Analyse und Entwurf für Anwender XIII. Objektorientierte Benutzeroberfäche Dr. Michael Löwe.
Forschungszentrum Informatik, Karlsruhe Objektorientierte Systeme unter der Lupe Markus Bauer Oliver Ciupke.
Herzlich Willkommen… welcome… soyez la bienvenue….
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
„Buy and Make“ anstelle von „Make or Buy“
Architekturen und Techniken für computergestützte Engineering Workbenches.
Institut für Informatik III, Universität Bonn, c/o 2001, Präsentation Agenten, Objekte, Komponenten - Agenten, Objekte, Komponenten - ein Paradigma-Vergleich.
Bean Validation JSR-303 Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
LV-Programm der BBWL „Wirtschaftsinformatik“
Spring Framework.
Design Patterns Ein Muster (pattern) ist eine Idee, die sich in einem praktischen Kontext als nützlich erwiesen hat und dies auch in anderen sein wird.
Clean Code Software-Entwicklung als Handwerkskunst Thomas Nagel, November 2011.
EPROG Tutorium #4 Philipp Effenberger
Datenanbindung in Webapplikationen
Negation is when you dont have or dont do something.
Objektorientierung.
Wo wohnst du? Objektiv To talk about where you live and your opinions of it MUST be able to recall vocabulary to do with where you live SHOULD be able.
Coordinating Conjunctions Why we need them & how to use them deutschdrang.com.
Generative Softwareentwicklung in der Praxis Olaf Kaus, „Java User Group“, Hannover 6.Oktober 2003.
Kompetenz in Informations-Technologie MDA & K&A.
Reading for inference. Hat Silvana Koch-Mehrin abgeschrieben? Immer neue Fundstellen in der Doktorarbeit der FDP-Spitzenfrau deuten darauf hin. Sie selbst.
Seite 1 © 2007 Dr. Schwaiger Roland VP SW-Technologien WS 2007/2008 VP Softwaretechnologien WS2007/2008 SAP GUI Pattern und Componentry Dr.
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Die Vergangenheit – the past Das Perfekt – spoken past tense.
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
XML Seminar: XP und XML 1 XP and XML Gregor Zeitlinger.
MDA – Model Driven Architecture
O/R - Mapper Hibernate ETIS SS04. Hibernate 2 Gliederung Motivation Architektur Persistente Klassen Mapping-Files Konfiguration und Datenbanken Ablauf.
Design Pattern1 Motivation Entwurfsmuster Entwurf wiederverwendbarer objektorientierter Software schwer gute Entwürfe entstehen durch Wiederverwen- dung.
KLIMA SUCHT SCHUTZ EINE KAMPAGNE GEFÖRDERT VOM BUNDESUMWELTMINISTERIUM Co2 online.
Objektorientierte (OO) Programmierung
Phonics Lessons Grade 1 Adapted from: Phonics Lessons by Gay Su Pinnell & Irene C. Fountas Grade 1, page 431 caatt If you knowIt helps you know.
Game Loop & Update Method Robert Nystrom – Game Programming Patterns Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung SS.
Seite 1 Michael D. Kickmeier-Rust i FX Eyetracking Analysis © Michael D. Kickmeier-Rust.
Environment problems The problems - The problem of waste  too much trash -People use too much cars -Oil platform accidents -Exhaust gas pollution -Deforestation.
© 2012 TravelTainment Datenbankzugriffe in Java-Applikationen mit Hilfe des Spring Frameworks Simon Wirtz Seminarvortrag WS 13/14 Oktober 2013.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34.
Technik und Informatik Project STUMR Team „olimination“ Datum 18. Januar 2011 Eine Präsentation von: Remo Albertani Oliver Burkhalter Steven Heller Thomas.
Apache Camel Christian Schneider
Jakarta Struts Quasi-Standard für JSP-basierte Entwicklung: Jakarta Struts Key Features von Struts: Implementierung des Action-Command-Pattern („Model.
Deutsch 1 Die Familie Frau Spampinato
Students have revised SEIN and HABEN for homework
 Präsentation transkript:

Persistente Domänenmodelle mit JPA 2.0 und Bean Validation Das Domain Model Persistente Domänenmodelle mit JPA 2.0 und Bean Validation 1

History Das Domain Model ist klassischerweise ein Artefakt aus der Analyse und nicht ein Artefakt aus der Programmierung. Dokumentation der Schlüssel-Konzepte und Fach-Vokabular Mit der Objekt-Orientierten Programmierung und modernen Platformen kann ein Domain Model (mehr oder weniger) direkt in Code abgebildet werden. PoEAA: Martin Fowler listed das Domain Model als Programmier-Pattern auf Kontrast zu Transaction Script und Table Module UML!

Das Pattern “An object model of the domain that incorporates both behavior and data.” Anwendung von bewährten OO-Techniken für die Implementation der Geschäftslogik: Kapselung, Vererbung, Polymorphie, Design Patterns ... OO verspricht: bessere Skalierung bei zunehmender Komplexität bessere Erweiterbarkeit bessere Wartbarkeit weniger Redundanz

Technologie Fokus auf «reine» objekt-orientierte Programmierung Kontrast zu infrastruktur-lastigen und OO-feindlichen Technologien wie EJB2 oder JDBC-Resultsets POJOs – Plain Old Java Objects Fowler et al, 2000 Keine Abhängigkeiten, keine Konventionen Freiheit im OO-Design

Architektur: Domain Layer Zentralisierung und Lokalisierung von Business Logik (DRY) Context independent Persistence Ignorance Wiederverwendb

Zwei typische Herausforderungen Peristence-Ignorance Testbarkeit Wiederverwendbarkeit Freiheit im OO-Design ORM mit JPA bietet einen Lösungsansatz Zentralisierung der Validierungs-Logik Validierung auf verschiedenen Ebenen (UI, Business-Logik, DB) Bean Validation bietet einen Lösungsansatz

Klassen + Metadaten Klassen werden mit Metadaten angereichert Metadaten sind verantwortlich für einen speziellen (infrastruktur) Concern Metadaten werden zu Laufzeit von einer Runtime konsumiert Kern-Logik bleibt entkoppelt von den Metadaten Klassisch in XML Seit JDK 5 als annotations First level language construct, weniger Artefakte Aber: Abweichung von POJO

Domain Modeling is not about the Tool! POJOs -> Rückkehr zu klassischen Werten der Objekt-Orientierten Programmierung Domain Driven Design by Eric Evans If everyone agrees that it's obviously correct: that the system has layers the one at the top is a website the one at the bottom is a database ...then you probably don´t have much of a domain! Note that adding an ORM layer does not magically create a domain! - Keith Braithwaite

Anwendbarkeit des Domain Model Patterns Der Einsatz des Domain Model Patterns macht vor allem Sinn für die Umsetzung von komplexer, erweiterbarer und wartbarer Geschäftslogik Der Einsatz der Technologien JPA und BeanValidation kann auch ohne Umsetzung des Domain Model Patterns Sinn machen.