A JPA Framework for NoSQL Store behind Integrated Collaboration Object Model Eric S. Chan Object Model Architect Oracle Corporation Philip Y Bell Collaboration.

Slides:



Advertisements
Similar presentations
Introduction to the Spring Framework
Advertisements

2 A bank application needs to access information from the customer database and integrate it with loan credit history information stored in a legacy database.
Persistence Jim Briggs 1. 2 Database connectivity: JDBC Java Database Connectivity An API for connecting Java programs (applications, applets and servlets)
Spring, Hibernate and Web Services 13 th September 2014.
JNDI Java Naming Directory Interface JNDI is an API specified in Java that provides naming and directory functionality to applications written in Java.
An architecture for webb applications, J2EE
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.
Oracle Beehive Vivek Pavle Orabyte LLC Orabyte.
 Java  Python  Bigtable(Bt) is a distributed storage system for managing structured data that is designed to scale to a very large size.  Query Language.
Hibernate 1. Introduction ORM goal: Take advantage of the things SQL databases do well, without leaving the Java language of objects and classes. ORM.
Software Services for Social Network tools implementation Aleksandar Dimov, PhD Sofia University
E-business Architecture.NET vs J2EE Judith Molka-Danielsen Feb.27, 2004.
OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux
® IBM Software Group © IBM Corporation IBM Information Server Deliver – Federation Server.
Session-01. Hibernate Framework ? Why we use Hibernate ?
® IBM Software Group © IBM Corporation IBM Information Server Service Oriented Architecture WebSphere Information Services Director (WISD)
An Introduction to Hibernate Matt Secoske
Data Persistence and Object-Relational Mapping Slides by James Brucker, used with his permission 1.
Object Persistence and Object-Relational Mapping James Brucker.
Introduction to JPA Java Persistence API Introduction to JPA.
CSE446 S OFTWARE Q UALITY M ANAGEMENT Spring 2014 Yazılım ve Uyguluma Geliştirme Yöneticisi Orhan Başar Evren.
Enterprise Object Framework. What is EOF? Enterprise Objects Framework is a set of tools and resources that help you create applications that work with.
Object and object-relational databases 1. Object databases vs. Object-relational databases Object databases Stores complex objects – Data + functions.
Interoperability with CMIS and Apache Chemistry
Eclipse and Oracle | © 2008 Oracle; made available under the EPL v1.0 Building Applications with Eclipse Frameworks and Tools for Oracle Shaun Smith EclipseLink,
Agenda What is Hibernate Spring Integration Questions Overview
© 2007 by «Author»; made available under the EPL v1.0 | Date | Other Information, if necessary Eclipse SOA Tools Platform Project Eric Newcomer IONA Technologies.
Entity Beans BMP Celsina Bignoli
Object persistence with Hibernate in Decision Deck 1.1 Gilles Dodinet 2 nd Decision Deck Workshop 2008, February.
Chemical Toxicity and Safety Information System Shuanghui Luo Ying Li Jin Xu.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
CHAPTER 14 USING RELATIONAL DATABASES TO PROVIDE OBJECT PERSISTENCE (ONLINE) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database.
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
Computer Science 101 Database Concepts. Database Collection of related data Models real world “universe” Reflects changes Specific purposes and audience.
.NET Database Technologies: Data Models and Patterns.
Information System Development Courses Figure: ISD Course Structure.
Object-relational mapping Author: Jaroslav Orság Diploma thesis supervisor: Ing. Augustín Mrázik.
© 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.
JBoss at Work Databases and JBoss Chapter 4 Jeff Schmitt October 26, 2006.
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.
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.
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
1 Nov 29, 2005 Object Relational Mapping Frameworks Wiene Höweler.
Java Persistence API part 1 INFORMATICS ENGINEERING – UNIVERSITY OF BRAWIJAYA Eriq Muhammad Adams J
Web Services Composite Application Framework Eric Newcomer, WS-CAF Co-Chair April 26, 2004.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Topic : Hibernate 1 Kaster Nurmukan. An ORM tool Used in data layer of applications Implements JPA.
Alan L. Batongbacal CS 4244 / 01 Nov 2000
Forum Topics OMG Roundtable Dec. 11, Background Forum is part of the ODBMS.ORG Moderated by Dr. Roberto Zicari Started on 10/16/07 (last post 12/8/07)
Introduction to ORM Hibernate Hibernate vs JDBC. May 12, 2011 INTRODUCTION TO ORM ORM is a programming technique for converting data between relational.
CS520 Web Programming Object-Relational Mapping with Hibernate and JPA (I) Chengyu Sun California State University, Los Angeles.
JAVA Persistence API(JPA) What is it? How would we use it in a project? Should we use it? -Parag Chaudhari.
Data Access Methodologies: When to choose what (ADO.NET, Entity Framework, WCF Data Services) Wriju Ghosh Lead Partner Consultant, Microsoft.
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.
Building Enterprise Applications Using Visual Studio®
Chengyu Sun California State University, Los Angeles
Introduction to Entity Framework
Advanced Java Programming
ADO.NET Entity Framework
Entity Framework Core.
Developing and testing enterprise Java applications
Presentation transcript:

A JPA Framework for NoSQL Store behind Integrated Collaboration Object Model Eric S. Chan Object Model Architect Oracle Corporation Philip Y Bell Collaboration Architect Oracle corporation

Java Persistence API (JPA) JPA is primarily an object-relational mapping (ORM) persistence framework (JSR-317 for JPA 2.0), based on popular Hibernate and TopLink frameworks JPA co-exists with two other technologies – Java Data Objects (JDO) to map Java to relational and non- relational (object-oriented) data stores (JSR-243 for JDO 3.0) – Service Data Objects (SDO) to abstract data in service oriented architecture (SOA) (JSR-235 for Java binding) A mix of JPA, JDO, and SDO matches Microsoft ADO.NET Entity Framework and Language Integrated Query (LINQ)

Why JPA over JDO or SDO? JPA was developed in part to unify JDO API and the EJB 2.0 Container Managed Persistence (CMP) API. JDO 3.0 includes interoperability with JPA SDO is language independent and backend service-oriented An increasing number of application APIs are based on JPA/JPQL (due to popularity of open source and commercial offerings, including Hibernate, TopLink, and OpenJPA)

JPA/JPQL for Not Only SQL An Extensible White Box Framework JPA/JPQL can support NoSQL data sources – RESTful Services (WebDAV, CalDAV, CardDAV) – Web Services (BPEL, BPEL4People) – Protocols (SMTP, IMAP, XMPP, LDAP) – Java API’s (JDBC, JNDI, Java Mail, JAXB, etc.) – JPA can be a front-end for JDO and SDO

Proof of Concept OpenICOM, a java.net incubation project for Open Integrated Collaboration Platform – Leverage Canonical, Integrated, Standardized Object Model – ics/v1.0/csprd01/icom-ics-v1.0-csprd01.html ics/v1.0/csprd01/icom-ics-v1.0-csprd01.html Support connectors for Oracle Beehive Collaboration Server

OpenICOM JPA Framework

Open Integrated Collaboration Platform unifies application programming model integrates disparate domain models – LDAP, JCR, IMAP, SMTP, XMPP, iCalendar, CalDAV, WebDAV, vCard, FOAF, SIOC, Facebook Open Graph, OpenSocial, BPMN, BPEL, BPEL4People, etc. interoperates with existing protocols/services lowers the barrier to create collaboration tools that offer seamless user experience with minimal context switching between activities transforms to/from RDF/OWL representations for Semantic Web

Embodiment of Design Patterns delineation of managed and detached objects uniqueness of object identity per persistence context software transaction memory eager and lazy loading of states attribute level change tracking cascade persist, merge persistence context and second-level caches object query language

OpenICOM Experience extend white-box JPA/JPQL framework with – pluggable data access connectors for federated data sources – standardized lightweight behavior in POJO classes to maintain one-to- many and many-to-many relationships in persistence cache support weaker consistency properties and partial availability in partitioned networks combine single-entity ACID transaction properties with compensating transaction or soft-state eventually consistent transaction properties. actively maintain large caches of objects in persistence contexts by time-to-live and/or least-recently-used policies avoid detaching transaction objects from persistence contexts during transaction rollback, undo, or redo

References [1] Open Integrated Collaboration Platform icomhttp://java.net/projects/open- icom [2] OpenICOM: A JPA Framework for Integrated Collaboration Environments, Part 1 integrated-collaboration-environments-part-1http://today.java.net/article/2011/03/21/openicom-jpa-framework- integrated-collaboration-environments-part-1 [3] OASIS ICOM Committee Specification Public Review Draft 01 csprd01.html csprd01.html [4] Sample Groovy scripts for OpenICOM API for Oracle Beehive Server icom/downloads/download/icomGroovy.tar.gzttp://java.net/projects/open- icom/downloads/download/icomGroovy.tar.gz