Awhile ago I wrote how EJB is still good at TX processing.
When it comes to choosing a “J2EE” solution with EJB and all…. I contend that there is a place for it, but it is for high scale REAL “enterprise” solutions. These are few and far between. Some sectors tend to these scenarios: Large banks, telco, government, etc. However, most apps are smaller, departmental, small business, or toy applications. There is no need for everything that a full J2EE stack has to offer in these situations, and there are other solutions out there to handle these.
So if I am working on one of these large scale systems… what am I excited about in the J2EE stack?
- Solid JTA/JTS
- Solid JMS
- Maybe solid caching and fail-over/clustering
If you want these features where are you going to look? BEA? IBM? I don’t think JBoss would be on the list in its current form (I am not saying that they can’t catch up, but I don’t hear many people saying “Man I love the JMS system that JBoss has”).
So when would you choose JBoss? I bet the majority of applications that use JBoss fit into the categories of:
- Using EJB. Don’t need them really
- Using “JBoss” but am only using servlets… (I have also seen this at places who have spent a lot of $$$ for WebLogic and only use their servlet engine on small projects… er….)
JBoss needs more value add. You could argue that they are getting there via JBossAOP, their clustering, JBoss Hibernate ;). They need to keep growing these services to give you a reason to use them, or they need to come up with a top quality MQ / JTA implementation.
What do you think? I would love to hear of some use cases where it made sense to go with an open source solution such as JBoss.