Skip to Main Content
Developing any nontrivial middleware-based distributed system is hard, regardless of the middleware technology. Although technology's continuous march should make systems easier to develop, somehow the details always remain challenging. New technologies only seem to make simple things simpler; they don't help with the more complex things. Horizontal concerns, such as security, transactions, fault tolerance, load balancing, and enterprise management, never seem to get easier, regardless of what middleware development platform you choose. Dealing with versioning and change management in a deployed middleware application can be complicated and costly. A good example of versioning coming into play for distributed middleware systems is the interface between any two applications or components. Interface versioning issues apply whether the middleware explicitly employs an interface definition language (IDL), as in distributed-object systems like Corba and Microsoft COM, or whether "interfaces" really are represented as exchanged documents, as in many messaging systems.