Design of Cloud based Instant Messaging System on Android Smartphone using Internet



Similar documents
An Android-based Instant Message Application

How To Write A File Station In Android.Com (For Free) On A Microsoft Macbook Or Ipad (For A Limited Time) On An Ubuntu 8.1 (For Ubuntu) On Your Computer Or Ipa (For

CRYPTOGRAPHY 456 ANDROID SECURE FILE TRANSFER W/ SSL

Network Communication

Overview of Web Services API

Spontania User Setup Guide

How To Run A Hello World On Android (Jdk) On A Microsoft Ds.Io (Windows) Or Android Or Android On A Pc Or Android 4 (

MDS Amiba Cloud PBX. Getting Started

ID TECH UniMag Android SDK User Manual

Spontania User Setup Guide

Download and Installation Instructions. Android SDK and Android Development Tools (ADT) Microsoft Windows

MDS Amiba Cloud PBX. Getting Started

Study on Architecture and Implementation of Port Logistics Information Service Platform Based on Cloud Computing 1

Challenges in Android Application Development: A Case Study

Private Cloud in Educational Institutions: An Implementation using UEC

Example Connection between USB Host and Android

How to develop your own app

ODROID Multithreading in Android

JAVA Program For Processing SMS Messages

CSS 543 Program 3: Online Tic-Tac-Toe Game Professor: Munehiro Fukuda Due date: see the syllabus

Driver Updater Manual

Network/Socket Programming in Java. Rajkumar Buyya

Android Application Repackaging

General Tips: Page 1 of 20. By Khaled Elshaer.

Mobile Solutions for Data Collection. Sarah Croft and Laura Pierik

Application Development with TCP/IP. Brian S. Mitchell Drexel University

DEVELOPING CONTRACT - DRIVEN WEB SERVICES USING JDEVELOPER. The purpose of this tutorial is to develop a java web service using a top-down approach.

SDK Quick Start Guide

Internal Services. CSE 5236: Mobile Application Development Instructor: Adam C. Champion Course Coordinator: Dr. Rajiv Ramnath


WebSphere Business Monitor V7.0: Clustering Single cluster deployment environment pattern

IRF2000 IWL3000 SRC1000 Application Note - Develop your own Apps with OSGi - getting started

Using SQL-server as database engine

Now that we have the Android SDK, Eclipse and Phones all ready to go we can jump into actual Android development.

Develop a Hello World project in Android Studio Capture, process, store, and display an image. Other sensors on Android phones

Avigilon Control Center System Integration Guide

UC-One. Epik. UC-One Quick Guide. Quick Guide For Apps. Why we love UC-One

LAB 6: Code Generation with Visual Paradigm for UML and JDBC Integration

Microsoft Lync TM How to Guide

Using Remote Web Workplace Version 1.01

Hosted Video in Cloud Computing

CloudFTP: A free Storage Cloud

Lab 0 (Setting up your Development Environment) Week 1

Security Benefits of Cloud Computing

CIMHT_006 How to Configure the Database Logger Proficy HMI/SCADA CIMPLICITY

X Series Application Note 43:

Oracle EXAM - 1Z Oracle Weblogic Server 11g: System Administration I. Buy Full Product.

WHITE PAPER SETTING UP AND USING ESTATE MASTER ON THE CLOUD INTRODUCTION

Android Security Lab WS 2014/15 Lab 1: Android Application Programming

Introduction to Java. Module 12: Networking (Java Sockets) Prepared by Costantinos Costa for EPL 233. ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός 1

Fast remote data access for control of TCP/IP network using android Mobile device

TANDBERG MANAGEMENT SUITE 10.0

XMEye Android Mobile Monitoring Client English Manual

Immotec Systems, Inc. SQL Server 2005 Installation Document

2 TM. Users Manual. SEC100, SEC200 USB Media Alert

Receptionist-Small Business Administrator guide

JDBC. It is connected by the Native Module of dependent form of h/w like.dll or.so. ex) OCI driver for local connection to Oracle

Arduino & Android. A How to on interfacing these two devices. Bryant Tram

User s manual for Android Application

How To Install An Aneka Cloud On A Windows 7 Computer (For Free)

Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release

LifeSize Control Installation Guide

SA-Announce Cloud Services Mobile Notifier User Manual: ios and Android Version 1.0.0

Addonics T E C H N O L O G I E S. NAS Adapter. Model: NASU Key Features

SOCIAL NETWORKING IN SMARTPHONE THROUGH A PROTOTYPE IMPLEMENTATION USING ANDROID

Installation Guidelines (MySQL database & Archivists Toolkit client)

Creating a New Database and a Table Owner in SQL Server 2005 for exchange@pam

Application Development Setup Guide

ivms-4200 Client Software Quick Start Guide V1.02

NAS 243 Using AiData on Your Mobile Devices

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules

How to Use vsphere to Connect to and Manage an ESXi Hypervisor Installation

Lync for Mac 2011 Deployment Guide

Integrating with BarTender Integration Builder

Developing for MSI Android Devices

Workshop on Android and Applications Development

Aradial Installation Guide

7. Mobile Phone Support

Installing and Configuring TrueConf Online

Getting Started with Zoom

SwannEye HD Plug & Play Wi-Fi Security Camera Quick Start Guide Welcome! Lets get started.

Overview. About Interstitial Ads: About Banner Ads: About Offer-Wall Ads: ADAttract Account & ID

LifeCyclePlus Version 1

setup information for most domains hosted with InfoRailway.

Realizing Enterprise Integration Patterns in WebSphere

Networks and Services

ivms-4200 Client Software Quick Start Guide

Backup Server DOC-OEMSPP-S/6-BUS-EN

Make Voice Calls and Share Documents using Skype*

Quick Start Guide. Web Conferencing & Secure Instant Messaging via Microsoft Office Communications Server Apptix Live Support:

Android Programming. Høgskolen i Telemark Telemark University College. Cuong Nguyen,

Safe internet for business use: Getting Started Guide

Online Master of Science in Information Technology Degree Program User s Guide for Students

@ - Internal # - Online TH PR OR TW TOTAL HOURS # @ 175

isupplier PORTAL ACCESS SYSTEM REQUIREMENTS

Learning Management System (LMS) Quick Tips. Contents LMS REFERENCE GUIDE

Lync Web App 2013 Guide

Transcription:

Design of Cloud based Instant Messaging System on Android Smartphone using Internet Shubham Pandey K. Navin G. Vadivu, Ph. D PG Scholar Assistant Professor Professor Department of IT Department of IT Department of IT SRM University SRM University SRM University ABSTRACT Cloud based instant messaing system for android smartphone with help of internet is specially design for the people to communicate with thier families, friends, collgues.in any organization employees can send and recieve messages virtualy without face to face contacting; meanwhile the employees can share data and information through instant messasing application. What s more, the staff can talk to customers or vendors online as well, in other word, now people can do business through the instant messenger direct rather than use the traditional method like make phone calls. The use of instant messaging nowadays is more than the calling function itself. This paper puts forward the design method of instant messaging system based on SOAP and cloud computing technology for android Smartphone. SOAP interfa ce is an application programming interface of TCP/IP network. Cloud platform is a platform where Cloud Application runs, it is an online application, which works over internet. Cloud Platform has been constructed of three layers: SaaS, PaaS, and Iaas. In this research work, cloud platform is used for deploying database of instant messaging application. Keywords Android ; cloud platform ; Eclipse Juno ; Cloud computing; java system 1. INTRODUCTION Instant messaging is a set of communication technologies used for text-based communication between two or more participants over the Internet. IM allows effective and efficient communication, allowing immediate receipt of acknowledgment or reply. In the company, colleagues can send and reply instant message in real time without face to face, meanwhile the work report can be shared during the instant chat session; the IM can make a virtual conference without get all the related people together in a physical meeting room. Using instant messages for interoffice communication is quicker than phone calls or emails. More than one person can chat at the same time. This is a huge benefit of using an instant messenger. Instead of relying on a conference call or copying others on an email message, everybody can join and have a discussion in real time. Better than email, if you truly want to communicate instantly you need to consider all your options.email was the first killer application for the Internet but now instant messaging is coming to cellphones.in this paper development and deployment of the Instant messaging application for android device over cloud platform has been described.[1] 2. CLOUD COMPUTING TECHNOLOGY 2.1.Cloud Computing Principle Cloud computing is distributed processing, parallel processing and the development of grid computing, or is it the computer science concept of commercial realized. Cloud calculative fundamental is, through the analysis of the distribution of the distributed computer, rather than the local computer or the remote server, the operation of the enterprise data centre will be more similar as Internet. This makes the enterprise can will resource switch on the application of need, according to demand access to the computer and storage system. This is a kind of revolutionary act, for example, this is just like is the old single generator model turned to the power plant to centralized power supply mode. It means computational ability to also can serve as a kind of goods circulation, as gas, water and electricity, take with convenient, fare is low. The biggest different depend on, it is through the Internet for transmission[2].cloud computing has the blueprint of be vividly portrayed: in the future, only need a laptop or a mobile phone, you can realize our need throug network service everything, even including supercomputing such task. From this perspective, the end user is the cloud calculative true owner. Cloud computing applications include such a new idea or new concept: the power of the world together, to give which every member of the using, as shown in Figure 1 shows. Figure 1. Cloud storage of cloud computing 6

2.2. "Cloud" Era At present, the PC is still our daily life of the core tools-we use PC documents, storage material, through E-mail or U plate and share information. If PC hard disk is broken, we will because material loss and stranded. And in "cloud computing" era (note: the following "cloud computing" are referred to as the "cloud"), "cloud" will be done for us storage and computing work, "cloud" is computer group, and each group includes the thousands of Taiwan, or even millions of computer. "Cloud" benefits are that one of the computers can update, guarantee "cloud" forever. Google is by several such "clouds" of composition, other IT giants such as Microsoft, Yahoo and Amazon also have or are building this "cloud". At the time, we just need a computer can connect to the Internet, do not need to care about storage or computing happen where a "cloud", but once a need, we can be in any place with any equipment, such as computers, mobile phones, fast calculation and find these material. We will no longer have to worry about material lost. 2.3. The World Only Need 5 Computers As shown in Figure 1, Cloud computing is considered as the science and technology industry of the next revolution, it will bring work methods and business model of fundamental change. First of all, to small and medium enterprises and entrepreneurs for, cloud computing means huge commercial opportunity, they can use cloud computing at a higher level and large enterprise competition. Since the 1989 years since Microsoft introduced version of Office software, the way we work has been great changes, and cloud computing would bring the clouds Office. 3. SOAP KEY TECHNOLOGY SOAP and can be regarded as two program in one of the communication link endpoint, a program will write a message in the SOAP, the SOAP will this period of information sent to another in the SOAP, it makes this period of information can be transmitted to other applications, its communication process as shown in Figure 2 below: 4. ANALYSIS AND DESIGN OF SYSTEM 4.1. The System Definition The system put completing interface design of system to use the component element AWT and Swing in Java, it build communication in both ends based on Socket port, introducing multithreading technology realize concurrent execution, using JDBC database connection technology to create a database connection[4]. 4.2. Functional Requirement 4.2.1. Function of Users Login Through the fill in the user name and password, choose the right to enter chat room on the interface. 4.2.2. Function of User Registration Fill in and submit to a server in the personal information, server registered information will become successful after members. Submit personal information, the client to personal information of validation. 4.2.3. Function of Group Chat user can choose to interface in group chat(chat room the interface)online of all users orspecific users send information, and receive other customer information. Private Chat: The user can chat room facing the world in a particular user sending private chat request, the other party has accepted, both sides will enter private chat interface to private chat[5]. 4.2.4. Function of Warning and Kicking The client and server administrator managers are warning and kicking through the rights to manage chat rooms. 4.3. Overall Design System structure as shown in Figure 3 shows. This system is divided into client and server two parts. The client is driven by login, registration, group chat, private chat module four function modules. The server is only one management module. If the server can use cloud computing technology, so the whole system is more efficiency and security. Figure 2. The communication schemes of SOAP Java furnishes SOAP-type and Server SOAP-type realizing Socket communication, it handles user request and response, it is in bag of java.net Server Socket Used for the server, and it furnishes TCP connection services. SOAP used in establishing network connections, it furnish marriage partner of Communication both ends, connection when success, the application will create an instance of SOAP on both ends, operating this example, to complete the session. Figure 3. System structure diagram 7

4.4. Database deployment on Cloud 4.4.1. Database Base Table This system of data has two basic form, a user is the basic information table, a basic information table is administrator, field constitute as shown in TABLE I shows[6]. 4.4.2. Database Connection to Cloud To deploy the tables into cloud schema, we have to open Eclipse Juno and click on window button then click on preferences then select data management and then click on driver definition. in open new window of driver definition select Oracle XE database. Now just click on + and add a database connection by account. Double click on created node connect to the explore it contents. database and Next to connect to the oracle cloud database service.[6] Now Enter Cloud service detail. Now the cloud connection is established. TABLE 1. USERINFOR Field TypeName Description For null userid Int user number not null Username varchar(20) user name not null userpwd varchar(20) user password not null Email varchar(20) User Email not null Telephone varchar(20) contact way not null Use name for: shubham Pass word for: 123456 4.5. Detailed Design 4.5.1. Login Module Design This module will need a graphical user interface, for the user to enter your user name and password, and select login role. 4.5.2. Registered Module Design This module will need a graphical user interface, for user input personal information, need special mark required fields, and to the input information for verification[7]. 4.5.3. Chat Module Design This module will need two graphical user interface, the world face and a private chat room chat interfaces, user chat of the main places. The user can accord to the personal like, selection of the group chat or secret private chat. 4.5.4. The Server Management Module Design This module will need a graphical user interface, running on the server management of start-up and closed Socket, forward user chat messages, and the management of the chat rooms. 5. THE OVERALL DESIGN OF THE ANDROID INSTANT MESSAGING SYSTEM 5.1. Platform development for designing Process For developing the Platform for the application designing, the following steps used to be followed out one by one: For running Eclipse successfully installed JDK6. Then downloaded and installed Eclipse Juno, version "eclipse-juno-sr2-win32" in the system. As Eclipse can be downloaded free of cost from its website. Then Android SDK 4. 1 and ADT-20.0.0 had been installed in the Eclipse Juno for making it compatible with Android devices i.e. Phones, Emulator. After the installation of all these software and plugin packages, the platform for the designing of the cloud based application become ready. 8

5.2. Client Design In order to perform chatting and data sharing between several user we have to develop all client modules as like login module, registration module, profile module and chatting module than only communication will be possible. 5.2.1. User registration in user registration process firstly user has to register itself then only user can join the chat room and perform chatting and data sharing.[7] The important API function used for coding user registration is as such: package csp.ela.project.cloud.chat; btn_signup.setonclicklistener(new OnClickListener() public void onclick(view v) if(checkinternetconnection()) if(!et_name.gettext().tostring().equals("") &&!et_email.gettext().tostring().equals("") &&!et_pass.gettext().tostring().equals("") &&!et_cpass.gettext().tostring().equals("") &&!et_age.gettext().tostring().equals("") &&!et_phone.gettext().tostring().equals("")) if(et_pass.gettext().tostring().equals(et_c pass.gettext().tostring())) usrreg_thread(); et_pass.settext(""); Else et_cpass.settext(""); "Field Empty...!", Toast.LENGTH_SHORT).show(); else "No Network Connection ", Toast.LENGTH_LONG).show(); ); private boolean checkinternetconnection() ConnectivityManager=ConnectivityManager) getsystemservice(context.connectivity_servi CE); // test for connection if (cm.getactivenetworkinfo()!= null && cm.getactivenetworkinfo().isavailable() && cm.getactivenetworkinfo().isconnected()) return true; Else // "No Internt Connection ", Toast.LENGTH_LONG).show(); return false; "Password not match...!", Toast.LENGTH_SHORT).show(); else 9

public void onclick(view v) Intent intobj=new Intent(HomeActivity.this, RegisterActivity.class); startactivity(intobj); // Login Activity Start //finish(); Figure 4: Registration Module 5.2.2. Login Activity In login activity user should fill all relevant field by using same information that used at registration time. The important API function used for coding login activity is such as: import org.ksoap2.soapenvelope; import org.ksoap2.serialization.soapobject; import org.ksoap2.transport.httptransportse; btn_signin.setonclicklistener(new OnClickListener() public void onclick(view v) if(!et_email.gettext().tostring().equals("") &&!et_pass.gettext().tostring().equals("")) AsyncCallWS task = new AsyncCallWS(); else task.execute(); "Do not empty email and password", Toast.LENGTH_SHORT).show(); ); String res_info = result.getproperty(0).tostring(); final String res_uid = result.getproperty(1).tostring(); if(res_info.equals("login Success")) handler.post(new Runnable() public void run() if (simplewaitdialog!= null) simplewaitdialog.dismiss(); Intent iobec=new Intent(HomeActivity.this, UserActivity.class); iobj.putextra("id", res_uid); startactivity(iobj); "Login Sucess...!", Toast.LENGTH_SHORT).show(); ); //finish(); ); btn_signup.setonclicklistener(new OnClickListener() 10

Figure 5: Login Module 5.2.3 Profile Management Activity In profile management activity user can manage his profile information such as change his profile photo and editing other information which is related to his profile. The important API function used for coding login activity is such as: package csp.ela.project.cloud.chat; import org.ksoap2.soapenvelope; import org.ksoap2.serialization.soapobject; import org.ksoap2.serialization.soapserializationenvelope; import org.ksoap2.transport.httptransportse; //Showing temporary image as profile picture private static final String TEMP_PHOTO_FILE = "temporary_holder.jpg"; private static final int REQ_CODE_PICK_IMAGE = 2; private File gettempfile() if (Environment.getExternalStorageState().equals(Envir onment.media_mounted)) File file = new File(Environment.getExternalStorageDirectory(), TEMP_PHOTO_FILE); try file.createnewfile(); catch (IOException e) e.printstacktrace(); return file; else return null; protected void onactivityresult(int requestcode, int resultcode, Intent imagereturnedintent) super.onactivityresult(requestcode, resultcode, imagereturnedintent); switch (requestcode) case REQ_CODE_PICK_IMAGE: if (resultcode == RESULT_OK) if (imagereturnedintent!= null) File tempfile = gettempfile(); String filepath = Environment.getExternalStorageDirectory() + "/" + TEMP_PHOTO_FILE; System.out.println("path " + filepath); BitmapselectedImage = BitmapFactory.decodeFile(filePath); //_image = (ImageView) findviewbyid(r.id.imageview1); //_image.setimagebitmap(selectedimage); /* if (tempfile.exists()) tempfile.delete(); */ private class AsyncCallWS extends AsyncTask<Void, Void, Void> protected Void doinbackground(void... params) Log.i(TAG, "doinbackground"); call(); return null; protected void onpostexecute(void result) Log.i(TAG, "onpostexecute"); if (simplewaitdialog!= null) simplewaitdialog.dismiss(); protected void onpreexecute() Log.i(TAG, "onpreexecute"); simplewaitdialog ProgressDialog.show(ProfileActivity.this,"Wait", "Connecting..."); protected void onprogressupdate(void... values) Log.i(TAG, "onprogressupdate"); 11

// Gets the ip address of your phone's network public String getlocalipaddress() try for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); NetworkInterface intf = en.nextelement(); for (Enumeration<InetAddress> enumipaddr = Figure : Profile Management Module 5.3. Designing of Server When you want to connect two android devices, one must as a server (by holding an open socket for communication), which is designed to listen for incoming connection requests. When client get any socket request from serversocket can to been destructed, unless you want to listen for more connection requests. Establish the service socket and listening for connections, the basic coding is as follows: import java.net.inetaddress; import java.net.networkinterface; public class ChatServer extends Activity private String var_port; String SERVERIP = "10.0.2.15"; SERVERIP = getlocalipaddress(); Status.setText("Listening on IP: " + SERVERIP); public void onclick(view v) // Perform action on click if (Port!= null && Port.getText().length()!= 0) var_port = Port.getText().toString(); intent intobj = newintent(); intobj.setclassname("cloudproject","cloudproject.server"); intobj.putextra("port", var_port); intobj.putextra("ip", SERVERIP); startactivity(intobj); finish(); else "Please Enter Port", Toast.LENGTH_LONG).show(); public boolean oncreateoptionsmenu(menu menu) // Inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.activity_chat_server, menu); return true; intf.getinetaddresses(); enumipaddr.hasmoreelements();) InetAddress inetaddress = enumipaddr.nextelement(); if (!inetaddress.isloopbackaddress()) return inetaddress.gethostaddress().tostring(); 5.4. Messaging System The messaging system is used to be coded like that the messaging has to be done between many android devices.the messaging system is coded using Java language: 5.4.1. Sending chat message Once you have an active chat session, use the sendchatmessage method to send message to the users in that session, as shown in the following code snippet:[8] chatsession.chat.sendchatmessage( hello word ); 5.4.2. Recieving Chat Message To listen incoming message we have to implement ChatListner interface. ChatListener chatlistener = new ChatListener.Stub() public void newmessagereceived(string from, String body) // TODO Handle incoming messages. // Required group chat implementation stubs. public void convertedtogroupchat(string oldjid, String groupchatroom, long groupid) public void participantjoined(string groupchatroom, String nickname) public void participantleft(string groupchatroom, String nickname) public void chatclosed(string groupchatroom) throws RemoteException public void chatread(string arg0) throws RemoteException 12

;// Add Chat Listener to the chat session. chatsession.addremotechatlistener(chatlistener); // Add Chat Listener to the instant messaging session.imsession.addremotechatlistener(chatlistener); 5.4.3. Transmitting Data Message For transmitting data message as like images audio and video we use broadcasting an Intent to a remote device, such as the one shown in the snippet below: public static final String ACTION_OTA_ELIMINATE = com.paad.ota_eliminate_action ; The next code shows how to create a simple Intent that will be packaged within a data message to transmit the above action to a remote device: Intent intent = new intent(action_ota_eliminate); Send the message using the senddatamessagemethod, passing in the target username and the Intent to broadcast. The senddatamessageis available on IM Session or Chat Session objects, as shown below: String username = test@gmail.com ; // Send to target user. imsession.senddatamessage(username, intent); // Send to all chat room participants. chatsession.senddatamessage(intent); 6. CONCLUSION This paper presents an idea to develop an android instant messaging application for the internet users to send and receive messages and data. Now the application is working properly on android devices with using cloud as data storage. But this application only works for over android devices, it has to be design for windows, still need to further improve the usability and functionality of the system. 7. REFERENCES [1] Entao WANG, Xiang LI.,The communication research of mobile phones and database server based on Socket. Technology and Development of Computer, vo17. 2,pp.82-84,2007 (In Chinese). [2] Doc88.com, Cloud Computing of New Techniques of Computer Network.pp1-4,September,2010 [ 3 ] Cloudcomputing-China,c hina.cn/,cloud Computing Knowledge, March, 2012 [4] Jiahui HUANG, Java Network Program Design. Beijing:Tsinghua University Press,pp.30-49, 2002 [5] Hau WANG,Ailiang YE, Lixeu QI,Visual C++6.0 programming Examples and skills. [6] Oracle Database developers-advanced database traning.http://multikoop.blogspot.in/2012/12/deployi ng-database-objects-to-oracle.html. [7] Android Developers Advanced Training http://developer.android.com/training/cloudsync.html. [8] Reto Meier, Professional Android Application Development Wrox publication. IJCA TM : www.ijcaonline.org 13