Forskellen mellem BMP og CMP

BMP vs CMP

CMP eller Container Managed Persistence er kendt for at være den enkleste for bønneudviklere at oprette og er kendt for at være den mest komplicerede for EJB-servere at understøtte. I CMP er der ikke behov for bønneudviklere til at skrive nogen datatilgangslogik; alle behov bliver taget hånd om af EJB-serveren.

BMP, eller Bean Managed Persistence, er kendt for at administrere synkronisering af dens tilstand med databaser, som indkoblet af containeren.

For en CMP-bønneudvikler er der ingen grund til at bekymre sig om JDBC-kode og -transaktioner, da alle databaser håndteres automatisk af containeren. Tværtimod har en BMP-udvikler ansvaret for transaktionerne og alle databaserne.

En anden forskel, der kan bemærkes mellem Container Managed Persistence og Bean Managed Persistence, er, at førstnævnte bruger EJB-forespørgselssprog. På den anden side skal en Bean Managed Persistence-udvikler skrive datakoden enten i EJB eller i DAO. I dette tilfælde er det mere en udfordring for BMP-udvikleren end CMP-udvikleren.

Hvis en person bruger CMP, har de brug for en mere sofistikeret applikationsserver, end hvad der er behov for en BMP.

Nogle har sagt, at Bean Managed Persistence tilbyder en taktisk tilgang, mens Container Managed Persistence tilbyder en mere strategisk tilgang.

I BMP er det udvikleren, der håndterer alt. Tværtimod er det sælgeren, der tager sig af alt i en CMP. En anden ting, der kan ses, er, at en person vil være i stand til at optimere forespørgslerne i BMP, da den bruger hårdkodede forespørgsler. Nå, en person, der bruger CMP, kan ikke optimere ydelsen, da det er leverandøren, der tager sig af alt.

Resumé

1. For en CMP-bønneudvikler er der ingen grund til at bekymre sig om JDBC-kode og -transaktioner, da alle databaser automatisk håndteres af containeren. På den anden side vil en BMP-udvikler være ansvarlig for transaktionerne og alle databaser.

2. CMP bruger EJB-forespørgselssprog. En BMP skriver enten datakoden i EJB eller i DAO-format.

3. Bean Managed Persistence tilbyder en taktisk tilgang, mens Container Managed Persistence tilbyder en mere strategisk tilgang.

4. Hvis en person bruger CMP, har de brug for en mere sofistikeret applikationsserver, end hvad der er behov for en BMP.

5. I BMP er det udvikleren, der håndterer alt. Tværtimod er det sælgeren, der tager sig af alt i en CMP.