What type of business / technology can justify the high cost of a Websphere license?
At a large corporation I worked for earlier, a manager acquired a production license for $ 50,000 + Websphere, even though he only needed a container to run a few servlets on a small intranet system.
Assuming we agree that this was at least overkill and that a free servlet like Tomcat would probably suffice, what type of business / technology could justify the high cost of an application server like Websphere? I think that integration projects are the most likely candidate, i.e. In environments where multiple legacy systems need to be glued together using Java / Websphere as a bridge or wrapper. Any other good cases?
I don't necessarily agree with the following, but there's a pretty strong argument in there ...
<devil advocate>
The key thing to remember when reviewing licenses is not necessarily the cost of the technology, but rather the cost of having someone point a finger at you at 2am when it all came down to you wanting to get paid.
There are many companies that have built their business model for this approach (e.g. Sun - leaving obvious discussions aside from whether it really works or not, RedHat, etc.).
The benefits that IBM can provide for their products really don't boil down to technology per se (as you said, you can get something that does the same job at a much better price), it's more about the business process around their products. If you are in an environment where you need predictable uptime, scalability, etc. (For example, banking)
IBM products are reasonably well tested (one of the reasons they are usually a couple of releases outside the gloss elsewhere). You know that what you get is going to be pretty reliable, integrates well with other big business systems (both legacy systems and other business systems like Siebel, Oracle, SAP, etc.) to mention a single -shop for integration with other IBM products (if you drank full IBM support).
You also know that where there are shipping issues, it is relatively transparent, and documented workarounds will be available for the things you are likely to run into.
</devil advocate>
If your people are smart enough, you don't necessarily need the support people like IBM can offer (take the example of RedHat - people can still go and download Linux for free and run their business on it). But at 2:00 am, you're on your own - you can't call Linux (or one of the Tomcat committers) and get them to tell you what you're doing wrong and help you fix it.
a source to share
If you keep looking around, you will find that many decisions like this are not based on technical considerations as you think they should be. I, like most other seasoned practitioners, would choose one of the other stacks like Tomcat or JBoss. This is not because they have no license costs; because developers can create a better product in a short amount of time with them compared to other J2EE products.
As to why IBM and other J2EE vendors still have the same market share as they do, it's because of thought patterns like "Having a throat to suppress" and "Can't get fired for buying IBM." None of them contain many technical merit, but because most of the time the people making these decisions are not technical enough to understand the real factors and do not have or do not trust the people who have the power to make the decision.
This question is a little too subtle for a short technical answer, as there are so many difficult aspects to creating a successful product in the context of your situation. A couple of general tips "Containers for Dummies":
- Use Tomcat or JBoss, move on and focus on writing a good application. I see a strong voice for Glassfish, but I would warn that it may not have a critical mass that you are comfortable with. You can use one of the supplier's other products and still do well; They will just weigh you more.
- When in doubt, listen to Rod Johnson. He and his company Spring Source are paving the way for Java development today. Today it does for Java containers what Josh Block did for Java 1.2 (anyone using the Collections framework ???)
a source to share
Remember, Websphere is not just an overloaded Servlet container - it is an overloaded J2EE container. Hence, things like EJBs, which are also supported in J2EE, are present in WebSphere, so if the application really needs them, they are available. Of course, what WebSphere is for, not a generic J2EE container, is beyond me - unless they need the ultra-reliable feature Y that should be released in the Milestone X of a competing open source Z product.
a source to share
To be precise, Websphere is not a product. This is a product line. Service is an important part of why people buy IBM Websphere products (and by the way, most of IBM's revenue), Martin said.
Websphere is not only composed of a J2EE stack (for example, WebSphere Application Server). It has many components / products built on top of it, such as Websphere Process Choreographer (workflow engine), Websphere Portal, Websphere Business Monitor and other useful components for running a business.
Websphere is a terrible product. If you don't need all of the other IBM products that integrate with it, and nothing else, there is no good reason to buy it. If all you need is a servlet container, go for Tomcat or Jetty.
They are infinitely faster and don't give your developers headaches. Websphere is a royal pain in the ass. Things that take seconds in tomcat, like deploying a small WAR, literally take minutes and thousands of clicks in Websphere.
After all, Websphere is sold only to large corporate types, where the manager doesn't know much about the technology, doesn't care about spending money on company money, and because of the old arrival, nobody fired the IBM purchase.
Many people don't use EJB and stick to Hibernate and Servlets. If you do this in the beginning, there is no reason your WAR will not work in the future when you decide to move to Websphere, because it is - integrating with something. Then, you also need to make sure you know what other products you will need in the future and use them in your decision making process.
I'm sure many other java types, when forced to work with Websphere with just servlets, are often developed in Tomcat and then deployed at the very end of WS.
a source to share