Original Page[1]
[IMAGE][2]
Java gets new APIs
Standards for media, security, commerce, and connectivity promise to
drive Java into the enterprise
Summary
Although Java may be a great language, writing a large-scale
program with support for security, multimedia, and access to
enterprise data has been a time-consuming task due to a lack of
standardized APIs. Developers have had to implement such support
in their own way. To help drive Java into the enterprise,
JavaSoft has announced several groups of APIs designed to let
software developers write applications that can easily interface
to other applications supporting the same APIs. The goal: make
it easy to create large-scale commerce, multimedia, telephony,
and database applications that share data with other
applications across the Internet.
[IMAGE][3]
I n an effort to expand the utility of Java, JavaSoft announced at
JavaOne plans to add a set of applications programming interfaces
(APIs). A number of these will be added to the core Java machine, while
others, such as 3-D geometry and telephony, will be optional
standardized extensions. These APIs will make it easier for developers
to create applications that take advantage of a common framework for
commerce, multimedia security, and enterprise connectivity.
"The Java industry has asked us for a roadmap that shows Java's smooth,
open evolution from a new object-oriented programming language to a
complete programming and operating environment," said Alan Baratz,
president of JavaSoft. "We've defined the core APIs that will be basic
to the highly compact Java platform that will be embedded in the
industry's leading operating systems.
"In addition, we have defined Java Standard Extension APIs -- standard
because they are fully specified and documented to promote consistent,
universal usage; extensions because they're additions to the core Java
platform. Each of the Java Standard Extension APIs will maintain full
compatibility with the Java platform as it moves forward."
Six sets of APIs
There are six sets of APIs. The Java Commerce, Java Security, and Java
Enterprise APIs are considered core APIs. The Java Server and Java
Management APIs will be standard extensions. The Java Media API is a
mixture of core extensions for 2-D graphics and audio and standard
extensions for 3-D, video, and telephony. All of the APIs will be
available for comment and review by the end of the year, except for
telephony, animation, and 3-D geometry, which are due next year. All are
expected to be finalized by the end of 1997.
Although JavaSoft developed some of these APIs on its own, most are the
result of a partnership. "We identified a small group of industry
leaders and then worked closely with them to define a draft API, refine
it, and get feedback from them," said Stuart MacMillan, manager of
strategic alliances and acquisitions at JavaSoft.
The Java Media APIs are designed to make it easier to deliver multimedia
over the Internet. Intel Corp. and Silicon Graphics assisted in the
development of a media framework API to coordinate the display of audio,
video, and MIDI. Intel also is working with SGI on the 3-D graphics API
and with Macromedia on the animation API.
'Nerd War' demos APIs' power
At the show, Intel demonstrated the power of these extensions with a
number of games played on the Java operating system. In a game called
Nerd War, which was similar to Mortal Combat, two nerds tried to punch
each other and made wimpy noises when hit. However, even though the demo
ran on a Pentium, the graphics, animation, and speed were not at the
level of a Nintendo game box.
Alan Holzman, technology manager for strategic partnerships at Intel,
said the media framework will allow users to do full audio and video
streaming. With Intel's RSX technology, users also will be able to
listen to 3-D audio. Programmers will be able to create applications
with moving backgrounds and characters and a moving foreground. Intel is
scheduled to deliver the API in the fourth quarter of this year, and it
will be the first implementation for Microsoft Windows.
Adobe is building the 2-D API around its Bravo document imaging system.
This will provide a library of scalable fonts and enable a variety of
imaging applications over the Internet. However, as functions are added
to the Java core, the risk of slowing down everything with the overhead
increases.
"The architecture group is sensitive toward that, but there still needs
to be a base functionality built into it," said Bryan Lamkin, director
of graphics products at Adobe. "The nice thing about Java is it can go
out and get what it needs. Many of the technologies of Bravo came after
hours of debating that base set. We are still very confident that the
footprint of the Java virtual machine will be much smaller than desktop
operating systems."
Lucent Technologies is collaborating on the telephony APIs. These will
enable Java applications to interact with the phone system to place
calls, automatically identify incoming calls and retrieve records, and
interface with voice mail systems.
Java Enterprise APIs will allow Java applications to be integrated with
enterprise database and legacy applications. JDBC supports connectivity
to databases. Java IDL provides an interface to the Object Management
Group's CORBA architecture. Java RMI supports remote method invocation
between two machines running Java. All three of these APIs are now
available in early release form.
The Java Commerce APIs will allow secure commerce on the Web. The
JavaWallet will provide a purchasing framework for consumers to buy
goods and inventory their money and purchased items. The payment-service
API will process payments. The merchant APIs will provide shopping-cart
and billing capabilities to vendors.
The security APIs will support key management and encryption. They will
set an abstract layer between applications and the cryptography, so that
developers or users can plug in the cryptography and key-management
algorithms of their choice. This is sure to open up options for
international software vendors who have always had to water down their
security software for export.
Using the security APIs, a vendor could write the application once and
then offer the encryption as an option. Although the software would not
ship with the encryption included, the standard Java interface into it
would make it easy for an international buyer to plug in a Java
encryption module from an overseas vendor.
The Java Servlet APIs are the building blocks of customized server
applications. The APIs provide a consistent interface into the server,
so that developers can create servlets that run on servers, much like
applets run on clients.
The Java Management API will allow Java applications to be integrated
into network management systems. Many leading network management system
vendors (including AutoTrol, Bay Network, BGS, BMC, Central Design
Systems, Cisco Systems, Computer Associates, CompuWare, LandMark
Technologies, Legato Systems, Novell, OpenVision, Platinum Technologies,
SunSoft, Tivoli Systems, and 3Com) have pledged support for the API.
SunSoft plans to implement the Java Management API in its upcoming
Solstice WorkShop for developing Java-based network management
applications. This API is scheduled to ship by the end of the year.
"SunSoft is committed to providing leadership in the industry adoption
of the Java Management API," said Terry Keeley, vice president and
general manager of the Enterprise Management Products at SunSoft. "When
we look back in two years, this announcement will be seen as a watershed
event in the history of enterprise management tools. Solstice WorkShop
will significantly expand the power of Solstice by delivering
platform-independent application integration to enterprise networks."
Although JavaSoft will make available reference implementations of all
of the APIs, companies will be encouraged to optimize implementations
for different platforms. "We want to see competition in the [non-core]
APIs," noted MacMillian. "For things in the core category, you can rely
on us to provide implementations." -- George Lawton
[IMAGE][4]
Resources
* Java API overview:
http://www.javasoft.com/products/apiOverview.html
* Vendors that support the JDBC API:
http://splash.javasoft.com/jdbc/jdbc.vendors.html
* JDBC spec and early access implementation:
http://www.javasoft.com/products/JDBC/index.html
* IDL spec and early access implementation:
http://www.javasoft.com/products/JavaIDL/index.html
* RMI spec and early access implementation:
http://chatsubo.javasoft.com/current
* Java commerce spec:
http://www.javasoft.com/products/commerce
* Java server spec:
http://www.javasoft.com/products/jeeves
* Java management overview and demo:
http://www.javasoft.com/products/JavaManagement
* Presentation on 1.0 Java APIs given at JavaOne in PDF format:
http://java.sun.com/javaone/pres/LibTech.pdf
* Presentation on JavaSoft's server framework and servlets in PDF
format:
http://java.sun.com/javaone/pres/ServExt.pdf
* Database API Presentation in PDF format:
http://java.sun.com/javaone/pres/DBAccess.pdf
* JDBC presentation in PDF format:
http://java.sun.com/javaone/pres/JDBC.pdf
* Presentation on media APIs in PDF format:
http://java.sun.com/javaone/pres/MedLib.pdf
* RMI Presentation in JDBC format:
http://java.sun.com/javaone/pres/RemOb.pdf
* Presentation on Java workshop used for creating network management
applications in PDF format:
http://java.sun.com/javaone/pres/Sunsoft.pdf
* Toget more background information on Intel's RSX technology, see
http://www.intel.com/ial/rsx/tech.htm
-----------------------------------------------------------------------
[1] http://www.javaworld.com/javaworld/jw-07-1996/jw-07-apis-lawton.html
[2] /javaworld/icons/blueline.gif
[3] /javaworld/icons/blueline.gif
[4] /javaworld/icons/blueline.gif