General Architecture
Taking into account the context of Web services has been proven mandatory when taking into account the characteristics of the environment in which these Web services operate (Maamar et al., 2006). These characteristics are multiple and can be refer to users (e.g., stationary versus on the move), level of expertise (e.g., expert versus novice), computing resources (e.g., fixed versus mobile), time of the day (e.g., in the afternoon versus in the morning), to mention just a few.
Figure 1 presents the way we handle aspects in the SC-WS approach. Three levels of abstraction exist: user, Web service, and resource. The constituents of each level are tracked using specific contexts, for instance U-context, W-context, and R-context. The connection between user, Web service, and resource levels is implemented with “invokes” and “operates upon” relationships, respectively. Some key features of the SC-WS approach are as follows: multi-level concern separation using aspects and contextual tracking of the security requirements of Web services.
Figure 1. Overview of the SC-WS architecture
The Web service level refers to the context-aware Web service. A Web service is split into two parts: business logic and aspects. On the one hand the business-logic part refers to the actions that a Web service carries out as part of the functionality it offers (e.g., query data). On the other hand the aspect part refers to non-functional requirements that manifest themselves as cross-cutting concerns affecting the actions and interactions of the Web service such as security and logging.
The resource level is about context-aware resources. Resources represent the computing means upon which Web services operate. The scheduling of execution requests of Web services is prioritized when enough resources are not available to satisfy them all at once.