Design and Development of a Web Service for Android Applications for Extensive Data Processing

DOI : 10.17577/IJERTV2IS80099

Download Full-Text PDF Cite this Publication

Text Only Version

Design and Development of a Web Service for Android Applications for Extensive Data Processing

Robert A. Sowah

Computer Engineering Department, University of Ghana, Legon

Accra, Ghana

Seth Y. Fiawoo

Computer Engineering Department, University of Ghana, Legon

Accra, Ghana

Abstract

With the current trend in technology, having access to information on the go comes in very handy. Much more when one happens to find oneself in a managerial position of an international corporate organisation. Having access to company information on the go can be very profitable for such organisations as it could speed up the decision-making process. Decision-making is very vital in such corporate organisations as it helps an organisation overtake or stay at par with its competitors.

This paper presents the development of a Simple Object Access Protocol (SOAP) based web service client that would process data from a companys database and serve the results to a mobile device; in this case one that runs on the Android OS.

  1. Introduction

    Android is the operating system that powers all Android devices. Just like how the Windows operating system powers laptop and desktop computers, or Apples iOS powers iPhones and iPads. Android is an open source technology based on the Linux open source platform and Oracles Java, one of the worlds most popular programming languages. Android is not available only for smartphones, but also for new and emerging consumer electronic devices that are network- compatible such as iTVs and home media centres. This translates into more sales onto more devices in more areas of the customers life, and thus more incentive to develop for Android over closed and PC operating systems [1]. In addition to being free for commercial use, Android has one of the largest, wealthiest, and most innovative companies in modern-day computing behind it: Google. Since its inception in 2005, Android is fast growing and according to leading market research company, NPD Group, Android currently owns about 53% of

    the US market share of operating system share of smartphone sales. According to Googles Android chief, about 500,000 Android devices are activated every single day. These statistics indicate that Android devices are fast gaining popularity amongst smartphone users.

    This project aims to take advantage of the fast growing popularity of Android devices by developing an Android application that would retrieve and display summarised corporate data on Android devices, thus enabling users to get up to date information anywhere they are once they have the application installed on their Android device as well as an active internet connection. The scope of this project is to show the potential use of Android applications within corporate organisations in the decision-making process.

    In large organisations where managers have to make quick decisions to enable their organisation remain competitive and be profitable decision- making is very key in such organisations, since any wrong decision made could have serious repercussions on the organisation. Top-level managers make such decisions within these organisations and before making any decision, they go through company records; decisions made are based on information garnered. At times information on which to base their decisions on are so voluminous that the decision-making process takes longer than required. In some cases, the company may have a computerised system whereby summarised information can be displayed to managers on request using personal computers. However in such cases, it becomes difficult for managers to access such information while on the go.

    The goal of this project is to develop an Android application that would retrieve and display summarised corporate data on android devices. This would be achieved by (1) creating a backend application of the system which would be a web application that would be used to capture data at local offices, (2) implementing and deploying a database that would host captured data and (3)

    developing a frontend application which would be an Android application that would interface with the database in order to retrieve information and display it on an Android device.

    This paper is divided into the following sections. Section 1 introduces the concept and model of an Android application that would be used to retrieve and display information from a central database and the need for such an application. Section 2 provides detailed problem definition and motivation for developing an Android application for use by corporate executives. Section 3 presents the literature review of some Android applications that have been developed for use by corporate executives; their peculiar strengths and weakness are highlighted and major enhancements emphasized. Section 4 presents the system design and methodology used in the development of the Android application. Section 5 presents the conclusions and recommendations.

  2. Problem Definition

    Consider a global company that has offices located in major cities all over the world with the company's headquarters situated in one of the cities. Senior management of the company receives reports from all their offices to enable them make important managerial decisions specific to each of their offices. At times the information they get can be so voluminous (as data which would not help in decision-making is added) that plotting strategies and analysing trends from the received data became very tedious and decision-making which should have been prompt for such corporate entities ended up taking a lot of time thus affecting the performance of some of their branches.

  3. Literature Review On Android Applications For Corporate Executives

    Web services are gaining fast popularity as the need for information exchange across different operating systems platforms as well as across organisations.

    The authors in [2], noted that Services Computing paradigm together with the proliferation of Web services have created great potential opportunities for service consumers. In their paper, they proposed an efficient approach that would help service consumers in Web services discovery. This was achieved by first analysing the service consumers service discovery requirements

    using a conceptual model of homogeneous Web service communities. The homogeneous service community contains two types of discovery: the search of similar operations and that of composible operations. Secondly, they designed a graph-based algorithm to support both of the two discovery types. Finally, they designed a prototype to facilitate the consumers to discover while subscribing Web services in an easy-of-use manner by adopting atom feeds. Their approach not only alleviates the consumers from time consuming discovery tasks but also lowers their entry barrier in the user-centric Web environment.

    In their paper [3], the authors present the Application Hosting Environment 3.0, which virtualizes grid applications and exposes the functionalities through a simple and concise RESTful web service interface. This simple interface allows grid deployed applications to be accessed through simple HTTP calls, meaning that users can easily integrate such applications into more complicated workflow. They also described how AHE 3.0 is being integrated into a wider biomedical simulation infrastructure, to allow users to seamlessly access cloud and high performance computing resources.

    Due to the number of Android devices activated daily and the open source nature of android, a lot of android aplications have been developed to meet various needs.

    SoftMiMo is company that develops android applications. Some applications that have been developed by SoftMiMo are Cashbook, Inventory Tracker and BalanceBook [4]. Cashbook is an application that enables users to keep track of their expenses, income and mileage on a daily, weekly, monthly or yearly basis. Inventory Tracker is an application by which users can track their inventory, sales, payment, shipment and balance sheet on daily, weekly, monthly or yearly basis. BalanceBook is an application which helps users easily manage small business sales and expenses. It tracks a users sales, expenses, balance sheets and profit charts on a daily, weekly, monthly or yearly.

    The applications mentioned above are for single user and small scale businesses, where users key in their inputs using the phone application from time to time. Data entered is stored within a database on the phone and there is no communication with an external database.

    Invoice2go is an Android application that allows users to easily design, manage and send estimates and invoices on the go [5]. It has an intuitive interface which allows a user to design an invoice within a few minutes, wherever the user might be. When a user creates an invoice, it is

    mailed to the client as a PDF. With all the Android applications mentioned above, a user captures data using the Android application and the data entered can be viewed by only that specific user. For this research and Android application development, data would be captured by one group of people (workers) using a web application and the captured information would be made available to a different set of people (managers).

  4. Proposed System Design And Methodology

    1. System Architecture

      Figure 1: System Architecture

    2. System Components

      1. Web Application

        This would be created using ASP.NET. It would be an interface via which employees would enter information captured at the local offices. The information captured would be stored on a central database

      2. Database Server

        This component would host the database which would store information that would be captured at the local offices. The data would be hosted in a Microsoft SQL database and accessed by the Android application.

        Figure 2: Entity Relationship Diagram

      3. Web Service

        This would enable information to be exchanged between the database and the android application, since the Android application cannot communicate directly with the database.

      4. Android Application

        This would be an application that would access the database over the internet, retrieve and display a summarised version of the data captured in the database.

        In coming out with the final model for the Android application, a selection from one of two options had to be made. These models are shown below and reasons as to why one model was selected and the other rejected are given below. In the first model, an application which would act as a web host was designed as shown in Figure 3. In this model, the web browser would display web pages specifically for managers as part of the web application. All that had to be done was to create activities that serve as containers for the web browser.

        Figure 3: Android Model I

        One advantage of this model was it was light weight as most of the things to be displayed would be part of the web application. The reason I rejected this system was because in the absence of an active internet connection, an error message would be displayed to the manager. This implied that the application would have been more or less useless without an internet connection.

        In the second model, a fully functional application was to be built. This application would make requests to and receive requests from the central database via a web service as shown in Figure 4. This model was to have a local database residing within the Android application such that requests received from the central database would be stored in this local database. An advantage and the main reason for choosing this model was that even in the absence of internet connectivity, information stored within the local database would be retrieved and

        captured by workers using an Android application in conjunction with a web service.

            1. Backend Operation

              Employees working in offices of the organisation would first enter their credentials on the log in page of the web application. If authentication fails the worker is displayed an error message otherwise upon successful authentication, the user is granted access to other web pages which he/she has authorisation for. Based on information the employee wants to capture, he/she can navigate to the page relating to the type of information that is to be captured. When the employee finishes entering data, he/she clicks a button to save the information on the database. The employee would be notified as to whether or not the information entered was successfully entered into the database or not.

            2. Frontend Operation

              Managers would have access to company information anywhere they are once they have the application installed on an android device. A manager who has the application installed launches it. He/she then enters his/her credentials for authentication. After successfully being authenticated, an interface is brought up for the manager to select an office from a dropdown list about which he/she wants to view data. After selecting an office, the manager is directed to another interface which displays the various categories of information captured at that office. The manager then selects the category he/she is interested in, and then information pertaining to that category is displayed. A flow diagram showing how managers would retrieve data is shown in Figure 5 below.

              Figure 4: Android Model II

              If the information varied, then the information would be downloaded from the central database and displayed to the user with the local database also being updated. If the information on both databases were the same, then the information would be retrieved from the local database and displayed to the user.

              4.3. Description of Proposed System

              The system consists of a backend where workers working at offices would capture data. The data would be stored on a central database. The frontend consists of managers accessing data

              Figure 5: Flow Chart of How Senior Management Retrieve Data

              Figure 6: Sequence Diagram of System

              Figure 7: Use Case Diagram

            3. System Integration

        Both subsystems i.e. the backend and the frontend would communicate with a central database. The backend would communicate with the database using ASP.NET. The frontend would not directly communicate with the database but rather serve its requests through an asp page. The asp page queries the database then sends the result set to the application in JavaScript Object Notation (JSON) to be displayed to the user.

  5. CONCLUSION AND RECOMMENDATION

    This project when implemented would help senior management in running the affairs of the company as it would reduce the amount of information senior management would have to analyse before plotting strategies and predicting trends based on the summarised data. It would also enable senior management have up-to-date information on their Android devices wherever they may find themselves with an active data connection. In this project existing business analytics were used, however incorporation of data mining and artificial intelligence techniques into this application would be worked upon.

  6. Acknowledgments

    The authors would like to acknowledge the technical and nurturing environment provided by the Department of Computer Engineering, University of Ghana, appreciation also goes to the University of Ghana – Carnegie Corporation of New York Next Generatio Academics in Africa Project for the opportunity offered the lead author to attend a Write Shop Program held at Koforidua, Ghana from December 11-16, 2012.

    The authors would like to express gratitude to Dr. Samuel Somuah, Chief Information Technology Officer of the University of Ghana Computing Systems (UGCS) for his help in guiding the execution and deployment of this research project for use in UGCS

  7. References

  1. Begun, D. A. (2011). Amazing Android Apps For Dummies, Wiley Publishing, Inc, Indiana.

  2. Liu X., et al. (2012) Discovering Homogeneous Web Service Community in the User-Centric Web Environment

    Webpage: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp= &arnumber=4912192[date accessed : May 15, 2013]

  3. Chang D. C. W., et al. (2012) The Application Hosting Environment 3.0: Simplifying Biomedical Simulations Using RESTful Web Services. Webpage:

    http://ieeexplore.ieee.org/stamp/stamp.jsp?arnu mber=06266405[date accessed : May 15, 2013]

  4. Frank Android Software @ SoftMiMo.com. Webpage: http://www.softmimo.com/. [date accessed : October 2, 2011]

  5. Invoice on the Go with Invoice2go Webpage: http://www.invoice2go.com/. [date accessed : October 6, 2011]

  6. Harrington, J. L. (2009). Relational Database Design and Implementation, Morgan Kaufmann, Massachusetts.

  7. Jackson, W. (2011). Android Apps For Absolute Beginners, Apress, California.

  8. Krieger, A. (2001). Microsoft SQL Server 2000 Weekend Crash Course, Hungry Minds, Inc.

  9. MacDonald, M.; Szpuszta, M. (2009). Pro ASP.NET in C# 2008, 3rd Ed., Apress, California.

  10. Murphy, M. L. (2011). Android Programming Tutorials, Commons Ware, LLC.

  11. Rankins, R.; Bertucci, P.; Gallelli, C.; Silverstein, A. L. (2011) Microsoft SQL Server 2008 R2 UNLEASHED, Pearson Education, Inc.

  12. Steele, J. & To, S. (2011) The Android Developers Cookbook Building Applications with the Android SDK, Pearson Education, Inc.

Leave a Reply