TURBO-CHARGING CLIENT-SIDE PERFORMANCE
JavaTM 2 Platform, Standard Edition to deliver unparalleled client-side performance and significant functionality gains
by Jon Byous
November 15, 1999 -- The fastest JavaTM platform performance ever is now available for
download,
and is coming to your mailbox from
America Online (AOL), thanks to an agreement between Sun and AOL
to deliver the Java Runtime Environment on the AOL 5.0 CD-ROM.
With a comprehensive client-side distribution strategy in place,
Sun is putting the finishing touches on this
super-high-performance client-side release of the Java 2 Platform,
Standard Edition (J2SE).
In addition to addressing the calls for faster client-side
performance, Sun's design goal for the next release of J2SE
includes refined deployment capabilities, stronger
functionality, and more stability.
All of that, and more, is here now in the beta release and will have its
final release early in 2000. For many developers, it's worth the wait. The
newest version of J2SE technology, v 1.3, is expected to deliver
momentous performance gains and improved Web deployment for enterprise-grade,
client-side applets and applications. And just about everything else
developers have been asking for.
From Basic Functionality to Extreme Performance
| | AOL has shipped 100 million CDs with the JavaTM 2 Platform, Standard Edition (J2SE) Java Runtime Environment |
| | More than 3.6 million users have downloaded AOL 5.0, which
includes the J2SE Java Runtime Environment |
|
Java technology running on the client, or desktop, has made
dramatic improvements since the birth of the Java platform and
is playing a key role in enterprises today, particularly in
intranet and business-to-business applications.
The biggest growth areas for Java technology on the client today
are in business communications over intranets and the Internet.
Major corporations are having great success developing and
using client-based applets, which provide new services
and functionality more quickly by avoiding the long development cycle of
traditional programming languages.
At the most basic level, the J2SE platform gives client-side users a wide
range of features and capabilities that set it above alternative
development languages:
- Graphically rich user interface (vs. HTML)
- Local data manipulation (vs. HTML)
- Cross-platform compatibility (vs. ActiveX and C++)
- Extreme security (vs. ActiveX)
- Maintainable code (vs. JavaScriptTM)
- Web deployed applications (vs. C++)
From a broader perspective, the success and adoption of J2SE and continued
innovation and improvements illustrate a more realistic picture
of the state of the Java platform on the client: technologies
such as the Java Plug-In, the Java HotSpotTM Client Virtual
Machine, Java Foundation Classes, the Java Media Framework,
and XML data integration are converging to
enable enterprise customers to deliver mission-critical,
client-side Java technology-based applets and applications, both on the Internet
and in business-to-business e-commerce solutions.
What's New in the JavaTM 2 Platform, Standard Edition v 1.3?
Sun has made spectacular improvements in J2SE v 1.3 technology
to improve its performance and simplify Web deployment.
Raw Speed -- Delivered
On the performance front, Sun has made several big advances.
Client-side users now enjoy the speed advantage of the
new Java HotSpot Client Virtual Machine. It uses the same
underlying technology as the current Java HotSpot Server Virtual
Machine, but has been tuned for client performance through a
new client compiler. The result is much faster thread handling for improved
scalability and rapid memory allocation for objects decreasing
J2SE platform's RAM footprint, and the platform has gained a much more
efficient garbage collector. All of these enhancements spell
speed for the desktop user.
For Graphical User Interface (GUI) performance, the Java Foundation Classes
and Project Swing (JFC/Swing) libraries have been super-tuned to enhance
scrolling speed. The GUI components that developers use to create tables and
frames for their applications have also been improved. For example, JInternalFrame
performance has been boosted, and JTable now renders much faster and offers
better scalability.
Also, the Abstract Window Toolkit (AWT) repaint batching improves performance
and the perceived user experience, and even the Java 2DTM API has been optimized for speed.
How Fast Is Fast?
The numbers are impressive. Compared to Sun's internal
benchmarks for JDKTM v 1.2.1 software, the new performance improvements
deliver a 40-percent reduction in start-up time, a 25-percent
reduction in memory footprint (about a 3-to-4 MB reduction for a
typical JFC/Swing technology-based application), and a 60-percent faster raw Java Virtual Machine speed.
Some corporate users who have tested J2SE v 1.3 performance say
they would be satisfied to have their servers perform this well.
NetBeans vice president of development Ian Formanek says, "Client-side
performance is notably enhanced with JDK 1.3. The user
interface is extremely responsive and memory requirements have
dropped significantly."
NetBeans' cross-platform integrated development environments
(IDEs) enable developers to work on the platform of their choice
with no mismatch between the development
environment and the developed application. J2SE v 1.3 software allows
NetBeans' own developers to be much more productive in creating
such a feature-intensive product as an integrated development
environment.
Easy Web Deployment -- Done
The Java 2 Runtime Environment, Standard Edition (JRE) includes
the Java Plug-In software, which means the J2SE platform v 1.3
can be used in most
Microsoft Windows-based versions of Microsoft Internet Explorer and
NetscapeTM Communicator right now.
For v 1.3, two new features make Web-based applet deployment
faster and more flexible:
Applet Caching lets you deploy applets that remain on a local
hard drive until updated. It eliminates the need for users to
re-download large applets when making return visits to
the same Web page.
Optional Package Installation lets you deploy Optional
Packages (previously known as Standard Extensions) automatically.
Optional Packages can be hosted on internal networks or across
the Internet.
JavaTM 2 Platfrom, Standard Edition: A Development Kit and a Runtime Environment
The new J2SE platform is the premier platform for building and deploying
network-centric, enterprise-grade applications and applets. Developers
are urged to upgrade to J2SE v 1.3 software, which includes two software packages: the Java 2 Platform Software
Development Kit (SDK), and the Java 2 Runtime Environment (JRE).
The SDK is the primary platform used by developers to create Java technology-based
applications and applets. There have been more than one million
downloads of the Java 2 Software Development Kit so far.
The JRE enables users to run Java technology-based applications and applets on
top of their various operating systems. It is freely
re-distributable and is bundled with applications and
applets.
When Will All This Be Available?
The first customer release (FCS) ship date is planned for the
first quarter of calendar year 2000.
Currently, J2SE v 1.3 software is in beta and is available via
Sun's Java Developer ConnectionSM Web site.
AOL Takes JavaTM 2 Platform, Standard Edition to the Streets
On June 16th, 1999, Sun announced an initiative with America Online (AOL) to
support the current shipping version of J2SE technology in their Web clients
by including the JRE.
AOL now includes support for the Java 2 platform in its current mass
CD-ROM shipment of AOL 5.0.
100 million AOL 5.0 CDs have already gone out in the mail to U.S.
users who can simply double-click to install the new JRE and
thus be able to run the most advanced applications faster
than they ever imagined. Worldwide distribution is just around
the corner. In addition, anyone not on the AOL mailing list can
quickly download the JRE from the Java Developer Connection area of Sun's Java
technology Web site.
The New Heart and Soul of Java 2 Platform Performance
The beta release of the Java 2 Platform, Standard Edition v 1.3
is a significant upgrade release of the Java 2 platform. It
delivers remarkable client-performance gains and improved Web
deployment for enterprise-grade, client-side Java technology-based applets and
applications. Here are the key components of its success.
Java Plug-In Software
Released in April, 1998, Java Plug-In software enables
enterprise customers to run applets or JavaBeansTM architecture-based components
on their intranet Web pages using Sun's JRE instead of
the Web browser's default virtual machine. This improves
application consistency and reliability when running applets.
With the release of the Java 2 platform, the Java Plug-In
software is now bundled directly with the JRE. Sun's release of
the Java Plug-In software successfully addresses developer concerns over
browser incompatibilities and lag-time in virtual machine
support.
Java Media Framework 2.0 API
The Java Media Framework (JMF) 2.0 API is an optional package to the
Java 2 platform that allows developers to easily
incorporate audio and video into applets and applications.
JMF 2.0 technology adds media capture, compression, transcode and
transmission capabilities on top of the flexible playback
features provided in JMF 1.0 API, and it supports important media
types and codecs like MP3, Flash, and IBM's HotMedia.
This optional package was co-developed with IBM. The beta
release of JMF 2.0 API was posted on August 16th, 1999, and the
final release is expected to be available at the end of November.
Java Foundation Classes/Project Swing Technology
The Java Foundation Classes (JFC) API -- a comprehensive set of
graphical user interface (GUI) components and foundation
services based on the JavaBeans component model -- provide great
power and flexibility to developers in creating the look and
feel of Java technology-based applications. The JFC extensions first shipped on February 25, 1998, and will be included as a core component with the J2SE
v 1.3 release.
The JFC API also is known for bringing two-dimensional functionality to
the Java platform. Project Swing components, which were introduced in
February 1998 as an external library to the JDK
1.1. software, are written in the Java programming language without
window-system-specific code. This greatly improves ease of
development of client-side applications while at the same time
providing consistent appearance and behavior of client-side
applications across different operating systems.
Java Technology and XML
Sun led the effort to create the eXtensible Markup Language
(XML) and is now leading the community effort to deliver
first-class XML support in the Java 2 platform. XML and the Java
2 platform are a powerful combination: XML provides portable,
reusable data, and the Java platform provides portable,
reusable, and maintainable code. In combination, Java technology
and XML create a powerful platform for building open,
standards-based, client side e-commerce applications.
|
Java Community Process
The JavaTM Community Process is Sun's industry-participative,
collaborative methodology for evolving the Java platform. Here's how the
process works.
Any company, organization, or individual who has signed a Java
Specification Participation Agreement (JSPA) can submit a Java
Specification Request (JSR), which is a request for new
or additional functionality to the Java platform.
Once the JSR is submitted, the following checks are made:
| | Does the functionality already exist? |
|
| | Is there an initiative already underway to create the functionality? |
|
| If the JSR passes these checks (and all of them have to date), the JSR proceeds through the JCP, which involves the following steps: |
|
| | An expert group is formed out of parties who respond to a "Call for Experts." This group is responsible for writing the Specification. The leader of this group, usually the individual who submitted the JSR, is responsible for developing consensus within the group as well as rendering tie-breaking decisions when consensus can not be reached.
|
|
| | Once the Specification
has been drafted and gone through Participant Review (review by
the 240+ companies and organizations who have signed the JSPA),
the Specification is posted for public review and comment. |
|
| | Once the feedback from the public review is incorporated and/or responded to, the first draft of the specification is posted. |
|
| | Work begins to produce a reference implementation and compatibility tests. When finalized, these are also posted. |
For more information on Java Community Process see
http://java.sun.com/jcp.
|
Through the Java Community Process, several initiatives are
underway to simplify the creation and maintenance of XML-enabled
applications written in the Java language. Two examples of these initiatives are a Java
technology-based XML parsing optional package that will enable applications to more easily read and manipulate XML documents,
and an XML data-binding facility that will dynamically bind XML
content and Java objects, making it simple for developers to
program in XML and Java technology. Moreover, JavaServer PagesTM technology
can be used to generate and "consume" XML documents between
servers and clients.
Better Security
Security of communications is critical for successful Internet operations.
J2SE platform's security capabilities are extended by three important
optional security packages that serve to protect against a range of Internet
threats. These security features include the Java Secure Socket
Extension (JSSE), the Java Authentication and Authorization Service
(JAAS) and the Java Cryptography
Extension (JCE).
JSSE is a Java technology-based implementation of the popular
Secure Sockets Layer (SSL) application
and provides for the integrity, confidentiality and containment of
Internet communications.
The Java Authentication and Authorization Service is an important
component of the overall Java platform security architecture. It is designed to
provide coverage for both authentication and authorization for the Java
language. As such it will complement the other elements of the Java
platform security
architecture, including the fine-grained access control model, cryptography
capabilities and secure socket communications.
Cryptographic techniques allow Internet users to communicate secretly
to ensure the privacy and integrity of their communications.
This is critically important due to the new risks associated with
Internet communications. Secure
communications, e-commerce operations, data storage, authentication, and
non-repudiation of activities require cryptographic capabilities.
Non-repudiation is of particular importance in business applications
because it ensures that a party cannot claim that a transaction did
not
happen. The need for cryptographic capabilities is addressed by the Java
Cryptography Architecture (JCA), which must be divided into two segments,
core
Java 2 Platform, Standard Edition (J2SE) and JCE, due to practical
considerations resulting from U.S. export regulations.
Widely used RSA digital signatures and associated certificates are now
supported directly in the J2SE platform via the Java Cryptography
Architecture. This support, along with the integration in the J2SE technology
JAR (Java Archive) signing tool, allows developers to sign their applets and
applications for safe installation by end users, who can verify the
creator of the applet or application through certificates installed in
the browser.
Additionally, the Jarsigner tool can now verify Netscape-signed JAR
files allowing users to securely receive files sent from Netscape
browsers.
Customers Go for the Early Advantage
Many of Sun's Java technology customers have been involved in
testing the beta release, and they aren't hesitating to put J2SE platform v 1.3 to work. Following are two examples.
|
|
The browser's Java technology-based GUI makes it "run like a dream" says Object
Design's Andy Marphy.
|
Building Their Own Browser
Object Design makes a wide variety of business-to-business and
business-to-consumer applications, including
supply-chain management, Web e-commerce, enterprise information
portals, knowledge management and Web-based marketplaces.
Their challenge was to build a visual browser for their object-oriented database. Their ObjectStore Java technology-based browser will be a
visual browser for inspect/queries on their database.
Object Design is currently running JDK 1.2.2 and JDK 1.3 beta software,
and say they are impressed with the Java HotSpot Client Virtual Machine performance as well as the evolution of the JFC/Swing Library.
The big advantage for them is developing a set of GUI tools
for multiple platforms with the same code, as well as ease of use.
"Having our GUI Java application run like a native
code application is a dream that became reality," says Object Design's Ivan Pedruzzi. "We believe
the J2SE v. 1.3 software will be one of the keys of our success."
Better Trouble Ticketing
Visionnaire is a consulting and services company specializing in
software development, training, product support, mentoring and general consulting. Their area of expertise is in CORBA and
telecommunications, and they are the official representative of
the Object Management Group in Brazil. They are also partners
with RogueWave and Inprise.
Visionnaire's first challenge was to create a Java technology-enabled
customer-care product, Trouble Ticket, for telecommunication
companies.
Java technology helped them on both client and back-end with
improved productivity, distribution convenience, and vendor
independence. Visionannire says they are excited about the possiblities of J2SE
v 1.3 software. They say they intend to push each of these critical
parameters and expect to see greater client satisfaction and corporate
profitability.
See Also
JavaTM 2 Platform, Standard Edition
(http://java.sun.com/jdk/)
ObjectStore
(http://www.odi.com/objectstore/)
Visionnaire
(http://www.visionnaire.com.br/)
About the Author
Jon Byous has been writing about technology -- from chips to
mainframes -- for twenty years, working for Sun, Cisco, Oracle,
Netscape, Quantum, and dozens of smaller tech firms. Jon has written
over 25 articles about Java technology, a passion of his, for Sun's
Java technology Web site.
|