Java Computer Terms

There are many acronyms floating around the internet, universities, and Java programmers' cubes these days. Sometimes, they can be quite confusing and downright misleading. Also, Sun MicroSystems has made it just about as hard as possible to keep anything straight in the Java language with, for instance, their desire to version their products in the strangest ways (1.1, 1.2, 1.3, 1.4, 5.0, 6). So, to help clear the haze and hopefully help set and keep you straight on your path, here are some definitions of the more commonly-used terms. Email me with corrections.

COM: Component Object Model. This technology allows interprocess communications between applications written in any programming language. Introduced by Microsoft in the early 1990s.

Distributed Environment: A set of computers (2+), either on the same table, in the same company, or across the globe from one another, that are able to communicate with each other via a network. The internet is a prime example of a distributed environment.

J2EE: Java 2 Platform, Enterprise Edition, an older name for Java EE.

J2ME: Java 2 Micro Edition. This is an older name for Java ME.

Java 2: Java 2 Platform, Standard Edition. This name was dropped after version 1.4, and now is called Java SE.

Java 2 SDK: Java 2 Software Development Kit. This is an older name for Java SE JDK.

Java EE: Java Enterprise Edition. The latest download of version 1.4 encompasses the Java SE plus a host of other technologies, listed here (I will define these when time permits):

Java ME: Java Micro Edition. This is used for programming mobile devices such as cell phones, PDAs, and TV set-top boxes, etc.

Java SDK: Java Software Development Kit. It means the same thing as Java SE JDK.

Java SE: Java Software Environment. This encompasses both the JDK and the JRE. Sun MicroSystems changed the naming conventions and versioning over the years. Here are the full lists of Java JDK and then Java JRE versions:

Java Web Start: A reference implementation based on the JNLP technology. On your web server, you will need to put only a file with a .jnlp extension to allow users, from your website, to download and run any Java application you specify.

JDK: Java Development Kit. This allows you to compile and run a Java application on your machine. May either refer in a general way to the Java SE JDK, or this may refer to the JDK version 1.1 (very obsolete and no one [that I know of] programs using this anymore).

JNLP: Java Network Launching Protocol.

JRE: Java Runtime Environment. This allows you to run a Java application on your machine, but it does not allow you to compile a Java application.

RMI: Remote Method Invocation. This technology is specific to Java, and does basically the same thing as RPC.

RPC: Remote Procedure Call. This technology makes it possible for a client machine to talk to a server. In Java, there is also something similiar called RMI.

SOAP: Simple Object Access Protocol. Allows Java objects and COM objects to talk to each other across a distributed environment.