Object-relational mapping Author: Jaroslav Orság Diploma thesis supervisor: Ing. Augustín Mrázik.

Slides:



Advertisements
Similar presentations
Chapter 10: Designing Databases
Advertisements

Persistence Jim Briggs 1. 2 Database connectivity: JDBC Java Database Connectivity An API for connecting Java programs (applications, applets and servlets)
NHibernate Object/Relational Persistence for.NET.
Object Relational Mapping – ORM Entity Framework
Spring, Hibernate and Web Services 13 th September 2014.
.NET Database Technologies: Open-Source Frameworks.
Introduction To System Analysis and Design
Hibernate 1. Introduction ORM goal: Take advantage of the things SQL databases do well, without leaving the Java language of objects and classes. ORM.
Review Amit Shabtay. March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Where to learn more? What is for the.
Object Relational Mapping. What does ORM do? Maps Object Model to Relational Model. Resolve impedance mismatch. Resolve mapping of scalar and non-scalar.
ORM Object-Relational Mapping 1. Object Persistence Persistence is the ability of an object to survive the lifecycle of the process, in which it resides.
RIZWAN REHMAN, CCS, DU. Advantages of ORDBMSs  The main advantages of extending the relational data model come from reuse and sharing.  Reuse comes.
Session-01. Hibernate Framework ? Why we use Hibernate ?
Data Persistence and Object-Relational Mapping Slides by James Brucker, used with his permission 1.
Object Persistence and Object-Relational Mapping James Brucker.
Hibernatification! Roadmap for Migrating from Plain Old SQL on JDBC to JPA on Hibernate Duke Banerjee Senior Developer, DrillingInfo.com.
Chapter 24 Introduction to Object DBMSs Prepared by Kai Huang CS157B Prof Sin-Min Lee.
Information storage: Introduction of database 10/7/2004 Xiangming Mu.
Design Patterns.
Entity Framework Code First End to End
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Data Access Patterns Some of the problems with data access from OO programs: 1.Data source and OO program use different data modelling concepts 2.Decoupling.
NHibernate in Action Web Seminar at UMLChina By Pierre Henri Kuaté 2008/08/27
Object persistence with Hibernate in Decision Deck 1.1 Gilles Dodinet 2 nd Decision Deck Workshop 2008, February.
CHAPTER 14 USING RELATIONAL DATABASES TO PROVIDE OBJECT PERSISTENCE (ONLINE) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database.
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and.
12-CRS-0106 REVISED 8 FEB 2013 CSG2H3 Object Oriented Programming.
.NET Database Technologies: Data Models and Patterns.
Introduction To System Analysis and Design
Modern Database Techniques Part 1: Object Oriented Databases 3. Different Kinds of OODB.
Information System Development Courses Figure: ISD Course Structure.
Object Oriented Analysis and Design 1 Chapter 7 Database Design  UML Specification for Data Modeling  The Relational Data Model and Object Model  Persistence.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 14 Using Relational Databases to Provide Object Persistence (Overview) Modern Database.
JBoss at Work Databases and JBoss Chapter 4 Jeff Schmitt October 26, 2006.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
1 Mapping to Relational Databases Presented by Ramona Su.
Topic : Hibernate 2: Object Persistence and ORM Kaster Nurmukan.
(1) Introduction to Models using the Play Framework Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University.
Entity Framework Code First – Beyond the Basics Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant.
Oct * Brad Tutterow. VS 2008.NET 3.5LINQ Entity Framework  The ADO.NET Entity Framework is part of Microsoft’s next generation of.NET technologies.
Frameworks CompSci 230 S Software Construction.
JPA / HIBERNATE CSCI 6370 Nilayan Bhattacharya Sanket Sable.
CIS/SUSL1 Fundamentals of DBMS S.V. Priyan Head/Department of Computing & Information Systems.
Fall CIS 764 Database Systems Engineering L18.2 : Object Relational Mapping … ….Object persistence.
Topic : Hibernate 1 Kaster Nurmukan. An ORM tool The problem fixed by ORM Advantage Hibernate Hibernate Basic –Hibernate sessionFactory –Hibernate Session.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
1 Nov 29, 2005 Object Relational Mapping Frameworks Wiene Höweler.
Persistence – Iteration 4 Vancouver Bootcamp Aaron Zeckoski
Entity Framework Code First – Beyond the Basics Sergey Barskiy, Magenic Microsoft MVP – Data Platform Magenic, Principal Consultant Level: Introductory.
March 1, 2004CS WPI1 CS 509 Design of Software Systems Lecture #6 Monday, March 1, 2004.
Topic : Hibernate 1 Kaster Nurmukan. An ORM tool Used in data layer of applications Implements JPA.
Introduction – ORM, Helloworld Application
Fundamentals of MyBATIS
Singleton Academy, Pune. Course syllabus Singleton Academy Pune – Course Syllabus1.
Introduction to ORM Hibernate Hibernate vs JDBC. May 12, 2011 INTRODUCTION TO ORM ORM is a programming technique for converting data between relational.
CS422 Principles of Database Systems Object-Relational Mapping (ORM) Chengyu Sun California State University, Los Angeles.
Hibernate Online Training. Introduction to Hibernate Hibernate is a high-performance Object-Relational persistence and query service which takes care.
Hibernate Java Persistence API. What is Persistence Persistence: The continued or prolonged existence of something. Most Applications Achieve Persistence.
Introduction to Database Programming with Python Gary Stewart
HIBERNATE/Java Overview of technology for Hibernate by محمد حسن کاظمی پوران Master : M.M.Nematollahi.
New Technology: Why, What ,How
A very brief introduction
Object-Oriented Database Management System (ODBMS)
POOL persistency framework for LHC
Entity Framework By: Casey Griffin.
Developing and testing enterprise Java applications
Object Relational Mapping Tools
WCF Data Services and Silverlight
Presentation transcript:

Object-relational mapping Author: Jaroslav Orság Diploma thesis supervisor: Ing. Augustín Mrázik

Goal of Thesis Analysis of OOP principles, which should be supported by ORM frameworks Analyze some of the most important ORM frameworks (free, commercial) Compare reviewed frameworks  Brief qualified overview of ORM for developers and IT managers

Contents The Problem Kinds of Cooperation Patterns Analisis of Frameworks –Frameworks –Criteria Conclusion

The Problem (1) OOP Encapsulation Inheritance Polymorphism Class, Instance

The Problem (2) RDBMS Tables Views Stored Procedures Relations

The Problem (3) 2 different worlds (different paradigms) Different data representation Different data manipulation Different modeling techniques Semantic gap Impedance mismatch Problem appears in huge software projects with lots of entities

The Problem (4) Typical EIS Typical architecture of today’s information system

Kinds of cooperation (1) HTML + ASP + MS SQL (Example 1) –SQL statements in ASP(JScript, VB) code –Working with tuples (records) in ASP environment –Code is ugly –Sufficient for small projects

Kinds of cooperation (2).NET + MS SQL (Example 2) –Instruments for more sophisticated data manipulation (.net DataSets, DataTables) –It is possible (more simple) to create kind of own specific mapper –This mapper is not reusable –Java + JDBC + Oracle

Kinds of cooperation (3).NET + ORM + MS SQL (Example 3) –Reusable ORM mapper is used –Object model is created and appropriate relational model is created and maintained by mapper

Mapping Approaches Do It Yourself (Example 1 & 2) Free or commercial software (Example 2 & 3) Approaches used by 3 rd party tools (mappers) –Entity approach Data are just data - use of objects without behavior Special classes for changing state of objects (objects are parameters of static methods of so-called management classes) Since ’70-ies –Domain model approach No management classes Persistent objects contains behavior Possible use of polymorphism to override behavior True ORM mappers

Patterns (1) Mapping of inheritance –One inheritance tree – one table

Patterns (2) Mapping of inheritance –One class – one table

Patterns (3) Mapping of inheritance –One concrete class – one table

Patterns (4) Mapping of inheritance –Generic table structure

Patterns (5) Mapping of aggregation –Single table aggregation

Patterns (6) Mapping of aggregation –Foreign key aggregation

Performance Caching Lazy loading Delayed updates

Configuration Attribute-oriented programming Configuration files

Analysis of Frameworks DataObjects.NET Hibernate TopLink LLBLGenPro Java Data Object (JDO)

Analysis Aspects Architecture Criteria –Transparency –Documentation & support –Dependencies, supported platforms, portability –Maintainability of model –Usability –Configuration vs. automation –Constraints on design of object model

Framework Overview

Conclusion Work brings orientation within given topic and can serve as a guide when deciding which framework to use Evaluation presented in this work cannot be considered to be general for any purpose / problem ("one size fits all...") Different frameworks are designed for different situations Results of this work can serve as a guide for evaluation of frameworks for a particular development project

Odpovede (1) Kompilačná práca

Odpovede (2) “Autor vychádza najmä z troch prác, pričom štruktúra textu (kapitoly a podkapitoly) spracovaného textu nápadne pripominajú jeden z citovaných zdrojov.”

Odpovede (3) “Kvalita grafického spracovania príkladov/obrázkov nezodpovedá zvyšku práce, a v čitateľovi podobne vzbudzuje pochybnosti o ich pôvode.”

Odpovede (4) Porovnanie frameworkov a kritériá

Odpovede (5) Anglický jazyk

Odpovede (6) Použitá literatúra, zdroje

Questions …