Diferența dintre BMP și CMP

BMP vs CMP

CMP sau Container Managed Persistence, este cunoscută a fi cea mai simplă pentru dezvoltatorii de fasole pentru a crea și este cunoscută a fi cea mai complicată pentru serverele EJB pe care le suportă. În CMP, nu este nevoie ca dezvoltatorii de fasole să scrie orice logică de acces la date; toate nevoile sunt preluate de serverul EJB.

BMP sau Bean Managed Persistence, este cunoscut pentru a gestiona sincronizarea stării sale cu bazele de date, așa cum este angajat de container.

Pentru un dezvoltator de fasole CMP, nu este nevoie să vă faceți griji cu privire la codul și tranzacțiile JDBC, deoarece toate bazele de date sunt gestionate automat de container. Dimpotrivă, un dezvoltator de BMP va avea responsabilitatea tranzacțiilor și a tuturor bazelor de date.

O altă diferență care poate fi observată între Persistența gestionată de Container și persistența gestionată de Bean este că prima folosește limba de interogare EJB. Pe de altă parte, un dezvoltator de Bean Managed Persistence trebuie să scrie codul de date fie în EJB, fie în DAO. Ei bine, în acest caz, este mai mult o provocare pentru dezvoltatorul BMP decât pentru dezvoltatorul CMP.

Dacă o persoană utilizează CMP, ar avea nevoie de un server de aplicații mai sofisticat decât de ceea ce este necesar pentru un BMP.

Unii au spus că Bean Managed Persistence oferă o abordare tactică, în timp ce Containerul Managed Persistence oferă o abordare mai strategică.

În BMP, dezvoltatorul este cel care gestionează totul. Dimpotrivă, vânzătorul este cel care se ocupă de totul într-un CMP. Un alt lucru care poate fi văzut este că o persoană va fi capabilă să optimizeze interogările în BMP, deoarece utilizează interogări codate greu. Ei bine, o persoană care utilizează CMP nu poate optimiza performanța, deoarece este vânzătorul care are grijă de tot.

rezumat

1. Pentru un dezvoltator de fasole CMP, nu este nevoie să vă faceți griji cu privire la codul și tranzacțiile JDBC, deoarece toate bazele de date sunt gestionate automat de container. Pe de altă parte, un dezvoltator BMP va avea responsabilitatea tranzacțiilor și a tuturor bazelor de date.

2. CMP utilizează limba de interogare EJB. Un BMP scrie fie codul de date în EJB, fie în format DAO.

3. Bean Managed Persistence oferă o abordare tactică, în timp ce persistența gestionată de Container oferă o abordare mai strategică.

4. Dacă o persoană utilizează CMP, ar avea nevoie de un server de aplicații mai sofisticat decât ceea ce este necesar pentru un BMP.

5. În BMP, dezvoltatorul este cel care gestionează totul. Dimpotrivă, vânzătorul este cel care se ocupă de totul într-un CMP.