Compared to the Java Store, Apple’s iPhone App Store could be just a “rounding error”, according to James Gosling, the creator of the Java language
Sun Microsystems’ new Java Store could be so successful it will make Apple’s App Store irrelevant, according to James Gosling, the creator of the Java language.
If the Java Store realises its its potential it will make Apple’s App Store look like a “rounding error,” said Gosling (pictured), in an exclusive interview with eWEEK. With more than one billion desktops and devices running Java, applications delivered through the Java Store could dwarf those deployed through Apple’s popular App Store, said Gosling.
“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 will let users find and purchase Java and JavaFX applications, and will create new revenue opportunities through the sale of content, said Sun officials.
The Java Store, created in JavaFX, will automatically be delivered to end users via the Java Runtime Environment (JRE), so more than 800 million worldwide desktop Java users will soon be able to securely discover and purchase Java applications and content, officials said. The Store contains personal productivity, business, social graph and entertainment software, which can be installed by simply dragging them onto the computer desktop.
“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.”
Sun is still considering several different models for payment and licensing, and has built a license management server that supports a variety of approaches, in support of Gosling’s preferred model: “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,” said Gosling. “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 virtualised 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 uses a multitier database architecture, and catalogue content is cached in-memory, with cache-coherency maintained across all the cluster Glassfish instances, Traversat said. A ZFS file system is used to backup the in-memory cache, and make it persistent. “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 staged on a content delivery network for maximum scalability and reduced 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.”