James Gosling, the creator of the Java language and champion of Sun Microsystems' new Java Store, says if the Java Store realizes its potential it will make the Apple's App Store look like a "rounding error."
James Gosling, the creator of the Java language and champion of Sun
Microsystems' new Java Store, says if the Java Store realizes its
potential it will make the Apple's App Store look like a "rounding
error."
In an exclusive interview with eWEEK, Gosling touted the benefits of
using Java as a deployment mechanism for applications and noted that
because of the vast amount of desktops and devices that run Java --
more than one billion -- the potential market for the Java Store could
dwarf that of Apple's popular App Store marketplace for iPhone
applications.
"The iPhone [App Store] is a rounding error compared to what this
could be," Gosling said. "The size of the market when you glue together
all of these domains where you can deploy Java applications, it's a
couple of billion at least."
At the 2009 JavaOne conference, Sun unveiled the first public
demonstration of the Java Store, giving attendees a peek at a
distribution channel for developers to directly connect with the more
than 800 million desktop Java technology users worldwide. The
consumer-facing storefront enabling the discovery and purchase of Java
and JavaFX applications is a network service offering what Sun
officials said they believe to be an unequaled distribution channel for
reaching customers and driving potential new revenue opportunities
through the sale of innovative new content.
The Java Store, created in JavaFX, will automatically be delivered
to end users via the Java Runtime Environment (JRE). More than 800
million worldwide desktop Java users will soon be able to easily and
securely discover and purchase compelling Java applications and content
through the Java Store. The Java Store contains personal productivity,
business, social graph and entertainment software organized in a simple
and intuitive user interface. The Java Store also allows users to
safely install applications by easily dragging them from the Java Store
directly onto their computer desktop, greatly simplifying the software
installation process.
"The nice thing about Java code is we can do managed deployments in
a way that you just can't do with other things," Gosling said.
Regarding the workings of the store, Gosling said, "The question is
not so much what is the structure of the engine, but what are the
policies that surround it that work the best for the developer
community."
And he noted that Sun is going through several different models for
handling payment for and licensing of applications from the Java Store.
To support what Gosling said was his preferred model, Sun has built a
license management server that supports a variety of approaches to
licensing applications on the store.
Said Gosling: "The one we built that I liked the most was one where
the software is always free to download, but the software and the right
to use are independent things. And what you buy at the store is not the
software; you buy a right to use. So you get a little license token.
And we built a license management server. So when you say 'buy that,'
what you get is a license token."
Meanwhile, Bernard Traversat, director of engineering managing the
Java Store working for Gosling, said the Java Store is deployed on
Sun's cloud computing infrastructure. "We are using a fully virtualized
environment (xVM) on OpenSolaris with multilevel of network and storage
redundancies," he said.
"We are using a cluster of Glassfish instances to horizontally scale
access to the Store catalog, support the warehouse developer portal to
ingest applications as well as providing HA failover capabilities,"
Traversat said. "The Store warehouse exposes all its capabilities via
REST-based APIs (Jersey) to access and manage content."
Moreover, the Java Store client uses these APIs to access and browse
content, Traversat said. "It's truly an end-to-end Java solution," he
said.
The Java Store is using a unique multitier database architecture,
for maximum scale and performance catalog content is cached in-memory,
cache-coherency is maintained across all the cluster Glassfish
instances, Traversat said. A ZFS file system is used to backup and
persist the in-memory cache. ZFS provides unique capability to quickly
mapped data in-memory via mapped IO channels (order of magnitude faster
than any database startup).
"DTrace enables us to determine access bottleneck with ZFS, with ZFS
we also can clone the entire database in a few seconds (yes seconds),
and we can use ZFS snapshots to easily checkpoint and rollover in time
the database if needed," he said.
And, "Finally we use MySQL for handling transactional operations
from the developer portal and data Insight collection telemetry,"
Traversat said. "Jar files are dynamically stage on a content delivery
network for maximum scalability and reduce latency. The Warehouse is
managing and controlling the packaging of apps. The Java Store is
generating the JNLP webstart packaging that is delivered to the
end-consumers, not the developer. This guarantees the safe delivery of
content as the store can enforce the right Java sandbox permissions for
executing an application on a consumer desktop."
For a full transcript of Gosling's comments on the Sun Java Store go eWEEK's Developing Stories blog. More information on the Java Store can be found at: http://store.java.com.
Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.