Abbas Attarwala/Dhawal Shah/Arun Kutty/Ruchi Goswami CS 8803 AIA Ubiquitous Blogging

advertisement
Abbas Attarwala/Dhawal Shah/Arun Kutty/Ruchi Goswami
CS 8803 AIA
CS 8803 Project Proposal
Ubiquitous Blogging
Abbas Attarwala
CoC Georgia Institute of Technology
MS Student
Dhawal Shah
CoC Georgia Institute of Technology
MS Student
Arun Kutty
CoC Georiga Institute of Technology
MS Student
Ruchi Goswami
CoC Georgia Institute of Technology
MS Student
Abbas Attarwala/Dhawal Shah/Arun Kutty/Ruchi Goswami
CS 8803 AIA
1.0 Goal: There are four main objectives and goals that we plan to accomplish through the completion
of the project.
1.1) Allow bloggers to perform location based blogging using Android devices when bloggers are on
the move.
1.2 Allow users to update their Twitter status message on the move.
1.3) Allow users to change their ringtone based on location.
1.4) Provide the functionality as mentioned in 1.1 to 1.3 as a service deployed on Amazon E2/S3 cloud.
2.0 Motivation:
Bloggers are constantly on the move. Bloggers attend various events such as Mac Expo World, Tech
Events and Microsoft/Google events and blog from these events so that their loyal followers can keep
themselves updated with instant information. At this time, there are no viable tools or services that
combine together the power of Android devices with Google Blogger. What we propose is to create an
application on Android that has presets templates of various blogs that user can choose from. Each
template is sophisticated enough to allow users to drop images, videos and text and instantly start
blogging right from their Android device.
Secondly, users through this project will be able to instantly change their status update on Twitter or
their cell phone ringtone based on the location. Users constantly move from one place to another and
we will provide a seamless, elegant method of allowing them to change it based on their current
location. This will be very convenient when users move from home to office or a meeting where the
ringtone should change to sleep or vibration mode automatically and update their Twitter status
message accordingly.
Cloud computing infrastructure provides on demand service, data availability, scalability and reliability
thus proving to be fit for deploying large scale mobile applications and services.
3.0 Background:
Cloud computing is the usage of storage capacity, processing power and various other resources
remotely mostly via the Internet. It is a way of providing developers a platform to host their products
without the need to invest into infrastructure thereby providing cost-benefits. The benefits of deploying
Abbas Attarwala/Dhawal Shah/Arun Kutty/Ruchi Goswami
CS 8803 AIA
applications on the cloud and providing services is that a cloud provides a single point of access for a
service and it is accessible from anywhere in the world thereby proving suitable for mobile applications
and services which is our focus for this project.
Google Blogger is a blog publishing system by Google. Blogs provide commentary and news on a
particular subject and can also function as an online diary.
Major portion of Android SDK is available as open source to mobile application developers. Android is
based on the Linux kernel developed by Google and later the Open Handset Alliance. Android’s
popularity skyrocketed because of its solid documentation, references and huge support community on
the Internet. It is also popular among researches and students trying to leverage the accelerometer and
GPS in the handset with the variety of API such as Open Social, Google Maps and Facebook to create
exciting mobile applications. We believe that by using Android for the client, we perhaps stand on the
crossroads to market and put forward this application for a wider global audience.
4.0 Proposed Work: The project has two main components: The client (Android device) and the server
side (Amazon E2 Cloud).
1) Client Side: The client side is an Android device. The application developed on the client will
be a sophisticated yet an easy to use Blogging template. This application will allow the users to
select a template, drop text, images or video files and instantly start blogging. The clients is
responsible for collecting this information and send it to our server (Amazon E2 cloud). The
server will then update the user's profile with the new information.
The client in conjunction also sends the location coordinates to the server. The location
coordinates aid in determining how the user's ringtone and Twitter status update message will
change.
2) Server Side: The server side for this project is 3 tier architecture. 1) Apache Web server, 2)
Apache Tomcat (Application Server) and 3) MySQL (database server). This three tier
architecture will be deployed on Amazon E2 cloud. Amazon S3 will facilitate for storing per
user blog. This data can be of type media, text and location.
Abbas Attarwala/Dhawal Shah/Arun Kutty/Ruchi Goswami
CS 8803 AIA
On the client side, the application will be developed using libraries provided by the Android SDK. In
addition to Android SDK, we will be using relevant libraries from Google Code such as (Google Maps,
Google Bloggers).
The server side will be implemented in Java. More specifically, it will be developed using J2EE as
servlets and deployed on Apache Tomcat. The interaction between Apache Tomcat and MySQL server
will be performed using JDBC. The three tier architecture initially will be hosted on our local machines
and incrementally deployed on Amazon E2 and S3.
The servlets will also extract the location
coordinates from the GPS and update the online message status accordingly on social networking sites.
Figure 1: Top level view of the architecture and the interaction between the client and the server
5.0 Plan of Action:
Feb 16- Feb 23
•
Study the API documentation and run
some programs to get an idea.
•
The feasibility study of the approaches to
be used.
•
To get acquainted with the Application
Server and various technologies like XML/
Abbas Attarwala/Dhawal Shah/Arun Kutty/Ruchi Goswami
CS 8803 AIA
SOAP.
Feb 23-Feb 30
March 1- March 12
March 13- March 20
•
Deploy simple application on Tomcat
Application server on Amazon E2 cloud.
•
Write the test cases.
•
Study Android SDK from
www.code.google.com and segregate the
relevant libraries for development
•
Writing a small prototype for middleware
•
Start coding the application on the android
device and implement the various message
types that will be sent to the cloud.
•
Design of Front End.
•
Write the test case for front end.
•
Implementation of the Front End.
•
Iterate the UI design.
•
Develop the client application for Twitter
integrate the mock GPS service to query
location coordinates from the emulator.
•
Integration of the front end and the middle
ware
•
Integration testing
Fix the bugs which occurred during
Integration Testing.
Regression Testing.
March 20- March 31
•
Develop servlets that offer Software as
Service (SOA) that are deployed on
Apache Tomcat and the relevant JDBC to
integrate the servlets with the SQL server.
•
Work to improve efficiency and
performance
Abbas Attarwala/Dhawal Shah/Arun Kutty/Ruchi Goswami
CS 8803 AIA
•
Try to remove bottlenecks if any in the
project
•
Write documentation and slides. Prepare
and make the final presentation.
Table 1: Tentative Plan of action for implementation of the project.
6.0 Deliverables:
a) Final Report
b) Demonstration
7.0 Future Work:
There are two goals to this project. 1) We will be developing a location based service that utilizes and
harness the power of the Android SDK. Consumers consume the software at the backend as a service.
This service is available 24/7 as it is deployed on Amazon’s E2 cloud. 2) With this framework as shown
in figure 1, we encourage and invite other developers to make use of our architecture to develop and
deploy their own location based services applications.
This architecture is not only limited to clients using Android devices. As mentioned in the proposal, the
client is responsible only to send/receive user's request. All the heavy business logic residing on the
application server is responsible for performing the majority and essential duty work. This essentially
means, that other developers can develop the client on other mobile devices and connect to our cloud to
receive the same set of service as Androids client will receive after the completion of the project.
8.0 Works Cited:
1) http://code.google.com/android/
2) http://code.google.com/apis/maps/
3) http://aws.amazon.com/ec2/
Download