Java is a software technology that it includes a programming language. Besides Java is also a platform that has a virtual machine and libraries needed to write and run a program.
Java itself was originally developed in the computer environment by Sun Microsystems Inc.. with the aim to produce a simple computer language without being tied to a particular architecture. So do not be surprised if, in the progress Java can run on various operating systems such as Linux, Windows and Unix.
Because of the uniqueness and reliability, Java became more widely known. In 1995, Sun unveiled a Java-based browser with the nickname Hot Java, followed by Netscape decided to make the browser with the Java language features in it. Afterwards join too many prominent developers including IBM and Microsoft.
Then the following year, Sun Microsystems Inc.. release of the Java Software Development Kit (JDK) first, JDK 1.1. And growing of programming applet that runs in a browser into a world-class programming that is widely used for a variety of application development. Not just on the computer, Java can also run on a variety of devices, from mobile phones to enterprise-scale applications on the server computer.
As mentioned above, Java is a programming language that can be implemented in a variety of environments, such as the internet, mobile phones and computers. The Java programming language broadly grouped into three editions, namely, Java 2 Standard Edition (J2SE), Java 2 Enterprise Edition (J2EE) and Java 2 Micro Edition (J2ME).
J2SE is used to develop desktop applications and applets, J2EE is used for developing applications based on client / server enterprise scale, while J2ME applied to a variety of small devices with the amount of memory, storage capacity and limited user interface, such as mobile phones and PDAs.
As with other Java packages that use the Java Virtual Machine (JVM) as an interpreter, is also used in the J2ME virtual machine called the K Virtual Machine (KVM), which has its own advantages which requires only a small memory. Letter K on K Virtual Machine itself is an abbreviation of kilobyte, to illustrate how this works on virtual machine memory to be so small.
KVM allows independent software developers to play around on a variety of handsets to be an open platform without the need to make significant changes in the program. With J2ME-based C + +, an application will have the portability to run on various types of mobile phones.
MIDIlet is a J2ME application created using the profile Mobile Information Device Profile (MIDP) is devoted to use the handset with the ability of the processor, memory, and display a limited, such as cell phones, pagers, PDAs, Pocket PCs, and so on.
Until now there are two versions of the Java J2ME platform is commonly used in mobile phones is MIDP 1.0 which still has a simple specification and provides basic functions for mobile applications, including user interface and basic network security. One more MIDP 2.0, which has added many amenities such as gaming, multimedia, support for different types of connectivity, as well as OTA.
Solutions and Java Development
Although a Java application has been widely used in wireless phones, but it has become common for developers that Java is not fully able to run on all types of mobile phones while in the mobile phone has embedded a Java platform.
The reason, the Java implementation by each mobile phone vendors are not the same, especially the fragmentation of API (Application Programming Interface). So to deal with them a variety of technology companies in the world such as Nokia, Motorola, NTT DoCoMo, Sprint and others formed a collaboration to formulate a clearer specification of Java for mobile phone vendors, mobile operators, and application developers. The specification called Java Technology for the Wireless Industry (JTWI).
JTWI own goal is to improve the compatibility, interoperability, and kelangkapan implementation of Java on mobile phones. JTWI specification itself, which is to minimize API fragmentation and maximize the functionality of the mobile phone so as to extend the application of Java applications.
JTWI specification defines three categories namely mandatory, conditional required, and a minimum of configuration. MIDP 2.0 specification is mandatory, conditional MMAPI required is 1.1, and the minimum configuration is CLDC 1.0.
CLDC (Connected Limited Device Configuration) is a specification aimed at electronic devices having limited resources are developed for wireless Java technology, which allows mobile users to have installed Java applications (MIDIlet) to their mobile handsets. MIDP (Mobile Information Device Profile) is a specification to enhance the features of the CLDC provides additional classes that are more specific to the type of device.
While MMAPI (Mobile Media API) is a specification that is intended to handle multimedia capabilities on mobile phones based on Java. In the well known term JTWI WMA (Wireless Messaging API) specification that is intended to handle the sending and receiving short messages on the Java platform.