Rozdíl mezi BMP a CMP

BMP vs CMP

Je známo, že CMP, nebo Container Managed Persistence, je pro vývojáře fazolí nejjednodušší, a je známo, že je nejsložitější pro podporu serverů EJB. V CMP není potřeba, aby vývojáři fazolí psali jakoukoli logiku přístupu k datům; EJB server se postará o všechny potřeby.

Je známo, že BMP neboli Bean Managed Persistence spravuje synchronizaci svého stavu s databázemi, jak je zapojen do kontejneru.

Pro vývojáře fazolí CMP není třeba se obávat kódu JDBC a transakcí, protože všechny databáze jsou automaticky zpracovávány kontejnerem. Naopak vývojář BMP bude odpovědný za transakce a všechny databáze.

Další rozdíl, který lze pozorovat mezi Persistencí řízenou kontejnerem a Bean Managed Persistencí, je ten, že první používá jazyk dotazu EJB. Na druhé straně vývojář Bean Managed Persistence musí napsat datový kód buď do EJB, nebo do DAO. V tomto případě je to spíše výzva pro vývojáře BMP než pro vývojáře CMP.

Pokud osoba používá CMP, bude potřebovat sofistikovanější aplikační server, než co je potřeba pro BMP.

Někteří říkali, že Bean Managed Persistence nabízí taktický přístup, zatímco Container Managed Persistence nabízí strategičtější přístup.

V BMP je to vývojář, který zpracovává vše. Naopak, v CMP se o vše postará prodejce. Další věc, kterou lze vidět, je, že osoba bude schopna optimalizovat dotazy v BMP, protože používá pevně kódované dotazy. Osoba používající CMP nemůže optimalizovat výkon, protože o všechno se stará prodejce.

souhrn

1. Pro vývojáře fazolí CMP není třeba se obávat kódu JDBC a transakcí, protože všechny databáze jsou automaticky zpracovávány kontejnerem. Na druhé straně vývojář BMP bude odpovědný za transakce a všechny databáze.

2. CMP používá dotazovací jazyk EJB. BMP zapíše datový kód ve formátu EJB nebo ve formátu DAO.

3. Bean Managed Persistence nabízí taktický přístup, zatímco Container Managed Persistence nabízí strategičtější přístup.

4. Pokud osoba používá CMP, bude potřebovat sofistikovanější aplikační server, než co je potřeba pro BMP.

5. V BMP vše zpracovává vývojář. Naopak, v CMP se o vše postará prodejce.