One of the inherent differences between the Java enterprise market and the Microsoft market is choice. When developing under .Net you're essentially bound to Microsoft products: operating systems, server software, etc. They even prefer that you use their database software and they'll provide better integration with it.
In the Java world, you have a choice. You can choose vendors and it's easier to mix and match software from different vendors. This is the meaning of having "open standards".
Last week, we've seen two deals:
- Oracle is finally buying BEA Systems. Now, Oracle can offer the full package: database, server software, middle-ware, the works. And they probably have the best products out there. Personally, I'm a fan of WebLogic and I hope they'll keep developing it.
- Sun is buying MySQL. This is another step forward for Sun in building an end-to-end open source solution with GlassFish as the application server. Of course, it will all be optimized to run on Solaris.
There's a famous Israeli song that says that being free means you're totally alone. This can be very true in the world of open standards. Small, innovative companies may appreciate the freedom without the fear. Looking danger in the face is part of the daily routine for small companies. However, large software companies prefer to minimize the risk.
From my experience, many customers in the enterprise world prefer to have a "one stop shop" rather than mix and match ingredients from different vendors, hoping they will work well together. This is what Microsoft is giving its' customers for years. This is what enterprise Java customers are going to get, as well.
