JavaSoft, a Sun Microsystems Business 
For Developers   |   Java News   |   Products and APIs   |   Documentation Index 

Java API Overview

Page maintained by: Doug Kramer
This page gives a broad overview of the current and upcoming API for Java, both for Core libraries and Standard Extension libraries. It includes dates for releases (where Q1-Q4 are calendar-year quarters), as well as links to the latest API specifications and early access implementations. The APIs will be released in approximately this order:  A History Trail of changes to this page (not underlying pages) is at the bottom of this page, along with a Glossary of terms used in this web page. 

Links to Related API Areas of the JavaSoft Web Site

See Java Platform White Paper for a more detailed overview of the API. Also available for download. If there are discrepancies, this API Overview web page can be assumed to be more up-to-date than the white paper.

See JavaOne Developer's Conference (this last May, 1996) for a wealth of overhead slide presentations (handouts), keynote addresses, one-paragraph abstracts, and prize applets, all for downloading. The presentations include general previews of API for which there are not yet published specifications on this API Overview page, such as Java Media. 


JDK 1.0.2 API

The JDK 1.0.2 API is (by definition) the API that ships with version 1.0.2 of the Java Development Kit (JDK). It includes the 8 basic packages: java.lang, java.io, java.util, java.net, java.awt, java.awt.image, java.awt.peer, and java.applet.  Two printed books of the online documentation from JavaSoft are currently available in bookstores: The "Java Class Libraries: An Annotated Reference" has examples for every class member, while "The Java Application Programming Interface" (Vol. 1 & 2) is based on javadoc-generated documentation. 

JDK 1.1 API

The JDK 1.1 is the latest release of the Java Development Kit. It is a superset of JDK 1.0.2 that brings improvements in functionality, performance and quality to Java. 

See JDK-Related Technology for information about Java IDL, Native Threads, and other core technology that is related to the JDK. 

JAVA ENTERPRISE API

Java Enterprise APIs support connectivity to enterprise databases and legacy applications. With these APIs, corporate developers are building distributed client/server applets and applications in Java that run on any OS or hardware platform in the enterprise. Java Enterprise currently encompasses four areas: JDBCTM, Java IDL, Java RMI and JNDITM

JDBCTM is Java Database Connectivity, a standard SQL database access interface, providing uniform access to a wide range of relational databases. 

See JDBC web pages for more information beyond what is given in the following table. 

Java RMI is remote method invocation between peers, or between client and server, when applications at both ends of the invocation are written in Java. 

See Java Distributed Systems web pages for RMI on JDK 1.0.2. 

Java IDL is developed to the OMG Interface Definition Language specification, as a language-neutral way to specify an interface between an object and its client on a different platform. 

In order to provide sufficient time to standardize Java-to-CORBA connectivity through OMG, Java IDL has been be decoupled from the JDK 1.1 release and will be available on a slightly delayed schedule. Java IDL, implemented completely in Java, will work seamlessly on top of JDK 1.1 when it is available. 

Java Naming and Directory Interface (JNDI) is a new addition to JavaSoft platform APIs. It provides Java applications a unified interface to multiple naming and directory services in the enterprise. As part of the Java Enterprise API set, JNDI enables seamless connectivity to heterogeneous enterprise naming and directory services. Java developers can now build powerful and portable directory-enabled applications using this industry-standard interface. 

JAVABEANSTM API

The JavaBeansTM APIs define a portable, platform-neutral set of APIs for software components. JavaBean components will be able to plug into existing component architectures such as Microsoft's OLE/COM/Active-X architecture, OpenDoc, and Netscape's LiveConnect. End users will be able to compose together JavaBeans components using application builders. For example, a button component could trigger a bar chart to be drawn in another component, or a live data feed component could be represented as a chart in another component. 

JavaBeans is now available in JDK 1.1. Beans developers will also need to download the Beans Development Kit from the JavaBeans web pages

JAVA SECURITY API

The Java Security APIs are a framework for developers to easily and securely include security functionality in their applets and applications. This functionality includes cryptography with digital signatures, encryption, and authentication. 

An intermediate subset of the Security API is included in JDK 1.1. This subset is known as "Security and Signed Applets". 

See Java Security web pages for further information beyond what is given in the table below.

JAVA SERVER API

Java Server API is an extensible framework that enables and eases the development of a whole spectrum of Java-powered Internet and intranet servers. The APIs provide uniform and consistent access to the server and administrative system resources required for developers to quickly develop their own Java `servlets' - executable programs that users upload to run on networks or servers. 

JAVA COMMERCE API 

Java Commerce API will bring secure purchasing and financial management to the Web. JavaWallet is the initial component, which defines and implements a client-side framework for credit card, debit card, and electronic cash transactions.&nbqp3aüÀðpÀLI> Schedule: 
Library Type: Core / Standard Extension 
API Spec Available to Public: Now: Java Commerce web pages 
Early Access Implementation: April 1997 
Final Implementation: 1997 

JAVA MEDIA API

Java Media APIs allow developers and users to easily and flexibly take advantage of a wide range of rich, interactive media on the Web. The Media APIs encompass these areas: Java 2D, Java Media Framework, Java Collaboration, Java Telephony, Java Speech, Java Animation and Java 3D. 

Java 2D provides an abstract imaging model that extends the 1.0.2 AWT package, including line art, images, color, transforms and compositing.  Java Media Framework (JMF) specifies a unified architecture, messaging protocol and programming interface for media players, capture and conferencing. JMF will be published as three APIs. The Java Media Player will be published first; Java Media Capture and Java Media Conference APIs will be published subsequently. Java Media Player is an API for synchronization, control, processing and presentation of compressed streaming and stored timed media, including video and audio.  Java Collaboration allows for interactive two-way, multi-party communcations over a variety of networks. There will be two releases, Part 1: Sharing of collaboration-aware applications, and Part 2: Sharing of collaboration-unaware applications.  Java Telephony integrates telephones with computers. It provides basic functionality for first-party and third-party call control.  Java Speech provides Java-based speech recognition and speech synthesis (text-to-speech)..  Java Animation provides for motion and transformations of 2D objects. It makes use of the Java Media Framework for synchronization, composition and timing.  Java 3D provides an abstract, interactive imaging model for behavior and control of 3D objects. 

JAVA MANAGEMENT API 

Java Management API provides a rich set of extensible Java objects and methods for building applets that can manage an enterprise network over Internets. It has been developed in collaboration with SunSoft and a broad range of industry leaders including AutoTrol, Bay Networks, BGS, BMC, Central Design Systems, Cisco Systems, Computer Associates, CompuWare, LandMark Technologies; Legato Systems, Novell, OpenVision, Platinum Technologies, Tivoli Systems, and 3Com. 

JAVA EMBEDDED API

The Java Embedded APIs specify how the Java API may be subsetted for embedded devices that are incapable of supporting the full Java Core API. It includes a minimal embedded API based on java.lang, java.util and parts of java.io. It then defines a series of extensions for particular areas such as networking and GUIs. 

This API proposal will be released for public review at a time to be determined. 


Glossary

The following terms (in bold) are used in this document.  For API that is under development, these dates are given: 
Q1 - Q4 are calendar quarters: 
Q1 = January - March 
Q2 = April - June 
Q3 = July - September 
Q4 = October - December 
Now = Available now from this web page
TBD = To Be Determined 

History Trail

List of substantive changes to this page: 

21June96 - API Overview - Created this document
15July96 - History Trail - Added this history trail
15July96 - Java Management - changed "TBD" to date in "API Spec Avail to Public" and moved earlier in list
16July96 - Format/Layout (this web page) - Added "docs" navigation bar at top, added "no specification published yet" where applicable
17July96 - Java Beans - Activated link to Java Beans (overview and white paper)
20July96 - JavaOne - Added a link to the JavaOne page
23July96 - JavaOne - Re-worded the JavaOne paragraph to be clearer
15Aug96 - JavaShare - Fixed a mistake in Java Share heading (removed "specification")
15Aug96 - Above each table - Added text "See ... web pages", making the presence/absence of links more obvious to newcomers. (Did not add or remove any links.) Moved descriptions to just above each table in Java Enterprise and Java Media. Added "Schedule" heading to tables. Moved Security ahead of Java Media.
15Aug96 - Java 1.0.2 API - Renamed the Core API to Java 1.0.2 API, since at the next major release the core will be enlarged. Added a placeholder for the next major JDK release.
20Aug96 - Java Server - Early access (alpha) implementation of Jeeves is now available; changed date to "Now". Also moved Java Server higher on the page.
20Aug96 - Embedded API - Moved out date for public review of API proposal to "September or October".
29Aug96 - JDK 1.1 Preview - Added this new section.
29Aug96 - Java Media API - Changed date of Media Framework API spec to Oct-Nov. Changed date of Animation API spec to Q4.
4Sep96 - Java Beans - Changed date for public review of API to "Now".
30Sep96 - Java Telephony API - Made the API spec available.
30Sep96 - Footer of page - Added JavaSoft email addresses (below).
30Sep96 - Security - Changed date for public review of Security API to "October or November".
30Sep96 - Java Management - Changed date for public review of Java Management API to "Now", and added comment that implementation will be for JDK 1.0.2.
30Sep96 - Java Share - Changed date for public review of Java Share API to "Q4".
30Sep96 - Java 2D - Changed date for public review and early access implementation of Java 2D API to "TBD".
8Oct96 - Core - Clarified the definition of core to include "once the final API is released by JavaSoft". Also added references to JDK 1.1 in the "Final implementation" field of the JDBC, RMI, Security, and Java Beans APIs.
10Oct96 - Java Beans - Moved Java Beans higher on this page, to correspond more closely to chronological order.
31Oct96 - JDK 1.1 Preview - Set the quarter for the final release. Also correspondingly changed the schedule for the final release of JDBC, RMI, IDL, which ship with the JDK 1.1. 
31Oct96 - Embedded API - Changed the date for the specification to "to be determined". 
9Nov96 - JDK 1.0.2 - Also added direct links to the 1.0.2 specifications. 
9Nov96 - JDK 1.1 Beta - Made the beta release available, including both software and documentation. Added links to it from JDBC, Security and RMI. 
10Nov96 - JavaBeans - Changed status of "Early Access Implementation" to include a link to the JavaBeans web pages.
21Dec96 - Security - Added link to generic "Java Security web pages."
10Jan97 - Java Media - Added Java Speech, updated the description of Java Media Framework, renamed Java Share to Java Collaboration, and changed dates for all media APIs.
3Feb97 - Format/layout (this web page) - Move some links from paragraphs into the tables to be more consistent.
3Feb97 - Java Media Player - Made the Java Media Player specification available.
5Feb97 - JavaBeans - Changed the description to say it is now part of JDK 1.1.
18Feb97 - JDK 1.1 - JDK 1.1 final version is now shipping. Removed references to beta versions.
21Feb97 - Format/Layout (this web page) - Recently renamed this file to all lowercase "api-overview.html" (old URL still works), added indents to make more readable, re-ordered some subsections to be more in-line with release dates (earliest first), updated some tables for JDK 1.1 release.
21Feb97 - Java Management - Changed Java Management implementation dates to "TBD".
21Feb97 - Java Commerce - Changed early implementation date to Q1 1997.
3 Mar97 - Java 2D - Made the Java 2D API specification available.
10Mar97 - JNDI - Added Java Naming and Directory Interface.
27Mar97 - Java Management - Released the Java Management early acceu3 ilp]ìH7˜3Øon.
31Mar97 - Java Commerce - Changed early implementation date to April 1997.
31Mar97 - Java Server - Corrected final implementation date to Q2 1997.



Page maintained by writer: Doug Kramer
For comments or suggestions about specific APIs, please see JavaSoft email addresses


Copyright © 1996 Sun Microsystems, Inc., 2550 Garcia Ave., Mtn. View, CA 94043-1100 USA. All rights reserved. 
Contact the Java developer community via the comp.lang.java.* newsgroups
or JavaSoft technical support via email to email addresses.
Send questions or comments about this web page to API writer
Send questions or comments about this web site to