Java Technologies and the Future of Java (including Oracle)
This past week's java.net poll asked developers to select which of the Java technologies that are being highlighted at this year's JavaOne Conference is of greatest importance for the future of Java. Given the diversity of Java technologies, I'm sure the authors of the JavaOne Topics guide had a difficult time selecting names for collating the Java technologies, and surely there is overlap between the categories they came up with. Nonetheless, here are the categories, along with snippets of their definition of what technologies each category is intended to cover:
- Rich Media Applications and Interactive Content: Making the three-screen vision of unified experiences across computer, TV and mobile device a reality; Use of Scripting languages and tools, such as JavaFX; Tru2way, Blu-ray Disc, and other GEM-based platforms.
- Mobility: Core Java ME technologies; Java in wireless devices; related IDEs and emulators.
- Services: SOA platform and middleware; Web 2.0, next generation web, and cloud services platforms; techniques to support scalability and availability.
- Core Technologies: Java SE and Java for the Desktop; Java EE; Embedded / real-time / Java Card; customized tools; integration of new languages with the Java VM.
The results of the poll surprised me. 310 votes were cast, with the following breakdown:
Which of the technologies highlighted at JavaOne 2009 is of greatest importance for the future of Java?
- 39.0% (121 votes) - Rich Media Applications and Interactive Content
- 38.7% (120 votes) - Core Technologies
- 15.4% ( 48 votes) - Mobility
- 4.8% ( 15 votes) - Services
- 1.9% ( 6 votes) - Other
What surprised me was the relatively low vote totals for Mobility and Services. However, this could be in part due to the category overlaps. If you're working on applications for mobile and hand-held devices, you may also consider yourself to be working on rich media applications and interactive content, since today these types of applications are migrating to hand-held devices, they're no longer bound to the desktop. Likewise, if you're working on SOA and middleware, where scalability and high 9's availability are critical, you are certainly also working within the core technologies realm. In fact, I'd almost call "Services" an aspect of "Core Technologies"...
With the Oracle news, there has been quite a lot of discussion and concern about the fate of Java platforms and technologies that are not Data Center centric--technologies like Jave ME and JavaFX. Indeed, a year ago I was editor for two of BEA's developer sites when Oracle acquired BEA. (Hmm.. does Oracle ask "Where is Kevin Farnham working?" in deciding which company to acquire next???).
Anyway, at BEA the focus was clearly on SOA and middleware. But if you go to the front page of the Oracle Technology Network you'll find a link to the Embedded Developer Center, where you see links to products like the Oracle Database Lite Client for Windows Mobile 6 and Symbian 9. Yes, you can connect to Oracle databases from your mobile device! Then, there's also the Berkeley DB Java Edition, and an article describing how to develop code for Berkeley DB Java Edition and Android 0.9 Beta.
So, it's not like Oracle wasn't already moving into the micro world. Clearly, an understanding of the importance and future role of micro devices connecting to core services was already there prior to the Sun acquisition news.
If you visit Oracle's Java Developer Center, you find this page heading:
Oracle has been a leading and enthusiastic supporter of Java since its emergence in 1995. Today, Oracle is deeply involved in the EJB 3.0/JPA and JSF specifications and more than 100 other JSRs, as well as open-source communities such as Eclipse, Spring, Glassfish, and Apache.
Further down the page, you see links to JavaServer Faces, Rich Enterprise Applications, and Developing for the iPhone with Oracle JDeveloper and ADF.
My point is: yes, Oracle is known for its rock-solid database, which clearly implies a Data Center focus. But, I don't think this is any reason for concern that aspects of Java that are not Data Center centric are going to be ignored or even EOL'd. Oracle is a company that thinks long-term, from what I've observed. If anything, I'd think one of the reasons behind the acquisition of Sun is to extend Oracle's reach, with solid, already-proven technology, into the micro realm and other areas where they previously had little or no reach (server hardware being the obvious one). I think Oracle's objective is to span the breadth of technology, from the Data Center all the way out to the hand-held device that queries and receives content from that Data Center. If they accomplish this, won't Oracle's reach actually out-extend that of both IBM and Microsoft?
Another way of thinking about this: look at the Google Trends graph for java me, java se, java ee. As of April 2009, the search volume for Java SE is nearly twice that of the search volume for Java ME, and the search volume for Java EE is about 75% of the volume for Java ME. You can't tell me that Oracle isn't aware of the extent of developer interest in Java ME!
Anyway, getting back to the poll: I found the last week's results interesting, so this week's poll is a kind of follow-on. Again using the JavaOne 2009 technology categories as the answers, it asks "Which aspect of Java technology is the primary focus of your current work efforts?" Do let us know!
The latest Java Mobility Podcast is
Java Mobility Podcast 76: Sound of Motion, in which Vladimir Savchenko of Sound of Motion talks about their Java ME application that transforms their cycles into advanced cycling computer.
In Java Today, Danny Coward provides a JDK 7 update in JDK 7 watch: Milestone 3": "Even as The Planetarium was hearing
about its new landlord, it was good to see JDK 7 showing steady progress towards its milestones. The next one, href="http://openjdk.java.net/projects/jdk7/milestones/">M3, is
going to be the JDK7 Preview release for href="http://java.sun.com/javaone/">JavaOne. With the href="http://hg.openjdk.java.net/jdk7/jdk7/jdk/rev/93d1fbe001b8">inclusion
of SDP, and href="http://mail.openjdk.java.net/pipermail/jdk7-dev/2009/April/000504.html">early sightings of href="http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol">SCTP, and ongoing work href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6633275">forward-porting
SE 6u10 features into the JDK7 codebase, the next big thing to look
out for this milestone will be the integration of href="http://blogs.sun.com/theplanetarium/entry/planet_cast_one_jsr_292">JSR
Alexismp wrote about receiving More GlassFish v3 extensions from Jerome, Spring-flavored this time: "Applications using the Spring framework have always been able to run happily in GlassFish, be it v2 or v3. Now with GlassFish v3 approaching a final release, new opportunities are coming along. In a follow-up to last week's entry on managed OSGi bundles, GlassFish architect Jerome Dochez takes it a little further by implementing the GlassFish service using Spring beans and invoking it using a Java EE 6 webapp. All with no OSGi or Spring dependency whatsoever..."
And speaking of Spring, Jason Trump announced beet 1.4 beta 1 released - performance logging for Spring: "beet is a recently open-sourced library for logging performance metrics in a Spring-based Java application. Builders of Spring-based web or other multi-tier applications are the target audience. Beet's primary design goals are: 1. no code modification required for installation; 2. sensible default configuration; 3. strongly correlated performance event logging across application layers..."
In today's Weblogs, Kohsuke Kawaguchi announces that Hudson hits 1.300: "Hudson has reached version 1.300 last Friday. While it's not like this release is fundamentally different from any other past releases, it does feel like it is some kind of a milestone. The community continues to grow. We have around 1500 human-generated e-mails per month nowadays, with 7500/wk or so downloads of hudson.war..."
Terrence Barr posted Java ME Platform SDK 3.0 released ("Goodbye WTK, hello Java ME SDK", part 2): "A few days ago the final release of the Java ME Platform SDK 3.0 went live. This is a great new milestone for the most-widely used Java ME development toolkit, formerly known as the WTK (Sun Java Wireless Toolkit). The Java ME Platform SDK 3.0 sports redesigned underpinnings, improved device emulation, and a host of new features and improvements..."
And Marina Sum discovers a worthwhile video in How to Federate Google Apps for Single Sign-On With OpenSSO--Fast: "Sun's chief identity strategist Daniel Raskin has posted a three-minute video that steps you through the procedure of configuring OpenSSO for single sign-on to Google Apps. Be sure to first download Sun OpenSSO Express 7 and the Google Apps Starter Kit, as pointed out in the posting..."
This week's java.net Poll asks "Which aspect of Java technology is the primary focus your current work efforts?" Voting will be open through next Thursday, April 30.
This week's Spotlight, titled Java + You = Innovation, reminds us that JavaOne is just around the corner: "It's that time of year again. The 2009 JavaOne conference takes place at the Moscone Center in San Francisco from June 2-5 and is being sponsored by Intel (a Platinum sponsor), JBoss, and Sony Ericsson. This year's technical and Birds-of-a-Feather (BOF) sessions are organized around four topics: Rich Media Applications and Interactive Content; Mobility; Services; and Core Technologies. You can view information on all the sessions now and get a $200 discount on early bird registration until April 22."
In the Forums,
boylejohnr responds to a question about a Re: Server Socket: "I do not think there is a way to exit the thread. However if interested for the JXTAServerPipe I have extended to remove the need for a thread. JXTA is rather wastefull of resources especially when trying to scale to thousands of peer groups. Every JXTAServer pipe also has three fixed executor threads, I consolidated to one static executor. Shutdown the executor in the super class. The code is a cludge, when get time would like to get more involved in JXTA to make more lightwieght and scalable. A lot of good work on the NIO integration, but higher up a bit wasteful. For instance a reliable retransmitter thread is required for every BIDI connection..."
hirowladescribes a Problem making an outbound SSL connection from Glassfish to another server: "Hi, I'm having a problem making an outbound SSL connection to another system from an application running inside Glassfish. I'm running v2.1 Enterprise version (not the development one, which I believe is an important distinction). I'll paint the scenario. The remote site uses certificate "A", which is signed by party "B". Party "B" is an internal company CA, not somebody like Verisign. Using "certutil", I installed the public certificate for Party "B" in the main certificate database (as a "T,c,c" certificate). When I attempt to connect to the remote server, the connection fails - " unable to find valid certification path to requested target"... "
gw1921 asks about LWUIT List Optimizations and Best practice?: "Hi, I'm fairly new to LWUIT and am loving it. I wish to develop an app for the latest high-end mobiles (HTC Touch, LG Arena etc) as these have fewer limitations on heap/memory etc but am unsure as to what I should do. Basically I need to know a few things: 1. I need to be able to put two list controls on the same screen. Is this possible? LCDUI only allowed a single List; 2. One of my list will display images per row. These images are PNGs that will be downloaded off the internet and stored on the device (possible the SD Card) and will range from 1kb to 9kb in size. Here's where the trouble is: there can be at least 300 rows in this list at any time (max)..."
Current and upcoming Java
- April 20-24 - Java Power Tools - Melbourne Australia
- April 20-24 - JAX 2009
- April 24-26 - 2009 Northern Virginia Software Symposium: Spring Edition
- April 27-30 - Eclipse Training Series Spring 2009
- May 1-3 - 2009 Greater Nebraska Software Symposium
- May 15-17 - 2009 Greater Atlanta Software Symposium: Spring Edition
- May 18-19 - GR8 Conference
- May 18-22 - Java Power Tools - Canberra Australia
- May 29-31 - 2009 Rocky Mountain Software Symposium: Spring Edition
- June 1-3 - CommunityOne West
- June 2-5 - JavaOne 2009
- June 22-25 - Jazoon'09
- June 26-28 - 2009 Research Triangle Software Symposium
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.
This past week's java.net poll asked developers to select which of the Java technologies that are being highlighted at this year's JavaOne Conference is of greatest importance for the future of Java...