We have already covered some of these APIs in their early stages, specifically Java Database Connectivity (JDBC), Remote Method Invocation (RMI), and Interface Definition Language (IDL). The Java Core API constitutes all the classes and libraries used for everyday Java development such as the input/output routines, abstract windowing toolkit (AWT), the networking libraries, the utility library, and the applet library. These also were described in "Java gets new APIs", in the July issue of JavaWorld.
Java Beans is the API set for interoperability with non-Java object systems and portability mechanisms. Multimedia programmers are waiting for the Java Media API, which will help them build applications as amazing as the popular packages of today, such as Adobe Photoshop and Premiere and Macromedia Director.
The Java Server API is a toolset to help you create server-based applications to continue in the networked vision of Java. Likewise the Management API will help create network and software management tools.
The Java Commerce API will be an implementation and toolset for creating online commercial systems for transactions over the local network as well as the Internet. The group of Enterprise APIs help to integrate distributed computing and database systems into your applications. The security API provides tools for cryptography and secure communications within and beyond your applications. Finally, the Embedded API is a special set for implementing the Java environment within embedded circuits and systems such as telephones, manufacturing control systems, intelligent video and home entertainment systems, and maybe even the Talkie Toaster of Tomorrow.
Together these API sets form the future direction of Sun's platform-independent system. They cover most, if not all, areas of software development in the current and future markets. Sun plans to take Java to new heights, and CEO Scott McNealy's vision of Java-based components in every intelligent appliance of the future stands behind this. We begin humbly in this issue with a preview of the Java Beans API.
When Bogart said to Bergman in Casablanca: "The problems of two people don't amount to a hill of beans in this crazy world," he could not have been more incorrect. Of course, he probably wasn't talking about the problem of software portability in the computer industry. Off the silver screen, the problem of taking a piece of code in one situation and applying it to another presents a world of problems. Unlike movies such as Universal Pictures' Sneakers, in which one magical little box could decode just about any applied cryptographic techniques in existence, in the real world we have to deal with taking software black boxes, evaluating their code and capacity for reuse, and most probably writing a lot of new code to make them work in a different context.