Cloud-Based Mobile Notification System"

Cloud-Based Mobile Notification System"

Table of Contents Background ..................................................................................................................................... 3 Problem Definition ........................................................................................................................... 3 Overview ......................................................................................................................................... 4 Relevant Concepts and Definitions ................................................................................................. 5 Software Requirements Specification .............................................................................................. 9 User Interface Specifications ........................................................................................................ 11 Design Document ......................................................................................................................... 12 Implementation ............................................................................................................................. 15 Conclusion and Futurework .......................................................................................................... 26 Appendix ....................................................................................................................................... 27 Bibliography/References ............................................................................................................... 27 Disclaimer: The views, processes, or methodologies published in this article are those of the authors. They do not necessarily reflect EMC Corporation’s views, processes, or methodologies. 2013 EMC Proven Professional Knowledge Sharing 2 Background In an educational institution, the teacher needs to notify the students of upcoming events such as schedules of tests, classes, cancellation, holidays etc. Currently, email is the most preferred way of officially communicating to the students. However, considering that most students carry a cell phone with them all the time, it is much more useful to have a Mobile Notification System which can send the required information to the students at the right time. This creates a need for storing data in a database which can flexibly handle data scalability. The student database must be stored on a server. Now, web applications using a conventional client-server architecture often fail at handling data scalability, especially in current times when data is being generated at an exponential rate. Moreover, the accumulation of data on local server hardware costs a lot to an organization. The solution to such issues relating to the data to be stored online for the use of web applications is - the cloud. The cloud can manage data and can even scale well. A database stored on the cloud may be accessed from anywhere via the Internet. There is no need to buy the hardware for servers; instead an organization can just use the various cloud services to satisfy its requirements at a much lower cost. This background inspires the need of storing the data for our project on the cloud. The cloud chosen is Google Docs. The data is retrieved using the Google Spreadsheets API. It is completely free and apt for testing purposes. Android is a popular Linux-based operating system for mobile devices such as smartphones and tablet computers. Android has a large community of developers writing applications that extend the functionality of the devices. Developers write primarily in a customized version of Java. Developers can also run Python scripts on the scripting layer for Android. The cloud serves as the seat of the database and students may be notified using SMS sent through the various SMS gateways. An Android client allows the students to retrieve the required information from various spreadsheets on the cloud. Problem Definition The idea is to build a cloud-based application using Google Docs as the cloud. There are programming interfaces available which allow us to insert, read, update, and delete documents such as spreadsheets, presentations, etc. The student database for retrieving the information (e.g. timetable, exam details, scores, etc.) is stored as Google Spreadsheets. The Google Spreadsheets API allows client applications to view and update Google Spreadsheets content. The project is also comprised of an Android mobile interface through which the client (Admin) can retrieve all the information about the desired student from the Google cloud and can also update their information on the cloud. Students can obtain their personal information from the Google Spreadsheets. The scripting languages used are Python (for Android) and PHP (for the web interface). 2013 EMC Proven Professional Knowledge Sharing 3 Overview The cloud used for the project is Google Docs. PHP has been used here to communicate with the Google Docs cloud through the Zend-gdata library. The student database has been created as a set of Google Spreadsheets. The Google Spreadsheets API allows client applications to view, delete, and update information on the spreadsheets. Our client application can request a list of a user’s spreadsheets, edit content in an existing worksheet, and query the content in an existing worksheet, all via HTTP requests. A number of client libraries are available in various languages. These client libraries make it easier to use the Google Spreadsheets API. The library used by our project is implemented by a set of PHP scripts. The Google Spreadsheets API stores and retrieves information in the form of XML feeds. In order to parse the generated XML feeds while querying the Google Spreadsheets, we are using the Zend-gdata library for PHP. It contains functions to parse the XML feeds. Once the information is obtained, an appropriate message is generated by a PHP script and a SMS is sent by appending the required text to the appropriate student’s cell phone. The SMS is sent by AlfaSMS API via the Way2SMS gateway. In a real-time environment, we can use SMS credits. Students can retrieve their personal information such as attendance, marks etc. from the Google Spreadsheets using scripts on the Android client. The client uses the Gspread (Python) spreadsheet library to communicate directly with the Google Docs Cloud. The required login ID and password will be provided to the students by the administrator to get all the desired information from the cloud. These scripts retrieve the information every time the student logs in. 2013 EMC Proven Professional Knowledge Sharing 4 Fig 1: Deployment Diagram for the Notification System Relevant Concepts and Definitions PHP PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. It is one of the first developed server-side scripting languages to be embedded into a HTML source document, rather than calling an external file to process data. Google Docs Google Docs is a free, web-based word processor, spreadsheet, presentation, form, and data storage service offered by Google. It allows users to create and edit documents online while collaborating in real-time with other users. Android Android is an operating system developed by Google to run on mobile devices. Based on Linux, each version is named after a type of sweet food (for example, the current version as of this document’s creation is ’Ice-cream Sandwich’.) PYTHON (Android-scripting) Python is a programming language based on Linux environment. It is an object-oriented interpreted language widely used for scripting, application development, web application servers, scientific computing, and more. 2013 EMC Proven Professional Knowledge Sharing 5 ALFASMS API AlfaSMS API is a free SMS API for sending SMS via free SMS gateways such as Way2SMS, fullonSMS, 160by2, SMS440, wayforSMS, site2SMS, etc. This script allows developers to send SMS from their scripts. PHP is mostly used by the developers to build their web applications, so we created a Special SMS class for PHP developers. AlfaSMS API is the most simple and free Way2SMS API available in internet. It is an open-source API developed by Alfred Francis. ZEND GDATA LIBRARY Zend Framework (ZF) is an open source, object-oriented web application framework implemented in PHP 5 and licensed under the New BSD License. Zend Framework applications can run on any PHP stack that fulfils the technical requirements. Zend Technologies provides a PHP stack—Zend Server (or Zend Server Community Edition)—which is advertised to be optimized for running Zend Framework applications. Zend Server includes Zend Framework in its installers, along with PHP and all required extensions. The Zend-gdata packages contain everything we need to access Google's Data APIs from our PHP 5 application. ECLIPSE IDE Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java. It can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Perl, PHP, Python, R, Ruby, etc. ANDROID OS Android is a software stack for mobile devices that includes an operating system, middleware, and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. Android is available with a set of core applications including an email

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    28 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us