BMP vs CMP
CMP, eller Container Managed Persistence, är känd för att vara det enklaste för bönutvecklare att skapa, och är känt för att vara den mest komplicerade för EJB-servrarna att stödja. I CMP finns det inget behov av bönutvecklare att skriva någon dataåtkomstlogik. alla behov tas hand om av EJB-servern.
BMP, eller Bean Managed Persistence, är känd för att hantera synkronisering av dess tillstånd med databaser, som engagerade av behållaren.
För en CMP-bönutvecklare behöver man inte oroa sig för JDBC-kod och -transaktioner, eftersom alla databaser hanteras automatiskt av behållaren. Tvärtom kommer en BMP-utvecklare att ha ansvaret för transaktionerna och alla databaser.
En annan skillnad som kan noteras mellan Container Managed Persistence och Bean Managed Persistence, är att den förra använder EJBs fråge språk. Å andra sidan måste en Bean Managed Persistence-utvecklare skriva datakoden antingen i EJB eller i DAO. Tja, i det här fallet är det mer en utmaning för BMP-utvecklaren än CMP-utvecklaren.
Om en person använder CMP, skulle de behöva en mer sofistikerad applikationsserver än vad som behövs för en BMP.
Vissa har sagt att Bean Managed Persistence erbjuder ett taktiskt tillvägagångssätt, medan Container Managed Persistence erbjuder ett mer strategiskt tillvägagångssätt.
I BMP är det utvecklaren som hanterar allt. Tvärtom är det säljaren som tar hand om allt i en CMP. En annan sak som kan ses är att en person kommer att kunna optimera frågorna i BMP, eftersom det använder hårdkodade frågor. Tja, en person som använder CMP kan inte optimera prestanda, eftersom det är säljaren som tar hand om allt.
Sammanfattning
1. För en CMP-bönutvecklare behöver man inte oroa sig för JDBC-kod och transaktioner, eftersom alla databaser hanteras automatiskt av behållaren. Å andra sidan kommer en BMP-utvecklare att ha ansvaret för transaktionerna och alla databaser.
2. CMP använder EJBs frågespråk. En BMP skriver antingen datakoden i EJB eller i DAO-format.
3. Bean Managed Persistence erbjuder ett taktiskt tillvägagångssätt, medan Container Managed Persistence erbjuder ett mer strategiskt tillvägagångssätt.
4. Om en person använder CMP, skulle de behöva en mer sofistikerad applikationsserver än vad som behövs för en BMP.
5. I BMP är det utvecklaren som hanterar allting. Tvärtom är det säljaren som tar hand om allt i en CMP.