Research Paper Implementing Mobile Thin client Architecture For Enterprise Paper ID IJIFR/ V2/ E1/ 037 Page No 131-136 Subject Area Information Technology Key Words JQuery Mobile, JQuery Ajax, REST, JSON V.Hemalatha 1 G.sumalatha 2 M.Tech. Student, Department of Information Technology Sreenidhi Institute of Science and Technology, Hyderabad (Telangana) India Assistant Professor, Department of Information Technology Sreenidhi Institute of Science and Technology, Hyderabad (Telangana) India Abstract Mobile computing is now integral part of enterprise applications. Many organizations have developed their applications as web apps or websites few years ago and providing services to users through web services as the usability of smartphones are increasing day to day and clients want to access the corporate data and business applications securely from mobile. This paper discuss about mobile application development architecture and JSON-REST web API used by mobile client to connect to backend.to reduce the development cost of mobile applications. We implement mobile thin client-server architecture by reusing the backend services of existing desktop or web-based applications and enhancing some services for developing multiplatform mobile application.we considered mobile constrains like Limited size, memory, response time. We used JQuery Mobile frameworks to support multiplatform support and provide rich user experience. JQuery Ajax is used as client side scripting to load dynamic data from rest API and JSON is used as data-transferring format. 1 Introduction Mobile applications are multi-layered applications and developed as client server architecture To develop a mobile application for existing desktop or web application developer Face many challenges Choosing an appropriate architecture Purpose to develop the app, development cost, performance, speed How to reuse existing web services to integrate mobile client to application layer Designing the mobile client presentation Layer Meet the end-user requirements, compatibility issues Organizations want to access the business data through smartphones and expose their web services securely over the network and perform the task like monitoring the resources, viewing Alerts through mobile phones. They are developed for special purpose like mobility and usability and perform same functionalities as web applications. This paper discuss about architectures to develop mobile www.ijifr.com Copyright IJIFR 2014 131
application in section 2, client side implementation in section 3,5 and server side implementation using REST /JSON API in section 4. 2 Mobile Architecture Overview Mobile applications are software developed for small tablets, mobile Devices for special purpose. Mobile web services are used to communicate between service requester and service provider. To develop any mobile application Developers selects any one of the three architectures Native apps, Mobile webapps, Hybridapps [1]. Each of this architecture has its own significance choosing the appropriate architecture depends upon the requirements and type of application to be developed and services provide by the applications. 2.1 Nativeapp Mobile devices available in market from low- handheld devices to high-handheld devices will have their own operating systems each of different type such as Android, Symbian, IOS, windows etc. Source of programming language differs for each OS. Consider Android applications they are build using android SDK and API that works only for android devices and does not support for any other OS. All native applications are downloaded from the device specific app store and installed on the devices itself. The complexity increases to upgrade the apps for previous versions 2.2 Mobilewebapp Mobile webapp runs on mobile web browser they are used to extend the functionalities of existing standalone applications and web applications they are easy to maintain and development cost is less when compare to native applications[2]. To communicate between the mobile clients (ui) or the presentation layer and backend application layer mobile web services are used. Mobile webapp does not provide full access to device capabilities such as camera, GPS.mostly HTML5 is widely used for developing webapp. To enhance the functionalities the services are updated frequently but it does not affect the mobile webapp the mobile webapp send request and communicate over Http protocol and server executes and sends the response to mobile web browser 2.3 Hybrid webapp Hybrid webapp are used for complex applications they are combination of both mobile webapp and native app. They provide native look and feel to mobile webapps access to device capabilities like camera, Gps and support cross platform and installed on app stores but complex and hard to maintain. NATIVE APPS APPS OPERATING SYSTEM &DEVICE WEB APPS APPS WEB BROWSER OPERATING SYSTEM &DEVICE HYBRID APPS APPS NATIVE APPS & WRAPPERCLASS OPERATING SYSTEM &DEVICE Figure 1: Three MobileApp Technology 132
3 Related Works 3.1 Mobile Thin client Architecture Mobile consists of user interface, presentation layer and Business data and data layers and to communicate between the layers mobile web services are used. Generally mobile clients can be of two types thin web based client and fat client [3].We implement thin client architecture as it is easy to integrate with backend services and supports applications to integrate with backend services and have some advantages over fat client as fat client consists of one or two layers installed on mobile devices Complex and hard to maintain [4] Thin web based client: The presentation layer is located at Mobile Device and Business and Data layer at server side. Easy to develop and maintain. Security is provided at server side allowing access to authorized users and domains. Sends Request to resources implementing REST/JSON Api which forwards the request to web service and process it and send back response to device. Client side scripting is used to load Dynamic content. ThinClient MOBILE DEVICE PRESENTATION LAYER Middle -Tier REST JSON API WIRELESS APPLICATION SERVER WEBSERVERS Back -End database EIS Figure 2: Mobile web application tiers Mobile web browser does not support good user interference most of webpages are fragmented and viewed. Navigate to pages also slow down the performance, reduce the speed of the devices and consumes memory. We consider some of the mobile constrains and developed a user interface using JQuery Framework Mobile webapp runs on mobile web browser they are used to extend the functionalities of existing standalone applications and web applications they are easy to maintain and development cost is less when compare to native applications. REST/JSON API acts as an interface to communicate between the mobile client or the presentation layer and backend application layer [6]. 133
4 Representational State Transfer For Mobile Web Services SOAP, REST is widely used protocols to communicate over network for web applications. Most of the developers developed soap /xml based web services for their applications for security purpose but they don t support for mobile application. We implement the REST/JSON based API for mobile application. MOBILE WEBAPPS/MOBILE APPS RESTAPI GATEWAY INTEGRATION SPRING/JERSEY/EE DATA ACCESS LAYER DATABASE Figure 3: Mobile web application SOAP: SIMPLE OBJECT ACCESS PROTOCAL REST: REPRESENTATIONAL STATE TRANSFER PROTOCAL Rest is widely used to access the resources on the web.they are light weight and easy to implement Get, Put, post, Delete operations are performed and can be debugged easily.improve the performance of application. In figure 3 represents the flow of application the Rest API acts as an interface between the mobile client and back end services. The client send the request for resource to application layers using URL and server receives the request and authenticates it executes the code and send back response. User can load the data to server using post and put methods and to provide security to resources filters are used. We define the domains at server side only they are allowed to access the resources [7]. Most of the applications have vulnerabilities like cross-site scripting to overcome most of the browsers does not support calls from different domains.we can call cross origin domain call from mobile devices securely by adding domain names at server side it contains information about what type of requests are allowed. 5 JQuery Mobile JQuery mobile Framework is used for multipurpose they are used as user interface for website and mobile applications. Easy to develop and works on different operating systems [4]. Advantages: 134
Touch Optimized allow users to navigate easily Reduce http request and speed up performance and support multipage template Optimized the code write less do more mantra Provide Transitions Hybrid mobile applications support JQuery Mobile like Phone Gap one of the most used framework for mobile applications dedicated. 5.1 JQuery Ajax We used JQuery Ajax as client side scripting. The mobile client send request to backend services the API executes the code and sends the response.to load the data into mobile device mostly java scripts are used but for mobile devices JQuery Ajax is used as they optimize the code and manipulate the Dom content on the fly. The Ajax call are used to load the data dynamically without page refreshing which reduce the http request over network and improve performance.jquery Ajax communicate to webserver and access the resources using url along with required information about the response format and also support cross origin domains. Using JQuery we can request different data formats like XML, HTML, JSON etc. 5.2 JSON (JavaScript Object Notation) We consider JSON as data exchange format to send the mobile client messages to backend services Most of enterprise applications are complex and need to communicate frequently to access the data between the application layer and data layers. To develop a mobile app performance and speed are consider as main factors user want to access the data fastly [8]. We can encode and decode data fastly over network.mobile client can consume the JSON API easy. We can send data as ordered set and unordered set of values generally order set are implemented using JSON Array and unordered set as JSON objects. To send data over network we convert data into bytes this process is called serialization. To convert from bytes to data this process is called Deserialization. JSON is used as lightweight data exchange format when compare to xml. Easy to read and write and reduce load over network. Provide parsing and encoding and decoding techniques. Most widely used for Mobile devices Reduces Bandwidth 6 Conclusion This approach shows how to develop a multiplatform mobile applications allow user to access data anywhere from devices securely. We discuss about architectures used to develop mobile application and minimal changes in framework to enhance the functionalities of existing system which have a great impact on users Mobile Webapps and hybrid apps are widely used for developing mobile application and for existing web applications. REST/JSON API is more suitable when compare to soap/xml for developing mobile applications to reduce load on network. References [1]http://www.mrc-productivity.com/Research/Mobile_Guide.pdf [2]http://robtiffany.com/wp-content/uploads/2012/08/Mobile_Architecture_Guide_v1.1.pdf [3]Mobile s/architecture, Design and Development. Lee, Schneider, R. Schell [4]http://api.jquerymobile.com/ [5]http://www.w3schools.com/jquery/jquery_ajax_intro.asp 135
[6]Sherays Cholia, David Skinner.A Restful Service for Building High Performance Computing Web application.pdf [7]W.Rochel, J.B. Silva Extending access to Remote Labs from Mobile Devices in Educational Contexts.pdf [8]http://jsonapi.org// Biographies *V. Hemalatha is presently pursuing her M.Tech in Computer Networks and Information Security, Sreenidhi Institute of Science and Technology, Hyderabad, India. This research work was do neat progress software as an internship program. **G. Sumalatha is currently working as Assistant Professor in the Department of Information Technology, Sreenidhi Institute of Science and Technology, Hyderabad, India. She is pursuing Ph. D in Computer Science & Engineering, JNTUH. Her research interests include Cryptography and Network security 136