Due to the use of the concepts embedded in ServiceOriented Architecture (SOA), software design, now more than ever, involves the use of incomplete information. Applications that utilize Web Services are also highly impacted by the problem of deployment and subsequent undeployment of services. Specifically, there is a level of uncertainty caused by the potential for services to become unavailable (either temporarily or permanently). In a scenario where an application must switch from one service to another due to the undeployment problem, the client application may require that new or different handlers be used to cope with the properties of the alternative service. In this current development climate, the design issues become clear: there is a need to reason about how a design is impacted by discovered services, design analysis must consider the transaction and event properties of discovered services, and design of systems must incorporate fault tolerance and high-integrity issues to cope with the dynamic landscape caused by the uncertainty associated with using services.