Showing posts with label Compare Persistence Mechanisms. Show all posts
Showing posts with label Compare Persistence Mechanisms. Show all posts

Thursday, January 7, 2010

Compare Persistence Mechanisms in Java using factors: ease of development, performance, scalibility, extensibility & security

 
 





Ease of development




Performance




Scalability




Extensibility




Security

Entity Beans - CMP

High – Bean developer concentrates on business
logic; persistence logic provided by EJB vendor

High - Application programmers delegate the details
of persistence to the container, which can optimize data access patterns for
optimal performance.

High – Container provides scalability
(configuration based)

High

High – Container provided

Entity Beans - BMP

Low – Bean developer is responsible for providing
persistence logic.

Uncertain – Depends upon the proficiency of bean
developer

High – Container provides scalability
(configuration based)

Low – Bean developer’s persistence logic needs to
understand by others.

High – Container provided

JDO

High – Bean developer concentrates on business
logic; persistence logic provided by JDO vendor

High - Application programmers delegate the details
of persistence to the JDO implementation, which can optimize data access
patterns for optimal performance.

High

High

High

JPA

High – Bean developer concentrates on business
logic; persistence logic provided by JPA vendor

High – Best ideas from ORM (Hibernate,TopLink)
and JDO

High – Container provides scalability

High - supports the use of pluggable persistence
providers

High – Supports Standardized Security Model (Java)

ORM Frameworks

Medium – Reduces development time

Depends - some O/R mapping tools do not perform
well during bulk deletions of data

High-to-Medium – Depends on ORM vendor

Low – Non-standardized

Medium-to-High – Depends on Vendor

DAO with direct JDBC

Low – Bean developer responsible for persistence
logic.

High-to-Medium -
But Depends upon the proficiency of bean developer

Medium-to-High – Depends on expertise of Developers

Medium-to-High – Depends on expertise of Developers

Medium-to-Low – Needs to be handled by bean
developer