1 / 10

A JPA Framework for NoSQL Store behind Integrated Collaboration Object Model

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).

makala
Download Presentation

A JPA Framework for NoSQL Store behind Integrated Collaboration Object Model

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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)

  3. 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)

  4. 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

  5. Proof of Concept • OpenICOM, a java.net incubation project for Open Integrated Collaboration Platform • http://java.net/projects/open-icom/pages/Home • Leverage Canonical, Integrated, Standardized Object Model • http://docs.oasis-open.org/icom/icom-ics/v1.0/csprd01/icom-ics-v1.0-csprd01.html • Support connectors for Oracle Beehive Collaboration Server

  6. OpenICOM JPA Framework

  7. 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

  8. 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

  9. 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

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

More Related