Différence entre BMP et CMP

BMP vs CMP

CMP, ou Container Managed Persistence, est connu pour être le plus simple à créer pour les développeurs de beans et est le plus compliqué à supporter pour les serveurs EJB. Dans CMP, les développeurs de beans n'ont pas besoin d'écrire de logique d'accès aux données; tous les besoins sont pris en charge par le serveur EJB.

BMP, ou Bean Managed Persistence, est connu pour gérer la synchronisation de son état avec les bases de données, comme engagé par le conteneur.

Pour un développeur de bean CMP, il n’est pas nécessaire de s’inquiéter du code et des transactions JDBC, car toutes les bases de données sont automatiquement gérées par le conteneur. Au contraire, un développeur BMP aura la responsabilité des transactions et de toutes les bases de données.

Une autre différence qui peut être remarquée entre la persistance gérée par le conteneur et la persistance gérée par le bean est que le premier utilise le langage de requête EJB. D'autre part, un développeur Bean Managed Persistence doit écrire le code de données soit dans EJB, soit dans DAO. Eh bien, dans ce cas, il est plus un défi pour le développeur BMP, que le développeur CMP.

Si une personne utilise CMP, elle aura besoin d’un serveur d’applications plus sophistiqué que celui requis pour un système BMP..

Certains ont dit que la persistance gérée par les haricots offrait une approche tactique, tandis que la persistance gérée par les conteneurs offrait une approche plus stratégique..

En BMP, c'est le développeur qui gère tout. Au contraire, c'est le vendeur qui s'occupe de tout dans un CMP. Une autre chose que l’on peut voir est qu’une personne sera capable d’optimiser les requêtes dans BMP, car elle utilise des requêtes codées en dur. Eh bien, une personne utilisant CMP ne peut pas optimiser les performances, car c’est le fournisseur qui s’occupe de tout..

Résumé

1. Pour un développeur de bean CMP, il n’est pas nécessaire de s’inquiéter du code et des transactions JDBC, car toutes les bases de données sont automatiquement gérées par le conteneur. D'autre part, un développeur BMP aura la responsabilité des transactions et de toutes les bases de données..

2. Le CMP utilise le langage de requête EJB. Un BMP écrit le code de données dans un EJB ou au format DAO.

3. Bean Managed Persistence offre une approche tactique, tandis que Container Managed Persistence propose une approche plus stratégique..

4. Si une personne utilise CMP, elle aura besoin d’un serveur d’applications plus sophistiqué que celui requis pour un système BMP..

5. Dans BMP, c'est le développeur qui gère tout. Au contraire, c’est le vendeur qui s’occupe de tout dans un CMP.