Mobile Web Services for Context-Aware Pervasive Environments

Size: px
Start display at page:

Download "Mobile Web Services for Context-Aware Pervasive Environments"

Transcription

1 Mobile Web Services for Context-Aware Pervasive Environments DIONISIS ATHANASOPOULOS VALERIE ISSARNY EVAGGELIA PITOURA PANOS VASSILIADIS and APOSTOLOS ZARRAS In this paper we propose CoWSAMI, a service-oriented middleware that aims at supporting context-awareness in pervasive computing environments. To this end, we rely on the standard Web services architectural style to handle the architectural heterogeneity of available context sources. CoWSAMI balances the trend between the resource limitations of available context sources and the resource requirements introduced by the aforementioned standard, by employing WSAMI, a lightweight middleware infrastructure for the development of mobile Web services. CoWSAMI provides a dynamic and highly scalable service discovery mechanism that deals with the increased behavioral mobility of available context sources. CoWSAMI further handles the behavioral heterogeneity of available context sources through a mechanism that gathers contextual information while adapting its proper behavior to the interfaces of context sources. Finally, CoWSAMI allows querying for contextual information with respect to the aforementioned organization, though a classical SQL-based interface. Categories and Subject Descriptors: []: General Terms: Additional Key Words and Phrases: context-awareness, middleware, pervasive environments, Web services 1. INTRODUCTION Literally, context is defined as the interrelated conditions in which something exists or occurs [Merriam-Webster 2005]. In most cases, conditions change and the entities that function under them must adapt so as to continue their proper functioning. However, the precondition to adaptation is awareness. The entities must somehow know about context changes. In other words, they must be capable of obtaining information that reflects the conditions under which they function. How do we achieve context-awareness in pervasive computing environments? The above question is the main issue tackled in this paper. Context in computing is defined as a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves [Dey 2001]. On the other hand, pervasive computing environments are the natural evolution of conventional distributed systems that comes along with the emergence Authors address: A. Zarras, E. Pitoura, P. Vassiliadis, D. Athanasopoulos, Computer Science Dep., University of Ioannina Campus, PO BOX 1186, GR 45110, Ioannina, Greece. Author s address: Valerie Issarny, INRIA Rocquencourt, Domaine de Voluceau, BP 78150, Le Chesnay, France ACM Transactions on Internet Technology, Vol. V, No. N, December 2005, Pages 1 0??.

2 2 D. Athanasopoulos et al. of various novel technologies such as hand-held computers, wireless networks and sensor devices. Pervasive computing is a combination of ubiquitous computing, networking and intelligent interfaces [Issarny et al. 2005]. The first two terms refer to the existence of computing devices and networking facilities everywhere. The third term relates to the capability of the system that supports the environment to adapt to the specificities of the entities that use it. Naturally, this capability should be offered by the middleware layer of the system. To be context-aware in a pervasive computing environment, one has to be knowledgable of the sources that provide contextual information. This is the first obstacle to context-awareness: in pervasive computing environments it is often the case that context sources are mobile. Context sources may be mobile in two senses: first, they may arbitrarily join and leave the environment and second, their computational resources may be limited (e.g., battery, memory, storage, etc.). Hereafter, we refer to the former aspect of mobility as behavioral mobility. Moreover, we use the term architectural mobility to refer to the second aspect of mobility. To be context-aware, one has to be further able to communicate with context sources. Hence, we arrive to the second obstacle: context sources are highly heterogeneous. As with the case of mobility, heterogeneity appears in two senses, architectural and behavioral. Architectural heterogeneity refers to the different device types, operating systems, implementation languages and communication protocols assumed by the different context sources. Behavioral heterogeneity relates to the different interfaces provided by context sources. Specifically, in a pervasive computing environment semantically compatible contextual information may be provided through different types of interfaces. Dealing with heterogeneity and mobility towards context-awareness is not straightforward. Until now, research in the field of context-aware middleware and applications focused mostly on the aspects of modeling and reasoning about context changes and adaptation actions [Baldauf et al. 2005], while skipping the first important step that comprises a realistic approach for obtaining information about these changes. Existing approaches to context-awareness assume that the behavior of context sources adheres to constraints (e.g., by providing infrastructure specific interfaces) imposed by the middleware infrastructure in charge of obtaining contextual information. In this paper, we go one step further by adding interface intelligence in the environment along with ubiquitous computing and networking. Specifically, we propose CoWSAMI : a middleware infrastructure that adapts its proper behavior to the behavior of context sources to support context-awareness. How does CoWSAMI deal with architectural heterogeneity? CoWSAMI relies on the standard Web services architecture [W3C 2004a]. Web services are software entities with well-defined interfaces identified by a URI (i.e., a Uniform Resource Identifier such as a Uniform Resource Location (URL) of a Uniform Resource Name (URN)). Their interfaces are specified using WSDL (Web Services Description Language)[W3C 2005]. Interaction with Web services is realized though messages that follow the SOAP standard [W3C 2002]. SOAP may rely on a variety of other communication protocols such as HTTP and SMTP. In CoWSAMI, we employ Web services to confront the increased architectural heterogeneity of pervasive computing environments by encapsulating context sources and

3 Mobile Web Services for Context-Aware Pervasive Environments 3 exporting their operations through platform-independent interfaces. The overall development of Web services for heterogeneous context sources may be automated (e.g. in [Plitsis et al. 2005] we discuss the particular case of automating the integration of GSM-enabled mobile sensors in pervasive environments). How does CoWSAMI handle architectural mobility? The current practice with Web services has showed that the middleware infrastructures that support their development are certainly not lightweight. The fact that Web service descriptions rely on an XML-based language (i.e., WSDL) makes their processing quite demanding in computational resources (e.g., memory and CPU time). Similarly, SOAP defines an XML-based message format. Therefore, processing SOAP messages is also demanding regarding computational resources. To deal with these issues, CoWSAMI extends previous work on WSAMI [Issarny et al. 2005], a lightweight middleware infrastructure that supports the development of mobile Web services. How does CoWSAMI deal with behavioral mobility? Amongst its core services WSAMI provides the Naming&Discovery service that allows discovering networked WSAMI entities with respect to a given interface that they should provide. On top of Naming&Discovery, CoWSAMI provides a service for context sources discovery, named ContextManager. Specifically, the ContextManager manages a constantly changing repository of context sources with respect to various update policies customized by context-aware entities. Each entity deploys locally its proper instance of the ContextManager service. How does CoWSAMI handle behavioral heterogeneity? CoWSAMI provides a service, named ContextCollector, whose main purpose is to resolve the behavioral heterogeneity of context sources. To achieve this, we introduce the concept of context rules. Roughly, a context rule specifies how to obtain the values of context attributes by using different types of interfaces offered by different categories of context sources. The rule is defined with respect to the operations that should be invoked on each different interface and the structure of the messages, exchanged during the invocations. Context rules are given as input to the ContextCollector service. Following, the service tailors its proper behavior with respect to the context sources included in a particular pervasive computing environment. Finally, CoWSAMI provides an easy to use front-end service, named QueryExecutionEngine, for the collection of contextual information. In a typical situation of a pervasive computing environment, the users will not be sitting comfortably in front of their workstation, having the ability to write down code that uses CoWSAMI services to gather contextual information. Moreover, the typical users will not be experienced developers, familiar with Web service programming. Hence, they should be provided with more simple means, which will allow them to efficiently collect contextual information. To this end, we rely on ideas from the field of traditional databases. Typical database query languages provide a classical declarative way for managing and exploring information stored in a database. In our case, the database is substituted by contextual information, stored everywhere in the pervasive computing environment. Hence, it is challenging to keep the same classical frontend for gathering this contextual information. The QueryExecutionEngine service

4 4 D. Athanasopoulos et al. Fig. 1. CoWSAMI Architecture incarnates this idea by accepting as input SQL-based queries and transforming them to Web service invocations (in collaboration with the ContextManager and the ContextCollector services), targeted to context sources. The remainder of this paper is structured as follows. Section 2 details the architecture of CoWSAMI and further motivates its use through a reference example. Moreover, Section 2 summarizes the foundation WSAMI services that are used in CoWSAMI. Section 3 details the behavior of the ContextManager, the ContextCollector and the QueryExecutionEngine services. Section 4 provides an experimental evaluation of CoWSAMI. Section 5 discusses related work from the fields of serviceoriented, pervasive and context-aware computing. Finally, Section 6 concludes this paper with a summary of our contribution and the future research directions of this work. 2. COWSAMI ARCHITECTURE Figure 1 gives our perception of a pervasive computing environment and an overview of the CoWSAMI architecture. The main constituents of the architecture are discussed in Section 2.1. The foundation WSAMI services upon which CoWSAMI relies are detailed in Section 2.2. Finally, Section 2.3 introduces a reference example that serves for illustrating the use of CoWSAMI.

5 2.1 Architecture Mobile Web Services for Context-Aware Pervasive Environments 5 A pervasive computing environment consists of a set of networked entities, developed on top of the CoWSAMI infrastructure. The entities are connected through a typical LAN or WLAN (Wireless Local Area Network). A pervasive environment may further comprise entities located on the Internet. The latter must be registered on specific universal service repositories which may be optionally incorporated in the environment by the entities that constitute it during the configuration of the CoWSAMI infrastructure. The entities may vary in type from typical stationary workstations and PCs to hand-held and embedded devices such as PDAs, smart-phones, sensors, etc. Given that WSAMI supports both ad-hoc and infrastructure-based connectivity, this particular issue is transparent to CoWSAMI. Each CoWSAMI entity may provide a number of Web services and use services of other entities. CoWSAMI services are specified using the WSAMI language that extends WSDL with features enabling a more detailed behavioral description. Specifically, a WSAMI specification consists of an abstract and a concrete part. The abstract part specifies the interface of a service and all the possible valid conversations that can be realized through this interface. The interface is given in terms of a WSDL document, whose URI is referenced in the abstract part. The conversations are given in terms of a standard WSCDL (Web Services Choreography Description Language) [W3C 2004b] document, whose URI is also referenced in the abstract part of the service specification. More than one WSAMI specifications may have the same abstract part, as long as they describe services providing the same interface. The concrete part of the WSAMI specification contains binding information (e.g., the endpoint address of the service, the communication protocol used, etc.). The WSAMI specification may optionally include a third part that contains references to URIs of documents describing other WSAMI services used by this particular one. Every CoWSAMI entity may be considered as a context source that provides information through its services. The context that interests an entity is modeled by a set of context attributes of a specific type. The contextual information that corresponds to a context attribute is a value provided by a context source. In general, a pervasive computing environment may comprise more than one context sources that report semantically equivalent information (e.g., two different cars reporting their current velocity). Moreover, a context source may provide values for more than one semantically related context attributes (e.g., the velocity and the brand of a car). Therefore, related context attributes are organized into relations. A context relation is characterized by a name and a finite set of context attributes. The contextual information modeled by a relation is a finite set of tuples, i.e., a finite subset of the cartesian product of the domains of the attributes that constitute the relation. This database-like modeling of contextual information allows formulating queries against relation instances, which are populated at runtime through the use of CoWSAMI services. Specifically, a CoWSAMI entity comprises instances of three CoWSAMI services, named ContextManager, ContextCollector and QueryExecutionEngine. The ContextManager provides operations allowing context sources to join and leave a pervasive environment. The ContextManager is further responsible of locating

6 6 D. Athanasopoulos et al. reachable CoWSAMI entities that may serve as context sources for the information that interests the entity. To achieve this, the WSAMI Naming&Discovery service is used. The services provided by context sources are categorized with respect to the interface that they provide (i.e., with respect to the abstract part of their WSAMI specifications). Information concerning every different category is stored into a local repository maintained by the ContextManager. The repository contents are updated with respect to the following three alternative policies: Update-On-Demand: the repository contents are updated upon a request issued by the entity that comprises the ContextManager. Periodic-Update: the repository contents are updated periodically, with respect to a period given as input to the ContextManager by the entity. Always-Update: the repository contents are updated whenever a context source of interest joins or leaves the environment. The users of the entity are responsible for defining the context relations that interest them, using the ContextCollector service. Then they may issue context queries for these relations, through the QueryExecutionEngine service. Following, the service makes use of the ContextCollector to dynamically compile the context relations that concern the queries. The resulted information is further processed with respect to typical query processing operators and returned to the users. The ContextCollector compiles the context relations with respect to the contents of the repository that is maintained by the ContextManager. For every different category of context sources, it uses different context rules so as to compile the relations. As discussed in Section 1, a context rule specifies how to obtain the values of the context attributes that constitute a relation though the use of the interface of a particular category of context sources. The definition of context rules is also a responsibility of the entity s users. 2.2 WSAMI Foundation Services The main constituents of WSAMI that were used as a basis for the realization of CoWSAMI are the CSOAP broker and the Naming&Discovery service. CSOAP is a lightweight mechanism that allows to deploy, invoke and execute Web services on resource-constrained devices. Specifically, resource-constrained entities issue SOAP requests towards Web services, through standard JAXRPC [SUN 2004b] invocations. The target Web services serve these requests and reply back with SOAP response messages that are also issued through CSOAP. CSOAP was realized on top of the standard J2ME (Java 2 Micro Edition) platform [SUN 2004a] and comes along with the following tools: A compiler that generates Java stubs from WSAMI service specifications. The WSDL2WSAMI tool that generates WSAMI specifications for WSAMIenabled Web services, given their pure WSDL specifications. The InstallWSAMI tool that deploys and configures services on the WSAMI middleware. The Naming&Discovery service is a mechanism for dynamic service discovery. An instance of the service is deployed on every WSAMI entity. The service instance manages two repositories, storing information regarding Web services that

7 Mobile Web Services for Context-Aware Pervasive Environments 7 are available in the environment. Specifically, the information stored for each available service is the URI of the service s WSAMI specification. The overall discovery process is realized using URIs instead of XML documents to economize resources on the side of resource-constrained devices. The first repository maintained by the service is named local repository and contains the URIs of the Web services provided by the WSAMI entity that hosts the repository. The second repository is called remote repository and acts as a local cache that contains URIs of Web services deployed on other reachable WSAMI entities. The remote services were once discovered by the entity that hosts the remote repository, using the Naming&Discovery service. The size of the remote repository is set during the configuration of WSAMI infrstracture. The repository s replacement strategy follows the LRU (Least Recently Used) policy. Locating Web services though the Naming&Discovery service is done according to the following steps: (1) An entity requests the URI of an abstract WSAMI specification that describes the interface of the required Web services. (2) Based on the given URI, the local and the remote repositories of the Naming&Discovery service deployed on the requesting entity are searched for matching URIs. The results obtained may be of the following kinds: (a) URIs of services provided by power-plugged WSAMI entities that reside on the WLAN of the requesting entity. (b) URIs of services provided by power-plugged WSAMI entities on the Internet. (c) Matching URIs of services provided by non power-plugged entities. (3) The entity s request is forwarded to all other reachable Naming&Discovery service instances. Each of these instances performs step 2 and returns the results back to the requesting entity. If a reachable service instance fails to locate a matching URI it does not further forward the request and responds with an exception. The identification of other reachable Naming&Discovery service instances primary relies on the standard SLP (Service Location Protocol) protocol [Guttman et al. 1999]. Specifically, we use the OpenSLP 1 implementation of this standard. Every CoWSAMI entity comprises an SLP server. The Naming&Discovery service of the entity registers to this server. The latter is responsible for periodically multicasting the address of the local Naming&Discovery service to every other reachable Naming&Discovery service. (4) Optionally, the entity s request is forwarded on a universal service repository, specified during the initialization of the Naming&Discovery service. In the previous steps we assume the existence of an infrastructure-based network. In the case of an ad-hoc one, similar steps are performed [Issarny et al. 2005; Sailhan and Issarny 2003]. Moreover, the previous steps are used in the case where an entity wants to locate all services providing a required interface. A similar discovery process is used in the case where the entity looks for only one service providing this interface. The overall discovery process may be further enhanced 1

8 8 D. Athanasopoulos et al. with additional QoS criteria (e.g., reliability, availability, reputation, performance) that are currently under investigation [Liu and Issarny 2004; Zarras et al. 2004; Papadopoulos et al. 2005]. 2.3 Reference Example To illustrate the CoWSAMI approach we extend the reference example used in [Issarny et al. 2005] for demonstrating WSAMI. Specifically, we assume a pervasive computing environment at the city of Rocquencourt, near Versailles. Our environment offers CyberCars 2 to Rocquencourt citizens and tourists (Figure 2(a)). CyberCars are unmanned cars that may be booked though the Web, towards moving across different sites of the city. Each CyberCar is equipped with its own computing facilities. Moreover, it may communicate with other entities through a wireless network. In the general case, different types of CyberCars may exist, possibly coming from different manufacturers. Their embedded computer is a CoWSAMI entity that provides information regarding the CyberCar s features (e.g., velocity, position, brand etc.). Contextual information is provided through Web services offering possibly different manufacturer-specific interfaces. Figure 3(a) and (b) give the WSAMI specifications (abstract parts) of the services of two different types of CyberCars. Specifically, CyberFrogs (Figure 3(a)) provide an homonymous Web service whose interface offers 6 different operations that can be invoked to obtain a unique identifier that characterizes each CyberFrog, the CyberFrog s brand, velocity, fuel, and coordinates. On the other hand, CyberCabs (Figure 3(b)) provide a Web service that offers a single operation, named getstate(). This operation responds with a message that encapsulates all the characteristics of a CyberCab (i.e., its identifier, brand, velocity and coordinates). The city of Rocquencourt further offers Web services that provide information regarding the city s hotels and restaurants. The interfaces of these services may also vary depending on the different hotel companies and restaurants (e.g., IBIS, Novotel, etc.). Finally, the Rocquentcourt city-hall provides a Web service that reports the location of various sites (monuments, organizations, hospitals, business centers, etc.). The contextual information that interests the CyberCar passengers may vary and the way to collect it is though CoWSAMI. To achieve this, the passengers must be equipped with CoWSAMI-enabled devices such as PDAs, laptops or smart-phones. Each passenger may define the context that interests him in its proper way. Take, for instance, the case of an English speaking tourist who is interested in the current status of the traffic and the available city hotels. Using his PDA, he may define the relations given in the upper part of Figure 2(b). The first relation is named TRAFFIC and consists of 6 attributes (named ID, BRAND, VELOCITY, FUEL, XCOORD and YCOORD) that correspond to the unique identifier of each Cyber- Car that circulates in the environment, its brand, velocity, fuel and coordinates. A typical tuple of this relation could be the following: (103, NetMobilFrog, 40, 0.75, , ). The second relation is named MAP and consists of three attributes that correspond to the name of a site and the coordinates that determine the location of this site. The third relation is called HOTELS and comprises 3 attributes that correspond to a hotel identifier, and the prices for single and double 2

9 Mobile Web Services for Context-Aware Pervasive Environments 9 (a) The CyberCar environment. (b) Context relations and queries. Fig. 2. Using CoWSAMI in the city of Rocquencourt. rooms. A French speaking Rocquencourt citizen may be interested only in the current status of the city traffic. Therefore, he may exploit the context relations given in the lower part of Figure 2(b). The first relation is analogous to the TRAFFIC relation defined by the tourist; it is named CIRCULATION and consists of 5 attributes, named ID, MARQUE, VITESSE, XPOS and YPOS. The second relation is named

10 10 D. Athanasopoulos et al. (a) The CyberFrog interface. (b) The CyberCab interface. Fig. 3. Different CyberCar interfaces in the WSAMI language.

11 Mobile Web Services for Context-Aware Pervasive Environments 11 Fig. 4. CoWSAMI services. PLAN and it is similar to the MAP relation, defined by the tourist. The upper part of Figure 2(b) further shows a query issued by the tourist against the TRAFFIC relation. The query returns the number of CyberCars that circulate in an area defined by the current position of the tourist s CyberCar and the position of the tourist s destination. Similarly, the lower part of Figure 2(b) shows the query that is issued by the Rocquencourt citizen to check for the current status of the traffic towards the citizen s destination. Answering any of the two queries amounts in checking the position of all the different CyberCars that can be accessed. Finding these entities and categorizing them with respect to the different interfaces that they provide (e.g., CyberFrogs and CyberCabs) is a responsibility of the ContextManager. Collecting the position of each entity is performed using the ContextCollector with respect to context rules, given for every different category of CyberCars. 3. COWSAMI SERVICES The interfaces of the core CoWSAMI services are depicted in Figure 4. Following, we discuss further details regarding the realization of these services. Section 3.1 details the ContextManager service, Section 3.2 presents the ContextCollector. Finally, Section 3.3 discusses QueryExecutionEngine service. 3.1 The ContextManager service A CoWSAMI entity joins or leaves a pervasive computing environment by invoking the homonymous operations of the ContextManager interface (Figure 4). Moreover, an entity discovers the different types of interfaces provided by the context

12 12 D. Athanasopoulos et al. sources available in the environment through the use of the FindCategories() operation. That way the entity becomes aware of the different categories of context sources. Following, it may use the UpdateOnDemand(), the PeriodicUpdate() or the AlwaysUpdate() operations to populate the repository that stores URIs of available context sources of interest and (re)configure the policy used for updating the repository s contents. Figure 5(a) gives the general structure of the repository. As discussed in Section 2, the repository consists of a number of categories. A category is characterized by the URI of the WSDL description that specifies the particular interface provided by the context sources belonging in the category. All the URIs stored in the category correspond to WSAMI specifications, whose abstract parts reference the URI that characterizes the category. The category is further characterized by the names of the context relations to which it contributes. Figure 5(b), for example, gives a possible snapshot of the repository managed by the ContextManager deployed on the English tourist s PDA. The repository comprises 2 categories for CyberCar URIs, 2 categories for hotel URIs and a single category for the Rocquencourt city hall service. The first of the CyberCar categories is characterized by the URI of the CyberFrog interface given in Figure 2(b). Similarly, the second category is characterized by the URI of the CyberCab interface given in Figure 2(c). The CyberFrog category contains 2 URIs of networked services providing this interface. On the other hand, the CyberCab category contains 3 URIs of networked CyberCab services. The hotels categories are characterized by URIs that correspond to IBIS and Novotel specific interfaces Joining a pervasive computing environment. A CoWSAMI entity that wishes to play the role of a context provider to other CoWSAMI entities must call the Join() operation. The Join() operation accepts as input the URIs of the services offered by an invoking entity. In our example, every CyberCar entity must call the Join() operation so as to become available as a context source to passengers. Similarly, every hotel and restaurant entity must join the pervasive computing environment. For every service given as input to the Join() operation, the following steps are performed: (1) The service is registered to the local Naming&Discovery service. (2) The repository managed by the ContextManager is checked for the existence of a category characterized by an interface that matches the interface of the service. To achieve this step the abstract part of the WSAMI service specification is used. If the category exists the service URI is stored in this category, otherwise the ContextManager constructs a new category in the repository and stores the given URI. (3) The ContextManager checks for the existence of other networked CoWSAMI entities, requiring that their ContextManager repositories are always up-to-date (e.g., the passengers of CyberCars that are interested in the current status of the city traffic). In other words, the ContextManager looks for entities that previously enabled the Always-Update policy as detailed in Section To achieve this, the Naming&Discovery service is used in a first step for locating reachable ContextManagers available in the environment. Following, it is

13 Mobile Web Services for Context-Aware Pervasive Environments 13 (a) Repository structure. (b) Repository instance. Fig. 5. ContextManager repository. checked whether any of them have their Always-Update policy enabled for the particular category of context sources that includes the given service. Then, the ContextManager of the joining entity calls Join() on the aforementioned ContextManagers. The input to these calls is the URI of the service of the joining entity along with a flag that notifies the invoked entities that this is an update call performed by the ContextManager of a joining entity. In response, the invoked ContextManagers perform steps 1-2 mentioned above Leaving a pervasive computing environment. The Leave() operation should be used by entities that wish to resign from playing the role of context sources to other entities. The input given to the Leave() operation is the URIs of the services that were registered to the Naming&Discovery service by these entities at the time when they joined the environment. In our reference example, the Leave() should be called, for instance, by CyberCars that no longer wish to be context sources, possibly because they are parked. Similarly, the Leave() operation may be called by hotels that are full-booked.

14 14 D. Athanasopoulos et al. For every given URI, the following steps are performed by the ContextManager of the leaving entity: (1) The service is unregistered from the local Naming&Discovery service. (2) The repository managed by the ContextManager is searched for the category that contains the given URI. This step is realized with respect to the abstract part of the WSAMI service specification that is referenced by the given URI. Following, the URI is removed from the category (actually for efficiency reasons the URI is marked unavailable for a certain time period before it is removed). (3) The ContextManager of the leaving entity checks for the existence of other networked CoWSAMI entities that previously enabled the Always-Update policy for the particular category of context sources. Then, the ContextManager calls the Leave() operations on the ContextManagers of these entities. The input to these calls is the URI of the service of the leaving entity and a flag that notifies the invoked entities that this is an update call performed by the ContextManager of a leaving entity. Given this input, the invoked ContextManagers proceed with performing steps 1-2 mentioned above Discovering available categories of context sources. To find out about the available categories of context sources in a pervasive computing environment, an entity calls the FindCategories() operation. In our reference example, for instance, tourists and Rocquencourt citizens must call this operation to find out about the different types of context sources available in the city. The operation may be called more than once by the entities as the availability of different types of context sources may change along with the availability of the context sources themselves. The realization of the operation proceeds as follows: (1) First, a list of reachable ContextManager services is located, using the Naming&Discovery service. (2) Then, FindCategories() operation is called on each one of these services with a flag that notifies the invoked services that this is a call made by a remote ContextManager. In response, the invoked ContextManager services sent the URIs of the WSDL interface specifications supported by the different services offered by the entity where they are deployed. (3) Finally, the overall set of WSDL interface specifications that results from the aforementioned invocations is returned to the calling entity Populating the repository. The UpdateOnDemand() operation accepts as input a category of context sources (particularly the input is the URI of the WSDL interface specification that characterizes the category). The contents of this category are immediately updated upon a call on the operation. In our reference example the UpdateOnDemand() operation could be called by Rocquencourt tourists for the hotels category. The availability of hotel services are not expected to change fast. Therefore, it is reasonable to use the Update-On-Demand policy towards discovering the URIs of these services Specifically, upon a call to the UpdateOnDemand() operation, the ContextManager performs the following steps:

15 Mobile Web Services for Context-Aware Pervasive Environments 15 (1) If the given category does not exist in the repository maintained by the ContextManager, it is created. (2) The local Naming&Discovery service is invoked towards locating reachable entities that provide services offering the interface that characterizes the given category. The result of this call is the set of the URIs of the services (e.g., the hotel services URIs of Figure 5(b)). Before storing the retrieved URIs in the given category there are two further issues resolved by the ContextManager: (a) If the ContextManager is deployed on a resource-constrained device, it checks whether the retrieved URIs correspond to services that actually exist in the environment. In particular, a URI may be discovered in the remote repository of a networked Naming&Discovery service. As discussed in Section 2.2, the remote repositories act as LRU caches. Hence, it is probable that the cashed URI is no longer valid. To perform this check, an operation is randomly picked based on the WSDL interface that characterizes the category of the service whose URI is checked. Following, this operation is called by the ContextManager. If an exception is raised, the URI is considered invalid, otherwise the URI is normally stored in the category. The validity check of the URIs discovered through the Naming&Discovery service could be avoided for the shake of efficiency. However, this would imply that certain context sources are going to be used by the ContextCollector service (possibly more than once) without actually being available. This may eventually result into a significant energy lick. Even though the validity of URIs is checked, it is important to note that they may become invalid until the time they are used for collecting contextual information. Therefore, the URIs validity check is actually a best-effort approach for reducing energy consumption. (b) The ContextManager further checks if the entities that provide the retrieved URIs are CoWSAMI-enabled. Specifically, it is checked whether the entities provide a ContextManager service. This particular constrain is necessary for the realization of the Always-Update-Policy that may be potentially activated by the invoking entity. Naturally, the PeriodicUpdate() operation accepts as input a category of context sources and a time period T. Invoking the operation results on the creation of a new thread which resumes its execution every T time units. At this point, it invokes the UpdateOnDemand() operation so as to update the repository contents of the given category. The AlwaysUpdate() operation also takes as input parameter a category. The entities that belong in this category are discovered by calling the UpdateOnDemand() operation. Following, the invoked ContextManager notifies all the ContextManagers of the entities that provide services of the given category about the fact that the invoking entity enabled the Always-Update policy for this particular category. Based on this setup, the invoked entities are able to notify the invoking one about their leaving through the use of the Leave() operation (Section 3.1.1). In our reference example, it is reasonable to assume that tourists and Rocquencourt citizens use either the PeriodicUpdate() or the AlwaysUpdate() operation to discover available CyberCar services. The availability of CyberCar services typically

16 16 D. Athanasopoulos et al. changes much faster than hotel services. Therefore, it is natural to use the Periodic- Update or the Always-Update policies for updating the corresponding repository categories. 3.2 The ContextCollector service A CoWSAMI entity defines the context relations that interest it by invoking the DefineContext() operation of the ContextCollector interface (Figure 4). Similarly, it uses the RulesPerRelation() operation to define context rules for these relations. The CollectContext() operation serves for populating the defined relations with contextual information Defining context. Figure 6(a) shows the general structure of a context definition provided as input to the DefineContext() operation. As discussed in Section 2.1, a context definition comprises a set of context relations characterized by a name and a number of context attributes. An attribute is characterized by a name and a type. Figure 6(b) gives the actual XML schema used for context definitions. According to this schema, relations are specified using the ContextRelation tag. Within this tag we can define one or more context attributes using the ContextAttribute tag. Figure 6(c) gives the context relation definitions defined in our reference example in the case of the English tourist. Given a context definition, the following steps are performed by the ContextCollector service. (1) The definition is parsed towards identifying its constituent relations. (2) Every relation is parsed towards locating its constituent attributes. (3) For every relation, a corresponding table is created and stored persistently (e.g., in a typical file in the case of CoWSAMI entities deployed on stationary workstations, in the persistent storage memory part, in case of CoWSAMI entities deployed on mobile devices such as PDAs, mobile phones, etc.) Defining context rules. The WSDL interface of a particular category of context sources is specified in terms of a number of PortType definitions (Figure 4(a), (b)). A PortType, in turn, consists of the definitions of a number of operations that can be called on the context sources interface. Each operation specifies an input and an output message. The former element refers to the SOAP request message sent upon the operation invocation, while the latter element refers to the SOAP message returned in response to the invocation. The specification of a message consists of one or more parts. Each part is characterized by a name and the particular type of datum exchanged between a service that provides the interface and an entity that uses this service. Therefore, a context rule that describes how to populate a context relation, using the interface of a particular category of context sources is specified according to the schema given in Figure 7. In particular, a context rule is characterized by the name of the context relation (described using the ContextRelation tag) and the URI of the WSDL interface specification (described using ContextSourceCategory tag). The rule further comprises one or more ContextAttributeMapping elements. Each of these elements refers to a context attribute of the specified relation (specified using the ContextAttribute tag) and an operation (specified using the ContextSourceOp-

17 Mobile Web Services for Context-Aware Pervasive Environments 17 (a) Context structure. (b) Context schema. (c) Context example. Fig. 6. Context definition. eration tag) offered by the specified interface ; it specifies how to obtain a value for the attribute by invoking this operation. Specifically, a ContextAttributeMapping element comprises two constituent parts. The ContextInputMessage part is characterized by the type of the request message that should be sent upon the operation invocation. The ContextInputMessage part further specifies a sequence of values that should be the contents of the message sent upon the operation invocation. The ContextOutputMessage part is characterized by the type of the response message received after the operation invocation (specified using the ContextSourceMessage tag). Moreover, the ContextOutputMessage part specifies the name of the actual part of the response message that contains the value of the specified context attribute (specified using the ContextSourceMessagePart tag).

18 18 D. Athanasopoulos et al. (a) Context rules structure. (b) Context rules schema. Fig. 7. Context rules definition.

19 Mobile Web Services for Context-Aware Pervasive Environments 19 Context rules are given as input to the ContextCollector service by invoking the RulesPerRelation() operation, offered by this service. Following, every rule is parsed and its embedded ContextAttributeMapping elements are grouped with respect to the operation that has to be called to fill up the value of a context attribute. This grouping is necessary for optimizing the collection of contextual information in cases where the values of more than one attributes are obtained by calling a single operation for all of them (e.g., Figure 8(b)). Finally, every context rule is stored persistently in the device where the ContextCollector service is deployed. Getting to our reference example, Figure 8(a) gives the rule that describes how to populate the TRAFFIC relation defined by the English tourist (Figure 6(c)), using the interface of CyberFrog entities (Figure 4(a)). The rule specifies a context attribute mapping for each one of the ID, BRAND, VELOCITY, FUEL, XCO- ORD, YCOORD attributes. To obtain a value for the VELOCITY attribute, for instance, the getvelocity() operation must be invoked. No input message is needed for this invocation since the operation accepts no input parameters. The actual value of VELOCITY is stored in the getvelocityreturn part of the getvelocityresponse message (see Figure 4(a) for the definitions of these WSDL elements) that is returned upon the invocation on the aforementioned operation. Similarly, to obtain a value for the ID attribute, the getid() operation must be invoked. Again, there is no need for an input message for this invocation. The value of ID is stored in the getidreturn part of the getidresponse message. On the other hand, Figure 8(b) gives the rule that describes how to populate the same relation, using the interface of CyberCab entities (Figure 4(b)). To obtain a value for the VELOCITY attribute, in this case, the getstate() operation must be invoked. The value of VELOCITY is now stored in the Velocity part of the getstateresponse message. Similarly, to obtain a value for the ID attribute, the same operation must be called. The value of the attribute is stored in the ID part of the aforementioned message Collecting contextual information. Collecting contextual information amounts in calling the CollectContext() operation on the ContextCollector service. This operation accepts as input a context relation. Then, it performs the following steps: (1) The different categories of context sources that contribute in the collection of tuples for the given relation are located in the repository. (2) The context rules for every category obtained from the previous step are loaded. (3) The operations prescribed in every rule are executed for every different context source URI stored in the corresponding category. (4) The response message from every invocation is parsed towards obtaining the values of one or more context attributes of a tuple. (5) Finally, the resulting tuples are returned to the invoking entity, which is further provided with the option of storing these tuples persistently. Taking our reference example, suppose that CollectContext() is invoked to dynamically assemble the tuples of the TRAFFIC relation. The two categories of context sources that contribute to this relation are those providing the CyberFrog

20 20 D. Athanasopoulos et al. (a) Context rules for the CyberFrog interface. (b) Context rules for the CyberCab interface. Fig. 8. Context rules examples. and the CyberCab interfaces (Figure 4(a), (b)). The rules obtained for these categories are the ones given in Figure 8(a), (b). For every CyberCab URI stored in the cabs category (Figure 5(b)), the getstate() operation is called. The response message of each invocation results in a different tuple of the TRAFFIC relation. On the other hand, for every CyberFrog URI stored in the frogs category, more than one operations are called to compile a tuple. Each operation contributes to a different attribute of the given context relation. 3.3 The QueryExecutionEngine service Currently, the QueryExecutionEngine service simply assembles the functionality provided by the rest of the CoWSAMI services to allow executing SQL queries on contextual information collected by reachable context sources.

21 Mobile Web Services for Context-Aware Pervasive Environments 21 The fundamental steps of the QueryExecutionEngine are as follows: (1) For every context relation specified in the FROM clause of a query, the CollectContext() operation is called on the ContextCollector service. (2) The compiled tuples returned by each invocation are processed with respect to the given query and results are returned back to the issuing entity. (3) The processing of the tuples can be built differently, depending on whether the issuing entity is resource-constrained or not. Specifically: For the case of resource-constrained entities, the QueryExecutionEngine comprises a simple set of main memory relational operators that directly process the incoming tuples. This lightweight configuration is suggested for a limited subset of any query language and can manage only a small size of incoming tuples. A possible alternative that we further investigate is the integration of the QueryExecutionEngine with existing DBMS support for such kind of devices (e.g. Oracle Lite [ORACLE 2004], IBM DB2 Everyplace [Karlsson et al. 2001]). For non-resource-constrained entities, the QueryExecutionEngine is integrated with a full blown relational engine. Up to now, we particularly focus on the integration of the QueryExecutionEngine service with MySQL, due to our previous experience with this specific relational engine. However, several other similar technologies may be used. 4. EXPERIMENTAL EVALUATION To assess CoWSAMI we implemented a first prototype of the services discussed in Section 3. The services were implemented on top of WSAMI. Therefore, their resource requirements and performance depend on the corresponding resource requirements and performance of the basic WSAMI constituents that were discussed in Section CoWSAMI resource requirements In this section we specifically detail the memory requirements of the ContextManager and the ContextCollector services. The issue of energy consumption is also discussed for these services. As mentioned in Section 3.3, the realization of the QueryExecutionEngine may rely on various configurations possibly built on top of existing commercial solutions. Its resource requirements depend, thus, on these configurations, whose experimental evaluation is not detailed in this paper. Currently, resource-constrained devices come with various technical characteristics (CPU, OS, memory, autonomy, etc.) 3. The available memory in the most recent models of PDAs ranges from 8MB to 256MB. However, there still exist few PDA models that come with less than 4MB of RAM. Similarly, the memory provided by the most recent smart-phones ranges from 8MB to 32MB, while there still exist few models that come with less than 4MB of RAM. The overall memory footprint of the WSAMI platform is 3.9MB [Issarny et al. 2005]. Therefore, it is suitable for CoWSAMI entities that execute on top of devices providing at least 8MB of memory. 3

22 22 D. Athanasopoulos et al. (a) ContextManager service. (b) ContextCollector service. Fig. 9. Memory requirements of CoWSAMI services before optimization. The additional memory requirements of the ContextManager and the ContextCollector services vary depending on the operations performed by these services. Specifically, joining or leaving an environment using the ContextManager service requires less than 750KB of memory. The realization of the Update-On-Demand and the Always-Update policies also requires less than 750KB. The realization of the Periodic-Update policy is slightly more expensive, requiring less than 850KB. The extra overhead of this policy is due to the use of the additional thread that periodically executes the UpdateOnDemand() operation (Section 3.1.4). Regarding the ContextCollector service, the DefineContext() and the RulesPerRelation() operations are quite cheap since they do not involve any additional invocations on middleware services or on services provided by available context sources. On the other hand, the CollectContext() operation involves contacting available context sources towards collecting contextual information provided by these sources. Hence, its memory requirements are higher. However, the overall execution of the operation requires less than 600KB of memory. At this point, it is worth mentioning that the aforementioned values were obtained after optimizations performed in the early versions of the ContextManager and the ContextCollector services. In particular, in the first version of the ContextManager we observed that the amount of memory required for updating the contents of a

Developing Ambient Intelligence Systems: A Solution based on Web Services

Developing Ambient Intelligence Systems: A Solution based on Web Services Developing Ambient Intelligence Systems: A Solution based on Web Services Valérie Issarny, Daniele Sacchetti, Ferda Tartanoglu, Françoise Sailhan, Rafik Chibout, Nicole Levy, Angel Talamona ARLES Research

More information

ForeverSOA: Towards the Maintenance of Service Oriented Software

ForeverSOA: Towards the Maintenance of Service Oriented Software Author manuscript, published in "SQM 20 - Fifth CSMR International Workshop on Software Quality and Maintainability (20)" ForeverSOA: Towards the Maintenance of Service Oriented Software Dionysis Athanasopoulos

More information

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable

More information

Research on the Model of Enterprise Application Integration with Web Services

Research on the Model of Enterprise Application Integration with Web Services Research on the Model of Enterprise Integration with Web Services XIN JIN School of Information, Central University of Finance& Economics, Beijing, 100081 China Abstract: - In order to improve business

More information

A Generic Database Web Service

A Generic Database Web Service A Generic Database Web Service Erdogan Dogdu TOBB Economics and Technology University Computer Engineering Department Ankara, Turkey edogdu@etu.edu.tr Yanchao Wang and Swetha Desetty Georgia State University

More information

Service-Oriented Architectures

Service-Oriented Architectures Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems

More information

1 Mobile Data Mining on Small

1 Mobile Data Mining on Small 1 Mobile Data Mining on Small Devices Through Web Services Domenico Talia and Paolo Trunfio DEIS, University of Calabria Via Pietro Bucci 41C 87036 Rende (CS), Italy 1.1 INTRODUCTION Analysis of data is

More information

Introduction to Service Oriented Architectures (SOA)

Introduction to Service Oriented Architectures (SOA) Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction

More information

An Intelligent Approach for Integrity of Heterogeneous and Distributed Databases Systems based on Mobile Agents

An Intelligent Approach for Integrity of Heterogeneous and Distributed Databases Systems based on Mobile Agents An Intelligent Approach for Integrity of Heterogeneous and Distributed Databases Systems based on Mobile Agents M. Anber and O. Badawy Department of Computer Engineering, Arab Academy for Science and Technology

More information

Middleware support for the Internet of Things

Middleware support for the Internet of Things Middleware support for the Internet of Things Karl Aberer, Manfred Hauswirth, Ali Salehi School of Computer and Communication Sciences Ecole Polytechnique Fédérale de Lausanne (EPFL) CH-1015 Lausanne,

More information

The Device Service Bus: A Solution for Embedded Device Integration through Web Services

The Device Service Bus: A Solution for Embedded Device Integration through Web Services The Device Service Bus: A Solution for Embedded Device Integration through Web Services Gustavo Medeiros Araújo Federal University of Santa Catarina Informatics and Statistics Department Florianópolis,

More information

E-Business Technologies for the Future

E-Business Technologies for the Future E-Business Technologies for the Future Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh spring@imap.pitt.edu http://www.sis.pitt.edu/~spring Overview

More information

A Middleware-Based Approach to Mobile Web Services

A Middleware-Based Approach to Mobile Web Services Abstract A Middleware-Based Approach to Mobile Web Services Pampa Sadhukhan, Pradip K Das, Rijurekha Sen, Niladrish Chatterjee and Arijit Das Centre for Mobile Computing and Communication (CMCC), Jadavpur

More information

Dependability in the Web Service Architecture

Dependability in the Web Service Architecture Dependability in the Web Service Architecture Ferda Tartanoglu 1, Valérie Issarny 2 INRIA, UR Rocquencourt Domaine de Voluceau - B.P. 105 78153 Le Chesnay France 1 Galip-Ferda.Tartanoglu@inria.fr, 2 Valerie.Issarny@inria.fr

More information

IST STREP Project. Deliverable D3.3.1u Middleware User s Guide Multi-Radio Device Management Layer. http://www.ist-plastic.org

IST STREP Project. Deliverable D3.3.1u Middleware User s Guide Multi-Radio Device Management Layer. http://www.ist-plastic.org IST STREP Project Deliverable D3.3.1u Middleware User s Guide Multi-Radio Device Management Layer http://www.ist-plastic.org Project Number : IST-26955 Project Title : PLASTIC Deliverable Type : Report

More information

Deploying QoS sensitive services in OSGi enabled home networks based on UPnP

Deploying QoS sensitive services in OSGi enabled home networks based on UPnP Deploying QoS sensitive services in OSGi enabled home networks based on UPnP Nico Goeminne, Kristof Cauwel, Filip De Turck, Bart Dhoedt Ghent University - IBBT - IMEC Department of Information Technology

More information

Lesson 4 Web Service Interface Definition (Part I)

Lesson 4 Web Service Interface Definition (Part I) Lesson 4 Web Service Interface Definition (Part I) Service Oriented Architectures Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Interface Definition Languages (1) IDLs

More information

SLA BASED SERVICE BROKERING IN INTERCLOUD ENVIRONMENTS

SLA BASED SERVICE BROKERING IN INTERCLOUD ENVIRONMENTS SLA BASED SERVICE BROKERING IN INTERCLOUD ENVIRONMENTS Foued Jrad, Jie Tao and Achim Streit Steinbuch Centre for Computing, Karlsruhe Institute of Technology, Karlsruhe, Germany {foued.jrad, jie.tao, achim.streit}@kit.edu

More information

Evaluation of Distributed SOAP and RESTful Mobile Web Services

Evaluation of Distributed SOAP and RESTful Mobile Web Services International Journal on Advances in Networks and Services, vol 3 no 3 & 4, year 21, http://www.iariajournals.org/networks_and_services/ 447 Evaluation of Distributed SOAP and RESTful Mobile Web Services

More information

icell: Integration Unit in Enterprise Cooperative Environment 1

icell: Integration Unit in Enterprise Cooperative Environment 1 icell: Integration Unit in Enterprise Cooperative Environment 1 Ruey-Shyang Wu 1, Shyan-Ming Yuan 1, Anderson Liang 2 and Daphne Chyan 2 1 Dept. of Computer and Information Science National Chiao Tung

More information

Service Computing: Basics Monica Scannapieco

Service Computing: Basics Monica Scannapieco Service Computing: Basics Monica Scannapieco Generalities: Defining a Service Services are self-describing, open components that support rapid, low-cost composition of distributed applications. Since services

More information

ENHANCING MOBILE PEER-TO-PEER ENVIRONMENT WITH NEIGHBORHOOD INFORMATION

ENHANCING MOBILE PEER-TO-PEER ENVIRONMENT WITH NEIGHBORHOOD INFORMATION ENHANCING MOBILE PEER-TO-PEER ENVIRONMENT WITH NEIGHBORHOOD INFORMATION Arto Hämäläinen and Jari Porras Lappeenranta University of Technology Laboratory of Communications Engineering P.O. Box 20 53851

More information

Vertical Integration of Enterprise Industrial Systems Utilizing Web Services

Vertical Integration of Enterprise Industrial Systems Utilizing Web Services Vertical Integration of Enterprise Industrial Systems Utilizing Web Services A.P. Kalogeras 1, J. Gialelis 2, C. Alexakos 1, M. Georgoudakis 2, and S. Koubias 2 1 Industrial Systems Institute, Building

More information

Service-Oriented Computing and Service-Oriented Architecture

Service-Oriented Computing and Service-Oriented Architecture Service-Oriented Computing and Service-Oriented Architecture Week 3 Lecture 5 M. Ali Babar Lecture Outline Service-Oriented Computing (SOC) Service-Oriented Architecture (SOA) Designing service-based systems

More information

WEB SERVICES. Revised 9/29/2015

WEB SERVICES. Revised 9/29/2015 WEB SERVICES Revised 9/29/2015 This Page Intentionally Left Blank Table of Contents Web Services using WebLogic... 1 Developing Web Services on WebSphere... 2 Developing RESTful Services in Java v1.1...

More information

Service Oriented Architecture

Service Oriented Architecture Service Oriented Architecture Charlie Abela Department of Artificial Intelligence charlie.abela@um.edu.mt Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline

More information

REVIEW PAPER ON PERFORMANCE OF RESTFUL WEB SERVICES

REVIEW PAPER ON PERFORMANCE OF RESTFUL WEB SERVICES REVIEW PAPER ON PERFORMANCE OF RESTFUL WEB SERVICES Miss.Monali K.Narse 1,Chaitali S.Suratkar 2, Isha M.Shirbhate 3 1 B.E, I.T, JDIET, Yavatmal, Maharashtra, India, monalinarse9990@gmail.com 2 Assistant

More information

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Service-Oriented Architecture and its Implications for Software Life Cycle Activities Service-Oriented Architecture and its Implications for Software Life Cycle Activities Grace A. Lewis Software Engineering Institute Integration of Software-Intensive Systems (ISIS) Initiative Agenda SOA:

More information

Using mobile phones to access Web Services in a secure way. Dan Marinescu

Using mobile phones to access Web Services in a secure way. Dan Marinescu Using mobile phones to access Web Services in a secure way Dan Marinescu March 7, 2007 Abstract Web Services is a technology that has gained in acceptance and popularity over the past years. The promise

More information

A Peer-to-Peer Approach to Content Dissemination and Search in Collaborative Networks

A Peer-to-Peer Approach to Content Dissemination and Search in Collaborative Networks A Peer-to-Peer Approach to Content Dissemination and Search in Collaborative Networks Ismail Bhana and David Johnson Advanced Computing and Emerging Technologies Centre, School of Systems Engineering,

More information

How To Make A System Context Aware

How To Make A System Context Aware Trends in Mobile Computing From Mobile Phone to Context-Aware Service Platform Thomas Strang German Aerospace Center (DLR) Oberpfaffenhofen, Germany thomas.strang@dlr.de 1 Outlook: Motivation Implications

More information

Tier Architectures. Kathleen Durant CS 3200

Tier Architectures. Kathleen Durant CS 3200 Tier Architectures Kathleen Durant CS 3200 1 Supporting Architectures for DBMS Over the years there have been many different hardware configurations to support database systems Some are outdated others

More information

A Service Oriented Architecture for Managing Operational Strategies

A Service Oriented Architecture for Managing Operational Strategies A Service Oriented Architecture for Managing Operational Strategies Nektarios Gioldasis, Nektarios Moumoutzis, Fotis Kazasis, Nikos Pappas, and Stavros Christodoulakis Laboratory of Distributed Multimedia

More information

Automatic Configuration and Service Discovery for Networked Smart Devices

Automatic Configuration and Service Discovery for Networked Smart Devices Automatic Configuration and Service Discovery for Networked Smart Devices Günter Obiltschnig Applied Informatics Software Engineering GmbH St. Peter 33 9184 St. Jakob im Rosental Austria Tel: +43 4253

More information

Chapter 2: Cloud Basics Chapter 3: Cloud Architecture

Chapter 2: Cloud Basics Chapter 3: Cloud Architecture Chapter 2: Cloud Basics Chapter 3: Cloud Architecture Service provider s job is supplying abstraction layer Users and developers are isolated from complexity of IT technology: Virtualization Service-oriented

More information

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation Objectives Distributed Databases and Client/Server Architecture IT354 @ Peter Lo 2005 1 Understand the advantages and disadvantages of distributed databases Know the design issues involved in distributed

More information

Integration of Hotel Property Management Systems (HPMS) with Global Internet Reservation Systems

Integration of Hotel Property Management Systems (HPMS) with Global Internet Reservation Systems Integration of Hotel Property Management Systems (HPMS) with Global Internet Reservation Systems If company want to be competitive on global market nowadays, it have to be persistent on Internet. If we

More information

A Survey Study on Monitoring Service for Grid

A Survey Study on Monitoring Service for Grid A Survey Study on Monitoring Service for Grid Erkang You erkyou@indiana.edu ABSTRACT Grid is a distributed system that integrates heterogeneous systems into a single transparent computer, aiming to provide

More information

Internet of Things. Reply Platform

Internet of Things. Reply Platform Internet of Things Reply Platform Internet of Things: Concept Reply vision An ecosystem of connected people, objects and services; enabled by pervasive and transparent technology built to improve our quality

More information

Jini Technology Applied to Railway Systems

Jini Technology Applied to Railway Systems Jini Technology Applied to Railway Systems Txomin Nieva a, b,, Andreas Fabri b, Abdenbi Benammour a a Institute for computer Communications and Applications (ICA) Communication Systems Dept. (DSC) Swiss

More information

Six Strategies for Building High Performance SOA Applications

Six Strategies for Building High Performance SOA Applications Six Strategies for Building High Performance SOA Applications Uwe Breitenbücher, Oliver Kopp, Frank Leymann, Michael Reiter, Dieter Roller, and Tobias Unger University of Stuttgart, Institute of Architecture

More information

PROGRESS Portal Access Whitepaper

PROGRESS Portal Access Whitepaper PROGRESS Portal Access Whitepaper Maciej Bogdanski, Michał Kosiedowski, Cezary Mazurek, Marzena Rabiega, Malgorzata Wolniewicz Poznan Supercomputing and Networking Center April 15, 2004 1 Introduction

More information

Event-based middleware services

Event-based middleware services 3 Event-based middleware services The term event service has different definitions. In general, an event service connects producers of information and interested consumers. The service acquires events

More information

E-Learning as a Web Service

E-Learning as a Web Service E-Learning as a Web Service Peter Westerkamp University of Münster Institut für Wirtschaftsinformatik Leonardo-Campus 3 D-48149 Münster, Germany pewe@wi.uni-muenster.de Abstract E-learning platforms and

More information

VStore++: Virtual Storage Services for Mobile Devices

VStore++: Virtual Storage Services for Mobile Devices VStore++: Virtual Storage Services for Mobile Devices Sudarsun Kannan, Karishma Babu, Ada Gavrilovska, and Karsten Schwan Center for Experimental Research in Computer Systems Georgia Institute of Technology

More information

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Agenda. Distributed System Structures. Why Distributed Systems? Motivation Agenda Distributed System Structures CSCI 444/544 Operating Systems Fall 2008 Motivation Network structure Fundamental network services Sockets and ports Client/server model Remote Procedure Call (RPC)

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2008 Vol. 7 No. 7, September-October 2008 Applications At Your Service Mahesh H. Dodani, IBM,

More information

WEB SERVICES APPLIED TO MOBILE ENVIRONMENTS

WEB SERVICES APPLIED TO MOBILE ENVIRONMENTS U.P.B. Sci. Bull., Series C, Vol. 73, Iss. 3, 2011 ISSN 1454-234x WEB SERVICES APPLIED TO MOBILE ENVIRONMENTS Alexandru PETCULESCU 1 În acest studiu propunem un framework de servicii web dedicat mediilor

More information

An Intelligent Agent for Adapting and Delivering Electronic Course Materials to Mobile Learners

An Intelligent Agent for Adapting and Delivering Electronic Course Materials to Mobile Learners An Intelligent Agent for Adapting and Delivering Electronic Course Materials to Mobile Learners Mohamed Ally, Ph.D. Athabasca University mohameda@athabascau.ca Fuhua Lin, Ph.D. Athabasca University oscarl@athabascau.ca

More information

The Study on Mobile Phone-oriented Application Integration Technology of Web Services 1

The Study on Mobile Phone-oriented Application Integration Technology of Web Services 1 The Study on Mobile Phone-oriented Application Integration Technology of Web Services 1 Li Luqun 1, 2 Li Minglu 1 Cui Xianguo 2 1. Department of Computer Science of Shanghai Jiaotong University, 1954 Huashan

More information

Introduction into Web Services (WS)

Introduction into Web Services (WS) (WS) Adomas Svirskas Agenda Background and the need for WS SOAP the first Internet-ready RPC Basic Web Services Advanced Web Services Case Studies The ebxml framework How do I use/develop Web Services?

More information

Service-Oriented Architecture and Software Engineering

Service-Oriented Architecture and Software Engineering -Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based

More information

Literature Review Service Frameworks and Architectural Design Patterns in Web Development

Literature Review Service Frameworks and Architectural Design Patterns in Web Development Literature Review Service Frameworks and Architectural Design Patterns in Web Development Connor Patrick ptrcon001@myuct.ac.za Computer Science Honours University of Cape Town 15 May 2014 Abstract Organizing

More information

Developing Wireless GIS: Using Java and XML Technologies

Developing Wireless GIS: Using Java and XML Technologies Developing Wireless GIS: Using Java and XML Technologies Hossein Mohammadi GIS Dept., Faculty of Geodesy and Geomatics Eng. K.N. Toosi University of Technology Vali_Asr St., Mirdamad Cross, Tehran, Iran,

More information

A Quick Introduction to SOA

A Quick Introduction to SOA Software Engineering Competence Center TUTORIAL A Quick Introduction to SOA Mahmoud Mohamed AbdAllah Senior R&D Engineer-SECC mmabdallah@itida.gov.eg Waseim Hashem Mahjoub Senior R&D Engineer-SECC Copyright

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION 1.1 Introduction Service Discovery Protocols (SDPs) are network protocols which allow automatic detection of devices and services offered by these devices on a computer network [1].

More information

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 Unit objectives

More information

Outline. Mariposa: A wide-area distributed database. Outline. Motivation. Outline. (wrong) Assumptions in Distributed DBMS

Outline. Mariposa: A wide-area distributed database. Outline. Motivation. Outline. (wrong) Assumptions in Distributed DBMS Mariposa: A wide-area distributed database Presentation: Shahed 7. Experiment and Conclusion Discussion: Dutch 2 Motivation 1) Build a wide-area Distributed database system 2) Apply principles of economics

More information

Writing Grid Service Using GT3 Core. Dec, 2003. Abstract

Writing Grid Service Using GT3 Core. Dec, 2003. Abstract Writing Grid Service Using GT3 Core Dec, 2003 Long Wang wangling@mail.utexas.edu Department of Electrical & Computer Engineering The University of Texas at Austin James C. Browne browne@cs.utexas.edu Department

More information

Suitability of existing service discovery protocols for mobile users in an ambient intelligence environment

Suitability of existing service discovery protocols for mobile users in an ambient intelligence environment Suitability of existing service discovery protocols for mobile users in an ambient intelligence environment Davy Preuveneers Department of Computer Science K.U.Leuven Celestijnenlaan 200A B-3001 Leuven,

More information

Concept-Based Discovery of Mobile Services

Concept-Based Discovery of Mobile Services Concept-Based Discovery of Mobile Services Chara Skouteli University of Cyprus CY-1678 Nicosia, Cyprus chara@ucy.ac.cy George Samaras University of Cyprus CY-1678 Nicosia, Cyprus cssamara@ucy.ac.cy Evaggelia

More information

Introducing IBM Tivoli Configuration Manager

Introducing IBM Tivoli Configuration Manager IBM Tivoli Configuration Manager Introducing IBM Tivoli Configuration Manager Version 4.2 GC23-4703-00 IBM Tivoli Configuration Manager Introducing IBM Tivoli Configuration Manager Version 4.2 GC23-4703-00

More information

Run-time Service Oriented Architecture (SOA) V 0.1

Run-time Service Oriented Architecture (SOA) V 0.1 Run-time Service Oriented Architecture (SOA) V 0.1 July 2005 Table of Contents 1.0 INTRODUCTION... 1 2.0 PRINCIPLES... 1 3.0 FERA REFERENCE ARCHITECTURE... 2 4.0 SOA RUN-TIME ARCHITECTURE...4 4.1 FEDERATES...

More information

SIP Protocol as a Communication Bus to Control Embedded Devices

SIP Protocol as a Communication Bus to Control Embedded Devices 229 SIP Protocol as a Communication Bus to Control Embedded Devices Ramunas DZINDZALIETA Institute of Mathematics and Informatics Akademijos str. 4, Vilnius Lithuania ramunas.dzindzalieta@gmail.com Abstract.

More information

irods and Metadata survey Version 0.1 Date March Abhijeet Kodgire akodgire@indiana.edu 25th

irods and Metadata survey Version 0.1 Date March Abhijeet Kodgire akodgire@indiana.edu 25th irods and Metadata survey Version 0.1 Date 25th March Purpose Survey of Status Complete Author Abhijeet Kodgire akodgire@indiana.edu Table of Contents 1 Abstract... 3 2 Categories and Subject Descriptors...

More information

Software Architecture Document

Software Architecture Document Software Architecture Document Natural Language Processing Cell Version 1.0 Natural Language Processing Cell Software Architecture Document Version 1.0 1 1. Table of Contents 1. Table of Contents... 2

More information

Proxy Server Based Data and Service Accessing In Mobile Devices

Proxy Server Based Data and Service Accessing In Mobile Devices Abstract Proxy Server Based Data and Service Accessing In Mobile Devices R.Sudha, R.Bhaskaran, Associate Professor Associate Professor sudhanita@gmail.com bhaskaranmdu@gmail.com Dept. of Information Technology,

More information

RECENT trends in mobile computing and the popularity

RECENT trends in mobile computing and the popularity IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 5, NO. 1, JANUARY-MARCH 2012 99 A Proxy-Based Architecture for Dynamic Discovery and Invocation of Web Services from Mobile Devices Hassan Artail, Senior Member,

More information

XOP: Sharing XML Data Objects through Peer-to-Peer Networks

XOP: Sharing XML Data Objects through Peer-to-Peer Networks 22nd International Conference on Advanced Information Networking and Applications XOP: Sharing XML Data Objects through Peer-to-Peer Networks Itamar de Rezende, Frank Siqueira Department of Informatics

More information

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario Oracle Service Bus Situation A service oriented architecture must be flexible for changing interfaces, transport protocols and server locations - service clients have to be decoupled from their implementation.

More information

Enabling Mobile Web Service Provisioning

Enabling Mobile Web Service Provisioning Enabling Mobile Web Service Provisioning Technical Report 2012-598 Khalid Elgazzar, Patrick Martin, Hossam S. Hassanein School of Computing, Queen s University, Canada Kingston, Ontario, K7L 3N6 {elgazzar,

More information

A Case Based Tool for Monitoring of Web Services Behaviors

A Case Based Tool for Monitoring of Web Services Behaviors COPYRIGHT 2010 JCIT, ISSN 2078-5828 (PRINT), ISSN 2218-5224 (ONLINE), VOLUME 01, ISSUE 01, MANUSCRIPT CODE: 100714 A Case Based Tool for Monitoring of Web Services Behaviors Sazedul Alam Abstract Monitoring

More information

Web Services for Environmental Informatics

Web Services for Environmental Informatics Web Services for Environmental Informatics Erick Arauco a and Lorenzo Sommaruga b a University of Piura - Engineering Department,Piura, Perú- earauco@udep.edu.pe b University of Applied Sciences of Southern

More information

T-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm

T-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm T-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm Based on slides by Sasu Tarkoma and Pekka Nikander 1 of 20 Contents Short review of XML & related specs

More information

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter

More information

Developing Java Web Services

Developing Java Web Services Page 1 of 5 Developing Java Web Services Hands On 35 Hours Online 5 Days In-Classroom A comprehensive look at the state of the art in developing interoperable web services on the Java EE platform. Students

More information

Oracle Service Bus Examples and Tutorials

Oracle Service Bus Examples and Tutorials March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan

More information

Service Discovery Protocol Interoperability in the Mobile Environment

Service Discovery Protocol Interoperability in the Mobile Environment Service Discovery Protocol Interoperability in the Mobile Environment Yérom-David Bromberg, Valérie Issarny To cite this version: Yérom-David Bromberg, Valérie Issarny. Service Discovery Protocol Interoperability

More information

IBM Rational Rapid Developer Components & Web Services

IBM Rational Rapid Developer Components & Web Services A Technical How-to Guide for Creating Components and Web Services in Rational Rapid Developer June, 2003 Rev. 1.00 IBM Rational Rapid Developer Glenn A. Webster Staff Technical Writer Executive Summary

More information

Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery

Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery Dimitrios Kourtesis, Iraklis Paraskakis SEERC South East European Research Centre, Greece Research centre of the University

More information

Towards an Organic Middleware for the Smart Doorplate Project

Towards an Organic Middleware for the Smart Doorplate Project Towards an Organic Middleware for the Smart Doorplate Project Wolfgang Trumler, Faruk Bagci, Jan Petzold, Theo Ungerer University of Augsburg Institute of Computer Science Eichleitnerstr. 30, 86159 Augsburg,

More information

SERVICE DISCOVERY AND MOBILITY MANAGEMENT

SERVICE DISCOVERY AND MOBILITY MANAGEMENT Objectives: 1) Understanding some popular service discovery protocols 2) Understanding mobility management in WLAN and cellular networks Readings: 1. Fundamentals of Mobile and Pervasive Computing (chapt7)

More information

Table of Contents. 2015 Cicero, Inc. All rights protected and reserved.

Table of Contents. 2015 Cicero, Inc. All rights protected and reserved. Desktop Analytics Table of Contents Contact Center and Back Office Activity Intelligence... 3 Cicero Discovery Sensors... 3 Business Data Sensor... 5 Business Process Sensor... 5 System Sensor... 6 Session

More information

www.progress.com DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS

www.progress.com DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS TABLE OF CONTENTS Introduction 1 Progress Corticon Product Architecture 1 Deployment Options 2 Invoking Corticon Decision Services 4 Corticon Rule Engine 5

More information

Internationalization and Web Services

Internationalization and Web Services Internationalization and Web Services 25 th Internationalization and Unicode Conference Presented by Addison P. Phillips Director, Globalization Architecture webmethods, Inc. 25 th Internationalization

More information

The Ubiquitous Web, UPnP and Smart Homes

The Ubiquitous Web, UPnP and Smart Homes The Ubiquitous Web, UPnP and Smart Homes Franklin Reynolds Nokia Research Center, Cambridge franklin.reynolds@nokia.com 1 NOKIA PCG.PPT / 15 6 2004 / Franklin Reynolds Our Vision "The essence of this vision

More information

Performance Evaluation of RESTful Web Services for Mobile Devices

Performance Evaluation of RESTful Web Services for Mobile Devices Performance Evaluation of RESTful Web Services for Mobile Devices Hatem Hamad, Motaz Saad, Ramzi Abed hhamad@iugaza.edu, msaad@iugaza.edu, rabed@iugaza.edu Computer Engineering Department P.O.BOX 108,

More information

Web Services Implementation: The Beta Phase of EPA Network Nodes

Web Services Implementation: The Beta Phase of EPA Network Nodes Web Services Implementation: The Beta Phase of EPA Network Nodes Connie Dwyer and Chris Clark U.S. Environmental Protection Agency, 1200 Pennsylvania Avenue, N. W., Washington, D.C. dwyer.connie@epa.gov

More information

DataDirect XQuery Technical Overview

DataDirect XQuery Technical Overview DataDirect XQuery Technical Overview Table of Contents 1. Feature Overview... 2 2. Relational Database Support... 3 3. Performance and Scalability for Relational Data... 3 4. XML Input and Output... 4

More information

Integration of Embedded Devices Through Web Services: Requirements, Challenges and Early Results

Integration of Embedded Devices Through Web Services: Requirements, Challenges and Early Results Integration of Embedded Devices Through Web Services: Requirements, Challenges and Early Results Guilherme Bertoni Machado Frank Siqueira Federal University of Santa Catarina Florianópolis, Brazil {bertoni,frank}@inf.ufsc.br

More information

Middleware and the Internet. Example: Shopping Service. What could be possible? Service Oriented Architecture

Middleware and the Internet. Example: Shopping Service. What could be possible? Service Oriented Architecture Middleware and the Internet Example: Shopping Middleware today Designed for special purposes (e.g. DCOM) or with overloaded specification (e.g. CORBA) Specifying own protocols integration in real world

More information

QoS Integration in Web Services

QoS Integration in Web Services QoS Integration in Web Services M. Tian Freie Universität Berlin, Institut für Informatik Takustr. 9, D-14195 Berlin, Germany tian @inf.fu-berlin.de Abstract: With the growing popularity of Web services,

More information

Web Services and Seamless Interoperability

Web Services and Seamless Interoperability Web Services and Seamless Interoperability João Paulo A. Almeida, Luís Ferreira Pires, Marten J. van Sinderen Centre for Telematics and Information Technology, University of Twente PO Box 217, 7500 AE

More information

Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies

Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies Szolgáltatásorientált rendszerintegráció Comparison of component technologies Simon Balázs, BME IIT Outline Definitions Component technologies RPC, RMI, CORBA, COM+,.NET, Java, OSGi, EJB, SOAP web services,

More information

Grid Computing. Web Services. Explanation (2) Explanation. Grid Computing Fall 2006 Paul A. Farrell 9/12/2006

Grid Computing. Web Services. Explanation (2) Explanation. Grid Computing Fall 2006 Paul A. Farrell 9/12/2006 Grid Computing Web s Fall 2006 The Grid: Core Technologies Maozhen Li, Mark Baker John Wiley & Sons; 2005, ISBN 0-470-09417-6 Web s Based on Oriented Architecture (SOA) Clients : requestors Servers : s

More information

Towards Distributed Service Platform for Extending Enterprise Applications to Mobile Computing Domain

Towards Distributed Service Platform for Extending Enterprise Applications to Mobile Computing Domain Towards Distributed Service Platform for Extending Enterprise Applications to Mobile Computing Domain Pakkala D., Sihvonen M., and Latvakoski J. VTT Technical Research Centre of Finland, Kaitoväylä 1,

More information

Survey of Service Discovery Architectures for Mobile Ad hoc Networks

Survey of Service Discovery Architectures for Mobile Ad hoc Networks Survey of Service Discovery Architectures for Mobile Ad hoc Networks Chunglae Cho 1 and Duckki Lee 1 1 Computer and Information Science and Engineering Department University of Florida, Gainesville, FL-32611,

More information

Integrating Bioinformatic Data Sources over the SFSU ER Design Tools XML Databus

Integrating Bioinformatic Data Sources over the SFSU ER Design Tools XML Databus Integrating Bioinformatic Data Sources over the SFSU ER Design Tools XML Databus Yan Liu, M.S. Computer Science Department San Francisco State University 1600 Holloway Avenue San Francisco, CA 94132 USA

More information

Using Object And Object-Oriented Technologies for XML-native Database Systems

Using Object And Object-Oriented Technologies for XML-native Database Systems Using Object And Object-Oriented Technologies for XML-native Database Systems David Toth and Michal Valenta David Toth and Michal Valenta Dept. of Computer Science and Engineering Dept. FEE, of Computer

More information

QuickDB Yet YetAnother Database Management System?

QuickDB Yet YetAnother Database Management System? QuickDB Yet YetAnother Database Management System? Radim Bača, Peter Chovanec, Michal Krátký, and Petr Lukáš Radim Bača, Peter Chovanec, Michal Krátký, and Petr Lukáš Department of Computer Science, FEECS,

More information