What techniques covered in class are exploited in this category?

Messaging: Sending messages which are blocks of data that a sender sends to a recipient. Messages include a message body, sender ID and recipient ID.

Multiplexing and queuing: Multiplexing and queuing go hand-in-hand. Multiplexing combines messages for a given recipient from more than one sender, while queuing is the system that stores messages until the recipient is ready to receive it.

Send protocol: A one-way protocol from sender to recipient that does not require a response from the recipient.

Can you speculate on the future evolution of this category? The future of MOM includes speculation on two questions. First, "Is MOM here to stay and will its market share increase?" and second, "Will communications middleware continue to be a standalone middleware application or will it become a component of more complex middleware solutions?"

To answer the first question, "Is MOM here to stay and will its market share increase?" it is useful to look at the advantages of MOM vs. RPC.

MOM advantages:

RPC advantages: According to an April 1996, article in Byte magazine by Salamone Salvatore, "RPCs work best in simple setups, but often lack the flexibility developers need for complex client/server environments." It is likely that RPC is here to stay in some form, particularly for applications that can’t tolerate time-independent responses. But as systems become more complex and dispersed there will likely be a greater reliance on MOM solutions and the number of applications that rely on MOM technology will continue to grow. In addition, MOM technology has gotten a big boost recently by the decision by the Object Management Group (OMG) to adopt MOM to enable Object Request Brokers (ORBs) to communicate asynchronously.

The second question, "Will MOM remain a stand-alone middleware application, or will it become a component of more complex middleware solutions?" is even more difficult to predict.

As mentioned above, the middleware market is a web of competing and overlapping products. The market is in flux as some portions of middleware become incorporated in operating systems and new layers emerge. In addition, some products such as transaction processing products that originally used proprietary middleware to complete nearly all middleware functions (e.g., presentation, communication, and control) have started to shed some functions and rely on other middleware infrastructure. On the other hand, vendors of some products, such as MOM, appear to have added functions to their standard products over the last several months.

Whether MOM remains a stand-alone application depends in part upon the success of MOMA to ensure that MOM techniques are standardized so that an application built to work with one MOM product is able to work with all MOM products. On the other hand, if one MOM vendor becomes dominant and captures the vast majority of the market, then applications would only need to be built to work with that product. Finally, there may be some problems that require an integrated solution with bundled middleware services. If a number of these emerge, then the communications middleware category will continue to offer numerous solutions, none of which are truly dominant.