BMP проти CMP
CMP, або Container Managed Persistence, як відомо, є найпростішим для розробників bean, і він, як відомо, є найскладнішим для підтримки серверів EJB. У CMP розробникам бобів немає необхідності писати будь-яку логіку доступу до даних; усіма потребами піклується сервер EJB.
Відомо, що BMP, або Bean Managed Persistence, керує синхронізацією свого стану з базами даних, як це задіяно в контейнері.
Для розробника CMP bean немає необхідності турбуватися про код JDBC та транзакції, оскільки всі бази даних автоматично обробляються контейнером. Навпаки, розробник BMP несе відповідальність за транзакції та всі бази даних.
Ще одна відмінність, яку можна помітити між наполегливістю "Container Managed" та "Bean Managed Persistence", полягає в тому, що перший використовує мову запитів EJB. З іншого боку, розробник Bean Managed Persistent повинен записувати код даних або в EJB, або в DAO. Що ж, у цьому випадку це більше завдання для розробника BMP, ніж для розробника CMP.
Якщо людина використовує CMP, їй знадобиться більш досконалий сервер додатків, ніж те, що потрібно для BMP.
Деякі говорили, що наполегливість Bean Managed та надає тактичний підхід, тоді як наполегливість, що управляється контейнерами, пропонує більш стратегічний.
У BMP саме розробник справляється з усім. Навпаки, саме продавець дбає про все в CMP. Ще одна річ, яку можна помітити, це те, що людина зможе оптимізувати запити в BMP, оскільки вона використовує жорсткі кодовані запити. Ну а людина, що використовує CMP, не може оптимізувати ефективність роботи, оскільки саме цей виробник піклується про все.
Підсумок
1. Для розробника CMP bean немає необхідності турбуватися про код JDBC та транзакції, оскільки всі бази даних автоматично обробляються контейнером. З іншого боку, розробник BMP несе відповідальність за транзакції та всі бази даних.
2. CMP використовує мову запитів EJB. BMP або записує код даних у форматі EJB, або у форматі DAO.
3. Наполегливість Bean Managed Persistence пропонує тактичний підхід, тоді як наполегливість керованих контейнером пропонує більш стратегічний підхід.
4. Якщо людина використовує CMP, їй знадобиться більш досконалий сервер додатків, ніж те, що потрібно для BMP.
5. У BMP саме розробник обробляє все. Навпаки, саме продавець дбає про все в CMP.