A Web services-oriented service provider middleware architecture and
implementation is provided that integrates the performance monitoring of
individual CPs, along with other dynamic contextual conditions, in the
automatic selection of appropriate CPs. In the architecture, a CP's
performance is evaluated not only in terms of network or service-level
parameters, but also via other business processes (e.g., complaint
handling). The selection of multiple Web services occurs through an
initial filtering of a set of feasible workflows for each task depending
on business agreements and end user needs, and a subsequent dynamic
context-based selection of the most appropriate workflow. A workflow
filtering and ranking engine uses metarules to guide the optimisation
process and help in selecting and ranking the feasible workflows. The
component services in the workflows are evaluated by evaluator processes
of information sources. The workflow engine outputs the workflows in
their preference ranking. At runtime, if the workflow and/or its
components meet all the runtime requirements (performance, for example),
then the workflow is selected and executed.