## 4 Selection of Services
### A Conceptual Architecture for an Adaptable Assurance-Based WSD  
Our approach to dynamic certification of service security properties consists of two phases: _Static Certification (SC)_ and _Dynamic Certification (DC)_.  
Whereas the SC process involves certification of services at development time, independently from the context in which the services are deployed, the DC process supports run-time certification of services. Based on the generated service security certificates (_ServiceCertificate_), depicted in Figure 4(a), WSD provides an assurance-based selection process. Upon receiving a consumers' request with security preferences, it matches them against the _ServiceCertificate_. According to the matching results, WSD returns a set of services compatible with the users' preferences.  
Figure 5 depicts the overall architecture of the adaptable assurance-based service selection, which is composed of the following components and processes.  
**Service Consumer:**: The party requesting access to, or integrating a remote service, according to users' preferences.
**Service Provider:**: The party providing remote Web services that are accessed by service consumers.
**Dynamic Repository:**: The component storing the Web services together with the security certificates awarded to them. Here, the certified services are registered and published, and periodically re-certified to assess their security properties.  
Figure 5: Overall Architecture of Adaptable Assurance-based WSD.  
**Consumer Security Management:**: The component dealing with the consumer's security requirements and preferences. It allows service consumers to define their preferences in terms of certified properties, evidence, and tests.
**Adaptable Security Management:**: The component enabling automated run-time service certification, beyond the security implementation and pre-deployment certification of the Web service. It monitors the properties that could hold at run-time and identifies new and old security properties that need (re-)certification. The module continuously evaluates the propriety of the security properties claimed by the service.  
The run-time Web service assurance process is executed in three distinct phases as follows.  
**Security Evaluation:**: An accredited process that executes test cases for service evaluation. It generates new test cases, if needed, according to the security requirements given by the \"Adaptable Security Management\" component and the service security specification. If the required test evidence is not available in the service certificate, a new set of test cases is generated and executed on the service (run-time evaluation). As a result, new evidence is generated and used in the assurance process.
**Certificate Authorization:**: Services are certified using the evidence provided by the Security Evaluation phase. It generates an evidence-based certificate guaranteeing that a set of test cases is executed on the service, or on an entire business process in a service container.
**Dynamic Discovery:**: The conformance of the selected services with the consumer's security preferences is evaluated by means of a matching process. The latter measures the degree of compliance between users' preferences and service certificates.  
In summary, run-time certificate matching allows a service consumer to ascertain that the assurance level provided by the service certificate complies with its own preferences. This solution increases consumer confidence because their assurance requirements have been met at service execution time and in the context of certification.