Hi Guys, How BMP Reduces your ability to move your EJB from one App server to another? Pls note that I am talking about performance of App Server AND NOT DATABASE SERVER !!! So kindly DONT give explanation on BMPs porting acros different databases !!! Thanx. Sandeep.
There are really two sides to this... First of all, it can be argued that BMP increases your ability to build portable EJBs, primarily because you are reducing the need to use vendor specific deployment descriptors to map fields to the database. From this perspective, provided that you only use JNDI-based datasources/connection pools, you should be able to port your EJB to any other application server very easily. On the other hand, you have control over the code that you write. Therefore, it is possible to introduce vendor specific extensions into your BMP code, making them non-portable between application servers. With CMP beans, the actual Java code that you write may be portable, but you will probably find that most of the rework will be in re-deploying the CMP beans - writing the deployment descriptors and packaging them up. So BMP doesn't have to reduce portability. Anybody have any other thoughts on this? Simon
Joined: Oct 09, 2000
I agree with u Simon...tht BMP does not reduce portability !! But Ian's Mock exam for SCEA(Sun certification for Enterprise Architect ) says tht Ans B is right for following question : 19) ID - EJ019 What is true about BMP? (A) Improves your ability to move your EJB from one App server to another. (B) Reduces your ability to move your EJB from one App server to another. The link for moc exam is http://www.ianswebpage.com/cert/scea/3mock.php I m confused. Pls help me out. Sandeep
The deployment descriptor problem is real, no question. However, DD's are supposed to be editable without having to access source code (I'd say by "non-programmers", but anyone who has clerks editing database info is going to get what they so richly deserve). It is particularly when you get into "optimized" SQL that BMPs can get you into trouble. SQL isn't exactly noted for being "write-once, run-anywhere". As long as you do vanilla SQL, that's fine. But when you start using the tricks that are unique to your current DBMS vendor, you'll end up having to edit and re-compile the BMP source code. Of course you COULD try placing the SQL in a resource file, but then you're starting to re-create the CMP architecture
An IDE is no substitute for an Intelligent Developer.