BMP at CMP
BMP vs CMP
Ang CMP, o Container Managed Persistence, ay kilala na ang pinakasimpleng para sa mga developer ng bean upang lumikha, at kilala na ang pinaka-kumplikado para sa mga server ng EJB upang suportahan. Sa CMP, hindi na kailangan para sa mga developer ng bean na magsulat ng anumang logic sa pag-access ng data; ang lahat ng mga pangangailangan ay inaalagaan ng EJB server.
Ang BMP, o Bean Managed Persistence, ay kilala na pamahalaan ang pag-synchronize ng estado nito sa mga database, na nakikibahagi sa lalagyan.
Para sa isang developer ng CMP bean, hindi na kailangang mag-alala tungkol sa JDBC code at transaksyon, dahil ang lahat ng mga database ay awtomatikong hawakan ng lalagyan. Sa kabaligtaran, ang isang developer ng BMP ay may pananagutan ng mga transaksyon at lahat ng mga database.
Ang isa pang pagkakaiba na maaaring napansin sa pagitan ng Container Managed Persistence at ang Bean Managed Persistence, ay ang dating gumagamit ng EJB query language. Sa kabilang banda, ang isang developer ng Bean Managed Persistence ay kailangang isulat ang data code alinman sa EJB, o sa DAO. Mahusay, sa kasong ito, higit na isang hamon sa developer ng BMP, kaysa sa developer ng CMP.
Kung ang isang tao ay gumagamit ng CMP, kakailanganin nila ng mas sopistikadong application server, kaysa sa kung ano ang kinakailangan para sa isang BMP.
Ang ilan ay nagsabi na ang Bean Managed Persistence ay nagbibigay ng taktikal na diskarte, samantalang ang Container Managed Persistence ay nag-aalok ng isang mas strategic na diskarte.
Sa BMP, ito ay ang developer na humahawak ng lahat. Sa kabaligtaran, ito ay ang tindero na nag-aalaga ng lahat ng bagay sa isang CMP. Ang isa pang bagay na makikita ay ang isang tao ay makakapag-optimize ng mga query sa BMP, dahil ginagamit nito ang mga hard query na naka-code. Buweno, ang isang taong gumagamit ng CMP ay hindi maaaring ma-optimize ang pagganap, dahil ito ang vendor na nag-aalaga ng lahat.
Buod
1. Para sa isang developer ng CMP bean, hindi na kailangang mag-alala tungkol sa JDBC code at transaksyon, dahil ang lahat ng mga database ay awtomatikong hawakan ng lalagyan. Sa kabilang banda, ang isang developer ng BMP ay may pananagutan ng mga transaksyon at lahat ng mga database.
2. Ang CMP ay gumagamit ng EJB query na wika. Ang alinman sa BMP ay nagsusulat ng data code sa EJB, o sa DAO format.
3. Ang Bean Managed Persistence ay nag-aalok ng isang taktikal na diskarte, samantalang ang Container Managed Persistence ay nag-aalok ng isang mas strategic diskarte.
4. Kung ang isang tao ay gumagamit ng CMP, kakailanganin nila ng mas sopistikadong application server, kaysa sa kung ano ang kinakailangan para sa isang BMP.
5. Sa BMP, ito ay ang developer na humahawak ng lahat. Sa kabaligtaran, ito ay ang tindero na nag-aalaga ng lahat ng bagay sa isang CMP.