Unterschied zwischen BMP und CMP

ist BMP vs CMP

CMP, oder Container Managed Persistence, ist bekanntlich die einfachste Methode für Bean-Entwickler. Es ist bekannt, dass es für die EJB-Server am kompliziertesten ist. In CMP müssen Bean-Entwickler keine Datenzugriffslogik schreiben; Alle Anforderungen werden vom EJB-Server erfüllt.

Es ist bekannt, dass BMP oder Bean Managed Persistence seinen Zustand mit Datenbanken synchronisiert, die vom Container verwendet werden.

Für einen CMP-Bean-Entwickler müssen Sie sich keine Gedanken über JDBC-Code und Transaktionen machen, da alle Datenbanken automatisch vom Container verarbeitet werden. Im Gegensatz dazu wird ein BMP-Entwickler für die Transaktionen und alle Datenbanken verantwortlich sein.

Ein weiterer Unterschied, der zwischen der Container-verwalteten Persistenz und der Bean-verwalteten Persistenz festgestellt werden kann, besteht darin, dass die erstere die EJB-Abfragesprache verwendet. Auf der anderen Seite muss ein Bean Managed Persistence-Entwickler den Datencode entweder in EJB oder in DAO schreiben. Nun, in diesem Fall ist es eine größere Herausforderung für den BMP-Entwickler als für den CMP-Entwickler.

Wenn eine Person CMP verwendet, benötigen sie einen komplexeren Anwendungsserver als für einen BMP benötigt wird.

Einige haben gesagt, dass die Bean Managed Persistence einen taktischen Ansatz bietet, während die Container Managed Persistence einen strategischeren Ansatz bietet.

In BMP ist es der Entwickler, der alles handhabt. Im Gegenteil, es ist der Anbieter, der sich um alles in einem CMP kümmert. Eine andere Sache, die gesehen werden kann, ist, dass eine Person in der Lage ist, die Abfragen in BMP zu optimieren, da sie hart codierte Abfragen verwendet. Nun, eine Person, die CMP verwendet, kann die Leistung nicht optimieren, da es der Anbieter ist, der sich um alles kümmert.

Zusammenfassung

1. Für einen CMP-Bean-Entwickler müssen Sie sich nicht um JDBC-Code und Transaktionen kümmern, da alle Datenbanken automatisch vom Container verarbeitet werden. Auf der anderen Seite wird ein BMP-Entwickler für die Transaktionen und alle Datenbanken verantwortlich sein.

2. Der CMP verwendet die EJB-Abfragesprache. Ein BMP schreibt den Datencode entweder in EJB oder im DAO-Format.

3. Bean Managed Persistence bietet einen taktischen Ansatz, während die Container Managed Persistence einen strategischeren Ansatz bietet.

4. Wenn eine Person CMP verwendet, benötigen sie einen komplexeren Anwendungsserver als für einen BMP.

5. In BMP ist es der Entwickler, der alles handhabt. Im Gegenteil, es ist der Anbieter, der sich um alles in einem CMP kümmert.