1. 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
SERVERMOBILE
CLIENT
CREATE
NOTES TASKS SCHEDULE
WEB CLIENT
………
2. 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.
3. 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.
4. 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.
6. 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.
7. 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
12. 12
3.1.3 Web Client
Software technologies use:
Java Server Pages(JSP)
Java Servlets
XML & XSL
HTML5
HTTP Sessions
J2EE Eclipse IDE
13. 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
18. 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.
19. 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/