Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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