Skip to Main Content
Confusion over architecture, while not uncommon in software development in general, seems prevalent in middleware. I attribute this to the fact that middleware systems are typically distributed and heterogeneous. In general, distributed systems are difficult to design, implement, debug, and maintain. When you mix in multiples of hardware platforms, operating systems, protocols, applications, and vendors, the complexity can rise to the point where nobody really understands the whole system. When systems span large enterprises and comprise multiple technologies and approaches, their keepers tend to have far more to worry about than the purity of the system's architecture. A company that fails to implement a system architecture is forced to undertake a system rewrite with every move to a new technology. The article discusses how to manage a system so as to avoid these problems.