Differenza tra BMP e CMP

BMP vs CMP

CMP, o Container Managed Persistence, è noto per essere la soluzione più semplice per gli sviluppatori di bean, ed è noto per essere il più complicato da supportare per i server EJB. In CMP, non è necessario che gli sviluppatori di bean scrivano alcuna logica di accesso ai dati; tutte le esigenze sono gestite dal server EJB.

BMP, o Bean Managed Persistence, è noto per gestire la sincronizzazione del suo stato con i database, come impegnato dal contenitore.

Per uno sviluppatore di bean CMP, non è necessario preoccuparsi del codice JDBC e delle transazioni, poiché tutti i database vengono gestiti automaticamente dal contenitore. Al contrario, uno sviluppatore BMP avrà la responsabilità delle transazioni e di tutti i database.

Un'altra differenza che può essere notata tra la persistenza gestita dal contenitore e la persistenza gestita dal bean, è che il primo utilizza il linguaggio di query EJB. D'altra parte, uno sviluppatore di Persistenza controllata Bean deve scrivere il codice dati sia in EJB, sia in DAO. Bene, in questo caso, è più una sfida per lo sviluppatore BMP, che lo sviluppatore CMP.

Se una persona utilizza CMP, avrebbe bisogno di un server applicativo più sofisticato di quello necessario per un BMP.

Alcuni hanno affermato che la persistenza gestita dai bean offre un approccio tattico, mentre la persistenza gestita dai container offre un approccio più strategico.

In BMP, è lo sviluppatore che gestisce tutto. Al contrario, è il venditore che si occupa di tutto in un CMP. Un'altra cosa che può essere vista è che una persona sarà in grado di ottimizzare le query in BMP, poiché utilizza query con codice fisso. Bene, una persona che usa CMP non può ottimizzare le prestazioni, in quanto è il venditore che si occupa di tutto.

Sommario

1. Per uno sviluppatore di bean CMP, non è necessario preoccuparsi del codice JDBC e delle transazioni, poiché tutti i database vengono gestiti automaticamente dal contenitore. D'altra parte, uno sviluppatore BMP avrà la responsabilità delle transazioni e di tutti i database.

2. CMP utilizza il linguaggio di query EJB. Un BMP scrive il codice dati in EJB o in formato DAO.

3. Bean Managed Persistence offre un approccio tattico, mentre Container Persistence offre un approccio più strategico.

4. Se una persona utilizza CMP, è necessario un server di applicazioni più sofisticato rispetto a quello necessario per un BMP.

5. In BMP, è lo sviluppatore che gestisce tutto. Al contrario, è il venditore che si occupa di tutto in un CMP.