1.1. Privacy Challenges in Service Composition
We consider the following epidemiologist’s query Q: “What are the ages, genders, zip, DNA and salaries of patients infected with H1N1; and what are the global weather conditions of the areas where these patients reside?” and a subset of services shown in Table 1. To answer this kind of queries, we use a mediator-based approach to compose DaaS services (Mahmoud Barhamgi 2010) in which, a mediator component selects, combines and orchestrates (i.e., gets output data from a service and uses it as input data to call another service) services to answer queries. It also carries out all the inter- actions between composed services (i.e., relays exchanged data among interconnected services in the composition). The result of the composition process is a composition plan (CP), which consists of a set of services that must be executed in a particular order depending on their input and output parameters. Input parameters are identified with a first “$” character and output parameters with a “?”. Hence, service S($a, ?b) requires an input value a and provides an output value b. Thus, the following CP can answer the query Q; CP ={S1.1, S4.1, S2.2, S3, S5.1}. S1.1 is invoked with H1N1, then for each obtained value of SSN, the services S4.1, S2.2 and S3 are invoked to obtain the corresponding values of DNA, DoB (i.e., date-of-birth), Zip and salary. Finally, S5.1 is invoked with the patients’ Zip to get information about the weather-conditions (note that other CP can be found with the services of Table 1).
Table 1. DaaS Services | Semantics Services Description |
S1.1 ($x, ?s) S1.2 ($x, ?s) | Returns “SSN” of patient infected with a disease= “x” |
S2.1 ($s, ?d, ?g) S2.2 ($s, ?d, ?g) | Returns d =“DoB”, and g =“gender” of patient identified by s =“SSN” |
S3.1 ($s, ?z, ?r) | Returns z =“zip”, and r =“salary” of patient identified by s =“SSN” |
S4.1 ($s, ?n) S4.2 ($s, ?n) | Returns n =“DNA” of patient identified by s =“SSN” |
S5.1 ($z, ?w) | Returns w = “Weather-condition” of address z =“zip” |