Enterprise Features & Requirements Analysis For EJB3 JPA & POJO Persistence. CocoBase Pure POJO

Similar documents
CocoBase Delivers TOP TEN Enterprise Persistence Features For JPA Development! CocoBase Pure POJO

EJB3 JPA Persistence Performance & Scalability Analysis. CocoBase Pure POJO

foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration

CO Java EE 6: Develop Database Applications with JPA

object/relational persistence What is persistence? 5

Lightweight J2EE Framework

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

Object Persistence Design Guidelines

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Introducing EclipseLink: The Eclipse Persistence Services Project

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

Fast Track Model Based Design and Development with Oracle9i Designer. An Oracle White Paper August 2002

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Pro JPA 2. Mastering the Java Persistence API. Apress* Mike Keith and Merrick Schnicariol

Web Application Development Using JEE, Enterprise JavaBeans and JPA

TaskBuilder Studio is the development platform created to implement flexible and robust ERP and Business applications.

Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd.

ECLIPSE PERSISTENCE PLATFORM (ECLIPSELINK) FAQ

"Charting the Course... Mastering EJB 3.0 Applications. Course Summary

Oracle Application Development Framework Overview

Teneo: Integrating EMF & EclipseLink

Appendix A - Glossary(of OO software term s)

Understanding Impact of J2EE Applications On Relational Databases. Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation

Fast Track to EJB 3.0 and the JPA Using JBoss

Oracle Database Mobile Server, Version 12.2

Oracle Warehouse Builder 10g Release 2 Integrating Packaged Applications Data

indx.qxd 11/3/04 3:34 PM Page 339 Index

DATA ACCESS TECHNOLOGIES FOR JAVA GENERAL STUDY

Developing Applications with Java EE 6 on WebLogic Server 12c

An Oracle White Paper October Release Notes - V Oracle Utilities Application Framework

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SUITE

What is it? What does it do?

ORACLE WEBLOGIC SERVER 10g R3 ENTERPRISE EDITION

About Database Adapters

Supports 1-1, 1-many, and many to many relationships between objects

State of the Dolphin Developing new Apps in MySQL 8

Java Enterprise Edition

Policy Manager for IBM WebSphere DataPower 7.2: Configuration Guide

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

Application Migration with X-Analysis

Flex2SQL. Contents. Mertech s ISAM to SQL Database Connectivity (ISDBC) Drivers For DataFlex

Creating Enterprise and WorkGroup Applications with 4D ODBC

Data Model Considerations for Radar Systems

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

ELIXIR REPERTOIRE. Integrated Business Intelligence Suite. Intelligence. On Demand. Elixir Repertoire 6 for DB2 White Paper. Intelligence On Demand

Full file at

Migrating traditional Java EE applications to mobile

EMC Documentum xdb. High-performance native XML database optimized for storing and querying large volumes of XML content

ActiveSpaces Transactions. Quick Start Guide. Software Release Published May 25, 2015

AC : EXPLORATION OF JAVA PERSISTENCE

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

Centrify Infrastructure Services

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :

Model-Code-Deploy platform. Product Overview. Features. UML support. Requirements management

Building Java Persistence API Applications with Dali 1.0 Shaun Smith

Tools to Develop New Linux Applications


The InfoLibrarian Metadata Appliance Automated Cataloging System for your IT infrastructure.

JBuilder 2008 also now has full support for Struts 1.x applications including graphical editing and Web flow development.

WHITE PAPER JANUARY Creating REST APIs to Enable Your Connected World

PaaS Cloud mit Java. Eberhard Wolff, Principal Technologist, SpringSource A division of VMware VMware Inc. All rights reserved

1 Dulcian, Inc., 2001 All rights reserved. Oracle9i Data Warehouse Review. Agenda

Standard modeling support Automatic propagation of a foreign key from parent to child entities in a physical model x x

Product Documentation. DB Optimizer. Evaluation Guide. Version Published November 27, 2009

ProfessionalPLUS Station Software Suite

Crystal Reports. Overview. Contents. How to report off a Teradata Database

Product Documentation. ER/Studio Portal. Installation Guide. Version 1.5 Published October 8, 2009

From Development to Production with the IBM WebSphere Application Server Liberty Profile IBM Redbooks Solution Guide

Object-relational mapping EJB and Hibernate

TIBCO ActiveMatrix BusinessWorks Plug-in for Microsoft SharePoint Installation

EMC Documentum Composer

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

Hibernate Interview Questions

TIBCO ActiveMatrix BusinessWorks Plug-in for Database Release Notes

DQpowersuite. Superior Architecture. A Complete Data Integration Package

Leverage Rational Application Developer v8 to develop Java EE6 application and test with WebSphere Application Server v8

Java Object/Relational Persistence with Hibernate. David Lucek 11 Jan 2005

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Optimizing Data Integration Solutions by Customizing the IBM InfoSphere Information Server Deployment Architecture IBM Redbooks Solution Guide

Delphi XE. Delphi XE Datasheet

Web Application Development Using Spring, Hibernate and JPA

Oracle Warehouse Builder 10g Runtime Environment, an Update. An Oracle White Paper February 2004

Next-Generation Data Programming: Service Data Objects A Joint Whitepaper with IBM and BEA

Embarcadero Change Manager 5.1 Installation Guide. Published: July 22, 2009

The dialog boxes Import Database Schema, Import Hibernate Mappings and Import Entity EJBs are used to create annotated Java classes and persistence.

metamatrix enterprise data services platform

JVA-563. Developing RESTful Services in Java

Empowering DBA's with IBM Data Studio. Deb Jenson, Data Studio Product Manager,

ER/Studio Enterprise Portal 1.1 Installation Guide

CA ERwin Data Modeler

Introduction. Performance

Product Release Notes Alderstone cmt 2.0

J2EE Application Development with WebSphere Studio

Adobe ColdFusion 11 Enterprise Edition

POJOs in Action DEVELOPING ENTERPRISE APPLICATIONS WITH LIGHTWEIGHT FRAMEWORKS CHRIS RICHARDSON MANNING. Greenwich (74 w. long.)

JDO XML MetaData Reference (v5.2)

CA IDMS Server. Release Notes. r17

Course Outline. Developing Data Access Solutions with Microsoft Visual Studio 2010 Course 10265A: 5 days Instructor Led

Oracle Application Server 10g Integration Interconnect. An Oracle Technical White Paper January 2005

Building JavaServer Faces Applications

Transcription:

CocoBase Pure POJO Product Information V5 Enterprise Features & Requirements Analysis For EJB3 JPA & POJO Persistence CocoBase PURE POJO Uniquely Provides BEST IN INDUSTRY Support For The Full Range Of Enterprise Features And Requirements For Corporate Applications. CocoBase PURE POJO - Technical Paper

2 INTRODUCTION CocoBase Pure POJO V5 Distinguishes Itself As The Best Choice ORM Tool For Building Enterprise Applications Due To Its Unique Ability To Deliver The Full Range of Simple to Comple POJO Persistence Functionality and Performance For Persisting Data. The patented CocoBase Mapping Layer architecture is unique among ORM tools and provides the only solution that provides the full range of simple to comple functionality required for building enterprise applications. Most ORM tools only support desktop simple and workgroup moderate level functionality with minimal support at the internal enterprise level and essentially none at the advanced eternal enterprise level of functionality. This is highly problematic and can create the situation where at some point in the development cycle the developers will have to create additional features and work arounds themselves, if possible, or be required to find a different ORM tool just to be able to finish the application. Either result greatly reduces productivity and increases project costs which needs to be avoided. The CocoBase architecture was focused on solving enterprise requirements from its beginning and provides an ecellent solution for enterprise development. CocoBase Architectural Overview CocoBase provides a powerful yet simple to use patented Dynamic Mapping Layer architecture for persisting POJOs in enterprise applications. This approach decouples POJOs from the database representation (i.e. tables, fields, etc.). This database information is then stored in a dynamic and highly fleible CocoBase map in a repository outside of the application. The Dynamic Mapping Layer architecture removes database specific code and predefined SQL from the POJO and instead, relies on user defined database maps to generate application specific SQL and JDBC code at runtime. SQL instructions are by default dynamically created and bound to object fields at runtime based on the mapping definitions. CocoBase also allows developers to pre-compile, tune and map such SQL instructions to and from object fields at design time as well, independently from the application code, for each of the CRUD (Create, Read, Update, Delete) database operations. The Dynamic Mapping Layer approach also provides the fleibility to quickly implement custom caching, custom routing and other custom behaviors that are typically needed for enterprise-level applications. These custom behaviors do not require recompiling of the application. For eample, if you write your application against an Oracle system, and find that your version of Oracle and your platform doesn t perform fast enough, you can install a plug-in in-memory cache database system for your applications on the fly without changing any of the object definitions and no need to recompile the application. This provides an enormous time savings as well as an amazing amount of fleibility that keeps the development process simple and easy to deal with. CORPORATE HEADQUARTERS 5 Third Street, Suite 815, San Francisco, CA. 94103 / Tel. 415-836-9199 / Fa. 415-836-9191

3 The CocoBase Dynamic Mapping Layer persistence architecture also allows for attributes to be mapped to single or multiple database tables simultaneously, in both local and distributed environments. The same object model can be readily used in different applications, each specifying unique, user-defined persistence, SQL and navigation models. This ability to standardize on one class model and/or one set of maps for a set of applications greatly reduces project costs and etends the savings to multiple applications with little to no additional work. A key part of the CocoBase architecture is the Persistence Manager which comprises a set of easy-to-use and comprehensive programming APIs. It implements the POJO persistence model and is responsible for automatically and transparently managing the state of persistent objects. The CocoBase Persistence Manager is known for its incredible performance and scalability, which more precisely means that the eecution time required for persisting a comple graph of objects, grows linearly to the number of objects in the graph. No other ORM tool available has been shown to have linear performance and scalability characteristics. Key Architectural Benefits 1) Etremely powerful persistence architecture based on the Dynamic Mapping Layer approach that uniquely supports the full range of EJB 3.0 and POJO persistence requirements from simple to the most advanced as no other ORM tool is able to do. 2) Etreme ease of use and high productivity with all new CocoBase GUI s; including the Mapping WorkBench and Magic Mapper that intelligently auto-maps the tables, fields and objects together for the developer. No other ORM tool has such a complete GUI toolset for its development. The GUI s give the developer a simple step by step approach for dealing with even the most comple persistence requirements while at the same time making available hooks into the tooling that allows total access to all functionality with the ability to modify it. 3) Etreme high performance (can be up to 3 times faster than JDBC) with etensive methods for additional performance enhancement including caching. 4) Etreme high volume scalability with unique linear performance characteristics that is designed to handle applications with a large degree of transactions and users typically found in enterprise-level applications. 5) Full breadth of querying solutions including EJBQL (a pure Object-Centric Querying synta), high level CocoBase Query API that looks very similar to SQL, low level CocoBase Query API, standard CocoBase Query by Eample which queries instances instead of object models. 6) Architectural etensibility that supports integrations with Eclipse IDE, Spring Application Framework, Application Servers, Relational Databases, UML Object Modeling tools, etc. CORPORATE HEADQUARTERS 5 Third Street, Suite 815, San Francisco, CA. 94103 / Tel. 415-836-9199 / Fa. 415-836-9191

4 CocoBase Features List Organized From Simple To Advanced - Desktop Simple Includes prototypes, desktop applications, small volume of both data and users, not performance sensitive, with simple modeling and database requirements. - Workgroup Moderate An increase from level one with some compleity in mapping and data volume that is generally referred to as a departmental level application. Internal Enterprise An increase from level two with the additional focus on Infrastructure and Corporate Applications with compleity, performance and reuse requirements involving multiple modules and with either high volume of users and/or high data volumes within critical parts of the system. Eternal Enterprise An increase from level three with the additional focus on Internet Deployed Applications, Legacy Data Model integrations including coeistence with poorly defined legacy database models, high data and user volume, comple requirements in modeling and critical path enterprise applications where response time and custom behaviors are critical to business competitiveness. Direct Mappings OR Mapping Features Basic Attribute Mapping Composite Attribute Mapping (unlimited nesting levels) Fleible Table Join Mapping Virtual Attribute Mapping* Attribute Mapping Override (in subclass types) Read-Only or Write-Only Column Mapping Derived Attribute Mapping (calculated from db column values) Object Relationships -to- Relationship Mapping -to-many Relationship Mapping Many-to- Relationship Mapping Many-to-Many Relationship Mapping Inverse Relationship Mapping (i.e. bidirectional relationships) Circular Relationships Transparent Foreign Key Mapping and Management Ordering Support (for persisting ordered collections, e.g. java.util.list) Map Key Support (for java.util.map based relationships) CORPORATE HEADQUARTERS 5 Third Street, Suite 815, San Francisco, CA. 94103 / Tel. 415-836-9199 / Fa. 415-836-9191

5 OR Mapping Features Lazy/Eager Relationship Load Modes Operation Cascading Control (independent per operation) Relationship Mapping Override Relationship Qualifier Epressions (for relationship filtering/ordering) SQL Cascading And Filtering Control Virtual Relationship Mapping** Type Inheritance Single Table Inheritance Mapping Joined Table Inheritance Mapping Single Discriminator Column Mapping Separate Table Inheritance Mapping Multiple Discriminator Column Mapping Combined Inheritance Mappings Abstract Superclass Or Interface Mapping Multiple Inheritance Mapping Discriminator Mapping Override Object Identity and Versioning Single Primary Key Mapping Composite Primary Key Mapping (primary key class not required) Sequence Generator Mapping Table Generator Mapping Identity Column Generator Mapping Versioning Column Mapping Custom Generator Mapping Optimistic Locking Modes (independent for each attribute) Virtual Primary Key Mapping* (i.e. transparent object identity) Querying & Advanced SQL Named Query Mapping (EJBQL and Mapping Based) Customizable SQL Mapping (independent for each SQL CRUD operation) Stored Procedure Mapping SQL Realms (for SQL re-routing) Native SQL Query Mapping Classless Mapping (no Java business class required) *allows a column to be mapped even without a corresponding field in the object class (useful for querying and for mapping overrides). ** allows links between objects to be maintained even when there s no corresponding reference fields in the related object classes (useful for operation cascading control). CORPORATE HEADQUARTERS 5 Third Street, Suite 815, San Francisco, CA. 94103 / Tel. 415-836-9199 / Fa. 415-836-9191

6 Runtime API Features High- Easy-to-Use Persistence Manager API Optimistic Locking Support Pessimistic Locking Support Lazy Load (for relationship fields) Independent Fine Grain Cascading Control for each operation/relationship *** Custom Instance Life-Cycle Callback Listeners Custom Instance Factories Custom Member Accessors/Mutators (for non-pojo or reflection based access) Custom Caching Implementations Smart Batch Updates, Inserts and Deletes Statement Caching Distributed (e.g. 3-tier) Lazy Load Custom Relationship Proies Core Runtime Access Plugins (for security, filtering, pre/post processing) Notification Across Multiple Persistence Manager Instances SQL Re-routing through SQL realms *** cascading operations include insert, update, delete, merge and refresh Dynamic Querying Features Query-by-Eample (for attribute-based querying) Local Cursor Based Querying EJBQL Object Based Querying API Based Querying Raw SQL Dynamic Mapping and Querying Distributed Cursor Based Querying Combined Querying Strategies Mapping Repository Features Highly Efficient Thread-Safe Access to Mapping Repository Metadata Repository Metadata Caching Etensible Repository Framework**** Runtime Repository APIs (repositories can be created/managed at runtime) **** allows mapping metadata to be stored in virtually any format (ml, binary les, database tables, etc.) CORPORATE HEADQUARTERS 5 Third Street, Suite 815, San Francisco, CA. 94103 / Tel. 415-836-9199 / Fa. 415-836-9191

7 Workbench GUI and Tools Etremely Easy-to-Use High Productivity Mapping Workbench GUI Java Class Importer Database Table Importer Magic Mapper that intelligently auto-maps Java classes to database tables All-In- Project Wizard Mapping Validation integrated into GUI mapping process, including detection and description of common mapping errors Common Enterprise Application Requirements Supported by CocoBase Legacy and Unstructured Database Models supported without requiring them to be changed Legacy Coeistence Supported, while permitting new applications to define Structured Models from Unstructured Data Database Schema Integration Distributed Caching and Transactions Data Transformation and Filtering Auditing and Security Mapping Validation facilities provided in the Runtime Etensive and fine grained etensible debug logging messaging supported EJBQL Object Oriented querying based on support for Table Spanning maps, not constrained by Legacy Database Models Virtual Relationship Constraints handled at the Persistence Manager layer enforced Temporal Database Models Supported Central Shared Mapping Repositories that support map reuse across projects, and multiple projects within a repository Version Control System Integration, including within Eclipse Integration with Other Enterprise Tools, particularly Spring, Eclipse and an etensible architecture for the future Etensible Persistence Frameworks Multiple Database Locking Strategies Combined J2EE/JPA Integration while supporting advanced mapping facilities not epressed in the EJB specifications High Productivity of both Development and Maintenance process High Manageability of Mapping and Modeling High Performance that remains linear High Scalability in terms of Model compleity, Data volumes and number of Users CORPORATE HEADQUARTERS 5 Third Street, Suite 815, San Francisco, CA. 94103 / Tel. 415-836-9199 / Fa. 415-836-9191

8 Conclusion - Be Sure To Use An ORM Tool That Can Handle ALL Of Your Applications Requirements. The key challenge when choosing an ORM tool for a project is whether or not it can handle the levels of compleity of the application being developed. This is especially important for enterprise applications because if any requirement is not supported then the whole project can fail to deliver within schedule and budget constraints, or at all. To avoid this situation, the ORM tool must be carefully assessed which is facilitated by understanding its persistence architecture. The architecture is the foundation of the ORM tool and will define what can be developed with it. For eample, an ORM tool with a simple architecture will be only be successful for easy desk top applications that support few users and have limited technical needs. If additional features or requirements will be needed later, then the ORM tool or platform will probably have to be replaced or upgraded. To meet these epanded needs, the application will need to be re-coded to use another ORM tool or migrated to hardware and software platforms with more capacity. This can be a rather epensive and time consuming task that will most likely cause the development schedule to fall behind the competitive needs of the company. Once the various ORM architectures are understood, then a detailed look at what levels of compleity can be supported is the net step. Most ORM tools are only designed for desktop applications with simple to limited medium level persistence requirements. They do not have the ability to manage the range of needs required to successfully deliver in the enterprise environment. CocoBase PURE POJO was architected from the beginning to cover the range of requirements found uniquely at the enterprise level of requirements. This means that CocoBase can be used for desktop as well as enterprise applications and can be epected to handle the full range of application requirements from simple to comple quite easily. The key in this process is for the IT Manager to make sure that the decision process for selecting an ORM tool is based on a methodical and rational approach. The application requirements need to be carefully taken into account including all of the current and epected needs that the company has. Any deviation from this approach can allow bias, ineperience, impatience and other counterproductive influences the choice of an ORM tool that will not adequately deliver success from the beginning of the project to the end. CORPORATE HEADQUARTERS 5 Third Street, Suite 815, San Francisco, CA. 94103 / Tel. 415-836-9199 / Fa. 415-836-9191

9 Company Information THOUGHT Inc., in business since 1993, has been shipping the CocoBase Enterprise O/R product since early 1997 and is currently in its 5th major release. THOUGHT Inc. invented and patented repository based. CocoBase is by far, the most mature Java based O/R Mapping tool available and leads the industry in technological innovation. This is why so many of our customers rely on CocoBase! For more information please see the website at. LEGAL NOTICES Copyrights Copyright 2007, THOUGHT Inc., 5 Third Street suite 815, San Francisco, CA 94103 USA. All rights reserved. Copyright in these (any and all contained herein) documents is owned by THOUGHT Inc. This material is for personal use only. Republication and redissemination, including posting to news groups, is epressly prohibited without the prior written consent of THOUGHT Inc. This publication is provided as is without warranty of any kind, either epress or implied, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement, to also include any and all technical inaccuracies or typographical errors. Patents CocoBase is a patented product under patent #5857197 as well as patents pending for object caching, object navigation, dynamic object querying technologies, etc. Trademarks CocoBase, THOUGHT Inc., Dynamic O/R Mapping, Dynamic Transparent Persistence, Pure POJO and others are all trademarks of THOUGHT Inc. All other trademarks are owned by their respective owners. CORPORATE HEADQUARTERS 5 Third Street, Suite 815, San Francisco, CA. 94103 / Tel. 415-836-9199 / Fa. 415-836-9191