Cloud Computing a Key Subtopic at JavaOne 2009
In looking at the personal Community One and JavaOne schedule Fabrizio Giudici recently posted, I was struck by the frequency of the the word "cloud" in his planned schedule. On Monday, June 1, at Community One, Fabrizio will be attending "Practical Cloud Computing Patterns." At JavaOne, he'll be attending "Google App Engine: Java Technology in the Cloud" (TS-3817) on Tuesday; "Continuous Integration in the Cloud with Hudson" (TS-5301), "Enterprise Build and Test in the Cloud" (TS-4230), and "Cloud Computing and NetBeans IDE Enable Army Research Lab's Next-Generation Simulation System" (BOF-4638) on Wednesday; and "Matchmaking in the Cloud: Hadoop and EC2 at eHarmony" (TS-5082) on Thursday.
What struck me about this was the fact that I was certain that cloud computing is not one of the "core" topic areas that are headlined in the formal JavaOne 2009 literature. If you look at the official list of JavaOne topics, you see:
- Rich Media Applications and Interactive Content
- Core Technologies
Where is the cloud in there? Well, it is there, actually, spread across multiple topics. For example, in the Rich Media topic:
... on the desktop the lines between local and network computing have grown increasingly blurry as content steadily migrates into the cloud.
Consumers have become increasingly comfortable letting their online activities move into the cloud...
And in the Services topic, you find:
The advent of cloud computing also offers core services such as identity, profile, social graph, etc. ...
In addition, cloud computing eliminates the need for companies to host and manage their applications on their own IT resources.
This topic area will address how the developer community can utilize SOA, Web-Oriented Architecture, Enterprise Integration, Open Services, and cloud platforms to more simply, rapidly, and economically build and deploy enterprise and consumer applications.
The cloud is also tucked into one of the subtopics listed for Services: "Web 2.0, Next Generation Web, and Cloud Services Platforms," which includes "Design & Deployment of Services in the cloud, including best practices for deploying services across mobile, desktop and TV Java Platforms." And the cloud is mentioned under "Cool Stuff" in the Services category:
New approaches such as ESB, SCA and Java Business Integration (JBI). Innovation in next generation web services and cloud platforms, clever application of technologies to craft new services, solutions or applications.
The hiddenness of cloud computing within the Services topic area may explain why the "Services" category didn't earn more votes in our poll last month that asked Which of the technologies highlighted at JavaOne 2009 is of greatest importance for the future of Java? In that poll, less than 5 percent of the votes were cast for the "Services" category. If I had put "Cloud Computing" into the poll instead of "Services", I'll bet we would have seen quite a different result.
Browsing the JavaOne 2009 schedule of sessions, there are about 10 sessions that have the word cloud in their title, including the very interesting sounding panel session "Cloud Computing: Show Me the Money" (PAN-5366). The panel members in this session are Jeff Barr (Amazon.com), Jeff Collins (Intuit), Adam Gross (Salesforce.com), Simon Guest (Microsoft), Gregor Hohpe (Google), Raghavan Srinivas (Intuit), and Lew Tucker (Sun).
So, perhaps cloud computing doesn't have a sufficiently significant presence at JavaOne 2009 to warrant it being one of the headline topics you'd select if you had to break down all the JavaOne content into just four topic areas. But, it's still one of the major topics that will be discussed at the conference.
And, surely cloud computing will kind of lurk in the background in many technical sessions where it is not explicitly discussed, since the cloud is where a lot of new technology will be implemented, especially by start-ups. For start-ups, constructing and maintaining a rock-solid, scalable data center of their own is a distraction from the more important focus on developing their core product or service. Hence, for start-ups, contracting services from a cloud provider makes a lot of sense. And since start-ups by nature tend to apply the latest technology, you can see that a lot of the new Java technology that will be discussed at JavaOne will end up being implemented on the cloud. At least, that's how I'd do it if I was starting a web-based business today.
In Java Today, Peter Karich provides a survey of Code Quality Tools in Java: "There are several tools to measure the code quality. The ones I have tried with a lot of success are: FindBugs (latest version 1.3.8) -- uses static analysis to look for bugs in Java code.This is a great tool, it discovered possible NullPointerExceptions and a lot more bugs in my projects. Sometimes I asked myself how this program could have discovered this 'complicated' bug..."
In memcpy() concurrency curiosities, David Dice recently worked on a problem involving http://blogs.sun.com/dave/entry/memcpy_concurrency_curiosities: "I was recently asked to diagnose a problem a customer was encountering that involved Java and the JNI getIntArrayElements() and releaseIntArrayElements() primitives. The outcome of the exploration was sufficiently interesting that I thought I'd mention it here in order that other JNI users might avoid the same pitfall. Briefly, the customer was running a highly threaded application on a machine with lots of available concurrency. The Java threads would repeatedly read..."
In Groovy in One Day, Anthony Goubard teaches Groovy in One Day": "After JavaFX, now let's have a look at Groovy. Note that I already had a quick look at it when 1.0 has been released and I wrote one of the XINS Web Services demo using Groovy. Installation: The Getting started guide page tells us to download the installer and set up some environment variables.The default install directory is..."
In today's Weblogs, John Ferguson Smart talks about his upcoming session at JavaOne: Getting Serious About Build Automation: Using Maven in the Real World: "This year, I'll be talking at JavaOne about Getting Serious About Build Automation: Using Maven in the Real World (TS-3941): Maven 2 is becoming increasingly popular in larger organizations looking to standardize and industrialize their build processes as well..."
Gary S. Weaver has been Peering into the Pit of Jar Hell: How Symlinks to Jars Can Make You Run Screaming: "Using symlinks to jars in order to save space at first sounds reasonable, but when you don't use proper version names, it is indeed a practice invented by the devil himself. How could it ever be justified?"
And Fabrizio Giudici looks ahead in Ten days to Community One and JavaOne: my talk and my plans: "In ten days the mother of all Java events will be held in San Francisco, anticipated by the Community One. As usual, tons of interesting speeches - completely involved in some heavy work, I was forgetting that you have to..."
In the Forums,
Shai Almog responds to a question Re: Stopping a Motion: "Hi Alex, without looking at the source code this can be pretty difficult. Motion.isFinished will return false when a motion is complete, you can theoretically derive a motion but I would advised against it. In LWUIT components we usually have one motion which we just replace if the user pressed a key hence the new destination takes over. See how this works in List.java where multiple key presses "slide" very nicely. We just replace the pointer instance of Motion which is more similar to your solution..."
chris_rvmasks how to Send User Credentials from WCF Client to GlassFish Services: "Hi All, Can someone please help me find a solution to the following problem? I tried looking online but none of the posts were helpful. Requirement: We have a system where WCF Client communicates to Glassfish Server. For each WCF request that is sent to the Glassfish webservice, we want to send the username and password from WCF Client (using WS* Standards) and then retrieve the username/password on the WSIT services so that we can perform our own authentication. Is this possible? If so, can anyone please provide the steps to do so asap? ..."
cballantyne is having problems with Glassfish v2 - JNDI - String or Properties or Bean: "Hi All, I am trying to do something that I thought would be quite straightforward but after a lot of googling and trying things I am getting nowhere. Maybe I am doing something stupid. I have about 20+ tabs open now with forum posts and articles showing different ideas. Basically we need to store Strings in JNDI for a number of application variables. I donÂ´t mind doing this via a separate JNDI entry for each String or a JNDI properties entry or a Bean with getters/setters for each property. I thought I might be able to use org.apache.naming.factory.BeanFactory out of the box but I keep getting the error "java.lang.IllegalArgumentException: [com.example.TestBean] is not an allowed property value type at com.sun.enterprise.deployment.ResourceReferenceDescriptor. checkType(ResourceReferenceDescriptor.java:492)"..."
This week's Spotlight is Janice J. Heiss's article The Developer Insight Series, Part 3: The Process of Writing Code. Janice talks to developers about the process of writing code: "Over the years, I've heard developers talk about their favorite code, funniest code, most beautiful code, how to write code, how not to write code, the obstacles to writing good code, what they love and hate about writing code, and so on. In the process, I've encountered many insights worth sharing. Parts One and Two of this series provided advice on how to write good code. In Part Three, developers reflect on the actual process of writing code, how it happens, what it feels like, and how they do it."
This week's java.net Poll refers to Project Vector, which Sun's Jonathan Schwartz blogged about last Monday. Our poll question asks: "Will Project Vector become the world's largest app store?" Voting is open through Thursday.
Our Feature Article is Protect Your Legacy Code Investment with JNA, by Stephen B. Morris. In this article, Stephen introduces Java Native Access (JNA) and demonstrates how it can be used to facilitate interaction between Java programs an native libraries, for example Windows DLLs.
The latest Java Mobility Podcast is Java Mobility Podcast 78: JSR 290 XML User Interface Markup Language, in which JSR 290 developers Natalia Medvedenko and Petr Panteleyev talk about JSR 290 and the new power it will give Java ME developers.
The latest JavaOne Community Corner Podcast is
Current and upcoming Java
- May 26 - June 3: Intensive JSF Training - May 2009
- May 29-31: 2009 Rocky Mountain Software Symposium: Spring Edition
- June 1-3: CommunityOne West
- June 1-5: Java EE Training Philippines
- June 2-5: JavaOne 2009
- June 5-7: Lone Star Software Symposium
- June 22-25: Jazoon'09
- June 26-28: 2009 Research Triangle Software Symposium
- June 29 - July 3: Java Training Philippines
- July 10-12: Lone Star Software Symposium: Austin
- July 17-18: Salt Lake Software Symposium
- July 14-26: Desert Southwest Software Symposium
- August 3-7: Java Power Tools - Auckland
- August 23-30: WOWODC East 2009
- September 14-16: The Ajax Experience
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.
In looking at the personal Community One and JavaOne schedule Fabrizio Giudici recently posted, I was struck by the frequency of the the word "cloud" in his planned schedule...