Ajax for Mobility: MobileWeaver Ajax Framework
�/span>Louenas
Hamdi SAP Research, SAP Labs Canada |
Huaigu Wu SAP Research, SAP Labs Canada huaigu.wu@sap.com
�/span> |
Serhan Dagtas Dept. of Information Science Little Rock AR 72204 |
ABSTRACT
This paper
provides a brief description of a research project on using Ajax to enhance mobile
Web applications for enterprise use. The project, known as MobileWeaver Ajax
Framework, leverages enterprise SOA (Service Oriented Architecture) and the latest
web technologies on mobile devices.
Categories and Subject Descriptors
General Terms
Performance, Design, Languages.
Keywords
Traditionally,
developing Web applications and consuming web services on mobile devices is very
hard or impossible. Nowadays, web browsers and internet connections that these
devices are equipped with are increasingly used to make the development and
consumption of mobile services much easier. However, mobile Web remains very
limited in terms of functionality and usability. �/span>The web experience is very frustrating for
most of the mobile users.
Ajax is one
of the delivery mechanisms of mobile Web2.0 that leverages existing Web
standards such as HTTP, xHTML, XML, CSS, DOM and the asynchronous nature of XHR
(XmlHttpRequest) to avoid whole web page refreshes.
The main
objective of our research work is validating some concepts related to mobile
Web architectures in the business context. The ultimate goal is to define an
architecture that can reduce the load on the Web servers and ease the
consumption of web services on mobile devices. This is achieved by leveraging
the processing and communication capabilities of current mobile browsers while
providing an acceptable user experience.
First, we will
present a brief overview of Mobile Ajax followed by a description of our
MobileWeaver Ajax framework and its components. We will provide some future
research directions in the last section.
The basic
technology in Mobile Ajax is not much different from desktop
Because of the
latency and perishable nature of the mobile and wireless networks,
MobileWeaver Ajax is an end-to-end infrastructure for
composing and consuming mobile
MobileWeaver uses XML to describe the applications and uses JSON for message exchange.
Figure 1. MobileWeaver Ajax Framework architecture. .
The main components of MobileWeaver Ajax framework, illustrated in Figure 1, will be described in detail in the following sections.
MobileWeaver composer is a completely browser-based environment for mashing-up multiple Web services and binding them visually to mobile forms. The forms are also designed in a drag-and-drop fashion. When the composition step is completed, the composer generates an Application Model (AD) and deploys it into the user抯 work area.� The application model contains a description of the UI and configuration data to be used during runtime for aggregation and reduction of web services.
Figure 2 shows a screenshot of the MobileWeaver Ajax composer in its current state.
Figure 2. MobileWeaver Ajax Composer. .
This component is responsible for loading WDSL files and creating dynamic proxy clients automatically, which are used to invoke the remote Web service and receive the results as generic Java objects.
Based on the configuration which was designed during the composition phase, the Web service dynamic adapter takes the Web service response object and reduces it to optimized messages following a JSON format. The resulting JSON message contains only filtered information.
The Web Service User Manager stores the login information that the business users provide to login to the participating web services. The login component is important because the participant web services can come from different systems including the freely available ones on the internet.
This component is a set of JavaScript utilities used to abstract the specificities of mobile browsers and provide them as a unified and browser-independent set of interfaces.
The Application Model Parser is a JavaScript parser that is capable of transforming MobileWeaver Ajax Framework application models into an xHTML and JavaScript code. The parser generates xHTML pages, generates the client side validation code and the necessary bindings between the UI components and the remote services.
OpenAjax Hub is an implementation of the Pub/Sub specification of OpenAjax organization. The OpenAjax Hub allows client-side JavaScript components to collaborate in a loosely coupled fashion through an event management mechanism.
The Cache Manager is a JavaScript component responsible for holding and indexing JSON objects. The technique used to organize the cache follows REST architecture URIs and uses a timestamp. The cache manager attempts to clean the cache every time a new append is requested.�
The messages manager is used for managing the XHR object and for queuing and batching asynchronous requests. Queuing is used in case of disconnection. If the browser gets disconnected for any reason, the Message Manager can queue the user requests for future trials.
In the near future, we plan to assess and measure the usability of our framework against real customer needs. We also plan to test the framework on a number of different smart-phones and cellular networks and adapt the architecture consequently.
Special thanks to Ris Stephane, Andreas Goeb and Daniel Koelsch, Christian Eck and Jean-Francois Desjeans Gauthier. Thanks also to our fourth author Abdel牋 Benharref.
[1] Business case for Mobile Ajax.
http://www.w3.org/2007/06/mobile-ajax/papers/sap.hamdi.pdf
[2] Data Management for Mobile
Ajax Web 2.0 Applications.
http://www.springerlink.com/content/b21k0th14m243lt5/
[3] What does
[4] Open
Copyright is held by the author/owner(s). WWW 2008,�
April 21�, 2008, ACM 978-1-60558-085-2/08/04. |