IIOP/JMS Request flow prioritization is achieved in WebSphere Extended Deployment through the autonomic managers that control the flow of requests, prioritization of requests, and dynamic workload management. Only IIOP requests from a standalone EJB client are handled by Extended Deployment IIOP request flow prioritization. EJB calls from servlets for example, are not prioritized. This is because the system cannot prioritize at multiple tiers, such as the web tier and EJB tier, requests associated with the same overall user request. However, given the asynchronous nature of JMS, there are no restrictions on where the requests originate.
For IIOP/JMS, the back-end application server processes hosting the applications run the Autonomic Request Flow Manager (ARFM) gateways, which perform the request flow prioritization function. The request flows are managed to achieve the best balanced performance results, considering the configured service policies and the offered load.
With WebSphere Extended Deployment, you can define performance goals and bind them to specific subsets of the incoming traffic. The ARFM and associated autonomic managers are able to support business goals in times of high load by making smart decisions about the work coming into the application servers. Not all work in your configuration is created equal. The ARFM is able to support this concept by forwarding different flows of requests on for execution more or less quickly to achieve the best balanced result.
A service policy is a user-defined categorization that is assigned to potential work as an attribute that is read by the ARFM. For IIOP, you can use a service policy to classify requests based on request attributes, including the application name, EJB method name, EJB module name, such as the EJB jar file, and the EJB name. For JMS, you can classify based on destination name, either topics or queues. By configuring service policies, you apply varying levels of importance to the actual work. You can use multiple service policies to deliver differentiated services to different categories of requests. Service policy goals can differ in performance targets as well as importance.
The ARFM exists in the application server process and controls request prioritization. The autonomic request flow manager contains two parts: a controller and a gateway. The ARFM function is implemented, for each cell, by a controller plus a collection of gateways in the application servers. The gateways intercept and queue the incoming IIOP requests, while the controller provides control signals, or directions, to the gateways, and the placement controller. The ARFM also includes the work profiler, which estimates the computational load characteristics of the different flows of requests. Working together, these components can properly prioritize incoming requests.