Skip to content

Does enterprise software mean evil software?

There is an old saying that ‘a leopard never changes his spots’ which, with regards to large companies which are dominant players in a market, can be an unfortunate truth.

I’ve just spent a large part of my day trying to configure an application to run in an environment one of the big boys make a lot of money out of. Much as I find it awkward to talk up my abilities as a software engineer, it is probably necessary to mention I have worked with many such environments in the past and I’ve learnt from some of the brightest academics and senior engineers you could hope to meet in this country. Whether that qualifies me as no idiot when it comes to this stuff, I’ll let you decide. But having spent some time attempting to get this application to work, I am no closer to a solution and my head is spinning.

Let’s examine why this is a problem, in relatively non-technical language: These ‘environments’ I mention provide everything you need to get a broad range of software up and running, connected to many types of database, working at scale with large numbers of users. They make it easy for systems administrator to monitor and manage applications. They are also based on open source specifications that allow you to freely switch between vendors and technologies. In theory…

The problem is that it never simply works to transfer an application between these vendor environments. They all have their own versions of ‘standards compliant’ software.  Almost a decade ago, when these application servers were first conceived, there was vagueness in the standards as well as technical and ‘strategic’ reasons for these differences. I have blogged about these problems in the past. Some progress has been made, but we are still left with a situation where freely available open source solutions and lighter weight versions are still so much easier to work with than the enterprise offering of the big boys. Sure there is some added value they offer but it is at a considerable price.

The key attraction to Java software development is the ‘write once, run anywhere’ philosophy. It could be argued that these software environments add an extra layer which is completely at odds with the promise that you, as an application developer and an independent software vendor (which are so important to todays economies) can build and sell software to anyone. It means you may have to pick up the bill for a choice of technology you cannot make.

Is enterprise software evil, and is this deliberate anti competitive behaviour? And which organisations are the worst offenders? It does get you thinking…

Leave a Reply