180 likes | 348 Views
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. About WIM.
E N D
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.
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
Possible Technologies: • WAP • Imode • J2ME
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.
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.
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 MIDP PDAP Foundation Profile Configuration CLDC CDC Virtual Machine Layer KVM CVM Host operating System
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
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 .
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.
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.
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”
J2ME Architecture for Wireless Applications • MIDP/CLDC/ KVM Architecture MIDP ApplicationsDevice Specific Applications Native CLDC Classes Applications KVM Native System Software MID Hardware Device Specific Classes MIDP Classes
WIM Architecture Client Server User Interface/MIDlet SERVLETS WIM Utilities Connection Services Communication Services JDBC MIDP DATABASE CLDC KVM
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.
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.
Protocols implemented HTTP protocol is implemented over the TCP/IP stack.