It depends on what type of middleware is being discussed. Is the discussion about DB-oriented middleware (e.g. SQL/CLI aka ODBC), or OO middleware (e.g. CORBA, COM), or perhaps Document Frameworks (e.g. DOM, OpenDoc, OLE), or maybe TP Monitors (e.g. Encina, Tuxedo)? For instance, vendors would like for their bias to be served. Database vendors would like the future direction to orient towards them (Informix has been critical of CORBA and it's substantially different approach). They would probably like to subsume TP monitors within their databases as well, though this seems unlikely. Microsoft is playing several ends of this, between pushing COM+, OLE, as well as MT Server. TP Monitors are unlikely to go away and may become an essential part of the infrastructure, what with the increasing amounts of Internet-based commerce, and increasing need for High Availability systems. CORBA presents a formal way to splitting applications into intercommunicating pieces. Which types of middleware products become the dominant drivers of the future is hard to tell.
It depends on what variety of tools clients will need. Most certainly clients will need an increased variety of utility services. Typical large applications may well be written as collections of servers using CORBA to interact. Clients would then be able to drop in replacements as they become available. Off the shelf products for monitoring and controlling CORBA based servers may well be a need of clients. This would make CORBA less of a "rocket science" thing. Clients will be looking for these additional services to help speed the development of applications, thus making them more competitive quicker than ever before. As an example, component transaction managers extend the services of traditional transaction processing monitors to server-side components, including multithreading, session administration, security, and transaction management. Also, high quality encryption will most certainly become a staple need of clients. Plus many other needs not yet defined. All of which makes predicting this for the future guesswork at best.
It depends on what standards for middleware may or may not be decided upon and implemented. The future direction of middleware is certainly dependent upon groups such as the OMG, IETF, and W3C. Will the "defacto" standards (e.g. DCOM, CORBA, etc.) become "official" community wide standards? Will the wave of the middleware future be more towards "freeware" or possibly "proprietary". Can this complex issue be answered quickly with meaningful standards that can be applied throughout the industry?
Clearly predicting where all this will go is difficult, but still we can begin to see a glimpse of what areas will most likely provide the driving force into the future. More services to meet customer needs, better interoperability between applications, increased application development ability, and defined standards would certainly be leading areas by which the future of middleware will take it's direction.
Advanced Services - One important trend in the future of middleware will be the continued addition of advanced services and the functionality these services will provide to new enterprise applications. In addition, new direction may be coming from the application development community as well. For example, component transaction managers extend the services of traditional transaction processing monitors to server-side components, including multithreading, session administration, security, and transaction management.Other examples include Persistent Object Service and CORBA Transaction Service. While some advanced services do appear in middleware currently available, the move to more and more advanced services becoming common components in an increasing number of middleware products is a likely direction in the evolution of middleware.
Middleware Interoperability - The interoperability of middleware products to various applications will certainly be linked to the evolution of middleware standards. In addition, a possible focus for middleware interoperability may be found in application interfacing. For example, a new OO programming buzz-phrase is Aspect-Oriented Programming. This brings the possible transparent integration of a vanilla OO program with middleware.
Middleware Standards - Over the last few years the industry has see the ascension and dominance of a handful of de facto industry standards. Windows (the Win 32 API) on the desktop and relational databases on the server perhaps provide the best examples. Microsoft's Distributed Component Object Model (DCOM) and the Object Management Group's Common Object Request Broker Architecture (Corba) are commonly employed standards for interapplication communication. Java is considered the corporate standard for Internet/intranet development, while ActiveX controls and JavaBeans are the leading component technology standards. The result of the industry's embrace of these de facto standards is that it is now much easier to link disparate classes of software. Formerly, only dedicated middleware products such as database access products and interapplication communication middleware including ORBs and message-oriented middleware were considered suitable for bridging software types. It appears however, that much debate and controversy over the development and implementation of standards will continue to be a part of the future of middleware. As this Object Watch article illustrates, the debate nor meaningful standards do not appear to be headed to conclusion soon.
Inprise Corporation Bay Technologies BEA Systems, Inc.
Software Magazine Insomnia Series