Campus WI-FI Mobile Application

illinoiseggoSoftware and s/w Development

Oct 28, 2013 (3 years and 9 months ago)

65 views

1


1



Campus
WI
-
FI Mobile

Application


Mahesh Kumar

February 2012









Dissertation submitted in partial fulfilment for the degree of

Master of Science in
Advanced Computing


Computing Science and Mathematics

University of Stirling
1






Abstract



This project is developed to enhance the communication system in the university
environment between

the u
niversity
a
dmi
n
istration and students to provide a better
information serv
ices through Wi
-
Fi Technology. This project is implemented using distributed
network sharing system for

students. The basic idea of creating

campus information

system

via

WI
-
FI Technology to make sure that student can access the information anywhere within the
campus zone

frequently
.


This project presents a mobile application which is built using Mobile Information Device
Profile (MIDP) of the Java
2 Platform Micro Editi
on (J2ME).
The objective is to provide an
interface where students can
get the updat
e/alert sent by the administrator on their mobile
phone which would be
b
eneficial for students they

only need a PDA or a java

enabled mobile
phone
.




The intellectual growt
h is not
possible without a modern technology being used. But

the
discrepancy exists between the types of technology used on campus and the technology

that
can be used to facilitate learning experience.

Utilizing campus applications technology is a
great p
rospective and would be useful in campus environment. The mobile device frees the
user from the physical size of laptops and desktops. The mobile application platform provides
users with wireless and mobile access to any business information system easily
and securely.



The project was design using the well known open source technologies MYSQ
L and JSP
,
SERVLET and J2ME.





2






Attestation



I understand the nature of plagiarism, and I am aware of the University’s policy on this.

I certify that this dissertation reports original work by me during my University project except
for the
following:



F
ew element of implementation


part is taken from
[9].


















Signature

Mahesh Kumar


Date

03/02
/1
2


3






Acknowledgements


I would like to thanks my
supervisor,

Prof.
Evan H. Magill and all of them who gave
much

kind help and guidance on this project.

I lack a word to express my gratitude to all my lecturers and
colleagues who have encouraged
me to this far, you will always remain fresh in my memory.





4






Table of Contents


Abstract

................................
................................
................................
...........................

1

Attestation

................................
................................
................................
.......................

2

Acknowledgements

................................
................................
................................
..........

3

Table of Contents
................................
................................
................................
..............

4

List of Figures

................................
................................
................................
...................

6



1

Introduction

................................
................................
................................
................

7


1.1Background and Context
................................
................................
..........................

7


1.2 Scope and Objectives

................................
................................
.............................

8


1.3 Overview of Project

................................
................................
...............................

9



2

State
-
of
-
The
-
Art

................................
..........................

............................
...
....
...........
10


2.1 Introduction
....................................................................................................
..
.....
10


2.2 Requirement Gathering
…….................................................................................
..
...
10


2.3 Why Java for M
obile Application
…….……………………………………………………….………..
.....
15


2.4 Alternative Approaches
………….

…………………….…………………………………………………..
.
16


2.5 Reasons for choosing J2ME …
………………….……………………………………………………….…..
..
18


2.6 Similar Systems and Comparisons ...................................................
.........................
.....
19


3 Problem Requirements.........................................................................
..............................
..
23


3.1 Use Cases ........................................................................................
..............................
.
23


3.2 Textual Descriptions ........................................................................
..........
...................
.
.23


3.3 Use Case Diagram for Administrator.............................................................................
.
.24


3.4 Use Case Diagram for Students …
………………….………………………………………………….…
.....25


4 System Description and Im
plementation........................................................................
......28


4.1 Technology in use.....................................................................................................
......28


4.2 Process model for Development............................................................................
.......
.
.30


4.3 Implementing Mobile Application.........................................................................
........
.
33



4.4 System Architecture..............................................................................................
.........
.
37


5









4.5 Admin and user interface......................................................................................
..
......
38


4.2.1

Java ME

MIDlet.................................................................................
................
....
......
43


4.2.2 Emulator.....................................................................................
...........................
......
44


4.2.3

Java ME

Issues..........................................................................................................
...
44



5 Project
design..................................................................................................................
....
45


5.2 Design Consi
derations...............................
........................................................
......
46



5.3 Payment

Idea in Existing System............................................................................
.......
47



6 Data Structure.......................................................................................................
.........
......
48


6.1 Real Phone Environment......................................................................................
..........
52


6.2 Analysis.................................................................................................................
..
........
52


7 Conclusion.................................................................................................
...................
.........
55


7.1 Summary
.................................................................................................................
..........
55


7.2 Evaluation
...............................................................................................................
..........
55


7.3 Limitation
...............................................................................................................
...
........
57


7.4 Future Work
...........................................................................................................
...........
58




References

................................
................................
................................
............

....
...
..
60

Appendix 1

................................
................................
................................
.....................

61

Appendix 2


User guide

................................
................................
................................
.

63

Appendix 3


Installation guide

................................
................................
........................

64

Appendix 4


Login Process

................................
................................
............................

65

Appendix 4


Add and View Resources

................................
................................
............

66





6






List of Figures


Figure 1.

Wireless and Wired
……………………………………………………………………
..……….
..14

Figure

U1.

Admin Use Case Diagram

................................
................................
.............

25

Figure U2.

Student Use case Diagram
................................
................................
............

27

Figure 2.

System
Architecture
................................
................................
....................

37

Figure 4.

Snapshot Sending Alert

................................
................................
................

38

Figure 5.

Snapshot Alet Pop up
................................
................................
...................

39

Fig
ure 6.

Snapshot
Message Recived

................................
................................
.........

39

Figure 7.

Snapshot New Query option

................................
................................
........

40

Figure 8.

SnapshotNew Query with message

................................
..............................

40

Figure 9.

Snapshot Post Reply

................................
................................
....................

41

Figure 10.

Snapshot Add Resource

................................
................................
...............

41

Figu
re 11.

Snapshot Resource Added
................................
................................
............

42

Figure 13.

MIDlet Life Cycle

................................
................................
.........................

43

Figure 13.1

Payment Diagram

................................
................................
........................

47

Figure 14

Database shapshot

................................
................................
......................

48

Figure 14.1

Course Table

................................
................................
...............................

49

Figure 14.2

Form Registration Table

................................
................................
...............

49

Fig
ure 14.3

Message Table
................................
................................
.............................

49

Figure 14.4

Posting Table

................................
................................
...............................

50

Figure 14.5

Resource Table

................................
................................
............................

50

Figure 14.6

Student Table

................................
................................
..............................

50

Figure 14.7

Unread Message Table
................................
................................
.................

51

Figure 14.8

User table

................................
................................
................................
...

51

Figure 15

Login diagram
................................
................................
.............................

65

Figure 16

Add and view Resouces diagrame
................................
................................

66







7






1 Introduction


1.1
Background and Context



Mobile applications are services (consist of software) that
can be run

on a mobile
device and perform

task
s

for the user of the mobile phone.
The Campus Wi
-
F
i

mobile
application is

a

new way to improve the communication
s

system in campus
environment
between the students an
d the university administration
.

The basic
idea is to provide new
inter
action method to the students through

which they can get the lates
t news or updated
information on

their mobile device within the campus
zone

(area)

through wi
-
fi technology.


Mobile applications are very popular in global
mobile market. There are quite a few
applications which are pre
-
installed on mobile device for example MMS
(Multimedia
Messaging Service)
, SMS

(Short Messaging Service)
, Browser whereas there are applications
which can be downloaded through wireless inter
net these applications are useful to make life
or work more comfortable

for example weather application which provides all the latest
weather updates on mobile device. T
he above
application also provides

advanced fea
tures in
campus environment to
the stude
nts
.

I
n terms of technical perspective

mobile applications are
divided by the run time envi
ronment in which they

are

executed (
i)

Native platform and
operating system like Windows mobile and Linux,

(ii) Mobile web browser like Mozilla/Firefox
and Oper
a Mini

(iii) Managed platforms and virtual machine like Java / J2me

(Java 2 Micro
Edition)
.



Wi

Fi is a technology which allow electronic device
s

to share or exchange data wirelessly.
The
desire

to have

a Wi
-
Fi

mobile information
system is a step forw
ard to
wards
next level to
improve the communication
s
.
This proje
ct focuses to develop mobile wi
-
fi information system
within the ca
mpus zone to enhance the communication
between student
s

and university
admi
n
istration. The system will provide an interface
where student
s

will get all the
inf
ormation from the administrator
on

their

mobile device,
Wi

Fi is very popular and most of
the students used Wi
-
Fi phones these days that’s why this application would be very useful.
Student
’s

need
s a

Java

enabled m
obile d
evice with Wi
-
Fi

to get benefit of this

facility.
The
present day of information system has pushed many organizations to demand secured reliable
and flexible mobile
application information system
.

8






1.2


Scope

and Objectives






This project is

built

for

student
s
and
will

provide
information on

campus
zone
(area)

to

the students. F
or
example
,

if
tomorrow is
the last
date of su
bmitting the
examination forms t
hen administrator will send
this as

a
n

alert to the students account. After
login

in

the
accoun
t
,

the
student

will get the information about the latest alerts.
Each message
is
explicit to student profile, so the
messages are

only received by a user whom it is concerned
for
.





Mobile Web applications enable u
sers on the move to access
on their hand held d
evices. The
various functions

built in the project are as follows: Real time Alert and Update on the
mobile phone within the campus, Chat Facility “ Post Request “,Document Sharing , Event
Forum Registration.




Sometimes it’s real hard for a student to be on computer online every ti
me and checking
updates from the University. This application will provide an interface where student can get
all the updates on their mobile device. Below

are the Objectives of this project.




This

project act

as

service provider for Students for

various campus activities.



It acts as a new platform which can be used by the
admin
istrator
to

interact
with the students & vice versa.



It should provide a new communication platform for interaction between
students & the university management.



Studen
ts
will get real time alerts & u
p
dates from admin department on
their
mobile phones within the campus

zone.



Document
sharing, important

study materials or information documents can be
shared among the users by the management through the campus
Wi
-
Fi

applicati
on
.



Administration can publish an event and student can register for that event via
their mobile device



9







1.3


Overview of Dissertation



In this
dissertation the
new interesting and advanced approach
is described
to
enhance the information

system
between
the
students and
Admi
ni
stration
via Wi
-
Fi
technology. The concept of developing campus information via Wi
-
Fi technology is to
make
sure
student
s

can access information at any time

on

ad
-
hoc basic.

We plan to provide functionalities like:


1) Alerts/Notification
:
-

Alerts are to be send to all the students i
n the university
.

For Eg:



"If the practi
cal
lab/
lecture is cancelled"
then admin
will send
this
as alert to all
students of the particular
class. N
ow t
he students will get the alert on

their mobile device
, so
the counter in the application will be increase and the

sound

will

be

played (as we get the
message in the
mobile

phone).


2) Post Request:
-

If the student wants t
o ask
questions
or any enquiry to the administrator
(admin) then
they

can send this to admin and
Admin can

reply to that
question
by

posting a
comment to that particular student,
they

can communicate through a chat window.


3) File Sharing:
-

In this
section
admin can also share the file
,

suppose assignment or its resul
t
files will be uploaded

in respective format. So from

here stu
dents can download the file on
their

mobile
devices
.


4) Foru
m or Event Registration
:
-

In this admin can publish an event and send to student.
Students can view the Event and registered for th
at particular event through their mobile
device.


All the four main goal of this application

are
achieved

successfully.



10






2

State
-
of
-
The
-
Art


2.1 Introduction




Mobile application
s

design
, implementation and deployment
involve

some technical
issues and ethical considerations.

It is important to develop an appl
ication which works fast
and
should be reliable. There are different platform to develop mobile appl
ication and J2ME

(Java 2 Micro Edition)
is one of that which provide huge amount of features, we can run
application on emulator we don’t need to test the application on mobile device again and
again which become quite complicated
sometimes .When we talk about

Mobile appl
ication it
is important

to think

about both aspect
s

of work for example Campus Wi
-

Fi application

which
provide
s

and ens
ure
s

fast information service through Wi
-

Fi for the
student
s

within the
camp
us.

So it important to keep the student
s pros
pective

in mind as well before buildi
ng suc
h
application .As
per the feedback from students with regards to such
software
, the students
would be happy to use, if the software is easy to use and reliable
.



2.2


Requirement Gathering





Wireless Technology






In computing world wireless technology is used to describe telec
ommunication
through radio

waves in other words when two or more electronic device established
connection or transfer information th
at are not physically connected
.

The two

most common
types of wireless capabilities in computing world are
Wi

Fi and Bluetooth. Bluetooth
technology is used to transfer information between two or more devices that are near to each
other, it is not suitable for full
-
scale network and doesn’t pro
vide faster connection. One of
the best examples of wireless technology is mobile device. This technology allows users of
mobile device (which uses radio waves) to make a call from any location worldwide. Wi
-
fi
technology is used for wireless networkin
g ,

for example if a laptop has

Wi
-
Fi technology then
wireless card transmits to a wireless router and wireless network are connected to a network
DSL modem which allow internet access to anyone connected to wireless network. Wi
-
fi
provides faster connection

and better security. There are two modes of wireless networking
11






Ad


Hoc mode and Infrastructure mode. The above application provides services on Ad
-

hoc
mode.


Ad

Hoc Mode

[13]




Ad
-
Hoc mode allows wireless devices to communicate directly
to each other. The
wireless devices which work in ad
-
hoc mode within the range used to communicate in peer

to


peer way without involving the access points they use broadband wireless routers. All the
wireless adapters on the ad
-
hoc mode should use the s
ame SSID

(Service Set Identification)

and the same channel number. SSID

(Service Set Identification) is

the name of Wireless Local
Area N
etwork (WLAN), It is important in wireless communication all the wireless devices on
WLAN

(wireless local network area)

must use the same SSID to communicate with each other.
Sometimes wh
en there are so many
devices connected

through the some router

in this
situation performance becomes slower and large number of ad
-
hoc network becomes difficult
to handle.



Infrastructure

Mode





Infrastructure mode in wireless networking joins (Bridges) a wireless network with the
wired Ethernet network in other word when the wireless clients connect to an access point
which in turns bridges to a network. In this mode wireless a
ccess point is must to have
wireless networking. To bridge the WLAN it is impo
rtant that access point and
the

entire

wireless user
s

must be configured with the same SSID

(Service Set Identification)
. We can add
additional access point to the WLAN to increa
se the number of wireless users. Infrastructure
mode provides centralized security and much improved reach. The drawback of this mode is
for wireless networking

is that

it would cost more to buy additional access point hardware.


It is easy to set up connection in Ad
-
Hoc mode because it does not require an access point. On
the other side Infrastructure mode provides high performance of an access point to cover the
huge area. In Ad
-

Hoc mode as many devices connects the interferenc
e of the devices will go
up as they all are trying to use the same frequency channel.


12






To begin developing an application in wireless technology it is important to study the
advantages and disadvantages of it. It is important to study the wir
ed connectio
n and why

wireless technology is future of networking.
All these

in details are mentioned below




Wired Connections
[1]




Wired connection use
E
thernet

cable
s and network adapters. We can connect multiple
numbers

of
computers

through

cable.


Wired
system

is also very important which use
s

router
to provide it services
.

The dial up connection
provides

connecti
on through home phone but

it
is very slow and used
rarely.



Broadband also provide shared connections it allow us to use internet and home
phone at
the same point of time this is very popular among the home users because of its high speed.
Basically we have a
n

A
D
S
L

(
Asymmetric digital subscriber line)

router which is connected to
phone and we can connect our computers through cab
les from rout
er to computer
device on
which

we want to use internet. Whether

it’s a
wired

or
wire
less connection they both depend
on

standard Internet Protocol and network

o
perating

system configuration
options.



Advantages and disadvantages of wired connections

are mentioned below
.


Advantages:




Quite

cheap

and
easy

to afford

as compare
d

to wireless
.



Most of the users use wired network

because it is more reliable.



It transfers the data
fast
er

with
out
any

interruption or connection failure.



Wired connections are
more secure as compare
d

to wireless connection because it is

connected directly to router

device
which
doesn’t allow unknown device to connect.






13







Disadvantages:




Wired connection connect through wire
s

so it is difficult to use the network in single
place for example if u have wired network connection on laptop device you can use
that connection until that cable is connect to device
, if you want to use the network
on traveling that’s not possible .




It

is possible if too many connections are connected trough one single wired router it

can slow down the speed.
The most

common
type of wired network is an
Ethernet

network.



Wired
network is

not as flexible
it can

only use where we can have
socket.



It is
more time consuming to set up and wired connection
.





Wireless

Connections





Wireless connections wo
r
ks through radio

waves to make

link
to
computers

from
network
. Wireless

technology is a
n

advanced version of wired network which is most popular
in universities and other big organization
.
Now day’s wireless connections are becoming more
popular amongst the home user as well. Because of its feature
s

and so much of competition
in
world home us
ers are able

to get this service in
fewer prices.


Below the figure 1
[2] shows

layout of wired and wir
eless networks .The picture is s
een from
Google give
a view

how
both network system
s

look like
.We can see wired network is
connected through a cable to
normal Router 192.16
8.1 IP and establish connection
.

On the
right side of the figure there is a Wireless Router 192.168.1.2 which is connected to network
through radio waves it does not require any cable connection between
devices

who want to
access the ne
twork.


14









Figure 1






W
ireless network also have some a
dvantages and disadvantages whi
ch are mentioned

below



Advantages:




No

need of
cable,

there are few places where cables can’t reach
.User is not limited
for any fixed position.



Wireless network allows flexible number of devices to

be connected in specific range
it depends on the Routers range.



It is very easy

to set up a wireless
network
.

it’s a hassle free network.



We can set up wireless network without Ad
-

Hoc
network,

which means we don’t
need to define an Access Point to establish network connection
s.







15







Disadvantages




Wireless network use radio

waves for connection and
connection failure
s

are

frequent
.



It is less secure hackers can

access the network easily as compare to wired
network.



It does effect by surroundings wall blocking or far distance.



Bit expensive as compare to wired network


We have discussed about the wired and wireless network it is important to know about the
technology
that

you are going to build an application

described in section 2.2.1
.







2
2
.
.
3
3



Why

Java for Mobile Application

[8]




The JVM

(Java Virtual Machine) and Java API

(Application Programming Interface)

make
s

the Java
Platform.

Therefore
, the Java platform

consist the following three
things





























(
(
J
J
2
2
S
S
E
E
)
)






J
J
a
a
v
v
a
a


2
2


S
S
t
t
a
a
n
n
d
d
a
a
r
r
d
d


E
E
d
d
i
i
t
t
i
i
o
o
n
n
.
.


T
T
h
h
i
i
s
s


i
i
s
s


m
m
a
a
d
d
e
e


f
f
o
o
r
r


d
d
e
e
s
s
k
k
t
t
o
o
p
p


s
s
y
y
s
s
t
t
e
e
m
m
.































(
(
J
J
2
2
E
E
E
E
)
)






J
J
a
a
v
v
a
a


2
2


E
E
n
n
t
t
e
e
r
r
p
p
r
r
i
i
s
s
e
e


E
E
d
d
i
i
t
t
i
i
o
o
n
n


(
(
J
J
2
2
E
E
E
E
) is

an excellent platform for multi
ple

user
s
.
It is based on J2SE and adds APIs

(Application Programming Interface)

for server side
working.
































(
(
J
J
2
2
M
M
E
E
)
)






J
J
a
a
v
v
a
a


2
2


M
M
i
i
c
c
r
r
o
o


E
E
d
d
i
i
t
t
i
i
o
o
n
n


(
(
J2ME
)

is a bundle
of

technologies
that

develop
applications for
small mobile phones, and set
-
top boxes.




W
W
h
h
y
y


J
J
a
a
v
v
a
a


p
p
l
l
a
a
t
t
f
f
o
o
r
r
m
m


f
f
o
o
r
r


t
t
h
h
i
i
s
s


a
a
p
p
p
p
l
l
i
i
c
c
a
a
t
t
i
i
o
o
n
n
:
:


P
P
l
l
a
a
t
t
f
f
o
o
r
r
m
m


I
I
n
n
d
d
e
e
p
p
e
e
n
n
d
d
e
e
n
n
t
t
:
:




J
J
a
a
v
v
a
a


i
i
s
s


a
a
n
n


o
o
p
p
e
e
n
n


s
s
o
o
u
u
r
r
c
c
e
e


l
l
a
a
n
n
g
g
u
u
a
a
g
g
e
e


i
i
t
t


m
m
e
e
a
a
n
n
s
s


i
i
t
t


s
s


a
a


c
c
r
r
o
o
s
s
s
s


p
p
l
l
a
a
t
t
f
f
o
o
r
r
m
m
,
,


J
J
a
a
v
v
a
a


a
a
p
p
p
p
l
l
i
i
c
c
a
a
t
t
i
i
o
o
n
n


c
c
a
a
n
n


r
r
u
u
n
n


o
o
n
n


d
d
i
i
f
f
f
f
e
e
r
r
e
e
n
n
t
t


p
p
l
l
a
a
t
t
f
f
o
o
r
r
m
m


b
b
e
e
c
c
a
a
u
u
s
s
e
e


j
j
a
a
v
v
a
a


a
a
p
p
p
p
l
l
i
i
c
c
a
a
t
t
i
i
o
o
n
n


e
e
x
x
e
e
c
c
u
u
t
t
e
e


t
t
h
h
r
r
o
o
u
u
g
g
h
h


a
a


b
b
y
y
t
t
e
e


c
c
o
o
d
d
e
e


b
b
y
y


J
J
V
V
M
M


(
(
J
J
a
a
v
v
a
a


V
V
i
i
r
r
t
t
u
u
a
a
l
l


M
M
a
a
c
c
h
h
i
i
n
n
e
e
)
)


.
.
S
S
u
u
p
p
p
p
o
o
s
s
e
e


i
i
f
f


o
o
n
n
e
e


m
m
a
a
c
c
h
h
i
i
n
n
e
e


i
i
s
s


r
r
u
u
n
n
n
n
i
i
n
n
g
g


o
o
n
n


W
W
i
i
n
n
d
d
o
o
w
w
s
s


a
a
n
n
d
d


o
o
t
t
h
h
e
e
r
r


i
i
s
s


o
o
n
n


L
L
i
i
n
n
u
u
x
x
,
,


s
s
i
i
n
n
g
g
l
l
e
e


j
j
a
a
v
v
a
a


a
a
p
p
p
p
l
l
i
i
c
c
a
a
t
t
i
i
o
o
n
n


c
c
a
a
n
n


16






r
r
u
u
n
n


o
o
n
n


b
b
o
o
t
t
h
h


m
m
a
a
c
c
h
h
i
i
n
n
e
e
s
s


b
b
e
e
c
c
a
a
u
u
s
s
e
e


t
t
h
h
e
e


b
b
y
y
t
t
e
e


c
c
o
o
d
d
e
e


g
g
e
e
n
n
e
e
r
r
a
a
t
t
e
e
d
d


b
b
y
y


t
t
h
h
e
e


c
c
o
o
m
m
p
p
i
i
l
l
e
e
r
r


c
c
a
a
n
n


b
b
e
e


r
r
e
e
a
a
d
d


b
b
y
y


a
a
n
n
y
y


J
J
V
V
M
M


(
(
J
J
a
a
v
v
a
a


V
V
i
i
r
r
t
t
u
u
a
a
l
l


M
M
a
a
c
c
h
h
i
i
n
n
e
e
)
)


o
o
f
f


a
a
n
n
y
y


m
m
a
a
c
c
h
h
i
i
n
n
e
e

R
R
o
o
b
b
u
u
s
s
t
t
:
:

Because Java applications are manage
d

by the

byte code is verified
before execution,
it must not crash in the face of unwanted
behaviour
.

It

will not
affect other sensitive applications or
the
data on the device.

S
S
e
e
c
c
u
u
r
r
e
e
:
:

The
Java
API

(Application Programming Interface)
provides

a

very
advanced security for

Java application.

O
O
b
b
j
j
e
e
c
c
t
t


o
o
r
r
i
i
e
e
n
n
t
t
e
e
d
d
:
:

Java is an
object
-
oriented language with
too

much of library
classes which is already exists.
Java is a modern representation of C++where
everything is an object, and all object are part of one global class hierarchy.




Java code always executes
within
the

JVM

(Java Virtual Machine)
,

and
provides

a safe
environment for executi
on
. Java
provides
robust

programming.
The garbage collector
identifies the unused object that is no longer needed by a program so that their resources can
be reused and reclaimed . T
he
Java

exception

handling
mechanisms

encourage
developers
to

build
robust

applications.






2.4

Alternative

Approaches



There are different platform for mobile application
s

apart from J2ME

(Java 2 Micro
Edition)
, Google Android, Apple IPhone are also very popular
amongst the users.

Android is a
Linux
-
based system de
veloped by Google, which is basically target at mobile phones
and

other
small devices
, Android is an operating system
. Android gives J
ava
-
based development
platform for application
s
.

Eclipse provides

an
interface to build Andr
oid application more
comfortably.

Android

Application is made
of

one or more activities

which
run

in different
Linux

processes
.


17






The major reason for building this application on J2ME (Java 2 Micro Edition) because of
background
experience in the Java platform, however few elements which makes J2ME (Java
2 Micro Edition) application better then Android are discussed below.





Unlike Java
ME (
Micro Edition)

Android does not use java software environment. It

only
reuses

the

Java language
syntax
but

does not
provide in

built
class librarie
s and
API (Application Programming Interface)

bundled with Java SE

(Standard Edition)
.



J2ME

(Java 2 Micro Edition) provide monitoring mechanism that allow user to
safeguard errors that comes in runtime.



You cannot install

or
run
Android application
from, an SD card.




Applications written

on
Java can run on different
platform,

but you can’t do this
Android application
.

Java is a computing language where Android is an Operating
System.



J2ME
applications are

essential
program it’s

a stand
-
alone application, although it
uses different display technology due to resource constraint
.



J2ME (Java 2 Micro Edition ) promises advantages to mobile handset manufactures ,It
offers an opportunity to foster a large and prolific development community that could
delivered an value added functionality for their devices.



J2ME (Java 2 Micro
Editio
n)

is more like a monolithic application where single
program
does everything. Whereas Android is more like a component architecture.



Th
e Apple
IPhone

is one of the most used and popular platforms
. The
IPhone

is
a reliable
device

which provides
a

high end security
. The
IPhone

is showing a failure rate of less than
1%. However, the
IPhone

lacks an official office suite. Open Office is an Open source
alternative. The
IPhone

currently does not have an application to encrypt stored data. The
IPhone

is

not compatible with Microsoft Exchange server

that is one of the minus point of
IPhone app
. Research says that the
IPhone

may be a great entertainment tool, but it lacks
characteristics that focus on a cooperate environment.







18








2.5 Reasons

for choosing J2ME

or
Java
Me

(Micro Edition)




J2ME (Java 2 Micro Edition) provides

a strong development tool which greatly
helps J2ME
(Java 2 Micro Edition)
adoption among wireless application development
,

it is
more

reliable and flexible

for building mobile

application
s
.
J2ME (
Java 2 Micro Edition
)
provides

easy interface that use
s

to build
sophisticated

application easily
.

J2ME (
Java 2 Micro
Edition
) applications

can be built

by

developers who usually have good knowledge
of java
.

It is
important to go through core java before developing such applications especially for new
developers


In J2ME (Java 2 Micro Edition) applications all the classes that are available in the class lo
aders
are verified to make sure that the applications are not performing unwanted operations. One
of the best advantage
s is

the use of J2ME (Java 2 Micro Edition) platform for blackberry
application development helps in avoiding memory leaks.

J2ME provide monitoring
mechanism that allow user to safeguard errors that comes in runtime.
J2ME (
Java 2 Micro
Edition
) applications

are very popular and used by huge amount of user and accept
ed

by
almost every mobile phone organizati
on.


The main reason

for choosing J2me for campus information mobile application because it
provides not only user friendly interface but it also gives developer huge amount of options to
test new things, and most of the students use java enabled phone.









19








2.6
Similar

Systems and Comparisons





Blackboard Learning System (WebCT)





One of the similar systems to dissertation is Blackboard Learning System
(WebCT). They are dedicated to develop and implement new technologies that enhance every
aspect of education. They are developing comprehensive learning and teaching solution which
is

flexible and simple to make sure it is easy to use for the students and teachers.
WebCT is a
web based application it’s not a mobile application.

Blackboard learning System is a huge
a
pplication which consists to many
functionalities and
information’s

for

the students. It is
customizable students can change the layout according to his or her need, colour of the
background and the channels (the content you want to display in blackboard) for example
Campus Announcements, My Grades, and Personal Bookmarks. I
t has course lists where
student can access the entire course modules and their content, University administration
(Teachers) can
reuse learning objects and

track how l
earning object is used. It
has section
called My Learning which consists all learning an
d training opportunities available to the
students and the staff.



As an administrator in
WebCT
,

admin can view class list
s

in different formats and enter the
grades of exam paper or assignment manually and student can view the final grade after login
to
WebCT. It also
provides

calendar

facility

so the student can see when the assign
ment is due
or when to give test
. Admin can give online quiz and these are available to students.



For
Student
s

WebCT provide huge number of facilities to work with. The Campu
s
Announcements board allows students of the particular course to communicate with each
other. It also provides email facility to students to communicate with other students and
teachers. The chat
facility provides

real
-
time communication options for the s
tudents they can
chat to other online
students.
WebCT provide self evaluation section which can be added as
a

note within any course
module in

this section students have multiple choice questions that are
automati
cally scored by the program. The
s
e

can help

students to test their learning
throughout their module. There are online quiz and the score on each quiz can be posted for
20






the students to view. There is a section called Web Link where students can view all t
he
helpful links which is
helpful for studies
.


Blackboard Mobile Learn

[14]





Blackboard mobile is a podium for bringing dynamic learning, teaching and campus
experience to the mobile device. Blackboard Mobile Learn application allow students and
teachers to access their
course content
,

students can view their grades. User

(Student)

can
access documents in multiple formats and upload media as attachments to discussion board
and blogs. Instructor

(faculty)

can post announcements for example if any assignment is due
or class

is cancelled he can post the news and student have instant access to the latest news.
There is a function called task which helps students to track and manage the progress of
various tasks. This
Blackboard Learn mobile
application is available in some pla
ces (In US
Puerto Rico and US Virgin Islands) over wi
-
fi with no cost and this application can be accessed
in variety of devices including
IPhone
, Android, and Blackberry.


Blackboard Learning System (WebCT) and
Campus Wi
-
Fi
Comparisons




Campus Wi
-
Fi application promises to provide the service
s

frequently, the strategy is to
deliver the best learning tools to enhance the l
earning and information system,
So the aim is
similar in both applications however WebCT is a h
uge application which co
nsist to many

functionalities

to provide dynamic learning information management. The main difference
between both applications is that Campus Wi
-
Fi mobile

application works through Wi
-
Fi
technology and Blackboard Learning System provide all facilities ov
er internet.



Both applications are developed on java platform

however their goals are similar but both
applications are different WebCT is a web based application and Campus wi
-
fi is a mobile
application.
WebCT is highly customizable on the other side
campus wi
-
fi application is not
customizable. The four main objective of campus wi
-
fi application 1) Alert and notification 2)
Post request 3) File sharing 4) Forms or Event Registration also exists in WebCT
. Administrator
can send an

alert message via em
ail to students and student
s

can reply to that
mail.
It has a
chat facility however it is quite broad
,

where student can not only chat with teaching staff but
also with other o
nline students. In WebCT students

can view their
assignments and

results
similar

to campus wi
-
fi application however student can’t submit their assignment
s

on

21







Campus
Wi
-
Fi

application but in WebCT they can submit their assignment
s
. It also has

a
section called

Campus announcement which alerts

students for upcoming event or latest
ne
ws. WebCT consist timed online quiz or surveys and self assessments whereas Campus wi
-
fi
application doe
s not have these functionality
. WebCT can be accessed through any web
browser, like Mozilla

/Firefox or Internet Explorer,
Additional plug
-
in might be r
equired to view
the media files on the other hand campus w
i
-
fi
application can be accessed

on java enabled
mobile device.




After reviewing both WebCT and Campus
Wi
-
Fi
.

I ca
me to realize both of these tools provide
similar functionalities however WebCT is

highly broad and hug
e application so it consist larger

number of functionalities .However campus wi
-
fi application is not that huge as compare to
WebCT but it promises to give facility ove
r the mobile device through wi
-
fi it means from
student prospective

they don’t need to start the laptop or computer to access the services
they can just login t
hrough mobile device and

get
access all

the
services or information’s
.
However Campus wi
-
fi is restrictive because it is only avai
lable in campus zone because it

n
eed
s

a campus wireless network to get access so only those students who are in the range of
cam
pus wi
-
fi network can access this

application. On the other side WebCT can be accessed
from anywhere
, where internet connections are
available. Both tools are us
er friendly.





Overall both tools (applications) promise
s

to provide best services for enhancing the
information system for any Institution or University both have their own way of providing such
services it would be bit unfair to compa
re campus mobile
Wi
-
Fi

application to WebCT because
WebCT is such a larger

application which also offers professional development and training
support and consulting services. In the end I would like to add that if a campus wi
-
fi mobile
application consist

few more of the functionalities

which WebCT have then it would be a great
plus (advantage) for students.








22






Blackboard Mobile Learn and
Campus Wi
-
Fi
Comparisons





Blackboard mobile Learn and Campus wi
-
fi mobile application are quite
similar to
each other in terms of services they provide. Blackboard Mobile Learn have a function called
announcements where faculty can make announcement
s

to notify students
,

on the other
hand Campus wi
-
fi mobile application consist a function called aler
t to notify students about
any latest news .Students can view their grades in both application however the way is
different in Blackboard Mobile Learn students can view their grades just clicking on grades
section , In Campus wi
-
fi mobile application admin
istrator

upload all the results or grades ( all
students ) in respective format .pdf or word document then student have to download that file
to see the grades .There is interesting function called Tasks which help students to track and
manage the progres
s of various tasks , Campus wi
-
fi doesn’t

have

such functionality.
Blackboard Learn application have a section called Discussions where
students
can ask
questions and answers them

to the instructors and h
e can respond to students

for the benefit
of all ,

In this

dissertation same functionality has been given in a post request section where
student can ask and get a answer from administrator like a chat box . Campus wi
-
fi application
have a function called Forum (Event Registration) where admin can post a
university event and
students can register themselves for the event through their mobile device
,
Blackboard
Mobile

Learn app

doesn’t not have this

functionality . After going through each tool of applications

I can say that both applications are promises to

provide similar functionalities to students and
user friendly

environment, where Campus

wi
-
fi is only build for java enabled device and
Blackboard Learn is available for variety of devices like IPhone , Android . It would be good
idea to extend Campus wi
-
fi with some more functionality and build in other platforms as well.











23







3

Problem Requirements


3.1

Use cases



The basic requirements fo
r this dissertation are to build a system where Administrator
can comm
unicate to students and they

can get all the information on their mobile device. The
aim to build a mobile application which will provide facilities through wi
-
fi technology in the
campus environment. Students will be able to get the alerts from admin department and they
can ask any
queries or questions to administrator and get a response on their mobile device.
Student can see their results and download assignments on their mobile device. Student can
register themselves for latest events.

O
ther functionalities may be added in future

to

enhance
the application
.

The main user
s of this application are

the students.


3.2

Textual Descriptions



The textual descripti
on for the use case for
the users is outlined below:

a.

Student


As a

Student
, you can do the following:



New query

This is where each

registered user can ask any questions to administrator. If a
student wants to know the fee of sports membership he can just write his query and
he will get his answer. It’s like a chat window where admin can respond quickly t
o any
question of students.



Login into
Campus wi
-
fi system in mobile device
using your login details

The login panel allows
students
to access
the application. Student can get there
login details from Administrator.



Inbox

In this section student can see
the alert send by the administrator.



Your Post



This section is related to new query where student get the answer of his question
like a chat window and allow user to ask multiple questions to administrator.


24










Event

This
section provides a facility

to students where they can view the upcoming
university events and register themselves for events posted by the administrator.





Get Resources

This section allow user to see the uploaded file from the administrator, it can the
assignment or the results o
f assignment (.pdf .doc or any other respective file)
.Student can view the file in default browser or he can download in mobile device.


b.

Administrator


The administrator has access to the admin panel to manage the web contents, but not
limited to the foll
owing as more will be added in the future works.



Manage Student

This allow administrat
or to add users
and manage their existence

users



Form Master

This

section

allows admin to post a university event with the expiry date so the
student get to know this eve
nt is still available for them.



Registration

This section
allows Admin to

see

all

the registered students for the events.



Manage Message

This allows the administrat
or to send alert message to student. Administrator can
determine a type of message it
relates to and he can send t
his alert as all students
or to a

single student.



Manage Student Post

This allows admin
istrator
to give answer

of the students

question or query it’s
like a chat window where administrator can respond to multiple questions ask
ed
by the student.



Manage Resources

This

section

allows administrator to upload assignment or results in respective
format.

25









3.3 Use

Case Diagram for Admi
ni
strator




















Figure

U 1




The use case diagram for Administrator (Admin) is shown on figure
U 1
.
It
shows Admin can
login to campus
Wi
-
Fi

through his username and password. In the Admin page Administrator
can add /update student details and can define password for the
students. He

can send
alert/update messages to students, post
event and

can reply to new query which is send by
the student
.He can add the resources which can be downloaded by student as shown on
figure
U2
.


Admin

Login

Add/Update
Student

Send
Alert/Update

Post Event

Query Posting

Add Resources

26









All these functionalities are only

accessible
to
Administrator

as show in the use diagram
above
.

Use cases are very useful before making an application developer get

to

know about
the structure and functionality of the
application.

It also provide
s an

idea about which objects
are
required

and what would the flow of the app
lication.

27






3.4
Use

Case for Student
s





















Figure U 2




The use case diagram for th
e Student
s

is shown above in figure U2. IT shows Student
s

can
login provided with the password. He can view alert messages can post a new query to
Administrator. Student
s

can view or download resources and he can also make event
registration. These are the functionalities which is available to student.







Students

Login

View Message

Post new
Query

View/downloa
d Resources

Event
Registration

28







4
System

Description

and
Implementation




4.1 Technology in use


This section examined the

technologies

used in this project and their specific usage i
n
the development process,

discussions in details can also be found in some of the material
listed in the references.



J2ME

(Java 2 Micro

Edition)

[15]


Java 2 Micro

Edition

(J2ME)

is a technology which allows developers to use java
language and related tools to develop programs
for mobile wireless. Java 2 Micro

Edition

(J2ME) is divided into three parts profiles, configurations and optional packages. Profiles are
Application programming interface which is built on top of the configurations to provide a
runtime environment for mob
ile device like PDA mobile phones. Profile used to manage the
applications. Optional packages provides standard application programming interface for
using both existing and newly technologies like messaging through wireless, database
connectivity and mult
imedia. Configurations provide set of libraries and a virtual machine for
the category of wireless device. Java 2 Micro

Edition

(J2ME) has two configurations CLDC
(Connected Limited Device Configuration) and CDC (Connected Device Configuration) which
are d
escribed below in details.


CLDC (Connected Limited Device Configuration)

[15]


It is a set of standards, libraries and virtual machine for devices with the very limited
resources like mobile device. When it is joined with the Mobile Information Device
Profile
(MIDP), it provides an excellent java platform for developing applications which can run on
the devices with limited memory.



29






CDC (Connected Device Configuration)
[15]


Connected Device Configuration

(CDC) is for bigger devices, such as se
t
-
top boxes and
PDAs. It’s a specification for the JVM (Java Virtual Machine) that a J2ME (Java 2 Micro Edition)
device must support.



J2ME API’s

(Application Programming Interface)


javax.microedition.midlet


[4]
MIDP (Mobile Information Device Profile)

is called as MIDlet each and every
MIDlet is an instance of java.microedition.midlet.MIDlet. It is implemented in lifecycle
method (discussed on 3.2.4). Conceptually it is similar to applet and can be
downloaded. MIDlet is executed in host environment.



MY
SQL



MY
SQL

is a well known relational database management system

(RDBMS)

used
to manage the database relationship and interactivity among the database. It is an open
source technology
which is
used to create the
database
. In this project it is used to
interact
with Servlet for the

management of the database such as edit, delete, update etc.


JSP (Java Server page)



JSP (Java Server pages) enables the creation of web application, it is a server side

scripting language, it work by embedding Java code in to web programming language like XML,
DHTML ,HTML and other programming languages. This scripting is indeed competing with
Servlet, Java and other well known web applications.




30






Servlet




A

Servlet is a java programming language class which is used to extend the server
that host applications accessed through a request
-
response model. Servlets are use to extend
the applications hosted by web
-
server. It defines HTTP
(
Hypert
ext

Transfer Protocol)

specific
servlet classes.




4.2 Process model for development





The software development model represents the model and the processes of
developing applications. I am following the waterfall model for the
development of this
project which goes through five stages: Requirement, Analysis, Design, Coding, and Testing all
these are describe below.


Requirement Stage:






The requirement of the university administration and students were initially s
tudied. The
requirement is collected by use
-

cases through which it was decided what objects and functionality
should be given to Administrator, such as Login, Add/Update Student, Send Alert/Update, Post Event,
Query Posting, and Add Resources. In this sta
ge of the process I went through with quite a few similar
systems which has been analyzed, blackboard is the organization which develops such a system on a
large scale. Then I have decided which platform I am going to build this application which is J2me (
Java 2
Micro Edition ) , what database I am going to use which is MY SQL DB, which language should be used
develop a web based application for administrator which is JSP /Servlet.


Analysis Stage
:



Once the requirements of the application are identified in requirement stage, then it is
important to understand the scope of the problem. If there is a problem dividing that problem
into sub sections so that goals can be achieved .The
analysis
stage is us
ed to find the solution
of the problem
.

It was important to make sure that whatever the thoughts or functionalities
are in mind should be reachable in the limited time frame. Firstly it was considered student
31






would have
functionality

where they can pay the

dues through the mobile phones to
university administration but after analyzing it is found that the desired goal would be not
achievable in the limited time frame and the there were some security issues to consider
payment function. In the above applicat
ion it was analysed that all the four goals for
application are achievable.

The detailed description of analysis can be found in section [6.2] of
the application.



Design Stage
:



Design stage contains identifying the major component, objects of the application. It
will represent the
systems behaviour

and the work flow (the structure). It involves
d
esign

of
the interfaces between major components of the
sub
-
systems
. This is the part

that is exposed
to the users and hence the only part they can experience. If the application is too complex to
understand on the first time then the user is not going to use it on the next time. Architecture
of the Campus Wi
-
Fi mobile application has been

considered in this stage which is described in
detail section
[
4.5
]
. The students is going to connect through Wi
-
Fi router to the
administration department which will send the information to the server then the server will
fetch the data and forward the
request to administrator.



Coding stage
:



T
his stage the design of the application is transform into the code. The Eclipse
IDE

(
I
integrated Development Environment)

supports all the needs of writing the code, such as
syntax highlighting which was useful to identify the
error,

example material for building mobile
application and all the necessary
compiling, deploying

and running functionalities. Eclipse was
helpful th
ere, as there are so many pre defined functions which makes the work easier. The
detailed description of this stage is discussed in section 4.3.



Testing stage
:



Once the application is coded testing of all the function has been done to find out
whether it is working the way it was designed to work. It is important to test application in
large scale because I did face a problem when I was testing adding resource op
tion in
32






administration browser field after some time I found there are syntax errors. T
estin
g
the
functionalities of this project is an importa
nt aspect of this dissertation, it

is necessary to see
how th
e application and information on mobile devices

are

being displayed especially on
different
real mobile device and emulator
this
type of testing helped me to

correct the bugs in
functionalities according to the users’ requirements.


Unit testing on the functionalities of this
project is an important aspec
t of the dissertation, but more importantly the usability testing
by the potential users in with the project is developed for. Campus Wi
-
Fi application testing is
very necessary to see does the functionalities given to administrator and user (students) are

working properly according to the requirements.



This project has been tested on different common browser from the administrator side
i.e.
Google Chrome, Mozilla Firefox and Internet Explorer 8,

and it was found to display equal
quality of information
and functions given to administrator as specified in the project
specification. This type of testing helps the developer to find the bugs in functionalities
according to the administrator requirement.


The user side of the project was also tested and it wa
s found to meet the student’s
requirement, all the functions are working properly which was specified in project objectives.
The most important function from the student side send query, view resources, event
registration and read alert message all these f
unctionalities has been tested and found to be
working as expected.


The Administrator side of the project was also tested based on the requirements, all the
functions such as sending alert, post request, file sharing and posting event are also tested and
found to be working according to administrator requirement.




Why the above development model was chosen


Waterfall model has specific goals for each phase of development in the above application
each goals are determined and divided into stages , Schedule is set for the each stage as a
deadline to achieve the goals for example first goal was to build a admini
strator interface and
database structure then to move on to mobile application . After completion of the
33






administrator panel

and data structure the mobile application coding been started. It is
important to finish the first stage then move to the next. Ea
ch stage of the development
proceeds in strict orders, without any overlapping of steps. One of the advantages of this
model is the amount of resources required to implement this model is minimum. After the
major stage of coding the application is tested a
gainst specifications. The above application is
tested again on a larger scale once the major coding is completed then the application is
tested.

If there are any errors then the error was corrected. It was easy in this process model
to identify the progre
ss and it also gives an opportunity to identify the
problems quickly. The
best thing

about this model is the design been made before the actual coding, so before
starting coding the structure and objects of the system were well known.



4.3 Implementing m
obile application





One of the biggest challenges of the mobile application
s

development is how to
implement such applications in a way that consist the security properties of their specification.
It is important to think and specify the applic
ation using high level tools and then ascertain
that specification meets the desired requirement , Is all the goals are achievable or not. Then it
is decided that application is going to build on java platform.


To begin implementing Campus wi
-
fi Mobile ap
plication first of all JSP (Java Server Pages) is
used to build the layout of the application which represents the admin part. The login panel is
been made which allow admin to login in through the user name and password mean while it
was decided to build

a database on MYSQL Database ,discussed on Data Structure of the
dissertation. The Servlet are used to fetch the data from the MYSQL database. The mobile
application is built using J2ME (Java 2 Micro Edition) on Eclipse (integrated development
environmen
t) IDE in which important aspects (coding) of mobile application implementation
and the important aspects of implementation are discussed below.







34






Campus.java




Campus.java class is the main class of the application which extends MIDlet and
implement runnable interface. Objects of login, Menu, New Query, Post list and other
important parts of the application are created in Campus.java class. Then background threa
d
is created for searching up the new messages, it keeps searching for the new message in a
specific time (20 sec) frame again and again. One of the interesting aspects of implementing in
the above class is the alert screen that shows a picture to a user (
students) and waits for a
certain period of time with a sound. This functions uses to alert the student to inform new
message has been received with unread message picture, the coding to implement this
feature is below



Alert alert = new Alert("Alert
Demo","You Got new Message",img,AlertType.INFO);

alert.setType (AlertType.INFO);

if(display.getCurrent()==mmenu){

mmenu = new MainMenu(this);

display.setCurrent (alert,mmenu);


ConnectWait.java



The ConnectWait.java class is build to establish co
nnections between all the servlet.
ConnectWait.java class extends Canvas class (A class that represents a blank rectangular area
of the screen in which the application can trap input events from the user) and implement
runnable interfac
e. For communication
s the servlet

base (servbase) address is given to
communicate with the admin application side. Then the paint method has been given in order
to perform custom graphics on the canvas, after that the method for calling the servlet and
getting back the resu
lt it takes from the servlet name
&

parameter as input is assign. One of
the interesting part of implementing of this class is to establishing a communication between
the all the servlet.




35






Login.java



The Login.java class represents the login activiti
es of the user (students) which allows
them to login, passwords are provided to them by administrator. This class implements
Command Listener (the commands registered with display or the item objects have provided
in class).The method “
Command Action

“ is
describing what actions needs to be done when
button clicked is been performed for example in the above class if exit button is clicked
application will call the quit function to exit of the application. In the login section user needs
to input the usernam
e and password when validating the username name and password it will
call the login servlet (actually it will call to callservlet


() of the main class). If the username or