Janice Heiss Interviews Adam Bien about JavaEE and Cloud Computing
Janice Heiss has just published her recent interview with Java Champion Adam Bien on the Sun Developer Network. Adam is the author of Real World Java EE Patterns -- Rethinking Best Practices. He was named a Java Rock Star for his JavaOne 2009 session "Energy, CO2 Savings with Java Platform, Enterprise Edition and More: Project GreenFire".
Project GreenFire is a java.net project that aims to efficiently manage and control home heating to save energy. The project applies GlassFish, Java EE, EJB 3 timer service, JavaFX, SunSPOT, and more. Adam has deployed Project GreenFire in his own home, resulting in a 20-30% energy savings at present (his objective is to ultimately make the savings higher). While I wasn't able to attend Adam's prize-winning session at JavaOne, I did the privilege of speaking with him in a java.net Community Corner 2009 podcast.
Adam has an interesting point of view on cloud computing. In response to Janice's question "What is your basic understanding of how cloud computing works?" Adam said:
I see two unrelated concepts called cloud computing. The first one is related to grid computing, where parallelizable tasks are distributed to independent computing nodes and then aggregated to a consistent result... The other paradigm is a virtual, private or public, data-computing center with an accessible API.
These paradigms also differ in their usage models. Grid computing is intended to be used by a few power users who need a considerable amount of computing power. On the other hand, in cloud computing, significantly more users access the machines with relatively low resource utilization.
If you think about something like Amazon Web Services, this makes a lot of sense. Many start-ups use Amazon because it's an inexpensive way to "have" a data center that will scale rapidly if the need for that ever arises (they hope will happen, of course). Most of these start-ups are offering services to individuals, and the sudden increase in required computing power would come from their service suddenly catching on, becoming suddenly popular.
Meanwhile, most of the work I've done has been in scientific/engineering data centers, where we've deployed clusters of high powered machines to automatically process sensor data streams (for example, from satellites) and apply complex mathematical modeling algorithms, and simulations. That's the grid computing application. This type of processing could also be done in the cloud, if we wanted to do it that way. As Adam notes:
While these two models are conceptually opposite, the underlying technology could be very similar.
Janice and Adam go on to discuss the advantages and disadvantages of Java EE for the cloud, Rich Internet Applications (RIA) and cloud computing, and open source in the cloud. Adam closed with some comments on Java EE that many people might find surprising:
Java EE has become extremely lightweight. The whole GlassFish v3 EJB 3.1 container is smaller than one megabyte, can be dynamically installed and uninstalled, and is surprisingly "elastic." You can develop and deploy an application with only a few annotations.
Also, Java EE is supported by multiple application servers, so your application is not dependent on a single vendor. Since Java EE 5, applications have become portable as well: There is no vendor-specific code or even XML configuration required.
Moving your application from one server to another is not an empty slogan. Java EE is therefore more interoperable than the cloud itself and can be used as a lean abstraction layer between the bare cloud and your business logic.
Adam convincingly talked about the lightweight nature of modern Java EE in the Communtity Corner podcast he recorded with me at JavaOne. I think he's right about this.
As you can tell from the few snippets I've quoted here, every interview with Adam Bien yields a lot of very interesting, thought provoking conversation. Read Janice's complete interview with Adam for all the details.
In Java Today, Janice Heiss interviewed Java Champion Adam Bien on Java EE and Cloud Computing at JavaOne: "java.sun.com (JSC): What is your basic understanding of how cloud computing works? Bien: I see two unrelated concepts called cloud computing. The first one is related to grid computing, where parallelizable tasks are distributed to independent computing nodes and then aggregated to a consistent result. Frameworks like Hadoop, map-reduce algorithms, are an example of this approach..".
Peligri announces the Schedule for GlassFish v2.1.1: "The next public release in the GlassFish v2 Family is GlassFish v2.1.1. The key dates are: Hard Code-Freeze: Aug. 24; Release Candidates: Sept. 9 - Oct. 7; Release Oct. 28..."
John Rose reminds us that there are only 36 shopping days until the JVM Language Summit: "If you (like me) are someone who actually enjoys contemplating the details of how languages turn into bytecodes and thence into wicked-fast machine code... If you lose sleep wondering about the joint future of programming languages and managed runtimes (especially the JVM)... If you think VM and language designers can save the world from a dystopian future of multi-core computers with no software to run on them... Please read the enclosed Call for Participation! ..."
In today's Weblogs, Jim Driscoll points us to a New David Geary Article on JSF 2: "David Geary has the third of his three part series of JSF 2 articles up. If you're getting started with JSF 2, go check it out - lots of good information there."
And Arun Gupta describes how to Track your running miles using JRuby, Ruby-on-Rails, GlassFish, NetBeans, MySQL, and YUI Charts: This blog introduces a new application that will provide basic tracking of your running distance and generate charts to monitor progress. There are numerous similar applications that are already available/hosted and this is a very basic application. What's different about this ? The..."
In the Forums,
Paul Sterk posts an announcement in Update: wiki migration: "All, The migration of the GlassFish, OpenESB, Metro and Update Center wikis is scheduled for tomorrow afternoon. The exact time is yet to be confirmed, but is expected later in the afternoon, PT. Please complete your writes to the wikis by tomorrow at 1pm PT. I will send another email tomorrow confirming the times. I will also notify when the cutover is completed. In the meantime, please try the new wikis and report any problems to me. I have tested authn, edit/save, attachment upload/download and page navigation. All looks in order so far..."
chrjohnasks How to handle OpenMQ failover in MDB?: "Hi all, we are currently doing some test with the OpenMQ failover. We have two Glassfish nodes which each have their OpenMQ broker in REMOTE mode. With a stand-alone program we are sending 100 messages to a persistent queue where an MDB listens to. The MDB sends the message on to another queue. While the sending of the 100 msgs to the MDB is in progress we stop the broker that is used. Now there are a lot of Exceptions but once the failover process is done we see that not all messages were delivered. How should I react on such Exceptions? Should I try to resend the messages again? We found some examples..."
lynggaardis working with Jax WS (and Jax RPC) + security +weblogic 10.3: "I am migrating some webservices from weblogic 8.1 to weblogic 10.3, and I have some questions regarding security handling. In weblogic 8.1 we used a WSDL to java approach but in weblogic 10 we would like to use Java to WSDL and use annotations as much as possible. However I cannot figure out how to enable username+password token as webservice security. * I have found a weblogic annotation (which only works for JAX RPC not JAX WS), but I can not seem to find any standard annotation which specify security.. Have I looked the wrong places or is there none? ..."
aventuri has questions regarding Phoneme GPL java vm running on SH4 processor: "Hi guys, Jet is Avalpa middleware for interactive digital set top box. It's based on phoneme, the java virtual machine GPL licensed. Jet is actually using the PowerPc porting of the phoneme vm. Anyway, we recently started to evaluate, both technically and economically, the porting of Jet to a high definition System on Chip (SOC) running a SH4 CPU core. As a successful first proof of concept, as of today 29.7.2009, we are releasing, GPL v2 licensed, the missing files to have the latest phoneme svn compile and execute succesfully on the SH4 cpu. More info about this stuff here..."
The current Spotlight is the Alice Team Roundtable. Sonya Barry moderates a discussion with the Alice Team in this java.net Community Corner 2009 podcast, recorded at JavaOne: "Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Created at Carnegie Mellon University, Alice is a freely available teaching tool designed to be a student's first exposure to object-oriented programming..."
Our Feature Articles include an article by Jeff Friesen, Introducting Custom Cursors to JavaFX. In this article, Jeff shows developers how to leverage undocumented JavaFX capabilities to support custom cursors in versions 1.2 and 1.1.1. Meanwhile, Francesco Azzola's Integrating JavaFX with JavaEE Using Spring and Hessian Protocol shows how a JavaFX client can call remote JavaEE services using the Spring framework and the Hessian protocol.
The latest Java Mobility Podcast is Java Mobility Podcast 82: JATAF panel discussion: "Excerpts of the panel discussion for the launch of JATAF (the Java Application Terminal Alignment Framework) at JavaOne."
The latest JavaOne Community Corner Podcast is
Current and upcoming Java
- July 27-31: Java Power Tools - Wellington
- July 28: Cloud Computing: JClouds and JBoss Infinispan
- August 3-5: Enterprise Java with Spring Training Philippines
- August 3-7: Java Power Tools - Auckland
- August 6-7: Hibernate Training Philippines
- August 7-9: 2009 Central Iowa Software Symposium
- August 21-23: 2009 Central Florida Software Symposium
- August 23-30: WOWODC East 2009
- August 28-30: 2009 Research Triangle Software Symposium
- September 9-11: Java Power Tools - Canberra
- September 11-13: 2009 New England Software Symposium: Fall Edition
- September 14-16: The Ajax Experience
- September 18-20: 2009 Pacific Northwest Software Symposium
- October 5-9: Java Power Tools - Brisbane
- October 19-23: Java Power Tools - Sydney
- October 23: Strange Loop Conference - St. Louis
- October 24: Florida Linux Show 2009 Orlando
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
Archives and Subscriptions: This blog is delivered weekdays as
Today RSS feed. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.
Janice Heiss has just published her recent interview with Java Champion Adam Bien on the Sun Developer Network...