What is your view on the role of database server under EJB framework, in particular, with reference to evoluation of CMP (database mapping) and CMR (EJB relationship management) as well as EJB (data) caching.
Seemst that development of CMP/CMR is going to replace database server functionin the follow area:
(1) Data caching. EJB retreive will try to hit the EJB container cache before accessing database server for retrieval.
(2) Relationship between data entity (tables) in CMR (e.g. 1-many, .... etc.) Now, we are talking optimzing the relationship management efficiency in CMR. The chance it will further extent and optimize for outter join ... database functions.
(3)We have EJB Persistent framework. It implies that EJB should be data maintenance point for the database data. In fact, using Package stored procedure or direct update to database data might cause consistency problems betweent the cached old EJB data in EJB container and the un-informed direct data update to the database server.
It is obviously that EJB CMP/CMR development is aiming to take away most functional roles traditionally provided by RDBMS.
I reckon that in the eye of EJB, the database is just simply a hardware storage of data with very simple one-table (instead of complex optimizer for complex joins between tables) access functionality.
One thing I do see still issues in EJB is massive data update.
(1) In EJB, we need to retrive each EJB and modify fields and maintained back the persistence with database, which is very inefficient and slow.
(2) It could be very efficiently done by one simply SQL update statementd directly to database.
Any view what the future landscape would be?