Skip navigation

Somehow, in my meanderings yesterday, I came upon Darryl K. Taft's presentation on eWeek, titled Application Development: 15 Ways Oracle Can Make Java Better (and Improve Its Stance with Developers). The first slide from this presentation that came up on my browser was the last, Slide 16, which is titled "Really Treat Java as 'One of the Crown Jewels'." When I went back and reviewed the entire presentation, I saw a lot very good points. The question I have is: do we really want the solutions to Java's problems to come directly from Oracle? Or, would we prefer Oracle to take a more hands-off approach than Sun did, and instead stimulate change through supporting a vibrant community?

Of course, on can ask: can an independent community really address big issues? Isn't a benevolent dictatorship much more efficient? I'd say that Linux is evidence that you don't need a benevolent dictatorship in order to advance an open source technology.

It's very early on in the history of the merged Sun-Oracle. So, it's not clear what direction Oracle will ultimately take. Overall, it seems to me that Darryl advocates the benevolent dictatorship approach. But I think in this case that approach has a risk of backfiring, because many in the Java community distrust the slick and powerful corporate giant. So, the arguments that impeded Java's progress today (what should and shouldn't be in Java 7, etc.) -- if Oracle simply dictates the decisions, even if the decisions are well thought out and make perfect sense for Java's future -- that's going to turn off a lot of the Java community. So, largely for this reason, I don't know if the overall approach Darryl advocates is the right one, for Oracle or for Java -- despite the seriousness of some of the issues Darryl documents in the first 15 slides of his presentation.

Getting back to the concluding Slide 16 ("Really Treat Java as 'One of the Crown Jewels'") -- here's the opening statement to Oracle:

Overall, make up your mind and communicate clearly about your strategy for Java's future.

OK, yes, that's a good thing. But, isn't the essence of openness to say "nothing changes immediately, we want the Java community to continue to be the primary force behind the future of Java"? Thus far, Oracle has taken great care to not step into Java with a corporate-centric vision. Is this not a good thing?

The next statement in the slide confirms that Oracle has indeed been quite "hands-off" thus far:

For good or bad, Oracle did not do much to prune anything significant from Sun's many software strategies (some of which were flawed).

Again, my question is: who do we want to do the pruning? Who's to decide what should be pruned? Clearly, the author believes heknows which software strategies were flawed and should have been pruned by Sun. But will everyone in the Java community agree with his -- or Oracle's -- assessments? Would the to-be-pruned project communities agree? Again, my question: do we really want the corporate entity Oracle to start making these decisions?

Moving on in the slide:

The notion of supporting three IDEs is confusing. It didn't really work for BEA and while it sort of sounds good here, it's messy.

A few months ago, I created a poll that asked Which IDE do you use? In that poll, I neglected to include IntelliJ IDEA (because most of my communications as java.net editor were with NetBeans and Eclipse users). I'll tell you, the push-back from that exclusion was immense. The poll was boycotted by many IntelliJ IDEA users.

Even if it's "messy" for Oracle to support three IDEs (JDeveloper, Eclipse, and NetBeans, I assume), I don't see how that's a problem. From the developer community point of view, I think it's great, actually. As for "confusing" -- when you go to a grocery store, do you find it confusing to see many different varieties of vegetables and fruits? Even if it is confusing, don't we enjoy the opportunity to choose!?

Onward:

It's not possible to focus equally on every one of the many initiatives, which means that some things get starved and perhaps die in a year anyway.

That's how marketplaces work. In a great many areas, Oracle is saying "we're going to keep our hands off" and let market reality take its course. 80% of open source projects fail. 90% or more of new businesses fail within their first five years. 95% of people who try out futures/derivatives trading end up losing money and quitting. This is how the marketplace works. That some initiatives starve and die is normal. It would be abnormal for all or most of them to succeed. Oracle is just taking a hands-off approach, letting the nature of the marketplace make the final decisions. IMO, anyway...

Finally:

As Oracle EVP Thomas Kurian said, "Java is one of the crown jewels" Oracle got in the Sun acquisition. Treat it as such.

From what I see so far, Oracle is doing exactly that: it's treating Java as a crown jewel so valuable that it doesn't want to tamper with Java as an independent organism. I see Oracle as having listened to many unofficial messages from Sun, and from the Java community, during the nine months of acquisition wait time, stating that with respect to Java, Oracle wasn't acquiring a "product" -- rather, it was acquiring an opportunity to invest in a vibrant, open technology, that still has immense growth potential going forward, if only it is allowed to proceed within the organic, multi-faceted realm that has hitherto fostered its growth. Thus far, I see that message as having been heard by Oracle.

No dictatorial statement of Oracle's "strategy for Java's future"? That's exactly what I myself was hoping for, post-acquistion. Let's let the Java community itself make the decisions on Java's future. The best thing Oracle can do, in my view, is set Java even more free of corporate guardianship than was the case under Sun. This means supporting the Java community, but not dictating the result.

Hopefully, the community will ultimately find the right solutions to most of the problems Philip delineates in his presentation -- solutions to the problems the community decides most urgently need solving, that is. Yes, set the JCP free (as Philip says in Slide 7) and provide Apache an unrestricted Java TCK (as Philip says in Slide 3). Doing these things frees Java further into the hands of the community.

Progress may be slower when it is led by a diverse, fractious community. But, the community stays interested and more involved that way. That's a healthy situation for Oracle to try to promote, in my view.


In Java Today, the JCP Program Office has announced the Results of the ME Special Election:

Yesterday the ballot closed. Cablelabs is the new ME EC member. Detailed results follow below: * Cablelabs (Jon Courtney) with 48 votes (30%)...

Arun Gupta has posted TOTD #121: JDBC resource for MySQL and Oracle sample database in GlassFish v3:

This blog clearly explains how to configure the MySQL sample database (sakila) withGlassFish. Even though the instructions use a specific database but should work for other databases (such as Oracle, JavaDB, PostgreSQL, and others) as well. The second half of the blog provide specific syntax for the Oracle sample database...

Adam Bien provides code and explanation for the Simplest Possible EJB 3.1 Timer:

A timer doesn't have to be a singleton - it can be a @Stateless and even a @Stateful bean. The method doWork() will be invoked every second. There is no registration or configuration needed...

In today's Weblogs, Santiago Pericas-Geertsen is Exploring Hypermedia Support in Jersey:

During the last few weeks, Marc H., Paul S. and myself have been exploring some ideas to support Hypermedia in Jersey. The outcome of this investigation is an experimental implementation that is available in Jersey's trunk (module version 1.2-SNAPSHOT). Exactly what it means to support hypermedia is still an area of research, and some other implementations of JAX-RS (notably RESTfulie) have also proposed APIs for it. The REST architectural style, as defined by Roy Fielding in his thesis, is characterized by four constraints...

Juliano Viana posted his first java.net blog, Making Apache Wicket even more designer friendly :

Hi, my name is Juliano Viana, I'm a software consultant and developer based in Brazil, and I've been honored with the opportunity to blog in Java.net! Hope I can contribute something to this great community resource. For my first blog post at Java.net I've choosen to write about my web framework of choice, Apache Wicket. A designer and developer friendly framework Wicket is a great web framework - it allows the creation of complex web interfaces, complete with fancy ajax effects, in a simple and straigthforward way...

John Ferguson Smart asks you to Have pity on your system administrator: tips for using Hudson with complex Maven build jobs:

A new Java Power Tools Newsletter is out! This month, we will be taking a look at some of the ways you can make life easier for your system administrator, when you are using Hudson for large Maven projects. Check it out...

In the Forums,morrisford is working on Portal issues involving Wonderland: Maggie and I were experimenting with 'portaling' between three servers and encountered several issues. These things seem to happen every time that multiple jumps are done, ie, from world1 to world2 to world3 to world1, etc...

In the GlassFish forum, Eve Pokua is seeing a javax.persistence.PersistenceException: Hello everyone, I have the following error. I am trying to bind data from my DB into a Jtable using the following tutorial. When it's not bind it runs ok. But binding it causes the following errors...

In the LWUIT forum, digitalsol has S60 devices performance problems: Hello, I've tested my app on Nokia N97 and 5800 and the performance is terrible in comparison to Nokia E71 for example. Can someone give me more info if this is a known problem, are there ways to improve the performance, etc...


Our current Spotlightis the Oracle announcement about Kenai.com: "Our plan is to shut down kenai.com and focus our efforts on java.net as the hosted development community. We are in the process of migrating java.net to the kenai technology. This means that any project currently hosted on kenai.com will be able to continue as you are on java.net. We are still working out the technical details, but the goal is to make this migration as seamless as possible for the current kenai.com projects..."


This week's java.net Poll asks Does your company use an enterprise repository manager for development? Voting will be open for the next week.


Our latest java.net Feature Article is Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the Java 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 java.net Archive.

-- Kevin Farnham
O'Reilly Media
Twitter: @kevin_farnham

The Hudson team has launchedContinuous Blog, the official Hudson weblog. R. Tyler Ballance introduced the blog in his Welcome to Continuous Blog! inaugural message:

Hello and welcome to "Continuous Blog", the official Hudson weblog! If you don't mind me saying so, I think its arrival is long overdue. Since Hudson started in November of 2006, there hasn't been a central "voice" for the project. In just a few short years Hudson has grown into a substantial project withhundreds of plugins and thousands of users around the world. Kohsuke's nice Java-based extensible continuous integration server has grown up into fantastic tool with a great community around it...


 

The next few entries discuss new translations of Hudson in the Hudson 1.344 release, the 1.344 release, and the hotfix 1.345 release.

The plans for the Continuous Blog are broad. In his welcome post, Tyler says readers can expect to see:

Overviews of the latest releases of Hudson and its plugins, interviews and discussions with the developers who have contributed to Hudson over the years, guest posts by power-users on how Hudson fits into their workflow and much much more (really).

In an email, Tyler told me the blog will also feature Hudson tutorials, spotlights on companies the use Hudson, and articles. In other words, the Continuous Blog is intended to be a centerpiece for the Hudson community, more like a community site, or information center, than simply a collection of blog posts.

Note that you can also follow Hudson on Twitter (@hudsonci) -- that's actually where I first found that the Continuous Blog was about to happen. Hudson is also on Facebookand ohloh. Ohloh's current estimates for the Hudson project are that the code base has 625,800 lines, contributed by 169 developers, at an equivalent cost of $9,200,000 (US).


In other Java Today stories, Peligri provides an update onGlassFish Support, HA, Clustering and More:

The Sun-Oracle Strategy WebCast and subsequent Webcasts and Docs generated multiple comments and discussions threads in the Web from which I want to highlight a few comments in here. Please check the original posts for context, clarification and caveats...

On Twitter, Intel's Aaron Tersteeg pointed his followers to today's Parallel Programming Talk on Intel Software Network TV. The title of today's broadcast is "Refactoring (Parallelizing) Java Applications with Professor Danny Dig (University of Illinois U-C)." You can watch it Live on ISN TV at 8:00 AM Pacific Time (U.S.), Tuesday, February 9. If you can't see it live, just revisit the Parallel Programming Talk on Intel Software Network TV site later, and you'll be able to watch the recorded show.


In today's Weblogs, Jim Driscoll is studying HTML5 Semantic Tags:

Over the weekend, I was reading Mark Pilgrim's great book on HTML5- and when I got to the part about the semantic tags, I thought it might be worth a quick mention. In case you've missed out on HTML5 in general (and don't want to take the time to read that book I linked above), the idea behind semantic tags is that many sites use div blocks to mark out the same kinds of content, over and over. Content like headers, footers, and nav bars...

Fabrizio Giudici has a message for Young speakers, remember Jazoon deadline is Apr 4:

Yesterday I made my proposal submissions for Jazoon 2010 - as usual at the last minute, as now the call for paper is closed. Young speakers  (under 26) wishing to make their first experience should recall they have got still time until April 4. The three selected speakers will have the opportunity of going to Zurich with no expenses for the conference as well as flight and hotel...

Markus Karg asks Like to use XSLT 2.0? Move to Saxon!:

For many years I am using XSLT now for a lot of tasks in both, development and runtime environments: Source generation, creating HTML from XML data, or even rendering SVG vector graphics from XML finance data. But what really bothered me was that the XSLT transformer contained in Java (even in Java 6's latest release) was just able to do XSLT 1.0 but not XSLT 2.0. XSLT (and XPath) 2.0 comes with such a plethora of features that makes coding so much easier, like calling XSLT-written functions from XPath, "real" loops (instead of recursive calls) or dealing with sequences and many more. I couldn't wait any longer to get it, so the question was: What to do? ...

In the Forums,mmo18 is seeking a SOAP stack that can run inside an applet?: Hi - I hope this is the right forum to ask this question. If not, please advise! I am seeking a simple SOAP stack that can run as part of an applet. The SOAP stacks I tried so far (Apache, Java 6's built-in SOAP stack) cause security...

In the ME Interest forum, rapiz has questions aboutSetting default network connection for j2me apps: Hi, In my application i use socket connection to my server. my problem is, that some mobile phone (e.g. samsung) is configured to use WAP as default for j2me apps. and it blocks my socket. If i want to change it, i...

In the GlassFish WebTier forum, eheb is seeking ademo of JSF2 ui components library ?: I am looking for web demo and its source codes about JSF2 ui components library : mojarra or myfaces implementation ... Best regards.


Our current Spotlightis the Oracle announcement about Kenai.com: "Our plan is to shut down kenai.com and focus our efforts on java.net as the hosted development community. We are in the process of migrating java.net to the kenai technology. This means that any project currently hosted on kenai.com will be able to continue as you are on java.net. We are still working out the technical details, but the goal is to make this migration as seamless as possible for the current kenai.com projects..."


This week's java.net Poll asks Does your company use an enterprise repository manager for development? Voting will be open for the next week.


Our latest java.net Feature Article is Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.


The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.


Current and upcoming Java Events:

Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the Java 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 java.net Archive.

-- Kevin Farnham
O'Reilly Media
Twitter: @kevin_farnham

At the recent OTN Java Developer Day in Boston (US), during his presentation "Java SE - The road forward, 2011 edition," Danny Coward took some time to talk about the new scripting features in Java SE 7. In a little demonstration, he showed a code snippet that begins withimport javax.script.x and continues with creating a script engine (for example, for Javascript). The objective of the new API, Danny said, is to let other languages use the Java Runtime.

This is more commonly talked about as InvokeDynamic, which is JSR 292. The Java SE 7 Developer Preview page lists JSR 292 at the top of the list of new features and enhancements for Java SE 7. That entry links to Java Virtual Machine Support for Non-Java Languages, which provides an overview and examples.

So, what does invokedynamic provide?

The invokedynamic instruction introduced in Java SE 7 simplifies the implementation of dynamically typed languages on the JVM. It can also potentially improve the performance of these languages.

There are three steps involved:

The discussion in the documentation describes what all of this means and provides basic examples.

As you'd expect, there is some complexity to linking up code from dynamically linked languages with Java. But the benefit of the new invokedynamic capability, in my view, is that it raises the work in accomplishing this out of the low-level "mud" (you'll probably know what I mean by this, if you've done work in the past trying to seemlessly link code from very different languages) by providing a framework that can be applied to a great many different situations. Once you become comfortable with using the invokedynamic capability, you'll be able to apply it to new situations and new tasks, and achieve integration of Java and non-Java code bases with much greated efficiency that was possible before. At least, that's my take on the benefit ofinvokedynamic.

If you'd like more information, consider visiting the OpenJDK Da Vinci Machine Project site, which provides links to related articles, presentations, and other documentation materials.


Poll

Our current java.net poll asks How would you rate the responsiveness and ease-of-use of the bugs.sun.com website? Voting ends Monday.


Spotlights

Our latest java.net Spotlight is Eric S Chan's new article, OpenICOM: A JPA Framework for Integrated Collaboration Environments, Part 1 -

This article is the first part of the three parts series to present a new project http://java.net/projects/open-icomin java.net to incubate a JPA framework for developing integrated collaboration environments. The first part explains the advantages of the JPA programming model, which embodies the design patterns that are well-suited for managing...

We're also still featuring Adam Bateman's JDK 7 nearing the endgame -

Just a reminder that JDK 7 is nearing the endgame and now is the right time to grab the latest JDK 7 build and give it a test drive. Once it goes beyond the end of March then the release will start to get locked down and it will get harder to get fixes or changes in (don't leave it too late). The important thing is to make sure that your existing code works well...

Java News

Here are the stories we've recently featured in our Java news section.

  • Jean-Fran

Tori Wieldt interviewed Mark Reinhold (Chief Architect of the Java 7 Platform) this afternoon, in a talk that was streamed on Oracle Technology Network Live. Mark reiterated that "Plan B" is the Java 7 plan going forward -- a reduced Java 7 feature set, but an earlier Java 7 release. The features that are close to complete will be included in Java 7, which will be released mid-2011. Remaining features will be in Java 8.

Mark said Java 7 will include:

  • most of Project Coin, including try-with constructs and the diamond operator (which facilitates getting more done with less code)
  • InvokeDynamic, which will facilitate integration with scripting languages like Ruby
  • lots of smaller items

Java 8 will include the items not included Java 7, for example:

  • Project Lambda (closures and other enhancements related to development for multi-core processors)
  • Project Jigsaw (modularity)
  • the remaining Project Coin features
  • additional smaller items

Mark invites our assistance with bringing out a solid Java 7. If you'd like to help, go to download.java.net/jdk7 and try out the latest Java 7, see if your existing apps that run on JDK 6 still run, try out some of the new features, etc.

See Mark's recent blog posts It's time for ... Plan Band Re-thinking JDK 7 for more discussion of the Java 7 plan.


Subscriptions and Archives: You can subscribe to this blog using the java.net Editor's Blog Feed. You can also subscribe to the Java Today RSS feedand the java.net blogs feed. You can find historical archives of what has appeared the front page of java.net in the java.net home page archive.

-- Kevin Farnham
Twitter: @kevin_farnham

Filter Blog

By date: