Addressing Device-Based Adaptation of Services: A Model Driven Web Service Oriented Development Approach

Addressing Device-Based Adaptation of Services: A Model Driven Web Service Oriented Development Approach

Achilleas P. Achilleos (University of Cyprus, Cyprus), Kun Yang (University of Essex, UK) and George A. Papadopoulos (University of Cyprus, Cyprus)
Copyright: © 2015 |Pages: 24
DOI: 10.4018/978-1-4666-6539-2.ch029
OnDemand PDF Download:
No Current Special Offers


The rapid growth of the mobile devices market and the increasing requirements of mobile users augment the need to develop Web Service clients that could be deployed and run on both mobile and desktop devices. Different developers attempt to address this heterogeneity requirement and provide solutions that simplify and automate the development of device-aware services. This chapter proposes a Model-Driven Web Service oriented approach, which allows designing and automatically generating mobile and desktop-based clients that are able to invoke ubiquitously Web Services from different devices. This is further enabled via the Web Services Description Language that allows generating the required proxy classes, which support the communication with platform-specific clients. The applicability and efficiency of the approach is demonstrated via the design and development of a device-aware Web Service prototype.
Chapter Preview


Mobile devices have obtained great prominence in the marketplace (Bartolomeo et al., 2006) and mobile users requirements have significantly increased in terms of running mobile services on these devices (Kapitsaki et al., 2009). The continuous development of existing technologies (e.g. J2ME, C#) and the introduction of brand new technologies (e.g. Android) raises new requirements and imposes new restrictions when developing service-clients (Daniel Dern, 2010). Consequently, an all-important constraint arises, which is principally associated with the interface limitations and restrictions imposed when developing platform-specific service clients for invoking and utilising Web Services from different devices.

During the early days of computing, the development of complete desktop-based applications was the main focus of developers. With the advent of Web Services the focus shifted to the development of services designed to be accessible from resource-rich (i.e. desktop, laptop) devices. Nowadays, the rapid and continuous growth of mobile devices hardware and software technologies shifted the focus towards mobile computing. Thus, the necessity arises to design Web Services in a flexible way because of the requirement to invoke them from different types of devices; i.e. mobile and stationary. This prerequisite perplexes the development of platform-specific service clients (running on different mobile devices) mainly because of interface limitations and restrictions; e.g. screen size, resource-constraints, processing power.

In this chapter we concentrate on the formulation of a model-driven approach, which attempts to exploit also the benefits of the Web Services technology. The key point is the separation of the development of the service clients from the implementation of the functionality of the Web Services. This offers a flexible, modular and abstract approach, which simplifies and accelerates the development of device-aware Web Services. The term device-aware Web Services refers to the development of both the service clients and the server-side functionality (i.e. Web Service). Hence, such an approach automates and speeds up development for the following categories of devices (Ortiz and Prado, 2009):

  • Resource-Rich Devices: These refer to powerful desktop and laptop devices that do not impose restrictions in terms of processing power, memory, screen size, etc.

  • Resource-Competent Devices: An intermediate category of devices that are not as powerful as the above but have higher computing resources than mobile devices and smartphones; e.g. Netbooks, IPad, Kindle.

  • Resource-Constrained Devices: Devices such as smartphones and mobile phones that have inferior computational power, memory, interface capabilities, etc. Also, they support a restrictive set of Application Programming Interfaces (APIs).

In order to accomplish this objective, the Presentation Modelling Language (PML) is defined that allows designing and automating the implementation of service clients for the above categories of devices. Moreover, the Web Services Description Language (WSDL) is exploited since it allows designing and automatically generating the required device-specific proxy classes for each service client, which support communication with the Web Service. In this way, we allow users to design Web Service clients in the form of graphical user interfaces (GUIs) and collections of communication endpoints capable of exchanging messages (W3C, 2001) with implemented Web Service(s). Both definitions are specified in the form of graphical models that are transformed to different platform-specific implementations and deployed on the corresponding devices to enable access to the Web Service(s). Thus, an experienced developer only requires to implement the main functionality of the Web Service (at the server-side) in one of the many possible implementations; e.g. Java, .NET.

Complete Chapter List

Search this Book: