automate+ final report

20
1 1 INTRODUCTION Communication is most important thing in modern era because without it the job of any organization cannot run smoothly and calmly. The technology regarding communication and electronics rising day by day. There are many software and hardware have been developed to aid the area of communication such that it will aid the working mechanism of the people. The applications we have developed basically help the people of the same organization in fulfilling the gap of communication among them. There are mainly three parts included in our application namely desktop client, android client, web client. The brief introduction of each part is described below. Figure: System Diagram 1.1 Desktop Client The number of laptop user increases day by day. Keeping this thing in mind we developed the application that helps in communication via laptop or desktop to other gadgets like android smart phone, etc. The application used in desktop is CREATE NOTES TASKS SCHEDULE DESKTOP CLIENT GOOGLE GCM APPLICATION SERVER MOBILE CLIENT CREATE NOTES TASKS SCHEDULE WEB CLIENT

Upload: sanat-maharjan

Post on 06-May-2015

146 views

Category:

Technology


0 download

DESCRIPTION

This is a part of our report for our AutoMate+ project!

TRANSCRIPT

Page 1: Automate+ Final Report

1

1 INTRODUCTION

Communication is most important thing in modern era because without it the job of

any organization cannot run smoothly and calmly. The technology regarding

communication and electronics rising day by day. There are many software and

hardware have been developed to aid the area of communication such that it will

aid the working mechanism of the people. The applications we have developed

basically help the people of the same organization in fulfilling the gap of

communication among them. There are mainly three parts included in our

application namely desktop client, android client, web client. The brief introduction

of each part is described below.

Figure: System Diagram

1.1 Desktop Client

The number of laptop user increases day by day. Keeping this thing in mind we

developed the application that helps in communication via laptop or desktop to

other gadgets like android smart phone, etc. The application used in desktop is

CREATE

NOTES TASKS SCHEDULE

DESKTOP CLIENT

GOOGLE GCM

APPLICATION SERVER MOBILE

CLIENT

CREATE

NOTES TASKS SCHEDULE

WEB CLIENT

… … …

Page 2: Automate+ Final Report

2

based on server-client architecture in which desktop acts as client and

communicates with the server for messaging service. The desktop client has its

own database in which it stores the incoming data from the server and also

retrieves the stored data for processing.

The desktop client contain extra services such as Tasks, Schedule, Notes, and

Contacts, which are useful in daily routines. User can save their tasks which

they need to perform later in the Task service. The Schedule service stores the

schedules which are important to user and must be reminded to the user. These

schedules can be anniversary, birthdays or any other important occasions.

Notes store the notes which can be useful to user. The user can store the

important contact in the contact service.

1.2 Android Client

The android application for Automate Plus project is designed for automation

of tasks. The Automate Plus android client is capable of independent

functioning but it requires internet connectivity for full functioning. The client

maintains its own database for data storage required by the application. The

database stores tables for cloud data, phone schedules, task schedules, etc.

We have used latest android development trends and tools. The application is

designed for Ice Cream Sandwich version 4.0. It exploits open source tools and

codes for backward compatibility. The backward compatibility is extended to

Froyo 2.2. The project uses “Sherlock Action Library”.

Automate plus is focused for taking notes, tasks and SMS scheduling, relay

and sync of cloud messages. The SQLite3 database has been used for different

data storage. There is no need for SQLite database deployment as it is already

incorporated by the Android Open Source Project (AOSP). Though android

system supports file handling mechanism, we have not adopted it as it is not

efficient .SQLite is used keeping in mind its small sized storage and its

efficiency for data storage and retrieval.

1.3 Web Client

It is important part of our project and it will help organization very well. Web

client is similar to the website through which administrator of an organization

can send message to all user of the related group. Similarly one user can send

message to the administrator via this client.

Page 3: Automate+ Final Report

3

2 LITERATURE REVIEW

Nobody even think about their life without electronics gadgets in the modern world.

There are nearly four lakhs applications available for the android smart phone

which reflects the popularity of the smart phone. Similarly in each and every part of

an organization there is important role of desktop. So these are the thing that

inspires us to develop this project.

2.1 Objective

2.1.1 General Objective

The general objective of this project is to develop a Client-

Server application for android smart phone and desktop as a part

of BE syllabus in computer engineering, facilitating the

synchronization of messages across multiple clients-android

client, desktop client and web client.

2.1.2 Specific Objective

To create notes, tasks, and schedules in different clients

To create and schedule an SMS.

To manage the schedule and notes by different user

To provide ease for communication among different user having

different gadgets.

Page 4: Automate+ Final Report

4

3 DESIGN APPROACH

Basically while developing this project application we proceed through many

design approach depending upon the gadget. So different design approaches are

mentioned below depending upon the clients

3.1 Methodology

3.1.1 Desktop Client

The main objective of the desktop client is to communicate with server

which handles our message for passing to another client. We develop

our desktop client application in J2EE platform because it is rich in

library and facilitates various facilities for development of the

application. We code our application in Eclipse IDE which provides

great facilities of debugging and testing during development. As we

mentioned above our desktop client has its own database which is

deployed by using MySQL database server. There are basically eight

tables in our database design namely:

Admin_Info

Message_Info

Contact

Loginfo

Note

Schedule

Task

User _Info

As we mentioned above every group has at least one administrator that’s

why we use Admin_Info table to hold the information about

administrator of each group. Similarly Message_Info keep the record of

the incoming and outgoing messages from or to the server. Our desktop

client uses for keeping record of contact of people, schedule of job etc.

In order to fulfillment this requirement we use contact table, note table,

task table etc.

To send message to the server we use Apache HTTP component and

apache service. In order to connect to the server we use PostMethod

class. To provide good interaction to the user we use java GUI

component. We use different method of java library to give attractive

GUI.

Page 5: Automate+ Final Report

5

Figure 1Class Diagram of Schedule

Figure 2Class Diagram for sms module

Page 6: Automate+ Final Report

6

3.1.2 Android Client

Originally we intended to use Android Cloud to Device Messaging

(C2DM), a service that helps developers send data from servers to their

applications on Android devices. The service provides a simple,

lightweight mechanism that servers can use to tell mobile applications

to contact the server directly, to fetch updated application or user

data. The C2DM service handles all aspects of queuing of messages and

delivery to the target application running on the target device. But

unfortunately, during the time of development the service was

deprecated and the google announced another service, the upgraded

version of C2DM, Google Cloud Messaging(GCM) service. Following are

the core technologies that we are going to use in developing our

android application.

3.1.2.1 Server Technologies

Tomcat is enterprise class, robust web server which

comes bundled with Java Servlet and JSP that provides a

java application server environment

One of the other major issues why we are going chose

Tomcat is Scalability. Presently Java is our core

technology used for portability and in future if we want

to make our application be reachable to users using

Microsoft products we would be having no conflicts

between the servers because Tomcat can be deployed as

either a standalone product with its own internal Web

server or in conjunction with several other Web servers.

It adheres to the latest standards, which expands the

security features. Configuration, tuning and maintenance

are lot easier than compared to other prevailing web

servers.

Since we are not going for enterprise java beans in our

project we don’t feel the necessity of going for other

application servers like J2EE Glassfish Server or JBOSS

.We are basically looking for a reliable web server which

would be compatible with both the front-end and back-

end technologies we are using and our ultimate choice is

Apache’s Tomcat Web Server.

Page 7: Automate+ Final Report

7

3.1.2.2Database Backend:

SQLite3

The SQLite3 database has been used for different data storage.

There is no need for SQLite database deployment as it is already

incorporated by the Android Open Source Project (AOSP).

Though android system supports file handling mechanism, we

have not adopted it as it is not efficient .SQLite is used keeping

in mind its small sized storage and its efficiency for data storage

and retrieval.

3.1.2.3 Software technologies are:

J2EE Eclipse IDE

Android SDK

Page 8: Automate+ Final Report

8

Figure 3 Class Diagram of Cloud Sms

Page 9: Automate+ Final Report

9

Figure 4 SequenceDiagram_sending_message

Figure 5 SequenceDiagramRegistrationFromAndroidapp

Page 10: Automate+ Final Report

10

Figure 7 ERDaigram_android

Figure 6 Sequence Diagram of Notes

Page 11: Automate+ Final Report

11

Figure 8 ERDaigram_server

Page 12: Automate+ Final Report

12

3.1.3 Web Client

Software technologies use:

Java Server Pages(JSP)

Java Servlets

XML & XSL

HTML5

HTTP Sessions

J2EE Eclipse IDE

Page 13: Automate+ Final Report

13

4 RESULTS

The project is focused on the keeping the data related to the communication and

reminder for the user. One user can communicate through this application to

another user or to the organization itself via the server.

We have successfully completed our Android Client. Our Android Client can send

message to users of a group as a Admin. Also User can send message to admin of

that group. Admin can view user of that group and also delete them.

Our web server is also completed but still it is not deployed on the web. We are still

running the server in localhost. Web Client is not completed yet as expected, but it

can still send message to users i.e. Android client and Desktop client using its

admin account.

4.1 ScreenShots

Page 14: Automate+ Final Report

14

Page 15: Automate+ Final Report

15

Page 16: Automate+ Final Report

16

Page 17: Automate+ Final Report

17

Page 18: Automate+ Final Report

18

5 CONLUSION AND FUTHER WORK

5.1 Conclusion

Automate plus is a complete personal management and communication application

package. We learnt to develop application in different machines. Further, we learnt

to develop internet based applications. We learnt to communicate via internet using

internet protocols. We also learnt about client- server architecture. We came to

know more about cloud messaging services of Google.

5.2 Further Work

We need to enhance the Graphical User Interface of the applications. The functions

need to be made more efficient. For web client, the service for receiving messages

has to be included. The schedules, notes, contacts and other data need to be

synchronized between android and desktop client having same user. Furthermore,

email service can enhance usability of application.

Page 19: Automate+ Final Report

19

REFERNCES 1. A.Deitel, “How to Program in Java,” PHI Publication.

2. M.L.Murphy, “Advanced Android Development”, CommonsWare Publication

3. http://avilyne.com/?p=267

4. http://tsicilian.wordpress.com/2012/07/29/google-cloud-messaging-with-android/

Page 20: Automate+ Final Report

20