I want to thank Michael over at mip’s scan for letting me know of a great conversation on SOA and tools see the article of reference Building Enterprise Apps: It Takes an SOA or Michaels thoughts mip’s blog entry. In reading the actual article, it refers to SOA being the platform that will allow IT people to be bricklayers/builders.
I thought I would bring out an article that Mark Dymond wrote Nov. 1995 that he shared with me that is so pertinent to the discussion. Enjoy.
Compared to those of us in information systems, the carpenter has a toolkit that is essentially complete and stable. In computing, we are still developing the complete set of tools needed to implement systems for users. Unfortunately, we are acting like the carpenter who buys a new kind of hammer and throws away every other tool as obsolete. “This hammer will solve my cabinet-building backlog.”
Have you noticed how computer industry headlines are very cyclical about new products? For example, headlines from six months ago: New Technology ‘A’ solves Development Backlog for Corporation. ‘A’ Reduces Management Overhead. ‘A’ Reduces Costs, Improves Responsiveness, Survey Finds. Then today’s headlines read: Early Adopters face Problems with ‘A’. Unforeseen Costs Rise after ‘A’ Implementation. New Technology ‘B’ solves Development Backlog for Corporation.
Sound Familiar? Whether it is a product, service, concept, or methodology, almost every innovation has been sold as a solution for every problem facing the MIS department or the end-user.
PCs were supposed to solve personal productivity problems, but productivity didn’t improve. Relational databases were supposed to eliminate data integrity problems but data integrity problems remain. Expert systems, CASE, open systems, client/server computing, and object oriented technology. Each has started as the best thing to happen to computing, but some became a meaningless buzzword, and some finally became a failed opportunity. I believe that client/server and object oriented technologies are just leaving the second phase, and entering the third, backlash phase.
When something is oversold to begin with, a natural reaction occurs when it doesn’t live up to the initial promise. The pendulum swings the other way, and the solution goes from “hero” to “zero.” Once this has happened, it is difficult to recover. For example, we hear people say, “We tried that two years ago, and it just isn’t ready yet.” In a university philosophy course I took, this transformation was referred to as thesis changing to antithesis. In other words, the shortcomings of a given viewpoint give rise to the opposite viewpoint.
My area of responsibility is the development of our firm’s client/server computing practice. Now I happen to believe that this model of application development and deployment is an effective one for many applications. Properly implemented, it provides modularity, and scalability. Modularity separates functions into discrete subsystems, with clearly defined interfaces, making maintenance and enhancements easier. Scalability allows MIS to add users by adding only the additional resources needed to provide the additional services. The most common client/server model currently being implemented, which is a graphical user interface based front-end and a relational database based back-end, provides two key advantages:
• End-users get the user interface that they want, and
• MIS retains the ability to centrally manage and control data and security.
However, there remain problems with implementing this type of application in a large environment. The most common problems involve system and network management and network performance. The biggest issue that I have seen in this environment is getting even mainstream products from different vendors working together properly. I am more likely to be amazed when any two given products work together correctly than when they don’t — or at least when they work together without significant toil and sweat not mentioned in the marketing literature.
So does this mean that we should discard client/server computing, and go back to the mainframe? Place client/server and object oriented technologies on the list of ‘failed’ technologies that cannot possibly help MIS? Although some companies are drawing this conclusion, I believe that this conclusion is not valid.
In philosophy, thesis and antithesis were followed by synthesis. In the rush to embrace new technologies, we forget that the old concepts also have value. But the fact that the old concepts have value does not mean that the new ones do not. Each technology, new or old, is another tool in the set needed to implement systems for the benefit of the end-user. Just because a new tool has become available, we do not need to throw all the other tools away. Client/server computing provides an effective solution to many problems, particularly for knowledge workers. Mainframe-based host-centric systems provide an effective solution to many problems, particularly for high-volume data entry and transaction processing applications. Together, and with the other tools at our disposal, including CASE, expert systems, open systems, and whatever buzzword comes next, they are the tools which systems people need to do their job, which is to provide effective solutions to the end-user. Thesis, antithesis, synthesis.