Design and Development of Android Application, HTTP Web Service and XMPP Chat Component for SuperCaly Project
Xuejing DongOral Defence Date:
Tuesday, June 21, 2016 - 11:00Location:
Profs. Ilmi Yoon & Arno Puder
uperCaly is a novel calendar-based “personal assistant” mobile application that enables functionalities of calendar event sharing, chatting, location tracking. The ultimate goal of SuperCaly is to find life pattern of users through analyzing the users’ daily activities data. My tasks involve implementing components in SuperCaly, such as HTTP Web Services, XMPP services, and userstay generation service. The HTTP service is used in client-server synchronization; it is developed based on RESTful architecture and Java Hibernate ORM framework for object-relational database mapping; it uses PostgreSQL database to store user, shared events and conversation data. The HTTP server is deployed in Amazon Web Service (AWS) using Apache Tomcat servlet container. The XMPP service is utilized to provide real-time chatting functionality; the service is running on AWS that connects with Google Cloud Messaging Connection Server using the Smack cloud connection service API with Smack instant messaging client library; it uses the services provided by SuperCaly HTTP Web Service to pull users’ data required in message delivery. The userstay generation service is proposed to download users’ location data from Google Timeline service and extract precise userstays from the data with a location clustering algorithm which is developed by studying the pattern of the users’ location data. The design decisions behind SuperCaly architecture are presented and the driving factors for such decisions and the lessons learned through the implementation process are discussed in depth.