I keep hearing that such and such a technology is not ready for prime-time, or that another technology is not “enterprise-ready.” I earn my living as a consultant working with products and applications that ARE enterprise ready – but the tools exceed the requirements of the project, adding a layer of complexity and unmanageability to everything I do.
Oracle is not the answer to every database need. I once worked on an application that only had six users, twelve tables and at most two hundred thousand records; but I was forced to depend on a database administrator for every little change I needed to make. The issue was not that I was unable to work with Oracle, but there was a policy in place that prevented me from having access. The application did not require the use of transactions, nor did the application use stored procedures or triggers. Corporate policy aside, MySQL would have done the job very well.
People I know sneer when I declare my interest in PHP. PHP, they tell me, is not “enterprise-ready”. What does that mean? Most of the applications I have worked on that employ the Microsoft .NET framework are NOT enterprise-ready. I do not blame this on the .NET framework but on the people who have built the applications.
.NET may be enterprise ready, but many of the developers who use it are no more skilled than the average PHP programmer. In fact, I have seem PHP code that I hold in far higher regard than some of the .NET or Java I have seen. I currently maintain an application for an anthropologist at Carleton University that is based on PHP and MySQL. The application has over 90 users. I have never had to reboot the server, and I rarely hear from users.
Today, I am working on a database using Windows Terminal Services. Every two or three minutes I experience an encryption error and I am forced to log in again. This morning I deployed some new code to the server, but the server is caching my old content. Nothing I can do works. Several times a day, the server hangs and I get some strange Windows 2003 error message I have never seen before. Is this what is meant by enterprise ready?
It is possible to build stable and scalable applications with Oracle and the .NET framework – of course it is – but employing these technologies is not a guarantee. Stupid code is still stupid code. I would prefer a well-constructed MySQL database to some of the poorly constructed Oracle databases I have seen.
All this talk of enterprise ready platforms and products is misplaced. We should really be talking about best practices for the enterprise. A tool is just a tool, and a fool is always a fool, no matter what technology he or she uses.