Having spent the better part of my career working with products that are based on JEE, I sometimes have to remind myself that .NET is still quite prevalent. You'll find that there are customers who are "JEE shops" or ".NET shops". But a fairly large portion of customers have both JEE & .NET in their IT environments. I saw a Gartner estimate of JEE only/.NET only/ JEE & .NET/Other architectures representing 25%/25%/35%/15% of all customers. Take that "data" with a grain of salt as it's old and based on my fuzzy memory. The larger point is that a significant portion of enterprises have both .NET & JEE.
We could argue about the pros/cons of each architecture, but customers seem to have voted with their wallets and use each as appropriate to address business needs. This statement could equally be applied to the OSS & Traditional software discussion.
I had the opportunity to speak with Jenna Dobkin from Mainsoft last week. (Mainsoft is an IBM business partner). Mainsoft provides .NET to JEE interoperability by allowing .NET apps to be cross compiled to run natively on a JEE runtime. I was intrigued by the technical feat behind Mainsoft's offering. It allows customers with .NET skills and assets to continue benefiting from their previous investments while being able to deploy to JEE platforms. Why JEE? Well, it could be because customers want the performance, reliability, availability, etc. benefits of JEE. Maybe they want to shift towards open standards-based applications. Maybe their end customers are "JEE only" shops. Maybe dropping the "2" from J2EE did the trick!
Jenna put me in contact with two Mainsoft customers to understand why they didn't *just* deploy to .NET or *just* write in JEE. Note the emphasis on my implied simplicity of the word "just".
I spoke with Bart Sijnave, the CIO at UZ Gent, a university hospital in Belgium. I also spoke with Atul Mistry, VP of Technology at Urix, an ISV in the healthcare industry.
Both Bart & Atul indicated that their organizations had .NET skills and re-training their developers (teams of less than 20 in both cases) for JEE was not a viable business option. Bart suggested:
"If I had a larger team, I would add JEE-specific development skills. But I could not meet my customer's time-sensitive demands if portions of my team were out getting re-trained".
UZ Gent uses RHEL and other OSS products and looks for opportunities to expand OSS use as appropriate.
Atul said:
"Business is the key decision criteria for us. If you have to reinvent the wheel because of a religious technical belief then you are not doing the right thing for your business."
Urix has customers whose IT environments are largely Unix based. Faced with not addressing these customers or adding new staff to port the application and continue development on Unix, Urix made the business decision to use Mainsoft. Urix also uses OSS technology such as log4net and other OSS technologies aimed at Microsoft developers.
Both organizations are believers and users of open source products. But, for these two companies, business results trump beliefs. I suspect this is the case for the majority of customers. This is why I believe that OSS will never truly "take over" the software world, nor will OSS fade away. Pragmatic customers wouldn't allow either to occur.
Customers have to be pragmatic because their business depends on it.
PS: I should state: "The postings on this site are my own and don’t necessarily represent IBM’s positions, strategies or opinions."