This paper proposes a framework that considers the correspondence between a workflow activity and services from a two dimensional perspective. In the vertical axis, we consider how a combination of multiple services may correspond to one activity, and apply this to service discovery. Conventional work on service discovery has focused on finding a single service that satisfies an activity. But there may be no one-to-one correspondence, in which case we need to consider finding multiple services that put together will satisfy that activity. In the horizontal axis, we consider how several services may correspond to one activity. We apply this to increasing the robustness of a service-oriented system, by being able to switch between the service alternatives. We have incorporated our framework within a workflow-based integration tool called WITH.