Java Imaging Code Unleashed

Sun Microsystems posted new projects to its
developers’ site today that the company says will help improve Java-based graphics across multiple platforms.

Java Advanced Imaging (JAI) and JAI Image I/O Tools are now available on Sun’s java.net for download. Sun said the projects simplify the way imaging applications are made and where they are played — from thin clients to workstations.

The imaging technology also lets developers with portable image processing applications. Initial target development areas include
the mapping, medical, commercial, network and government imaging
markets.

The company said this round of releases helps it
infuse the ecosystem with the chance to contribute directly to code
design and build on it.

“Already there have been breakthrough implementations using JAI, such
as the science activity planner for the Mars Exploration Rover. We know
that with the input of the entire community, the boundaries for JAI are
endless,” Blake Connell, group product marketing manager at Sun, said in
a statement.

Brian Burkhalter, lead architect for the JAI API, said
the projects require a compatible J2SE platform but are
able to support micro-level devices as a server-side component via
innate network-imaging constructs, Web services and the like.

The API includes a J-Desktop integration component, as well as a
standard interface for cross-platform imaging. The API version needs a
Java Runtime Environment (JRE) version 1.3 or higher, while the I/O
Tools need version 1.4 to run. Sun said the technology also allows the
same application to be delivered to multiple platforms without source code
changes. The software release even includes simplified programming tasks
and increased code reuse.

“Any tool that supports an ‘Ant’ build can be used to
build the projects wherever a compatible JVM [Java Virtual Machine] is
available, and then be used to develop applications and debug them using
the IDE,” Burkhalter told internetnews.com. “Native components
are provided for acceleration on Solaris, Linux and Windows, but JAI is
fully functional without this native support, as is JAI Image I/O for all
but one of its supported image-data formats.”

The download also supports enhanced client-server imaging through a
network-centric architecture and the media capabilities of CPUs.

“A developer would check out from the CVS [concurrent versioning system]
repository each of the two projects called ‘jai-core’ and
‘jai-imageio-core,'” Burkhalter said.
“Within each project the Apache Ant build tool would be used to compile
the source files and build the binaries/jar files.

“These binaries are
the same as those provided in the standard distributions that Sun has
been providing to date from java.sun.com,” he continued. “Therefore for use with an application, the developer would need simply to install the new binaries
into the same locations occupied by the binaries obtained from the
standard distribution.”

Just as important to JAI’s APIs, the JAI Image I/O is a pluggable
framework for reading, writing and transcoding image data and metadata.
Reader-writer plug-ins are supplied for the Bitmap (BMP), Joint
Photographic Experts Group (JPEG), Revised Lossless JPEG (JPEG-LS),
JPEG2000, Portable Network Graphics (PNG), Portable Anymap (PNM),
Uncompressed raw image data (Raw), Tagged Image File Format (TIFF) and
Wireless BMP (WBMP) image formats. In addition, Sun said a writer
plug-in is supplied for the Graphics Interchange Format (GIF).

Already JAI is central to the design of Lockheed Martin’s Web-based
Electronic Light Table (WebELT), which improves viewing capabilities and
higher fidelity image resolution for browsers like Firefox, Netscape and
Internet Explorer. Sun said JAI is also a central component of NinJo, a
configurable client-server application framework and visualization
workstation that uses layers to add special functionalities that process
and display a range of meteorological data.

Sun has been rolling out bits and pieces of its projects to java.net
since its launch in 2003. The company recently posted the new Java 2
Platform, Standard Edition (J2SE) release (code-named Mustang)
project, which opened snapshots of the next release to the developer
community for early review and developer involvement.

News Around the Web