Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
The WORA Battle
The WORA Battle

Write once, run anywhere" is probably the single-most repeated description of what Java is supposed to be about. It has been one of the cornerstones of Java's massive edifice of hype. However, like all hype, there's both truth and fiction to WORA.

The truth is that Java offers true cross-platform binary compatibility via the Java Virtual Machine and a rich set of standardized class libraries. Java has provided the ability to take an application from one platform to another without so much as recompilation like almost no other language or programming environment.

The unfortunate reality of WORA is that without a JVM and a set of associated libraries (which contain platform-specific native code), your Java bytecode isn't going anywhere. This is partly offset, of course, by the fact that for most operating systems, the OS vendors are quite willing and able to supply at least one, if not more, different JVMs for their platform. For example, at least four different JDKs are available for Windows (one each from Microsoft and IBM and two from Sun) and multiple JVMs from multiple companies. But if you're using something off the beaten track, like BeOS, you're out of luck.

The other unfortunate side effect of the WORA hype is Java's ill-fated inclusion in popular Web browsers, namely Netscape Navigator and Internet Explorer. It's true that Java's rapid explosion in popularity is due largely to the wide exposure Java obtained by being bundled into the one piece of software that just about everyone has on their computer, the Web browser. Unfortunately, as Java's abilities have grown through new features and new libraries (like Swing and Java2D), the ability to deploy real Java applications via browsers hasn't kept up. Even more unfortunately (and in my humble opinion here lies the real problem), this fact is virtually unknown to a lot of Java programmers, developers, architects and development managers. Somehow the true power of Java's write once, run anywhere abilities has become misunderstood to mean "we can ignore deployment problems ­ just run it as an applet!" In case I'm not being clear enough here, let me make it clear ­ applets don't work. Not for real applications.

The true power of Java becomes apparent when you look at real distributed application architectures using toolkits like Jini and JavaSpaces. JavaSpaces lets applications post not only data to a space shared by multiple distributed systems, but also code ­ it's a generic system that allows clients and servers (if those terms even mean anything in the context of applications written using JavaSpaces) to dynamically request just about anything. Jini is more than just a set of Java APIs, it's a vision of connecting devices together, and letting them discover each other independently and share code and data seamlessly. JavaSpaces itself is built on top of parts of Jini. In a recent interview Bill Joy, chief scientist of Sun Microsystems, admits that the concept of mobile code and a vision of Jini were in their minds when Java was originally directed onto the Web, back in '94 and '95. The concept of applets in this context is a brilliant marketing move, exposing everyone to Java and generating a huge amount of excitement. But realistically, without a mechanism for caching code and doing version management, you can't write a real application using applets. If you have a high-speed network and a small number of users, sure, they won't mind downloading a few hundred kilobytes of code (or more) every time they want to run the application. But once you have a serious number of users, a realistic, overstressed LAN and applications that are moving into the range of megabytes in size, the applet model just breaks down. Not to mention the incompatibilities between different browsers' Java implementations, making it difficult to do things like accessing the local disk or printing. And what about remote users, who are connected via low-speed links or who may spend significant periods of time completely disconnected from the network? There's a long list of problems.

None of this would matter much if no one was trying to use applets. But people are. All too often I'll be talking with a Java developer or reading a post on one of the Java newsgroups or mailing lists and I'll hear (or read) something that starts like this: "I'm having trouble with my applet. It's 947 Kb and it doesn't appear to be printing the Swing components correctly under Internet ExplorerŠ." There's probably a solution for this developer's problem, but I think it's more than just another problem ­ it's a symptom. The fact is, it's hard to deploy software. Getting applications from the hands of the development team to the hands of hundreds, thousands or tens of thousands of users is a really hard task. Which is why so many developers cling to applets in the face of so many problems ­ they're looking for anything to help them with the problem of getting applications out and kept up to date on a regular basis.

The real solution is to use a more tried-and-true deployment technology, like automatic installers, or a more sophisticated enterprise-scale application deployment solution. Unfortunately, just as deployment is often the last thing that developers think about, it's one of the last major issues that has yet to be solved for the Java community at large. "Write once, run anywhere" may be true, but getting there is still half the battle.

About Ethan Henry
Ethan Henry is manager of Training Services and a former product manager at Sitraka. He has been involved with Java technology since 1995 as a Java instructor, a Java developer, and a "Java Evangelist." Ethan has written a number of articles on Java technology and has spoken at numerous conferences, including JavaOne.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
Swisscom, the Swiss telecom, is going into the cloud business. Its subsidiary Swisscom IT Services AG has signed up with Red Hat as a Certified Cloud Provider and launched a public cloud Infrastructure-as-a-Service (IaaS) cloud targeting enterprise-class customers primarily in ...
Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP)....
In a surprise move on Tuesday, January 10, Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make ...
Rackspace Hosting, the service leader in cloud computing, on Thursday announced its acquisition of SharePoint911, an industry leader in SharePoint consulting, training, and "JumpStart" services within SharePoint. The unification of both companies provides capabilities to deliver ...
CloudLinux, Inc., on Thursday released CafeFS 3, a virtualized file system for shared hosters that cages each customer within its own virtualized file system. CageFS becomes part of CloudLinux OS at no additional charge. CloudLinux OS, the only commercially-supported Linux OS m...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE

Breaking Cloud Computing News

ANN ARBOR, Mich., Feb. 16, 2012 /PRNewswire-USNewswire/ -- In recognition of a $15 million gift t...