The Architect In Me

Friday, September 29, 2006

SAIP (Chapter 16, 17) J2EE

I have used J2EE and EJB for several years, and I certainly agree with most critics on the expensive nature of EJBs when considering the heaviness of its transaction management and RMI invocations, making it a relatively heavy weight process. In my opinion, although the use of EJB can be very expensive, the cost is really experienced with the use of entity beens and not as badly with session beens. Even with the use of entity beans, there are many techniques that can be implemented to reduce the costs of using EJB. One of which is using bean managed persistence versus using container managed persistence. EJB by default loads and stores data after every method call; thus, if the programmer can create monitors that control this load and store process for only when data changes need to be made, some performance improvement can be achieved. Also, in this day and age where hardware is cheap, we have the luxury of being able to scale applications both horizontally and vertically, and the ease of clustering and load balancing in EJB makes it a very good candidate for horizontal scaling.

In the Luther application, J2EE is used for several reasons amongst which are separation of user interface and also for the management features available through the application servers. Applicatoin servers, definitely form a huge part of the success of J2EE because of all the features they provide in terms of JDBC pooling, JNDI, JMS etc. These are all features that greatly cut down on the amount of programming required from the programmer and allow significant reuse of componenets that have been properly tested and approved by reputable organizations.

0 Comments:

Post a Comment

<< Home