Différence entre BMP et CMP La différence entre
BMP vs CMP
CMP, ou Container Managed Persistence, est connu pour être le plus simple à créer pour les développeurs de beans, et il est connu pour être le plus compliqué à supporter pour les serveurs EJB. Dans CMP, les développeurs de beans n'ont pas besoin d'écrire une 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, telles qu'engagées par le conteneur.
Pour un développeur de beans 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 conteneur et la persistance gérée par bean est que la première utilise le langage de requête EJB. D'un autre côté, un développeur Bean Managed Persistence doit écrire le code de données soit dans EJB, soit dans DAO. Eh bien, dans ce cas, c'est plus un défi pour le développeur BMP, que pour le développeur CMP.
Si une personne utilise CMP, elle aurait besoin d'un serveur d'application plus sophistiqué que ce qui est nécessaire pour une BMP.
Certains ont dit que la persistance gérée par le haricot offre une approche tactique, alors que la persistance gérée par le conteneur offre une approche plus stratégique.
Dans BMP, c'est le développeur qui gère tout. Au contraire, c'est le vendeur qui prend soin 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 la performance, car c'est le fournisseur qui s'occupe de tout.
Résumé
1. Pour un développeur de beans 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'un autre côté, 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 EJB ou dans le format DAO.
3. La persistance gérée par bean offre une approche tactique, tandis que la persistance gérée par conteneur offre une approche plus stratégique.
4. Si une personne utilise CMP, elle aura besoin d'un serveur d'application plus sophistiqué que ce qui est nécessaire pour une BMP.
5. En BMP, c'est le développeur qui gère tout. Au contraire, c'est le vendeur qui prend soin de tout dans un CMP.