Sự khác biệt giữa BMP và CMP

BMP vs CMP

CMP, hay Container Managed Persistence, được biết là đơn giản nhất cho các nhà phát triển hạt để tạo ra và được biết đến là phức tạp nhất cho các máy chủ EJB để hỗ trợ. Trong CMP, không cần phải phát triển hạt để viết bất kỳ logic truy cập dữ liệu; tất cả các nhu cầu đều được chăm sóc bởi máy chủ EJB.

BMP, hay Bean Managed Persistence, được biết là quản lý việc đồng bộ hóa trạng thái với các cơ sở dữ liệu, như được thu hút bởi vùng chứa.

Đối với nhà phát triển cây CMP, không cần phải lo lắng về mã JDBC và các giao dịch, vì tất cả các cơ sở dữ liệu được tự động xử lý bởi vùng chứa. Ngược lại, nhà phát triển BMP sẽ chịu trách nhiệm về các giao dịch và tất cả các cơ sở dữ liệu.

Sự khác biệt khác có thể nhận thấy giữa Container Managed Persistence và Bean Managed Persistence là thứ nguyên sử dụng ngôn ngữ truy vấn EJB. Mặt khác, nhà phát triển Bean Managed Persistence phải viết mã dữ liệu trong EJB hoặc trong DAO. Vâng, trong trường hợp này, nó là một thách thức đối với nhà phát triển BMP, hơn là nhà phát triển CMP.

Nếu một người đang sử dụng CMP, họ sẽ cần một máy chủ ứng dụng tinh vi hơn, hơn là những gì cần thiết cho một BMP.

Một số người cho rằng Bean Managed Persistence cung cấp cách tiếp cận chiến thuật, trong khi Container Managed Persistence cung cấp cách tiếp cận chiến lược hơn.

Trong BMP, nó là nhà phát triển những người xử lý tất cả mọi thứ. Ngược lại, nó là nhà cung cấp chăm sóc mọi thứ trong một CMP. Một điều khác có thể được nhìn thấy là một người sẽ có thể tối ưu hóa các truy vấn trong BMP, vì nó sử dụng các truy vấn mã hóa cứng. Vâng, một người sử dụng CMP không thể tối ưu hóa hiệu suất, vì nó là nhà cung cấp chăm sóc mọi thứ.

Tóm tắt

1. Đối với nhà phát triển CMP bean, không cần phải lo lắng về mã JDBC và các giao dịch, vì tất cả các cơ sở dữ liệu được tự động xử lý bởi vùng chứa. Mặt khác, nhà phát triển BMP sẽ chịu trách nhiệm về các giao dịch và tất cả các cơ sở dữ liệu.

2. CMP sử dụng ngôn ngữ truy vấn EJB. Một BMP hoặc viết mã dữ liệu trong EJB, hoặc ở định dạng DAO.

3. Bean Managed Persistence cung cấp một cách tiếp cận chiến thuật, trong khi Container Managed Persistence cung cấp cách tiếp cận chiến lược hơn.

4. Nếu một người đang sử dụng CMP, họ sẽ cần một máy chủ ứng dụng phức tạp hơn, hơn là những gì cần thiết cho một BMP.

5. Trong BMP, nó là nhà phát triển những người xử lý tất cả mọi thứ. Ngược lại, nó là nhà cung cấp chăm sóc mọi thứ trong một CMP.