Middleware, defined broadly, consists of the intersection of all the things that applications developers do not want to do with all that network engineers do not want to do. As such, there are numerous services that applications would like to utilize rather than having to perform those functions themselves. These services can be roughly grouped into three categories, as described below.
- Business Application Middleware - Typically businesses are seeking extended
tool sets with which to construct modular accounting or transactional applications.
Four services are frequently mentioned in this category: object resource brokering
(to find business data in distributed environments); message handling (both
asynchronous and synchronously between processes); transaction monitoring
(to perform audit functions); and application gateways (such as X.500 to SMTP).
These tools are being developed by major computer companies are will find
their way into administrative systems in higher education. Good references
to business application middleware abound on the network. Among them are the
Electronic Messaging Association (http://www.ema.org),
the International Middleware Association (http://www.moma-inc.org)
and the Securities Industry Middleware Council (http://www.simc-inc.org).
- Research Application Middleware - Complex networked computing environments
are being developed to support scientific data acquisition, processing and
management among high-end and unique resources. Supercomputers, advanced networks,
network storage systems and specialized scientific instruments are being connected
together into fabrics to address particular research agendas. To manage this
environment requires a number of advanced services such as coscheduling of
networked resources, bandwidth brokers, library synchronization, and database
discovery. Good references to this area can be found at http://legion.virginia.edu
and at http://www.globus.org.
- Ubiquitous Computing Tools - To achieve "anywhere, anytime, anyhow" computing,
users will need to be presented with a consistent, customized interface while
employing a variety of devices from a variety of locations. While such mobility,
portability and ubiquity will depend heavily on authentication and directory
services, additional protocols and API's need to be established. For example,
standard sets of data will need to be moved frequently and securely between
devices and centralized directories. Mechanisms are also needed to change
attribute preferences depending on the characteristics of the device being
used. References are harder to find. One is http://andrew2.andrew.cmu.edu/minotaur/.
Additional references are welcome and should be sent to the webmaster for