Wireless Instant Messaging Using J2ME

Download Report

Transcript Wireless Instant Messaging Using J2ME

Wireless Instant Messaging
Using J2ME
Sreedhar Dasi
Vamshi Battini
Pradeep Gummi
OBJECTIVE
Develop a wireless Instant Messaging application using
J2ME
Provide an insight on J2ME and its importance in
developing wireless applications.
2
About WIM
The application consists of Clients on the J2ME application
and a server that handles all data storage,and
communications between clients
Features of WIM:
 Simple registration of new accounts (username, password) .
 Authenticated user logon
 Adding/Deleting buddy list members
 Sending and receiving real-time messages
3
Possible Technologies:
WAP
Imode
J2ME
4
Java Micro Edition (J2ME)
J2ME is an optimized Java platform targeted at new generation
applications for consumer electronics and embedded devices
such as mobile phones,PDAs.
It’s Design Goals:
Device-specific APIs built on a common base
Aimed at devices with limited computation capabilities
Support wide variation of network connectivity
Ability to deploy applications to a variety of devices
A rich set of user interface and event handling class libraries
that make the most of the limited display space.
5
Why J2ME for WIM?
Platform Independency.
It provides rich set of user Interface and event handling
libraries.
It provides rich set of network libraries that make
network programming easier.
6
J2ME Architecture
J2ME has a scaleable and modular architecture.
It defines 3 layers of software built upon a native operating
system of a device.
Profile layer
Configuration
Virtual
Machine Layer
MIDP
PDAP
CLDC
KVM
Foundation
Profile
CDC
CVM
Host operating System
7
Java Virtual Machine Layer
This layer is implementation of a Java virtual machine that is
customized for a particular device’s operating system and
supports a particular J2ME configuration
CVM:
It is fully featured JVM specially designed for high-end
consumer devices.
It is an underlying virtual machine for (CDC).
It has a static foot print of 256 kb
KVM (K for kilo):
It is a small, yet very functional Java virtual machine
specifically designed for resource constrained devices.
The current KVM has a static footprint in the range of 40
kb to 80 kb
8
Configurations
The Configurations define the Minimum Set of Java Virtual
Machine Features and Class Libraries available on a
particular category of devices.
Connected Limited Device Configuration (CLDC).
CLDC is the foundation of the Java runtime environment
that targets small, resource-constrained devices.
The heart of CLDC is Sun's K virtual machine (KVM),
CLDC is suitable for devices with 16/32-bit RISC/CISC
microprocessors/controllers, and with as little as 160 KB
of total memory available .
9
Configurations contd.
Configuration Device Configuration (CDC).
CDC configuration is for devices that are described as
shared, fixed, connected information devices
Heart of CDC is C Virtual Machine
Memory budgets in the range of 128KB to 1MB.
10
PROFILES
Profile is a collection of application-oriented class libraries
that address specific devices:
Personal Digital Assistant Profile:
It is a CLDC profile that provides user interface,
persistence storage for small resource limited handheld
devices as palm pilots.
11
Profiles contd
MIDP Mobile Information Device Profile
It is a CLDC profile that provides the user interface,
persistence storage, networking, and application model
APIs for wireless devices.
MIDP addresses
Display toolkit, User input methods etc.
HTTP-based networking using CLDC Generic Connection
framework
MIDP applications are known as “MIDlets”
12
J2ME Architecture for Wireless
Applications
MIDP/CLDC/ KVM Architecture
MIDP Applications
Device Specific Applications
MIDP Classes
Device
Specific Classes
CLDC Classes
Native
Applications
KVM
Native System Software
MID Hardware
13
WIM Architecture
Client
Server
User Interface/MIDlet
SERVLETS
WIM Utilities
Connection
Services
Communication
Services
JDBC
MIDP
CLDC
DATABASE
KVM
14
Protocols implemented in MIDP
The MIDP specification requires all implementations to
support HTTP.
HTTP can be implemented on the TCP/IP stack or WAP
stack so long as it complies with the MIDP specification’s
requirements for HTTP client connections.
MIDP specification requires protocol to be implemented
using the J2ME Generic Connection Framework.
15
Generic Connection Framework
 Networking and file I/O capabilities varies from one wireless
device to another.
Ex: Packet switched networks and circuit switched networks
 GCF is introduced in J2ME to reflect the requirements of small
footprint networking for a broad range of mobile devices.
 GCF defines the abstractions of the networking and file I/O so as
to generally as possible to support the broad range of mobile
devices.
16
Protocols implemented
HTTP protocol is implemented over the TCP/IP stack.
17
Demonstration of WIM
18