Fall 2008 1 CIS 764 Database Systems Engineering L18.2 : Object Relational Mapping … ….Object persistence.

Slides:



Advertisements
Similar presentations
V 6, Mats Strandberg ORM With Hibernate.
Advertisements

Introduction to the Spring Framework
An Object/Relational Mapping tool Free and open source Simplifies storage of object data in a relational database Removes the need to write and maintain.
CACORE TOOLS FEATURES. caCORE SDK Features caCORE Workbench Plugin EA/ArgoUML Plug-in development Integrated support of semantic integration in the plugin.
Spring, Hibernate and Web Services 13 th September 2014.
.NET Database Technologies: Open-Source Frameworks.
An Agile Approach for Web Systems Engineering A Presentation of an Article by V.E.S. Souza and R.A. Falbo.
Fall CIS 764 Database Systems Engineering L13: Status: grading, assignments, tutorials, presentations projects.
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Database Systems Presented by Rubi Boim 1.  Bureaucracy…  Database architecture overview  Buzzwords  SSH Tunneling  Intro to Oracle  Comments on.
Hibernate 1. Introduction ORM goal: Take advantage of the things SQL databases do well, without leaving the Java language of objects and classes. ORM.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
Object Relational Mapping. What does ORM do? Maps Object Model to Relational Model. Resolve impedance mismatch. Resolve mapping of scalar and non-scalar.
Session-01. Hibernate Framework ? Why we use Hibernate ?
Using Third-Party Frameworks in Building Blocks™ David Ashman Principal Architect, Product Development.
Data Persistence and Object-Relational Mapping Slides by James Brucker, used with his permission 1.
Cool:gen CIS 764, Fall 2007 Presentation By Mandar Haridas.
Object Persistence and Object-Relational Mapping James Brucker.
Introduction to JPA Java Persistence API Introduction to JPA.
Hibernatification! Roadmap for Migrating from Plain Old SQL on JDBC to JPA on Hibernate Duke Banerjee Senior Developer, DrillingInfo.com.
Praxis Softek Solutions Statement Of Qualification – J2EE.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
Fall CIS 764 Database Systems Engineering L3: Two Assignments Relating to J2EE.
Fall CIS 764 Database Systems Design L18.1 Miscellaneous Notes.
Compuware Corporation Business Driven SOA Edwin Schumacher Director of Product Management
Fall CIS 764 Database Systems Design L15. Jobs … and jobs related to 764 general trends report of jobs homework relationship.
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.
Fall CIS 764 Database Systems Engineering L3: Status Reverse Engineering Assignment JDeveloper Assignment.
NHibernate in Action Web Seminar at UMLChina By Pierre Henri Kuaté 2008/08/27
Entity Beans BMP Celsina Bignoli
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.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Seminar on. Overview Hibernate. What is it? Hibernate. How does it work? Hibernate Tools.
Entity Framework Overview. Entity Framework A set of technologies in ADO.NET that support the development of data-oriented software applications A component.
Object Oriented Analysis and Design 1 Chapter 7 Database Design  UML Specification for Data Modeling  The Relational Data Model and Object Model  Persistence.
Fall CIS 764 Database Systems Engineering L13: Status: grading, assignments, tutorials, presentations projects
Fall CIS 764 Database Systems Engineering L7. EJB’s.
Fall CIS 764 Database Systems Engineering L6. ADF Overview: Oracle Application Development Framework: Fusion Middleware.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 14 Using Relational Databases to Provide Object Persistence (Overview) Modern Database.
Hibernate Persistence. What is Persistence Persist data to database or other storage.  In OO world, persistence means persist object to external storage.
Hibernate 3.0. What is Hibernate Hibernate is a free, open source Java package that makes it easy to work with relational databases. Hibernate makes it.
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.
Fall CIS 764 Database Systems Engineering L7. ADF + EJB Context: Oracle Application Development Framework …but … only EJB.
Ganymede Simultaneous Release | © 2008 by Springsite B.V., The Netherlands made available under the EPL v1.0 Teneo Ganymede Simultaneous Release.
JPA / HIBERNATE CSCI 6370 Nilayan Bhattacharya Sanket Sable.
CS453: Databases and State in Web Applications (Part 2) Prof. Tom Horton.
Topic : Hibernate 1 Kaster Nurmukan. An ORM tool The problem fixed by ORM Advantage Hibernate Hibernate Basic –Hibernate sessionFactory –Hibernate Session.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
1 Nov 29, 2005 Object Relational Mapping Frameworks Wiene Höweler.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Persistence – Iteration 4 Vancouver Bootcamp Aaron Zeckoski
Taking stock of database 'standards' activities Some topics for discussion Mike Newton JTC1 SC32N1640.
Topic : Hibernate 1 Kaster Nurmukan. An ORM tool Used in data layer of applications Implements JPA.
Introduction – ORM, Helloworld Application
Fundamentals of MyBATIS
Performance, Profiling, & Optimization Tools for Enterprise Java Applications S. Ray Holder Michael J. Donahoo.
Sean Chambers.  ORM stands for Object Relational Mapper  Maps your POCO (plain old clr objects) to your relational model using XML config  Relieves.
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.
CS520 Web Programming Object-Relational Mapping with Hibernate and JPA (I) Chengyu Sun California State University, Los Angeles.
CMPE 226 Database Systems April 19 Class Meeting Department of Computer Engineering San Jose State University Spring 2016 Instructor: Ron Mak
CS 440 Database Management Systems Stored procedures & OR mapping 1.
Hibernate Java Persistence API. What is Persistence Persistence: The continued or prolonged existence of something. Most Applications Achieve Persistence.
Fall CIS 764 Database Systems Engineering L11: Object Relational Mapping … (a) ORM, Object persistence (b) Pets sequence.
New Technology: Why, What ,How
Teneo Ganymede Simultaneous Release Graduation Review
Developing and testing enterprise Java applications
Presentation transcript:

Fall CIS 764 Database Systems Engineering L18.2 : Object Relational Mapping … ….Object persistence

Fall CIS 764 Database Systems Engineering Objects are transient.. they last as long as run environment is alive (as long as a middleware session) Object persistence is the automatic save/load of object state to some persistent storage form (e.g. persisting between sessions). Example storage: binary data files (e.g. Word doc) XML files (e.g. UML XMI) relational data base (using SQL) <<<< Object data base Note: first three save only the state, not the methods.

Fall CIS 764 Database Systems Engineering Object persistence there are two issues: the form (format) of persistent storage the mapping of scalar data values. (e.g. Java and Oracle data types are not identical).

Fall CIS 764 Database Systems Engineering Objects to relational data base (using SQL) is Object-Relational-Mapping. It can go both ways: objects -> tables tables -> objects (you used this in ADF assignment) Which way do we want to go?

Fall 2008http:// 5 CIS 764 Database Systems Engineering Which way do we want to go? Ans1: Design at the conceptual level: ER conceptual domain model (class model) Ans2: Build web applications for existing tables. Ans2a: tuning the DB and sync the model

Fall CIS 764 Database Systems Engineering Impedance mismatch … refers to the difference in concepts between object models and table model. There is (IMHO) a reasonable mapping of object concepts to tables; not so clear mapping backwards. See following for discussions of mismatch:

Fall CIS 764 Database Systems Engineering Impedance mismatch … some issues: * single persistent object may spans several tables * objects "ownership“ ↔ relational * Objects have "getters"; expensive to submit several queries for single row; use Value object w “putAll”, “getAll” methods. * RDBMSs are faster on global queries; object faster for small scope (single objects). * inefficient to keep objects synchronized with database

Fall CIS 764 Database Systems Engineering One suggestion is to map to object database: not for 764 focus … inefficient for object persistence in 3 layer model not likely transition for existing DB applications.

Fall CIS 764 Database Systems Engineering OR tools available for most language platforms and target DBMS:

Fall CIS 764 Database Systems Engineering Toplink ( 1990 Smalltalk, ~ 1995 Java) purchased by Oracle in 2002 objects and beans to DB or XML (targets multiple DBs) integrated with JDeveloper; … donated for open source Eclipse project, … used for Sun EJB3 reference implemenation …. You implicitly used it for ADF homework

Fall CIS 764 Database Systems Engineering JDO Java Data Objects (~2003) a standard interface-based Java model abstraction of persistence; applications are portable, and independent of the underlying database (provided there is a JDO mapping) can be used with POJO or with EJB; uses a persistence manager class; but... has not been a dominant technology

Fall CIS 764 Database Systems Engineering Hibernate (~2004) express queries in SQL extension (HQL) or native SQL or with an object-oriented Criteria and Example API; open source project ; entity manager for EJB3.0; generates a configuration file that defines the mapping key component of JBoss ( integrates with Eclipse the major ORM tool. (See also Gardner Hibernate slides)

Fall CIS 764 Database Systems Engineering NHibernate …. port of the core to the.NET Framework; Suspend2 … Linux equivalenthttp://

Fall 2008http:// 14 CIS 764 Database Systems Engineering Ruby-on-Rails a "full-stack" framework for developing DB web applications; follows the Model-View-Control pattern; includes Active Record persistence framework; an "agile programming" approach... based on the Ruby language (~1995) “Active Record” name comes from the pattern for object that wraps a DB row ( e.g. an entity ejb). See also Enterprise patterns <<<<<<<<<<<<<<<<<<<<

Fall CIS 764 Database Systems Engineering Django (~2005) a high-level Python Web DB framework includes ORM … configuration defined in Python code. Includes a sample app in the tutorial.

Fall CIS 764 Database Systems Engineering end.