BMP와 CMP의 차이

Anonim

에서 가장 복잡하다고 알려져 있습니다. BMP 대 CMP

CMP 또는 컨테이너 관리 지속성은 빈 개발자가 만드는 것이 가장 간단하며 EJB 서버가 지원하는 데 가장 복잡하다고 알려져 있습니다. CMP에서는 빈 개발자가 데이터 액세스 로직을 작성할 필요가 없습니다. 모든 요구는 EJB 서버에 의해 처리됩니다.

BMP 또는 Bean Managed Persistence는 컨테이너와 관련하여 데이터베이스와 상태를 동기화 관리하는 것으로 알려져 있습니다.

CMP 빈 개발자의 경우 모든 데이터베이스가 컨테이너에 의해 자동으로 처리되므로 JDBC 코드와 트랜잭션에 대해 걱정할 필요가 없습니다. 반대로, BMP 개발자는 트랜잭션과 모든 데이터베이스에 대한 책임을집니다.

Container Managed Persistence와 Bean Managed Persistence간에 또 다른 차이점은 EJB가 EJB 쿼리 언어를 사용한다는 점입니다. 반면, Bean Managed Persistence 개발자는 EJB 나 DAO에 데이터 코드를 작성해야합니다. 이 경우 CMP 개발자보다 BMP 개발자에게 더 많은 도전이됩니다.

CMP를 사용하는 사람은 BMP에 필요한 것보다 더 정교한 응용 프로그램 서버가 필요합니다. 일부에서는 Bean Managed Persistence가 전술적 접근 방식을 제공하는 반면 Container Managed Persistence는보다 전략적인 접근 방식을 제공한다고 말합니다.

BMP에서는 모든 것을 처리하는 개발자입니다. 오히려 CMP에서 모든 것을 처리하는 것은 공급 업체입니다. 또 다른 것은 하드 코딩 된 쿼리를 사용하기 때문에 사람이 BMP에서 쿼리를 최적화 할 수 있다는 것입니다. 글쎄, CMP를 사용하는 사람은 모든 것을 처리하는 공급 업체이기 때문에 성능을 최적화 할 수 없습니다.

요약

1. CMP 빈 개발자의 경우 모든 데이터베이스가 컨테이너에 의해 자동으로 처리되므로 JDBC 코드 및 트랜잭션에 대해 걱정할 필요가 없습니다. 반면 BMP 개발자는 트랜잭션과 모든 데이터베이스에 대한 책임을집니다. 2. CMP는 EJB 쿼리 언어를 사용합니다. BMP는 데이터 코드를 EJB 또는 DAO 형식으로 씁니다. 3. Bean Managed Persistence는 전술적 접근 방식을 제공하는 반면, Container Managed Persistence는보다 전략적인 접근 방식을 제공합니다. 4. 한 사람이 CMP를 사용하고 있다면 BMP에 필요한 것보다 더 정교한 응용 프로그램 서버가 필요합니다. 5. BMP에서는 모든 것을 처리하는 개발자입니다. 오히려 CMP에서 모든 것을 처리하는 것은 공급 업체입니다.