About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
Abstract
Middleware is often built using a layered architectural style. Layered design provides good separation of the different concerns of middleware, such as communication, marshaling, request dispatching, thread management, etc. Layered architecture helps in the development and evolution of the middleware. It also provides tactical side-benefits: layers provide convenient protection boundaries for enforcing security policies. However, the benefits of this layered structure come at a cost. Layered designs can hinder performance-related optimizations, and actually make it more difficult to adapt systems to conveniently address late-bound requirements such as dependability, access control, virus protection, and so on. We present some examples of this issue, and outline a new approach, under investigation at UC Davis, which includes ideas in middleware, architectures, and programming models. Copyright 2005 ACM.