Application Programming Interface. The specification of how a programmer writing an application accesses the behavior and state of classes and objects.

Application Server

Application server also called an appserver. A program that handles all application operations between users and an organization's backend business applications or databases. Application servers are typically used for complex transaction-based applications. To support high-end needs, an application server has to have built-in redundancy, monitors for high-availability, high-performance distributed application services and support for complex database access. Sometimes referred to as a type of middleware, application servers occupy a large chunk of computing territory between database servers and the end user.


Microsoft's Windows-specific non-Java technique for writing applets. ActiveX Applets take considerably longer to download than the equivalent Java Applets, however, they more fully exploit the features of Windows. They have no security sandbox to protect from malicious code.

Java Virtual Machine (JVM)

Java Virtual Machine is the software process that interprets the bytecode within Java class files. The JVM process is started with the java command. JVMs have been ported to numerous operating systems and give Java its "Write Once, Run Everywhere" capability.

Abstract Window Toolkit (AWT)

A set of graphical user interface (GUI) components that are implemented using native code versions of the components. These components provide the subset of functionality which is common to all supported platforms. This is the precursor to Java Swing (JFC).


Microsoft's new Java-like language. It is Java without the reliability, productivity and security. Because it interoperates with C++, they had to create loopholes in the safety net.


Cascading Style Sheets. A feature of HTML 4 where you can specify your formatting in one place and have it propagated, e.g. so you can decide in one place how all headings should look. You can have layers of style sheets that override each other.

Database Engine

The program that controls an SQL database in a single user database.

Borland Delphi

Object Pascal based RAD that allows to create native applications for Windows platform. The highlight feature of Delphi is functionality and libraries that allow to create rich user interface quickly.


Dynamic Hypertext Markup Language. An extension to HTML that allows having objects that interact with each other (actually, DHTML is combination of HTML 4, CSS and JavaScript).


Document Type Definition. A carefully structured document that formally defines the syntax of one of the HTML variants using an BNF variant notation.


Document Object Model. A tree of objects with interfaces for traversing the tree and writing an XML version of it, as defined by the W3C specification.


A network of companies sharing proprietary information over the Internet.


Macromedia's client-side competitor to Java. It was initially designed to do rapid animations with very small downloads. Now it has been extended to handle data entry and database lookup functions.


Geographic Information System. A database system for storing maps. You can create maps with various subsets of the information and various scales. The software automatically places labelling information so as not to overlap other labelling.


Graphical User Interface.Refers to the techniques involved in using graphics, along with a keyboard and a mouse, to provide an easy-to-use interface to some program.


Hibernate object/relational persistence and query service for Java. It is free released under LGPL open source. Hibernate lets you develop persistent classes following the common Java idioms including association, inheritance, polymorphism, composition and the Java collections framework. The Hibernate Query Language is an object-oriented extension to SQL to provide a bridge between the object and relational worlds. You had best learn SQL and JDBC first, then learn this shortcut built on top of them. It is a peculiar name for a high-performance interface.


HyperText Markup Language. A platform independent technique of distributing formatted documents via the web.


Hypertext Transfer Protocol. A protocol used on the Internet by web browsers to transport text and graphics. It is focusses on grabbing a page at a time, rather setting up a session.


Hypertext Transer Protocol Secure. Used for encrypted communication between browsers and servers. All transmission of HTTP data are made with the SSL protocol.


a standard for JavaBean components to exchange binary information, something like a platform-independent, streamlined DDE.


Sun's trademark for a set of technologies for creating and safely running software programs in both stand-alone and networked environments./p>

Java Beans

A standard for Java componentware. It functions much like Microsoft's Windows-specific VBX Visual Basic pluggable components. The JavaBeans APIs allow ISVs to develop reusable software components that end-users can then hook together using visual application builder tools

J2SE (Java 2 Standard Edition)

Edition of the Java platform that enables development, deployment, and management of cross-platform applications. J2SE is used by all Java applications

J2EE (Java 2 Enterprise Edition)

Edition of the Java platform that targets enterprises to enable development, deployment, and management of multi-tier server-based applications. This edition encompasses many specifications, including EJB, JMS, JSP and Servlets.

J2ME (Java 2 Micro Edition)

Edition of the Java platform targeted at small, network-aware consumer and embedded devices to enable development, deployment, and management of applications. Target devices include PDAs, mobile phones, and set-top boxes.

Enterprise JavaBeans Technology

An enterprise bean is a body of code with fields and methods to implement modules of business logic. You can think of an enterprise bean as a building block that can be used alone or with other enterprise beans to execute business logic on the J2EE server.
There are three kinds of enterprise beans: session beans, entity beans, and message-driven beans. Enterprise beans often interact with databases. One of the benefits of entity beans is that you do not have to write any SQL code or use the JDBC API directly to perform database access operations; the EJB container handles this for you. However, if you override the default container-managed persistence for any reason, you will need to use the JDBC API. Also, if you choose to have a session bean access the database, you have to use the JDBC API.

Container Manager Persistence (CMP)

When the transfer of data between an EJB entity bean's variables and the underlying data store is managed by the EJB container.


The JDBC API lets you invoke SQL commands from Java programming language methods. You use the JDBC API in an enterprise bean when you override the default container-managed persistence or have a session bean access the database. With container-managed persistence, database access operations are handled by the container, and your enterprise bean implementation contains no JDBC code or SQL commands. You can also use the JDBC API from a servlet or JSP page to access the database directly without going through an enterprise bean.
The JDBC API has two parts: an application-level interface used by the application components to access a database, and a service provider interface to attach a JDBC driver to the J2EE platform.

Java Servlet Technology

Java Servlet technology lets you define HTTP-specific servlet classes. A servlet class extends the capabilities of servers that host applications accessed by way of a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by Web servers. Servlets have the following advantages over other server extension mechanisms:

  • They are generally much faster than CGI scripts because a different process model is used.
  • They use a standard API that is supported by many web servers.
  • They have all the advantages of the Java programming language, including ease of development and platform independence.
  • They can access the large set of APIs available for the Java platform.


The most common meaning now is for a group of open source projects part of Apache. Apache is a group of people, not a company, who make an opensource webserver. They refer to the open source project as Jakarta, and the servlet womb part of it as Tomcat. There are now all kinds of open source Java projects under the Jakarta banner


formerly called EJBoss. An open-source J2EE-compliant EJB server.


A tool for parsing and outputting XML from Java. It defined the DOM API.


A scripting language embedded in HTML very different from Java that can be interpreted by the most of modern HTML browsers. The EMCA standard version of JavaScipt is called ECMAScript. Microsoft has a extension of ECMAScript they call it JScript.


Java 2D allows you to render 2-dimensional images with the javax.media.j2d and java.awt.Graphic2D class and many other standard classes that come bundled with the JDK.


Java Advanced Imaging. A package not part of the standard JDK that lets you do advanced image manipulations


Java Server Faces. A Java Server Pages (JSP) tag library to make it easier for less experienced programmers to write web-based applications.

Servlet Container

The servlet container is a part of a web server or application server that provides the network services over which requests and responses are sent, decodes MIME based requests, and formats MIME based responses. A servlet container also contains and manages servlets through their lifecycle. A servlet container can be built into a host web server, or installed as an addon component to a Web Server via that server's native extension API. Servlet containers can also be built into or possibly installed into web-enabled application servers. All servlet containers must support HTTP as a protocol for requests and responses, but additional request/response based protocols such as HTTPS (HTTP over SSL) may be supported. The minimum required version of the HTTP specification that a container must implement is HTTP/1.0. It is strongly suggested that containers implement the HTTP/1.1 specification as well.

JavaServer Pages Technology

JavaServer Pages technology lets you put snippets of servlet code directly into a text-based document. A JSP page is a text-based document that contains two types of text: static template data, which can be expressed in any text-based format such as HTML, WML, and XML, and JSP elements, which determine how the page constructs dynamic content.

Java Message Service

The JMS is a messaging standard that allows J2EE application components to create, send, receive, and read messages. It enables distributed communication that is loosely coupled, reliable, and asynchronous.

Java Naming And Directory Interface

The JNDI provides naming and directory functionality. It provides applications with methods for performing standard directory operations, such as associating attributes with objects and searching for objects using their attributes. Using JNDI, a J2EE application can store and retrieve any type of named Java object.
Because JNDI is independent of any specific implementations, applications can use JNDI to access multiple naming and directory services, including existing naming and directory services such as LDAP, NDS, DNS, and NIS. This allows J2EE applications to coexist with legacy applications and systems.

Java Transaction API

The Java Transaction API (JTA) provides a standard interface for demarcating transactions. The J2EE architecture provides a default auto commit to handle transaction commits and rollbacks. An auto commit means that any other applications viewing data will see the updated data after each database read or write operation. However, if your application performs two separate database access operations that depend on each other, you will want to use the JTA API to demarcate where the entire transaction, including both operations, begins, rolls back, and commits.

JavaMail API

J2EE applications can use the JavaMail API to send e-mail notifications. The JavaMail API has two parts: an application-level interface used by the application components to send mail, and a service provider interface. The J2EE platform includes JavaMail with a service provider that allows application components to send Internet mail.

JavaBeans Activation Framework

The JavaBeans Activation Framework (JAF) is included because JavaMail uses it. It provides standard services to determine the type of an arbitrary piece of data, encapsulate access to it, discover the operations available on it, and create the appropriate JavaBeans component to perform those operations.

Java API for XML Processing

XML is a language for representing text-based data so the data can be read and handled by any program or tool. Programs and tools can generate XML documents that other programs and tools can read and handle. Java API for XML Processing (JAXP) supports processing of XML documents using DOM, SAX, and XSLT. JAXP enables applications to parse and transform XML documents independent of a particular XML processing implementation.

For example, a J2EE application can use XML to produce reports, and different companies that receive the reports can handle the data in a way that best suits their needs. One company might put the XML data through a program to translate the XML to HTML so it can post the reports to the Web, another company might put the XML data through a tool to create a marketing presentation, and yet another company might read the XML data into its J2EE application for processing.

J2EE Connector Architecture

The J2EE Connector Architecture is used by J2EE tools vendors and system integrators to create resource adapters that support access to enterprise information systems that can be plugged into any J2EE product. A resource adapter is a software component that allows J2EE application components to access and interact with the underlying resource manager. Because a resource adapter is specific to its resource manager, there is typically a different resource adapter for each type of database or enterprise information system.

Java Authentication and Authorization Service

The Java Authentication and Authorization Service (JAAS) provides a way for a J2EE application to authenticate and authorize a specific user or group of users to run it. JAAS is a Java programming language version of the standard Pluggable Authentication Module (PAM) framework that extends the Java 2 Platform security architecture to support user-based authorization.


Java Media Framework. This is the main way Java handles streaming video and audio. It is implemented as a set of native classes to play and capture sound and video files in many formats including Microsoft's wav and Sun's AU. Supports MIDI, MP1, MP2, RTP streaming JPEG, RTP H.261, RTP H.263 among other formats.


Java Managment Extensions for management and monitoring


Open DataBase Connectivity is the Microsoft Windows/NT interface to SQL.


Pre-Hypertext Processor ( formerly Personal Home Page) is a server-side scripting language that ressembles Perl. It is opensource and free. It does many of the same things Microsoft ASP did, but faster and more flexibly. You can embed excecutable PHP code in your HTML, and it gets executed by the PHP HTML server. The PHP language has C-like for loops, associative arrays (arrays indexed by strings), hooks to easily extract data from HTML forms and smooth SQL integration. PHP starts to fall apart for large projects because it lacks object oriented features.


Remote Method Invocation -- a specification for RPC (remote procedure calls). The client can invoke methods on objects remotely residing in the server, possibly passing it primitives or objects as parameters and receiving a primitive or object as a result.


Simple API for XML, a parsing technique for XML.


Simple Mail Transfer Protocol. The protocol most commonly used for sending mail to a server.


SOAP (Simple Object Access Protocol) is a protocol standard managed by W3C. Microsoft, IBM and Apache have all implemented it. SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses


SQL stands for Standard Query Language, a platform independent relational database query language.


Secure Sockets Layer protocol used communicate over an encrypted connection, and to authenticate none, one or both of the participants.


An open source framework for building Java web applications.


Sun's set of lightweight GUI components that give much fancier screen displays than the raw AWT. Since they are written in pure Java, they run the same on all platforms, unlike the AWT. They are part of the JFC. They support pluggable look and feel -- not by using the native platform's facilities but by roughly emulating them. This means you can get any supported look and feel on any platform. The disadvantage of lightweight components is slower execution. The advantage is uniform behaviour on all platforms.


UML stands for Universal Modeling Language. It is a modeling technique designed by Grady Booch, Ivar Jacobson, and James Rumbauch of Rational Rose. It is used for OOAD (Object Oriented Analysis and Design) It is supported by a broad base of industry-leading companies which, arguably, merges the best of the various notations into one single notation style. It is rapidly being supported by many tool vendors, but the primary drive comes from Rational Rose.


Web Sphere is IBM's combined EJB/CORBA server for high-volume applications


XML is the Extensible Markup Language, a W3C proposed recommendation. Like HTML, XML is based on SGML, an International Standard (ISO 8879) for creating markup languages