Skip navigation

Developers who posted comments to last week's java.net poll are sending a clear warning to the hierarchy that is deciding how and where to allocate future resources and effort for developing and enhancing Java. The poll (ostensibly about Java 7 objectives) attracted considerable attention from the java.net community: a total of 518 votes were cast; furthermore, six thoughtful comments were posted -- five of them presenting serious concerns about Java's current state and (implicitly) its future.

The exact question and results:

Which Java 7 objective is most important for Java's future?

  • 29% (148 votes) - Modularity
  • 4% (19 votes) - Multilingual support
  • 20% (102 votes) - Productivity improvements (Project Coin, etc.)
  • 21% (110 votes) - Performance improvements
  • 18% (91 votes) - All of the above
  • 3% (13 votes) - I don't know
  • 7% (35 votes) - Other

Looking at the spread of the results, it seems that the objectives Mark Reinhold outlined in his February 16 Tech Cast Liveinterview (this was the inspiration for this poll) are all considered key for Java's future. Even though only 4% voted for multilingual support as being the single most important objective, the 18% who voted for "All of the above" means that 22% of the votes consider improved multilingual support essential going forward.

Among the 13 people (7%) who selected "Other," probably several posted comments. The comments were quite interesting.

That fixing bugs needs to be a very high priority objective was a much repeated and elaborated statement in the comments. Soon after the poll went live, cajo posted "Bug fixes":

There are still annoying undocumented bugs in the Java plug in for applets, and WebStart has some glaringly obvious, and fundamental bugs as well. If network-integrated client side computing is important, this issue should be priority #1.

badapple concurred, posting "Bugs should be the number one concern!"

I agree that there are many gotchas, because of undocumented bugs. One thing that has bugged me for the last five years is the fact that there is still no ability for components in a JScrollPane to receive a HORIZONTAL scroll event. Sun added the ability to have JScrollPanes scroll horizontally WHEN there is no vertical scroll bar present. THIS IS JUST A DIRTY HACK! Today, as it stands, most computers sold are laptops and they have track pads that have a HORIZONTAL scroll zone and swing thinks this a PopupTrigger, WRONG! Now why would this not yet be fixed? I and many others have reported this bug/missing feature many years ago and it still stands to this day with a down right dirty hack. PLEASE, ORACLE, FIX THIS!

aehrenr also said "Fix bugs" was the most important objective:

The most important "feature" for me in any technology is that it has as few as possible bugs. There are still quite a few for example in Swing and Web-Start. So please set bug fixing as the most important point on your to do list for Java 7. If there is some capacity left add USB support, Webkit integration, Pdf display and OpenGL support to the standard APIs.

Both goron and rdelaplante noted perceptual problems Java currently faces, as not being up to date compared with other technologies (badapple's andaehrener's comments are also somewhat in this category, with respect to Java's support of standard modern hardware). rdelaplante talked about "USB and Serial" issues:

My employer went with .NET for a rewrite of our main product since it supports USB and serial on Windows, and Java does not. They said .NET is better integrated with the OS than Java. I wonder what other things .NET can do that Java can't, at least without an addon.

goron titled his comment "Perceptions":

I think Java ( at least on the Desktop ) needs to overcome the overwhelming perceptions in big corporations that it's becoming irrelevant in the face of .NET / C#, Adobe Flex and even encroaching web-based platforms. Part of that is marketing, something that Sun has always been very bad at, but clean/simple/reliable deployment (webstart especially) needs to be sorted out. None of the bullet points above address that - well, they do, but you can't tell, and that's part of the problem.

nopjn also thought the Java 7 objectives categories were not ideal, asking "Closures anyone?" I'd say that closures are part of both the "Productivity improvements" and the "Performance improvements" categories. Closures are surely a big part of the upcoming Java 7, but the objectives categories Mark Reinhold came up with are at a higher level of generality, while closures are one of the specific enhancements that will help accomplish the objectives. Another way of saying it: closures are a means through which Java's performance and productivity will be improved in Java 7.

Interesting poll -- both in terms of results and comments. Worrisome, too. How can you expect to remain (become?) a mainstream desktop language if you don't have solid (or even basic?) support of standard (not even new, at this point) hardware components, like USB ports and laptop track pads???

New Poll: duration for backwards-compatibility?

This week's new java.net poll asks How far back should Java retain backwards-compatibility? The poll idea was submitted by Gili, a member of the java.net community (user name cowwoc). It's a very good question, in my opinion! The poll will be open for the next week.


In Java Today, Terrence Barr provides his MWC 2010 Observations:

I

Web 2.0 is a title that has been used to describe the generation of the World Wide Web that began with sites such as Flickr, MySpace, and Digg, and web technologies like web services, blogging, RSS syndication, and wikis. A defining aspect of Web 2.0 versus Web 1.0 is an increased level of participation by community members, and increased interaction between the authors of web pages and the people who visit those pages.

Within the domain of software engineering, the history of online posting of questions and answers to problems exhibits the change from "Web 1.0" to "Web 2.0" when one considers content archives like newsgroups, forums, and modern sites like Oracle Mix and O'Reilly Answers. All of these are clearly archives for information that is largely of the form of questions and answers. Still, that there is a major difference between the newsgroups of the early 1990s and sites like Oracle Mix and O'Reilly answers is readily apparent.

Newgroups are bare information archives, with little "personality". They're ideal for being mechanically catalogued by search engines. They're great, encyclopedic resources, but that the content was produced by actual human beings is not really noticeable. Or, at least, information about the individuality of those people isn't much available.

Meanwhile, sites like Oracle Mix and O'Reilly Answers are geared for the creation of communities. The communities may form around topic areas, around individuals who post on the sites, etc. It's a Web 2.0 structure, because the organization of the communities is determined by the visitors to the sites, not by a rigid site structure that is created by the site owner. Web 2.0 sites mimic the actual world of human interaction. It's like O'Reilly Answers and Oracle Mix are software engineering conference venues, but the types of conferences that "happen" there are of the unconference sort. The structure of the conference, of the interaction between the participants, of the clumping of people into groups and subgroups, is determined by the people who participate in the site, in the gatherings that the site infrastructure makes possible.

Web 2.0 really is cool, no?

Anyway, I was launched onto this tangent primarily by Java Champion James Weaver's blog post Hanging out with JavaFX Geeks and Newbies, which I'm highlighting as one of today's Java Today items. Here's Jim's news:

With JavaFX/Java now being shepherded by Oracle, I thought it appropriate to start an Oracle-Mix forum where the JavaFX community can help each other and give feedback to Oracle JavaFX teams. This forum is affectionately entitled JavaFX Geeks and Newbies, and its stated purposes are:  * Build a community that encourages and supports developers as they climb the JavaFX learning curve...

One of the most actively-discussed questions in the "Java geeks and newbies" group (which currently has 101 members) is What are the highest barriers to widespread adoption of JavaFX? (login required), a question Jim asked 23 days ago.

If you're engaged with JavaFX development, or interested in JavaFX, consider joining the JavaFX Geeks and Newbies Oracle Mix group.

Also, consider taking advantage of the O'Reilly Answers Java topic area (no login required) if you want to ask or answer Java-related questions, or present Java-related information snippets, within a Web 2.0 community framework.


Also in Java Today, Joseph Darcy considers API Design: Identity and Equality:

When designing types to be reused by others, there are reasons to favor interfaces over abstract classes. One complication of using an interface-based approach stems from defining reasonable behavior for the equals and hashCode methods, especially if different implementations are intended to play well together when used in data structures like collections, in particular if an interface type is meant to serve as the key of a map or as the element type of a set...

Arun Gupta notes Oracle GlassFish Server 3 - New Datasheet available:

Oracle announced a new datasheet for "Oracle GlassFish Server 3", yep no "v"! Here are some key points from the datasheet: BENEFITS:  * Light weight and flexibility, with fast startup of only those services required by deployed applications...
 

In the Weblogs, I posted two  blogs covering news items of interest that I came across on Wednesday. The later post was Jeff Friesen: Comic Books and Java:

On his home site, Jeff Friesen, author of 21 java.net articles, has posted an interesting little article titled Comic Books and Java. In the article, Jeff presents a Java application that reads and displays digitized comic books. In the article, Jeff explains the standard format in which comic books are digitized (a .cbz zipped file and a .cbr RAR archive file). Jeff then walks through his application code. If you'd like to read some digitized comic book classics on your desktop, or learn how to code a reader, check out Jeff's article

My preceding news item post was Justin Kestelyn Tech Cast Live interview with Mark Reinhold is now available in audio-only format:

On Twitter, I saw that an audio-only edition of Justin Kestelyn's February 16 Tech Cast Live interview with Mark Reinhold is now available. To see the interview as well as hear it, visit https://channelsun.sun.com/media/show/15028.

John Ferguson Smart provides Focused Extreme Feedback with CI Information Radiators - a case study:

Build Server Information radiators are an excellent, easy-to-implement way of getting people to pay attention to broken builds. But it pays to tailor them to your exact needs. This article is a short case study of how easy it is to set up an effective information radiator if you put your mind to it. One of my clients is UBS Investment Bank in London. At UBS, they are into Agile in a big way. Rob Purcell and Gordon Weir of UBS asked me in to help out with some of their Maven, Test-Driven Development, Java coding and tooling practices. And one relatively minor item they were particularly keen on was to improve their information radiator, in order to raise awareness of broken builds...
 

In the Forums, working with LWUIT, Ista Pouss finds that My app work only one time: Hi, In the netbeans emulator, I can see my LWUIT app. It's OK. If I do "quit", I quit. But, if I select again my midlet, I doesn't see the midlet. My code : public void startApp() { if ...

In the GlassFish forum, vesuvius needs help with CDI and JSF2 PhaseListeners: Hi all, I have a CDI-created @SessionScoped bean in my session context. I can access it from most places (EJBs, backing beans, etc.) without a problem. However, I need access to that bean from a JSF PhaseListener. Inside the PhaseListener, I...

kickmetoandy wants to map object hierarchie to flat xml using jaxb: Hi, i was wondering if it is possible to map a object hierarchie to a flat xml file. i have the follwoing situation. we are using jpa entities (usually with composite keys) and we'd like to map those entities to xml. the composite key...


Our current Spotlight is the Mobile Desktop Grid (MDG) project: Mobile Desktop Grid (MDG) is a one-stop solution for obtaining worldwide grid resources for computational use. With the MDG solution, world wide physicists, biologists, chemists, laboratory assistants, and computer scientists are able to complete exhaustive computational jobs in a shorter period. The MDG solution aids researchers addressing global issues. Even users who do not have a lot of knowledge about grid and clustered computing can utilize cluster resources with the MDG solution. For more information about the MDG project, download the Mobile Desktop Grid User and Developer Guide.


Our current java.net Poll asks Which Java 7 objective is most important for Java's future?. Voting will close on Friday.


Our new java.net Feature Article is Has JDBC Kept up with Enterprise Requirements? by Jesse Davis; in the article, Jesse invites us to look beyond Type 4 architecture to address the latest requirements of the enterprise Java ecosystem. We're also featuring Adhir Mehta's Java Tech article, Web Service Simulatino Using Servlets; and Maven Repository Managers for the Enterprise, by John Smart.


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

As the final day of JAX London nears its close, it seems like a good time to browse thejaxlondon tweets to see what people have considered notable and quotable about the conference.

Unfortunately, I was not able to be in live attendance. I really hope to be able to go to more conferences in the future.Someone has to resurrect the nearly lost art of "live blogging" at conferences -- and it may as well be me! For me, "tweeting" isn't a viable substitute for blogging. A twitter search feed just doesn't provide a coherent view on the actual essential points that were presented and discussed at the conference. To do that, I think you need to take notes during a session, then, on a break, consider what you've heard and compose a few paragraphs that really convey the gist of what was presented. I miss that!

Oh well, there's no use ranting. Times change. And so: on to thejaxlondon tweet search. With Twitter, of course, you get some nice one liners that people consider memorable. Here are some examples, starting with a statement that is currently being retweeted over and over:

  • "If you think good architecture is expensive, try bad architecture" -- B. Footer and J. Yoder, by @KevlinHenney
  • "Predictable scalability more important than infinite scalability. 'Infinite' doesn't tell you what it will cost" - Brian Oliver [via @shamblepop]
  • @vigosun: Liferay talk: "people who belive in open source also believe in giving back" - about building a team
  • @shamblepop: tedneward: reject the "Goal of reuse"(until you have written the same system thrice)
  • Architects should code, but should not be on the critical path. (via @KevlinHenney)
  • Successful architectures use few technologies (via @KevlinHenney)
  • Jutta Eckstein on Distributed Agile - trust threshold is 8-12 weeks btween f2f meetings (retweeted by multiple people)
  • Jutta Eckstein "focus on cultural similarities not differences" (retweeted by multiple people)

Then there are interesting facts one might not have guessed, such as:

  • @tastapod: In the Jigsaw talk at #jaxlondon - 2/3 of rt.jar isn't code - it's strings. "java/lang/Object" appears a lot.

Then there is humor:

  • @workbrindy: tip for next time, wine glasses on the edge of tables + tech guys with big back-packs = smashed glass.

Some other interesting tweets:

  • peter_pilgrim: An hour ago I listened adam bien's JavaFX pattern talk at #jaxlondon. He thinks JavaFX is good for the enterprise now we have Netbeans 6.8
  • @kito99: result of dinner discussion w/ @tedneward, @headius and others #jaxlondon: Objective-C is the Creole of programming languages (via @stilkov)

I'm afraid that's going to have to be it for now. As I keep clicking "more" at the bottom of the jaxlondon tweet search, I keep getting an error message about an unresponsive script.

Anyway, it sounds like JAX London has indeed been an interesting conference. I'm sure that some of the attendees will write up retrospective blog posts about the conference in the coming week. I'll look for those, and feature some of them on the java.net home page.


In Java Today, on the Sun Developer Network, Sowmya Kannan investigates Java Applets, ASP.net - Can You Play Together?:

Is your web application platform based on ASP.net technology? Would you like to leverage the Java platform's ubiquity to provide a rich user experience when users visit your web site? You can develop secure rich Internet applications (RIAs - applets and Java Web Start applications) by using the Java or the JavaFX language. Java client technology integrates seamlessly with ASP.net technology. In this article, we will explore various mechanisms by which Java applets can interact with ASP.net web pages...

Geertjan Wielenga has a new NetBeans Zone article, Healthcare Quality Assurance Application on the NetBeans Platform:

One area where the NetBeans Platform, the world's only modular Swing application framework, is well suited is as the basis of an enterprise's internal quality testing tools. In Semiconductor Validation Engineering on the NetBeans Platform, you can read how engineers at PMC Sierrahave created Swing applications on the NetBeans Platform to validate PMC Sierra's semiconductor products. A similar thing is done at B. Braun, a healthcare product provider....

The Continuous Blog announces Hudson 1.347 Released:

The release of Hudson 1.347 last friday, February 19th, was a relatively "minor" one insofar that it contained an assortment of smaller fixes instead of fixes to major regressions (they weren't any to be fixed) or major features added. There were however some notable commits in this release cycle that didn't make the changelog just yet, for example godin committed an ebuild which will allow for a native package of Hudson for Gentoo Linux, joining the ranks of the existing packages for Debian/Ubuntu, FreeBSD, OpenSolaris, openSUSE and RedHat/Fedora Linux. The bundled Subversion plugin was updated and thanks to sogabe and wyukawa the Japanese translations for Hudson got some updates as well...

In the Weblogs, John Ferguson Smart provides Focused Extreme Feedback with CI Information Radiators - a case study:

Build Server Information radiators are an excellent, easy-to-implement way of getting people to pay attention to broken builds. But it pays to tailor them to your exact needs. This article is a short case study of how easy it is to set up an effective information radiator if you put your mind to it. One of my clients is UBS Investment Bank in London. At UBS, they are into Agile in a big way. Rob Purcell and Gordon Weir of UBS asked me in to help out with some of their Maven, Test-Driven Development, Java coding and tooling practices. And one relatively minor item they were particularly keen on was to improve their information radiator, in order to raise awareness of broken builds...

Jan Haderka says Tweet Magnolia Tweet:

Originally, I wanted to write about Magnolia-Twitter integration, but at some point I've realized such integration is so simple that there's no point writing about it. So instead, let's look how you can write custom commands for Magnolia. Anybody who seriously developed on Magnolia for while had to write a Command sooner or later. They are incredibly simple, yet very powerful. Part of it is that you can use commands just anywhere - call them from the context Menu in AdminCentral, invoke them from Groovy or BSH console, call them inside of the workflow, kick start them based on Observation and changes in repository or call them periodically via scheduler...

Fabrizio Giudici continues extolling smallness in Shrink your HG repository:

When I used Subversion and Ant for my projects, I had the habit of committing the required libraries together with the sources. I think that it's a solution that still makes sense with those two tools, as you can checkout a certain version of a project and you have all you need to compile it on the local disk. Things change with Mercurial, since you'll clone the whole history of the project, that is all the versions of the iibraries that have been used in the past, and a Mercurial repo can quickly grow huge in this circumstance. For instance, when I converted the blueMarine repos from Subversion to Mercurial, still using Ant, I got stuff large several hundreds megabytes. This is an annoyance for people that want to quickly clone the repo and try compiling the application. With Maven...

In the Forums,ntaz is working on a problem with Lists in LWUIT: Hello all, I have two major problems in LWUIT at the moment, the first one would solve the second one I assume: I create a container (FlowLayout) and allow it to scroll on the Y axis, then add a List inside it followed by a Label, then I get two scrolls: one for the container and one for the list. My question is: how to disable scrolling for the list entirely...

In the JXTA forum, nonsense2105 asks about Case insensitive value matching in getRemoteAdvertisements() ???: Hi! I have the following problem. I am trying to get remote peeradvertisements with attribute name and value using wildcards. According to the documentation (jxse-doc-2.5): The value is a case-insensitive string who's value is...

In the 6un Early Access forum, freelancer_rresponds Re: How to override deployment.proxy.type at runtime?, saying: I have same problem, did you found a solution?


Our current Spotlightis the Mobile Desktop Grid(MDG) project: Mobile Desktop Grid (MDG) is a one-stop solution for obtaining worldwide grid resources for computational use. With the MDG solution, world wide physicists, biologists, chemists, laboratory assistants, and computer scientists are able to complete exhaustive computational jobs in a shorter period. The MDG solution aids researchers addressing global issues. Even users who do not have a lot of knowledge about grid and clustered computing can utilize cluster resources with the MDG solution. For more information about the MDG project, download the Mobile Desktop Grid User and Developer Guide.


Our current java.net Poll asks Which Java 7 objective is most important for Java's future?. Voting will close on Friday.


Our new java.net Feature Article is Has JDBC Kept up with Enterprise Requirements? by Jesse Davis; in the article, Jesse invites us to look beyond Type 4 architecture to address the latest requirements of the enterprise Java ecosystem. We're also featuring Adhir Mehta's Java Tech article, Web Service Simulatino Using Servlets; and Maven Repository Managers for the Enterprise, by John Smart.


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

Prior to a few days ago, when I thought about JDBC, I thought I was thinking about a problem that has been solved. Our latest java.net article, Has JDBC Kept up with Enterprise Requirements? by Jesse Davis, has eliminated that kind of thinking for me.

It shouldn't be a surprise that, as technology advances, problems that were "solved" may eventually become new unsolved problems. But... with JDBC, I just thought the solution that had evolved into JDBC Type 4 was a kind of permanent, at least a rather enduring, solution for the problem of abstracting applications from the details of underlying databases.

Well, yes, it's true that JDBC Type 4 performs that abstraction. The problem, however, is performance and frameworks. Today, we as developers often don't directly access JDBC settings, because we often work with frameworks that apply their own implementations of JDBC. So, when it comes to performance, we face a dilemma: live with the framework's implementation of JDBC (which may not be ideally tuned for the application we're developing), or make our own custom version of the framework (and have to copy in our changes every time a new version of the framework is released). Umm.. no good choice there!

Here's how Jesse describes it:

While superior to other JDBC driver architecture types, most Type 4 drivers come with glaring limitations that make them impractical for today's Java-based enterprise application environments. Most, for instance, require changes in an application's JDBC code in order to be tuned for performance. Doing this for each unique application deployment scenario is unmanageable and impractical. When you throw an ORM (object-relational mapping) on top, if you must have a vendor-specific statement method, you'll be unable to do that casting without modifying the code of the ORM. So unless you want to be modifying, let's say, a Hibernate implementation, you need to make sure that those JDBC drivers are clean--that is, that they adhere to the standard while yet executing things in a flexible manner.

So, is there any way out of this dilemma? Well, yes. But, for it to happen, further evolution of JDBC drivers is required. Jesse Davis is a member of the JDBC Expert Group. He's been thinking about the problems with Type 4 JDBC drivers for quite a while. InHas JDBC Kept up with Enterprise Requirements? Jesse concludes by outlining the requirements that a "Type 5" JDBC driver should offer:

  • Unrestricted performance: Data throughput is maximized regardless of the runtime environment or data access model.
  • Codeless enhancement: Features and functionality can be added, configured, or tuned for any application without changing application code, regardless of runtime or data access model.
  • Resource efficiency: Use of application runtime CPU and memory resources is minimized and can be tuned as needed to fit specific runtime environment parameters or limits.
  • All-in-one deployment: A single driver JAR file that maximizes the data access simplicity for any Java environment or application.
  • Streamlined standard: No proprietary extensions to the JDBC specification are required for any supported data source--a "clean" spec implementation.

It's not a tiny task, this evolution of JDBC that Jesse suggests. However, as he concludes:

Such "Type 5" JDBC drivers would truly enable modern data-driven Java applications to take advantage of years of innovation in database features, data access models, and virtualization technologies--in many cases without requiring code changes.

Can't beat that!


In Java Today, Stephen Colebourne talks about Serialization - shared delegates:

I've been working on Joda-Money as a side project and have been investigating serialization, with a hope of improving JSR-310Small serialization: Joda-Money has two key classes - BigMoney, capable of storing information to any scale and Money, limited to the correct number of decimal places for the currency. public class BigMoney...

Edward Harned provides a solution for multicore developers in his article Fork-Join Development in Java SE:

Forking or splitting the workload into multiple tasks for parallel processing and joining the results together is a technique used in countless scientific, number crunching applications. Many other applications could benefit from fork-join processing but using the scientific approach may not be in their best interest. This article presents an "embarrassingly parallel" fork-join approach that works well for everyday, multi-core applications in Java SE....

This past weekend, Adam Bien prepared to engage the enemy, as he describes in Spring vs. Vanilla Java EE, Real World Java EE Workshop and the Perfect Storm:

Next week will be all about Java EE 6. At the ejug conference in Vienna I will start (23.02) with a "fight" against Juergen Hoeller and discuss the Spring vs. Java EE thing. We did it already last year - but now Java EE 6 is out with an API designed by SpringSource. I will also give a dedicated Java EE 6 / EJB 3.1 / CDI / REST / JPA session about Xtreme Lightweight Architectures (you could also call that "weightless" :-)). The next day (24.02), at the Jax London conference (The Perfect Storm session), I will use more the IDE and "hack" a Java EE 6 application live on stage. I will try to kill some Java patterns with Java FX as well...

In the Weblogs, Jan Haderka says Tweet Magnolia Tweet:

Originally, I wanted to write about Magnolia-Twitter integration, but at some point I've realized such integration is so simple that there's no point writing about it. So instead, let's look how you can write custom commands for Magnolia. Anybody who seriously developed on Magnolia for while had to write a Command sooner or later. They are incredibly simple, yet very powerful. Part of it is that you can use commands just anywhere - call them from the context Menu in AdminCentral, invoke them from Groovy or BSH console, call them inside of the workflow, kick start them based on Observation and changes in repository or call them periodically via scheduler...

Remi Forax has posted his FOSDEM presentations:

I should have blog about that sooner, but later is better than never. Here is the slides of my two presentations at FOSDEM'10: The first one is about implementing lambda on top of JSR 292 method handles. The second one is about theDa Vinci Virtual Machine project...

Fabrizio Giudici describes how to Shrink your POM!:

There are many things, mostly implementation-related, that can be blamed on Maven, but I think most people agree on the fact that the POM concept (a declarative model of your project) is a good thing. Among other things, it allows to run a new plugin often with a minimum of configuration, or no configuration at all. For instance, a few days ago I was pointed to the Clirr plugin, a tool that allows to verify whether the API of a module has changed (and eventually breaking back-compatibility). If you have a working mavenized project, it's just the matter of running...

In the Forums,larrytek asks about module versions Binary versus Trunk in the Wonderland forum: I notice there are several differences in the included modules for binary builds versus the trunk and preview3 source. My information comes from the administrators page at http://server:8080 - There are some 53 modules in the binary build vs 45 modules in the source...

In the SwingLabs forum, kleopatra posted Calendar renderers need localizable StringValues - best option?: not only calendar renderers, but right now it's hitting me in the realm of the calendar because the ui-delegate needs to update itself and any helpers working for it So it...

In the GlassFish forum, ossaert needs to Call Webservice from other WS: Hi, I cannot call another Webservice from a Webservice in GFv3. I get the following error. I cannot and will not change the code in this JAR file, since it is the SDK from Paypal. This is a major showstopper for GFv3. The tester doesn't work...


Our current Spotlightis the Mobile Desktop Grid(MDG) project: Mobile Desktop Grid (MDG) is a one-stop solution for obtaining worldwide grid resources for computational use. With the MDG solution, world wide physicists, biologists, chemists, laboratory assistants, and computer scientists are able to complete exhaustive computational jobs in a shorter period. The MDG solution aids researchers addressing global issues. Even users who do not have a lot of knowledge about grid and clustered computing can utilize cluster resources with the MDG solution. For more information about the MDG project, download the Mobile Desktop Grid User and Developer Guide.


Our current java.net Poll asks Which Java 7 objective is most important for Java's future?. Voting will close on Friday.


Our new java.net Feature Articles is Has JDBC Kept up with Enterprise Requirements? by Jesse Davis; in the article, Jesse invites us to look beyond Type 4 architecture to address the latest requirements of the enterprise Java ecosystem. We're also featuring Adhir Mehta's Java Tech article, Web Service Simulatino Using Servlets; and Maven Repository Managers for the Enterprise, by John Smart.


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

 

Can grid computing save the world? The mere fact that grid computing exists will not be sufficient in itself. However, Choo Jun Tan, founder of the java.net Mobile Desktop Grid (MDG) project, believes that harnessing available global clustered computing resources, so that they can be effectively utilized by researchers and engineers, is a major step in the right direction.

The MDG project provides a way for institutions that have clustered computers to make those resources available to researchers around the world, and a way for those researchers to find and utilize the available clustered systems. The objective is to assist researchers who are working with computationally-intensive software, for example biological modeling of diseases, in finding solutions to global problems more quickly, through shared global computing resources.

The Mobile Desktop Grid User and Developer Guide (PDF) is a 51-page document that covers MDG Version 1.1.2.2. The guide was written by Tan Choo Jun and Ang Wai Heng. The MDG team works from Universiti Sains Malasia. The team won a Sun Technology award at OpenJive 2009 in Singapore for its work on the MDG project.

The MDG user and developer guide documents the steps for utilizing the software, including registering a new account, adding a new cluster, finding MDG solutions resources, submitting jobs, etc.

The MDG software (both server and client) has been deployedon Open Solaris, Fedora, Ubuntu, and Microsoft Windows XP. It is licensed under the GNU General Public License (GPL v. 3.0).

If your institution has clustered computing resources that could be shared with global researchers, or if you are a researcher seeking clustered resources, or if you might want to assist the MDG team in developing and enhancing the Mobile Desktop Grid software, visit the MDG projectsite.


In Java Today, James Gosling is noticing a lot of Plaid recently:

I've been watching the Olympics and seeing a lot of American athletes in their trendy plaid shirts. It keeps reminding me of a grad school story... When I was a grad student at CMU, the students union brought in the science fiction author Harlan Ellison to give a talk one evening. He was arriving the evening before, so the CS department convinced him to come over to visit during the day. A bunch of us then spent a great day with him showing off all the cool non-fiction that we were working on. He was really engaged, sharp, and interesting...

Joe Darcy is finding that Everything Older is Newer Once Again:

Catching up on writing about more numerical work from years past, the second article in a two-part series finished last year discusses some low-level floating-point manipulations methods I added to the platform over the course of JDKs 5 and 6. Previously, I published ablog entry reacting to thefirst part of the series. JDK 6 enjoyed several numerics-related library changes. Constants for MIN_NORMAL, MIN_EXPONENT, and MAX_EXPONENT were added...

Stephen Chin has posted a video and slides in Hinkmond

This past Tuesday, Justin Kestelyn of the Oracle Technology Network interviewed Mark Reinhold about Java 7, in a live Tech Cast (see my Wednesday Editor's blog for a brief summary). In the interview, Mark cited four areas of improvement / enhancement that Java 7 is intended to address:

  • Modularity
  • Multilingual support
  • Language productivity
  • Performance

The new java.net poll asks your opinion on which of these areas of improvement is most critical for Java's future. To see Mark's view on why these specific areas are critical, why they must be addressed now, review the Tech Cast. It's about 30 minutes long. Mark's summary of the four objectives for Java 7 is right at the beginning of the Tech Cast.

Last week's poll: JavaOne 2010 attendance?

Last week's poll asked about your plans for attending JavaOne 2010, now that we know that there will be a JavaOne 2010. A total of 219 votes were cast. Here are the results:

Do you thihnk you'll be attending JavaOne 2010?

  • 6% (13 votes) - Yes, I hope to lead a session
  • 25% (55 votes) - Yes, if someone pays my way
  • 3% (6 votes) - Yes
  • 12% (27 votes) - I hope to attend one of the non-US JavaOnes
  • 6% (14 votes) - I don't know
  • 4% (9 votes) - No, I don't like the new format
  • 43% (95 votes) - No

For me, the main take-away from these results (which are, of course, unscientific) is that people's thoughts about attending JavaOne 2010 are about what you'd expect at this early point in time, seven months before the actual conference. Not a whole lot of people selected "No, I don't like the new format," although I've seen some criticism of that.

JavaOne 2010 will be different from previous JavaOnes, certainly in terms of its facility, and in some ways in its focus. I'm not sure what the impact of co-location with Oracle Developwill be. But, certainly, a lot of last year's Oracle Develop sessions fit right in with JavaOne (Groovy, XML, JPA, JSF, JVM tuning, and Java EE engineering topics like service-oriented architecture, business process management, etc.)

In a sense, I think this year's JavaOne will actually be more focused on core Java topics. Wasn't the old JavaOne really a kind of "SunOne" or "SunWorld" conference, in ways? That's how it felt to me, anyway. Just about anything and everything "Sun" was present at JavaOne, in one form or another.

This refining of focus, as well as the upcoming regional JavaOnes across the globe, will likely contribute to smaller attendance at the US JavaOne in September. The seven tracks certainly cover the key areas:

  • Core Java Platform
  • Java SE and Desktop Java
  • Java EE and Java for Enterprise Applications
  • JavaFX and Rich User Experience
  • Java ME and Mobile
  • Java for Devices, Card, and TV
  • The Java Frontier

I'm definitely looking forward to this year's JavaOne -- hoping that maybe I'll be able to attend and report on some of the sessions, while also continuing our JavaOne Community Corner Podcasts interview series.


In Java Today, Kirill Grouchnikov tells you why Your application will be with you momentarily:

Programming user interfaces has many challenges. Fetching the data from remote service, populating the UI controls, tracking user input against the predefined set of validation rules, persisting the data back to the server, handling transitions between different application screens, supporting offline mode, handling error cases in the communication layer. All of these are just part of our daily programming tasks. While all of these relate directly to what the end user sees on the screen, there is a small subset that greatly affects the overall user experience...

Geertjan Wielenga discovered Remote EJB Monitoring Application on the NetBeans Platform:

The next YANPA is created by Florian Brunner and his colleagues at a Swiss IT organization: "For our customer, ACS Solutions Switzerland, I introduced the NetBeans Platform in a pilot project, where we had to build a new J2EE application client. This small application should monitor some data retrieved from some remote EJBs." ...

Arun Gupta posted TOTD #124: Using CDI + JPA with JAX-RS and JAX-WS:

This is a follow up blog to TOTD #120 and TOTD #123. These two blogs together have created a simple Java EE 6 application and showed the following features so far: * No-interface view for EJB; * EJBs packaged in a WAR file...

In the Weblogs, the JFrog team sent me a message announcing the Artifactory 2.2.1 release, so I posted a blog about that. Here's the announcement message:

We are pleased to announce the availability of Artifactory 2.2.1! This is a maintenance bug fixes release for 2.2.0. Artifactory 2.2.1 is available for immediate download from JFrog's web site or directly from SourceForge. Instructions for upgrading to 2.2.1 from previous versions can be found here. For a complete list of resolved issues in this version please see the JIRA. Enjoy Artifactory!

Ahmed Hashim presents JDC 2010 visitors statistics :

JDC 2010 has been recognized from 90 country. The attached report could be useful for sponsors and compaines to know who is looking for JDC. Also it will give you indication about the countries interested in Java technologies in Africa.

Joerg Plewe talks about how sometimes Simple things just work .... Ant 1.8:

I recently got pointed to that link: http://java.dzone.com/news/ant-18-scanning-leaves-171. I read the news with some pleasure reminding me that I still like Ant based builds very much over Maven in many cases. Of course there are a lot of well maintained projects on the web that work very well with Maven. You never know how many enthusiasts-hours have been spent to make that happen. However, in smaller business projects I experienced the situation to be slightly different. Not a single one I came across ran out-of-the-box. Some actions had to be taken upfront...

In the Forums,timerwin needs to debug SOAP response: I have problems with a jaxws web service client: while reception of simple and complex objects works, it receives empty arrays although the server is returning values. I'm not sure whether the server's response is correctly structured. So how can I view the servers plain response? ...

In the GlassFish forum, yhzs8 has a problem with aCorba exception thrown on one server instance when shutting down another: Hi, We have a cluster running SGCS 1.5 with two server instance, we call them server A and server B. We have a client test program which: 1) lookup the remote EJB reference through JNDI lookup (specifying the initialHost...

In the Java3D forum, sphere1 asks about Converter JAVA3D in KML(Keyhole Markup Languauge): Hello, i am new in this Site. I hope i am right here. I wrote "Cube" in Java3D and would like to show my Cubes in Goolge Earths. Is there any converter for Java3D to KML? Can somebody please help me? Any idea?


Our current Spotlightis the Intel Software Network's Parallel Programming Talk: Parallel Programming Talk is a weekly broadcast onjava.net topics related to parallel programming (including Java) for multicore processors. Listen to Parallel Programming Talk LIVE every Tuesday at 8:00AM Pacific Time on Blog Talk Radio. Watch Parallel Programming Talk LIVE every Tuesday at 8:00AM Pacific Time on Intel Software Network Television.


Our current java.net Poll asks Which Java 7 objective is most important for Java's future?. Voting will be open for the next week.


Our latest java.net Feature Articles include Adhir Mehta's new Java Tech article, Web Service Simulatino Using Servlets; Maven Repository Managers for the Enterprise, by John Smart; and Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead.


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

Joe Darcy has announced OpenJDK 6: b18 Source Bundle Published. This is the first release that implements the new delivery model for JAXP and JAX-WS, which Joe wrote about a couple weeks ago and last August.

In his August entry, Joe explained the problem that was driving the switch to a new component delivery model:

The JDK includes many logically distinct sets of APIs. Some of the APIs naturally live in the JDK and evolve at the pace of the JDK; other APIs are effectively maintained externally, but are also shipped as part of the public API provided by the JDK. Two APIs in the latter camp are jaxp and jax-ws, both of which natively live in the GlassFish project.

Currently, those components are maintained under separate version control as part of OpenJDK in the jaxpand jax-wsrepositories, respectively. Code in these components is periodically synced with changes from the upstream masters, with some nontrivial overhead.

With the new delivery model, implemented starting with OpenJDK 6 b18:

the JDK build no longer tracks a copy of thejaxp and jax-ws sources under version control. Instead source bundles from the upstream teams are used. The jaxp.properties file in the jaxprepository contains the default URL from which the source bundle is downloaded as well as the expected checksum for that file. The analogous setup is used for jax-ws in its repository.

This doesn't mean that you cannot use alternate JAXP or JAX-WS bundles in your own OpenJDK builds. In JDK 7: New Componenet Delivery Model Delivered Joe shows how to set variables in an Ant build to download and include an alternative JAXP bundle.

Joe notes:

With this new delivery model, I look forward to low-overhead and coordinated updates to jaxp andjax-ws in OpenJDK 6 and JDK 7.

OpenJDK 6 b18 also includes many security updates and a backport of Nimbus look and feelfrom JDK 7. See the OpenJDK 6 b 18 changes summary page for the full set of changes, including links to the bug database items.


In other Java Today stories, Dustin Marx writes about Minimalistic HTTP Clients with Groovy:

The Rocky Mountain Oracle Users Group (RMOUG) Training Days 2010 main technical sessions are going to be held tomorrow and Thursday of this week and I will be presenting two presentations on Groovy and JAX-RS/REST at this conference. It seems like a good time to use Groovy and JAX-RS/REST in the same blog post...

The NetBeans team announces NetBeans IDE 6.9 Milestone 1 Available for Download:

The NetBeans team is pleased to announce that NetBeans IDE 6.9 Milestone 1 is now available for download. Download NetBeans IDE 6.9 Milestone 1. Highlights of this stabilized development build include: * NetBeans Platform OSGi interoperability. * New Maven project archetypes available ...

In the Weblogs, Ahmed Hashim presents JDC 2010 visitors statistics :

JDC 2010 has been recognized from 90 country. The attached report could be useful for sponsors and compaines to know who is looking for JDC. Also it will give you indication about the countries interested in Java technologies in Africa.

Joerg Plewe talks about how sometimes Simple things just work .... Ant 1.8:

I recently got pointed to that link: http://java.dzone.com/news/ant-18-scanning-leaves-171. I read the news with some pleasure reminding me that I still like Ant based builds very much over Maven in many cases. Of course there are a lot of well maintained projects on the web that work very well with Maven. You never know how many enthusiasts-hours have been spent to make that happen. However, in smaller business projects I experienced the situation to be slightly different. Not a single one I came across ran out-of-the-box. Some actions had to be taken upfront...

Markus Karg discusses What HATEOAS actually means:

These days there is much discussion about REST and HATEOAS, and many people feel urged to reinterpret what HATEOAS means or what Roy Fielding's often-cited dissertation allegedly would say in their understanding, and what HATEOAS should be implemented like therefore. While I first felt amused about this "dispute about nothing" (just ask Mr Fielding if you don't understand what his dissertation tells us; no need toguess), the longer I follow those (in part ridiculously wrong) assumptions and myths, the moremyself feels urged to stop those and shout: "Guys,before discussing your ideas, first learn whatMr Fielding's idea was!" ...

In the Forums,cloudslamevent announces Cloud Slam Event announces second annual virtual conference: Cloud Slam Event - producer of CS '10 invites you to participate in this year global virtual Cloud Computing event. You will be able to network with peers, get up to date about Cloud Computing, and for the first time we intend to offer hands...

In the GlassFish forum, mohamedelshami addresses Singleton by limiting pool size to 1: Hello, One solution to implement Singleton pattern with EJB 3.0 is limit the pool size to 1. But I also like to ensure that the Singleton is the same instance across the cluster, I have used the following configuration in sun-ejb-jar.xml...

In the Sun Tech Days forum, sharmabhabho talks about Emerging Ajax techniques at Sun Tech Days Conference: Emerging Ajax techniques, such as Comet and Ajax Push, have brought revolutionary changes to the Web application interactivity. Comet technology enables Web clients and Web servers to communicate asynchronously, enabling real-time operations and...


Our current Spotlightis the Intel Software Network's Parallel Programming Talk: Parallel Programming Talk is a weekly broadcast onjava.net topics related to parallel programming (including Java) for multicore processors. Listen to Parallel Programming Talk LIVE every Tuesday at 8:00AM Pacific Time on Blog Talk Radio. Watch Parallel Programming Talk LIVE every Tuesday at 8:00AM Pacific Time on Intel Software Network Television.


Our current java.net Poll asks Do you think you'll be attending JavaOne 2010?. Voting will be open through the end of the week.


Our latest java.net Feature Articles include Adhir Mehta's new Java Tech article, Web Service Simulatino Using Servlets; Maven Repository Managers for the Enterprise, by John Smart; and Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead.


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

Yesterday, in a live Tech Cast event on the Oracle Technology Network (OTN), Justin Kestelyn interviewed Mark Reinhold. The interview is currently available in full bandwidth, and it will be available in Brightcove and audio-only versions within the next few days. [Note: a lower bandwidth edition is now available at https://channelsun.sun.com/media/show/15028.] If you are familiar with Mark's work, you'll not be surprised to find that Java 7 was the central topic of conversation.

Attendance at the live event peaked at about 80 people. The interview occupied about 30 minutes, and included a question and answer period where Mark addressed questions from the audience that were submitted via Facebook or Twitter.

Mark cited four primary objectives for Java 7:

  1. Modularity - make Java scalable downward, for customizable use on small devices; this will also address the "jar hell" problem once and for all
  2. Multilingual support
  3. Make Java a more productive language, through improvements likeProject Coin, the new diamond operator, strings and switch, and JSR-203 (NIO.2)
  4. Performance improvements - Hotspot and JRockit VM development, parallel array, closures (which will make implementation of parallel array structures much more convenient)

In response to a question from Justin, Mark said that upcoming Milestone 6 release will likely include the diamond operator and strings and switches, and subsequent near-term milestone releases will include a new Python-like syntax for initializers and elements from Project Jigsaw (modularity).

After a brief discussion of the history of the closures debate, the floor was opened to questions.

Visit the oracletechnologynetworklivepage at LiveStream to watch the interview [or at https://channelsun.sun.com/media/show/15028if you prefer a lower-bandwidth view].


In Java Today,heathervc announces that the JCP will soon be selecting 2010 Star Spec Leads:

The program office is preparing to select the 2010 Star Spec Leads, as announced in the December 2009 newsletter. Do you have candidates for 2010 Star Spec Leads? Please post them here or send email to heather at jcp dot org, if you would like to nominate a Spec Lead for this honor.  Please include a couple of sentences in support of your nomination and keep in mind the selection criteria ...

alexismp writes about Java EE 6 momentum, stretching the Jersey boundaries and a bit of GlassFish:

Java EE 6 adoption and overall momentum is still going strong. In the past few days there's been a InfoQ piece on how compelling EJB 3.1 are, a blog post by the Caucho folks around the Java EE 6 Web Profile which they intend to support soon in their Resin product, while Mert has a detailed step-by-step "Getting Started with Java EE 6" document featuring a demo application focusing on JSF (using PrimeFaces), CDI, among other things...

Kirill Grouchnikov presents Swing Puzzler #1:

don’t like programming puzzles. If a small piece of code does not do what it appears to be doing after skimming through it, it is either the problem in the code itself, or the underlying libraries that it is using. Code should be easy to read, and easy to understand. This is why i didn’t enjoy any of the “Java puzzles” sessions during the last few JavaOne conferences. I have the original book and i’ve seen the presentation slides. Personally, i don’t think that i can learn much from them – except seeing that the puzzles originate from the intricacies of the language specification ...

In the Weblogs, theContinuous Blog has two new posts about the new Hudson 1.346 release. In Hudson 1.346 Released, Tyler Ballance breaks down the 1.346 release in terms of bugs fixed and enhancements. The very interesting follow-on blog by Kohsuke Kawaguchi is Performance improvements in 1.346.

On the Java ME SDK Team Blog, Tomas Brandalik provides First aid when emulator doesn't start:

We have got few bug reports about not starting emulator. After some research we would like to summarize possible causes. 1. Freshly installed windows doesn't have msvcrtXX.dlls. Got to folder runtimes\cdc-hi\bin and copy Microsoft.VC80.CRT into runtimes\cldc-hi-javafx\bin. This problem will be fixed over autoupdate soon. 2. Problem with localhost...

Markus Karg discusses What HATEOAS actually means:

These days there is much discussion about REST and HATEOAS, and many people feel urged to reinterpret what HATEOAS means or what Roy Fielding's often-cited dissertation allegedly would say in their understanding, and what HATEOAS should be implemented like therefore. While I first felt amused about this "dispute about nothing" (just ask Mr Fielding if you don't understand what his dissertation tells us; no need toguess), the longer I follow those (in part ridiculously wrong) assumptions and myths, the moremyself feels urged to stop those and shout: "Guys,before discussing your ideas, first learn whatMr Fielding's idea was!" ...

In the Forums,mangelo has a problem where Glassfish v3Domain 1 start failed: This is from a brand new installation with NetBeans 6.8. I just right click on the server instance and try to start it. Here is the IDE log:WARNING [org.netbeans.modules.j2ee.dd.impl.web.model_2_5.ServletMapping]:...

In the LWUIT forum, digitalsol asks about Menu commands separators: Hello, I wanted to ask if it's possible to add a separator between the commands in the menu ? Thank you in advance

In the Metro and JAXB forum, aparolini is seeing ajaxws-maven-plugin bug with dependencies of type POM: Hello, I didn't find any issue tracker for the jaxws-maven-plugin, so I do this post here. I spent 2 days on a very odd bug using the wsgen under the jaxws-maven-plugin. I finally find my way out by patching jaxws-maven-plugin. This patch just exclude the dependencies of type POM from being added to the wsgen command line...


Our current Spotlightis the Intel Software Network's Parallel Programming Talk: Parallel Programming Talk is a weekly broadcast onjava.net topics related to parallel programming (including Java) for multicore processors. Listen to Parallel Programming Talk LIVE every Tuesday at 8:00AM Pacific Time on Blog Talk Radio. Watch Parallel Programming Talk LIVE every Tuesday at 8:00AM Pacific Time on Intel Software Network Television.


Our current java.net Poll asks Do you think you'll be attending JavaOne 2010?. Voting will be open through the end of the week.


Our latest java.net Feature Articles include Adhir Mehta's new Java Tech article, Web Service Simulatino Using Servlets; Maven Repository Managers for the Enterprise, by John Smart; and Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead.


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

 

We've just published a java.net new article, in our Java Tech series: Web Service Simulation Using Servlets, by Adhir Mehta. In this article, Adhir demonstrates the concept of using servlets during the project development stage to simulate the responses that a live web service would provide. Adhir explains:

Web service simulation is a growing need for every web service based assignment. Many of the assignments do not have the ready-to-use web service available during development stage, so the developers try to write their own mock implementation.

Typically, the developers will write a simple web service that returns a properly formatted result, deploy it to a web server, and use the simple deployed service as part of their development test bed. However, it's time consuming to do this, especially if you need to simulate lots of different web services.

Adhir presents an alternative to this approach:

Let's go into the basics of web services and soap envelopes. The intended message resides in the soap body and is based on the message/content of the body; the response from the file system is picked up and can be returned to the caller. This task simply can be achieved with servlets using following steps.

  1. Extract the soap envelop from input stream.
  2. Retrieve the first node of soap body.
  3. Apply the algorithm to generate the response file name using input message. (I'll discuss one of the algorithm in following sections).
  4. Read the response from file system.
  5. Prepare the soap envelop and send it to the caller

Adhir presents and discusses a SOAP-based algorithm for generating a file name based on an input message, as an example application. Then he makes the algorithm configurable using XSD XML, and shows how to apply the code, resulting in the simulated web service.

If you're in a situation where you need to simulate web services as part of your development process, take a look at Adhir Mehta'sWeb Service Simulation Using Servlets. His SOAP and servlet based web service simulation method may save you and your team time and effort.


In Java Today, Neal Gafter discusses A Syntax Option for Project Lambda (Closures for Java):

It was noted recently on the Project Lambda mailing list that allowing arrays of function type would undermine the type system. The reason for this is a combination of Java's covariant arrays, the natural subtypes among function types (they are covariant on return type and contravariant on argument types), exception checking, and the erasure implementation of generics. We certainly can't remove covariant arrays or checked exceptions, and removing the subtype relationship among function types really reduces their utility. Unfortunately, it is almost certainly too late to reify generics too...

The NetBeans wiki is featuring JavaFXComposerNewInPreview2. The page contents include: JavaFX Shapes, Animations on States, Improved Data Support, JavaFX Effects, Colors, Templates, Charts (experimental), New Samples.

On Twitter oracletechnet reminds people who are interested the future of Java that they should "Remember to land at otn.oracle.com tomorrow at 10am PT for my live chat with Mark Reinhold. We want your questions!" That's 18:00 GMT.


In today's Weblogs, Fabrizio Giudici presents My Oracle wishes (1): SwingX:

With this post, I'm starting a short series of thoughts about what I hope Oracle will do for a set of popular Java APIs, that haven't been dealt in detail in their strategic keynote. Today I start with SwingX. I think it's really good to see Oracle's commitment with Java on the desktop, a thing that in the past Sun started to do, but near to the beginning of their decline. Now the initiative could have a better success with fresh resources, but there are many things to do...

Sahoo addresses the question of How to embed GlassFish in an existing OSGi runtime?:

Typical users of GlassFish use GlassFish in a separate process and they start GlassFish by using commands like the following: java -jar glassfish.jar or asadmin start-domain. The above commands first launch an OSGi framework and then deploy the necessary bundles. What if you want to embed GlassFish in an existing OSGi runtime? The bootstrapping code was slightly complicated IMO. Recently whenApache Camel committer Charles Moulliard asked me some questions around embedding GlassFish v3 in an OSGi runtime, I decided to revisit the bootstrap module in order tosimplify it so that I had less explaining to do...

Markus Karg presents Unicode™: Write Once, Read Nowhere:

Back in the early 80ies "of the past millenium" (As journalists call it these days - don't you feel as old as I do when reading that phrase? For me it is just "Childhood" and feels not so far ago. At least not a Millenium ago.), when I was a young boy, I teached myself BASIC programming on my father's Sinclair ZX Spectrum 48K and started coding small arcade games (what else will ten year old boys do with a micro computer? The web was not invented back then.). That wonder machine unfortunately had everything but not the possibility to do pixel or vector graphics in pure BASIC. You had to learn Assemblerfor that...

In the Forums,ossaert has a problem where Glasfish v3 Webservice does not work after restart: When I deploy a webservice to GFv3 then I can see the WSDL-file. When I restart the server, nothing comes (resource not found) until I restart the application manually. What is wrong with the Webservices? ...

In the Metro and JAXB forum, soysalyu is Rewriting a web service with Spring and JAXWS: Hello, I am trying to re-write a web service which is build by Weblogic's jwsc task. Since there is a WSDL file created by Weblogic already, I have to preserve this WSDL and use it in my new web service. I am using Spring 3.0 and...

In the ME Interest forum, digitalsol has a General question regarding mobile browser apps: Hello all, I was wondering something, I've heard that there is a tendency to create browser applications directly which will run on the browser of any smart phone, instead of writing J2ME apps for example. Some people think this is the future...


Our current Spotlightis the Intel Software Network's Parallel Programming Talk: Parallel Programming Talk is a weekly broadcast onjava.net topics related to parallel programming (including Java) for multicore processors. Listen to Parallel Programming Talk LIVE every Tuesday at 8:00AM Pacific Time on Blog Talk Radio. Watch Parallel Programming Talk LIVE every Tuesday at 8:00AM Pacific Time on Intel Software Network Television.


Our current java.net Poll asks Do you think you'll be attending JavaOne 2010?. Voting will be open through the end of the week.


Our latest java.net Feature Articles include Adhir Mehta's new Java Tech article, Web Service Simulatino Using Servlets; Maven Repository Managers for the Enterprise, by John Smart; and Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead.


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

 

In this week's java.net Spotlight, we're highlighting Aaron Tersteeg's Parallel Programming Talk show, which is broadcast every Tuesday at 8:00 AM US Pacific Time (16:00 GMT). This past week's show featured Dr. Danny Dig of the University of Illinois. The topic of discussion was "Refactoring (Parallelizing) Java Applications." A few weeks ago, Paul Guermonprez was Aaron's guest, with the topic of conversation being "Parallel Java."

Parallel Programming Talk covers the broad spectrum of issues related to the parallel programming that will be necessary if developers are going to meet the challenges of developing apps that fully utilize the many processor / many core computers that are likely to become predominate in the not too distant future. More than 60 Parallel Programming Talk shows have been broadcast since the series began in July 2008.

What started out as a fun idea has ramped into a growing community of interest. The format is simple; a few news announcements followed by a brief conversation about parallel programming tools, technology or application. Guest on the show have included Microsoft, Interactive Supercomputing, Axceleon, Intel Engineers and Academics.

The whole show runs 30min and is recorded over a phone line, simple enough to have anyone in the world as a guest on the show. The show streams live using the free Blog Talk Radio network and is available for replay or download via Intel.com and iTunes.

Reflecting on how things got started Aaron states, "Earlier this year our team was challenged with finding an innovative and low cost way to get our message out to a broader audience. I had heard about Josh Hilliker and other podcasters success with Open Port Radio and thought that I would give it a try. I've been delighted with the results and the growing level of interest."

You can watch the "Parallel Java" show (with Paul Guermonprez)on demand; or you can listen to the MP3 by going to the Parallel Programming Talk home page. The "Refactoring (Parallelizing) Java Applications" broadcast, featuring Dr. Danny Dig, is currently available at the ISN TV site. Once it's no longer there, you'll be able to find a link for watching it on demand on the Parallel Programming Talk page.


In Java Today, Dustin Marx talks about JAX-RS 1.1: What's New?:

Srini Penchikala's InfoQ articleJava EE 6 Web Services: JAX-RS 1.1 Provides Annotation Based REST Supportprovides a concise (fits on one printed page!) high-level overview of JAX-RS 1.1, some of the commonly used JAX-RS annotations, and some common implementationsof JAX-RS 1.1. It's definitely worth the short read for anyone just starting to learn about JAX-RS. JAX-RS 1.x has been developed under the Java Community Process via JSR 311 ("JSR 311: JAX-RS: The Java API for RESTful Web Services")...

The Continuous Blog presents the first edition of This Week in Plugins:

Since this is the first "This Week in Plugins" (TWiP), I'm trying a fairly basic format out. I'm debating how much information I want to include in these, while I would like to include details on "what's changed" for each plugin over the course of the week, the means of fetching that information would be incredibly tedious (read: no fun) since there's not particularly any standard meta-data to be scraped from the wiki. Duplicates have been pruned from the list, meaning the latest release of a plugin is what's being shown; sorting is also by day of release then alphabetical...

The 2010 Vancouver Winter Olympics site includes a Geo View panel that's written in JavaFX. An email sent out by the JavaFX Project Team invites us to:

Join sports fans around the globe and explore the Olympic Winter Games results in a whole new way. Medal results from Chamonix 1924 to Vancouver 2010 come to life in an engaging, interactive JavaFX application. Comparing countries medal results is now more exciting than ever. Learn more about how you can develop game-changing applications with JavaFX at http://javafx.com/wintergames/...

In today's Weblogs, Ahmed Hashim posted Spring Roo, a quick note:

I was going through the documentation of Spring Roo, version 1.0.1 while preparing a talk for JDC 2010 about the Spring Roo .. No need to mention the Roo is awesome, amazing and not Magic :-) Ben Alex, Stefan Schmidt did a great job really in this project. Smart architecture "The automated startup-time scan is also very useful as you upgrade to newer versions of Roo"...

John Ferguson Smart announces Acceptance-Test Driven Development - Bring Developers and Testers Together with easyb: the video is now online:

I recently gave a talk at SkillsMatter about Acceptance-Test Driven Development in general, and using easyb for Acceptance Tests in particular. You can now view the video of the talk here. The talk summary is as follows: "Test-Driven Development (TDD) and Behaviour-Driven Development (BDD) are powerful techniques, helping developers write better designed, more maintainable and more reliable code, and stay focused on the real user requirements. But how does the rest of the team fit in to the picture?"...

Kohsuke Kawaguchi talks about ASM incompatible changes:

ObjectWeb ASM is a great library that's used to parse Java class files. It's used in all kinds of projects, such as Hibernate, Corba, JAX-WS, Jersey, Spring, Hudson, to name a few. But I have a pet peeve to this otherwise great library, namely its insistence on small size (which by itself isn't a bad thing), and its consequences. One of the choices that made to achieve this was to omit the debug information entirely from the class files...

In the Forums,table1 wonders which will be best careerwise, Learning New Technologies/Frameworks Or Sticking to Core Java?: Hi, I am a java professional with more than 4 yrs experience in software development. I am interested and keen on working on core java but I am always confused about my career on whether I should focus on learning new frameworks/technologies...

In the JavaFX forum, arun10427 has questions regarding TCP chat client using J2ME midlet: Hi all, I am new to Midlets and I want to develop a TCP chat client using J2ME midlet. I have a perl script for the TCP server and I have attached the TCP chat client . Right now, it is just sedning one message to the server,but I want the...

In the JavaSE forum, aucun posted Need help with JCreator and JDK 6 update 18: JCreator found the jdk home folder but needs the docs folder and i can't find it, can someone point me to where it is or what to do about this. I'm running windows 7 i haven't downloaded java i just downloaded jdk 6 update 18...


Our current Spotlightis the Intel Software Network's Parallel Programming Talk: Parallel Programming Talk is a weekly broadcast onjava.net topics related to parallel programming (including Java) for multicore processors. Listen to Parallel Programming Talk LIVE every Tuesday at 8:00AM Pacific Time on Blog Talk Radio. Watch Parallel Programming Talk LIVE every Tuesday at 8:00AM Pacific Time on Intel Software Network Television.


Our current java.net Poll asks Do you think you'll be attending JavaOne 2010?. Voting will be open through the end of the 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

I suppose that title doesn't say a whole lot, but it was the best thing I could think of as a brief phrase for describing the results of this past week's java.net poll, without saying something totally misleading. Take a look at the breakdown of the 312 votes that were cast, and you'll probably understand what I mean:

Does your company use an enterprise repository manager for development?

  • 41% (129 votes) - Yes, we use Maven
  • 13% (39 votes) - Yes, but not Maven
  • 18% (56 votes) - Unfortunately, no
  • 8% (25 votes) - Our projects don't require a repository manager
  • 16% (49 votes) - What's a repository manager?
  • 4% (14 votes) - Other

So, how would you summarize that in a handful of words? Say that a majority of companies use enterprise repository managers? Well, since this isn't a scientific poll, we can't really use these results to state such a conclusion. All we really can say is that, among the 312 people who chose to vote, more than half work for companies that employ an enterprise repository manager for their projects. That statement, of course, is far too long for a blog title!

Still, while java.net polls are not scientific, it's interesting to think about the results. The first two response options were perhaps truncated a bit too much. Explicitly stated, the first option would have been "Yes, we use an enterprise repository manager, and we have Maven repositories" and the second option would have been "Yes, we use an enterprise repository manager, and our repositories are not Maven repositories." But those long statements would not have looked very good on the front page of java.net. I think most people understood that the point of the options was to distinguish between whether your project has Maven repositories or another type of repository.

The voting suggests that 77% of people's projects that utilize a repository manager also utilize Maven repositories. Another interesting number is the 18% who voted "Unfortunately, no" -- indicating that they fully understand the benefits of a repository manager, but their company or project isn't currently utilizing one. A total of 24% of people reported that their projects don't require a repository manager, or that they don't know what a repository manager is. My guess is that most of the people who selected these options work on less complex projects, that have fewer integrated components, than the full-scale enterprise systems that many of us work on.

There were two comments. keeskuip asked "Where's 'No'?":

Why is there not a simple "No"?

fabriziogiudici responded "I think that it makes sense":

I think that it makes sense to have a "no" with a rationale. "Our project doesn't need..." actually means "no", motivating it with Maven being a useless increase in complexity in that case.

I actually did intend the "Our projects don't require a repository manager" to be the simple "no" response. Between that response and "Unfortunately, no" I was trying to distinquish between people whose projects don't utilize a repository manager even though it would be beneficial if they did use one, and people whose projects are sufficiently basic that the complexity of having a repository manager is unwarranted. Looking at those two results, among the people who know what a repository manager is and whose projects also don't utilize one, 69% of the developers wish their projects used a repository manager.

This implies to me that we need to get some VP's of Development educated on the reduction in productivity they're causing by not coordinating their project dependencies management and builds using up-to-date technology. This doesn't have to be a manual process, today, where each individual developer, or individual project team, reaches out to wherever for their libraries, resulting in multiple and uncoordinated versions of the libraries come final build and integration time. As John Smart says in his article Maven Repository Managers for the Enterprise, working a big project, where you have lots of code, lots of component interaction, without a repository manager is

like using a kayak without paddles: you'll get there eventually without them, but your life will be much easier if you are properly equipped.

John is specifically talking about Maven repositories and Maven repository managers, but I think the statement applies any componentized project that has a large, complex code base.

New poll: JavaOne 2010?

The JavaOne 2010 call for papers is happening now. Yes, we now know that JavaOne will continue, and that this year's edition will take place September 19-23. So, our new poll asks Do you think you'll be attending JavaOne 2010? Voting will be open for the next week.


In Java Today, the formal JavaOne Call for Papers is now open:

The 2010 conference will once again bring together the global Java technical community for a week of education, debate and exchange. This year, the conference curriculum is going back to its roots

Our lead Java Today story is JAX-RS with Jersey: An Introduction, by Dustin Marx. I found this intersting, because a few weeks ago I spent some time studing Jersey, as I thought about resurrecting an old project of mine, and redeploying it using GlassFish, Jersey, and other current Java technologies.

Dustin begins his introduction with:

The JAX-RS(JSR 311: The Java API for RESTful Web Services) specification provides a standardizedJava-based approach to implementing REST-style web services. Jersey is the reference implementation of JAX-RS and I provide a brief introduction toJAX-RS via Jersey in this blog post. Although Jersey doesn't require the use of GlassFish, I use Jersey in conjunction with GlassFish v3 in this post.

Dustin then proceeds, step-by-step, first covering how to install GlassFish Version 3 on a Windows machine, set the necessary environment variables, and bring up the GlassFish admin console:

His example REST application is MovieOfTheDay.java, a 127-line class with the requisite JAX-RS annotations. Dustin was also working with NetBeans 6.8, and presents the web.xmlfile that NetBeans generated when he added the necessary JAX-RS and Jersey jar files to his project's libraries. He then goes through the remaining steps to bring the application live, providing screen shots.

JAX-RS with Jersey: An Introduction concludes with:

The process of deploying a JAX-RS-based web service using Jersey and GlassFish is relatively straightforward. All I really needed was access to the JAX-RS and Jersey JARs, the properly annotated Java class, and the short web.xml file that allowed Jersey to be used as a servlet. This blog post has attempted to show the basic steps involved with writing a simple JAX-RS-annotated class, deploying it to GlassFish, and taking advantage of Jersey's implementation of JAX-RS.

In other Java Today stories, Adam Bien is experimenting with GlassFish V3 in an (OpenSolaris) Zone ... An Interesting Error and Solution:

After the installation of Glassfish v3 in an opensolaris zone, Derby booted perfectly, but Glassfish v3 threw this interesting exception: Waiting for DAS to start ..Error starting domain: domain1. ...

Terrence Barr says See you at Mobile World Congress next week (Feb 15-18, 2010):

It’s that time again … Mobile World Congress is upon us next week. Sun and Oracle will be present in several locations exhibiting technologies, products, and services focused on communication. At the Oracle Pavilion (AV #44) there will be demonstrations of the Sun Netra 6000 blades, the Oracle Communications Order and Service Management 7.0 solution, and a number of other products..

In today's Weblogs, I decided to check in on Geerjan Wielenga to see if he's found any interesting new YANPAs (Yet Another NetBeans Platform Application) recently. Yes, he has. So, I posted YANPAs: They're Everywhere!:

Where I live (Connecticut, US), a popular bumper sticker is "Motorcycles Are Everywhere!" That's what I was reminded of as I surveyed the past week's posts by Geerjan Wielenga, and saw that he has discovered several interesting YANPAs (Yet Another NetBeans Platform Application, as he sometimes calls them). It really begins to appear that, like motorcycles, YANPAs are indeed everywhere! Furthermore, you find YANPAs even in the coldest months! ...

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...

In the Forums,micamicic has questions on Principal Propagation in JAX-WS: My web services client is a secure web application that authenticates the users with form based authentication in a Tomcat 6 container. The client invokes a web service that implements business logic. The question is how to pass the...

In the GlassFish forum, ekrisjo is seeing Thread contention for SLSBs - CORBA - POAManager: Hi. I have run some heavy traffic on our application. The application has servlet endpoints that communicate with a backend through SLSBs. The war and ejb is located in different ears. I use thread dumps to find heavy thread...

In the LWUIT forum, angusrose has a question regarding Scaling of images: Dear all, is there a way in which I can scale a png such that it automatically fills the component in which it is displayed e.g. a Label, or do I have to scale the image using another application such as Gimp? ...


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

Our java.net spotlight this week is the announcement by Oracle's Ted Farrell about the future of Kenai.com and its infrastructure. Prior to Ted's announcement, all that was known publicly was that Kenai was going to be closed down. It turns out that, while that's true with respect to the domain name, it's not true that the Kenai infrastructure and project contents will be eliminated.

Here's Ted's complete message:

Gentlepeople,

In an effort to get information out to the Kenai community quickly, while trying to manage the integration of our two companies, I think we did a poor job at communicating our plans for Kenai.com to you. I would like to remedy that now. Our strategy is simple. We don't believe it makes sense to continue investing in multiple hosted development sites that are basically doing the same thing. 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. So in the meantime I suggest that you stay put on kenai.com and let us work through the details and get back to you later this month.

Thanks for your feedback and patience.

Ted Farrell
Oracle Corporation

Overall, the news was greeted enthusiastically by the community. For example, on the Kenai blog, prior to the announcement, the comments posted by people universally expressed displeasure and disappointment, because the earliest news from Oracle about Kenai talked of a simple close-down of the site. After Ted's announcement, there were comments like "Great, great, great! :-)" (by Fabrizio Giudici, who has multiple projects on Kenai) and "YESSSSSSSSSSSSSSSSSSSSSS!" (by Chuk).

However, the "poor job of communicating" that Ted Farrell acknowledges did have an impact. While most people are pleased that the Kenai infrastructure will remain intact, just under a different domain name, a few people saw the apparent switch from "Kenai will close in 60 days" to "I suggest that you stay put on kenai.com and let us work through the details" more than unnerving, and plan to move away from Kenai regardless of the opportunity to stay.

The nine months of delay between the announcement of Oracle's acquisition of Sun and its completion provided Oracle with a lot of time for studying what they were acquiring in Sun. Still, due to the legalities associated with acquisitions, it was impossible to have the entire post-acquisition integration plan perfectly set in every detail. Despite its final market capitalization, Sun was a very big company. Its integration into Oracle will take some time, and will include some missteps.

A "poor job of communication" indeed happened with respect to Kenai. But the problem was resolved within 10 days of the completion of the acquisition. That's a pretty fast reaction time, in my view.

Some people have wondered why Kenai wasn't made a part of java.net right from the start. I don't know the answer to that question. Still, I think it's excellent that now Kenai and java.net will be integrated in some manner. I look forward to hearing the details on what the structure of this integration will ultimately be.


In Java Today, Alexis Moussine-Pouchkine talks about GlassFish , Kenai, and HotSpot under the Oracle Sun:

It's been just over a week since Oracle held its post-acquisition stategy webcast and we've already seen some fast reactions and comments from Oracle on several topics : • Projects hosted inKenai will preserve their infrastructure and be moved to java.net (the best of both worlds if you ask me). See Ted Farrell's post for the details...

Christian Hedin posted details on setting up an environment forContinuos Integration for XCode projects:

Continuos Integration is the practice of integrating changes from many people as often as possible. Instead of merging changes once a month and spending time handling merge errors you try integrate every day, perhaps even every hour. Each integration is built and tested on a server. If there are build errors or test failures, you and your team will be notified right away. This is the second part of the blog post I wrote about TDD in XCode...

Janice Heisspointed me to Robert Eckstein's new article, JavaFX 1.2 UI Control Components: Part 1, Layouts. Here's Robert's introduction:

JavaFX SDK 1.2 introduces a new set of user-interface (UI) control components for JavaFX programmers. Previously, JavaFX UI Components simply "borrowed" their functionality from the underlying Swing components, which prevented them from being used in anything other than the desktop profile. The JavaFX SDK 1.2 components, however, take advantage of the more powerful JavaFX scene graph, which not only increases portability, but also allows JavaFX programmers to create more compelling graphical capabilities. In this series of articles, we'll take a closer look at the new UI control components...

In today's Weblogs, Jim Driscoll talks about Progressive Enhancement with JSF:

Progressive Enhancement is a philosophy of web design - start with simple pages, and build them up based on the capabilities of the browser viewing the page. It’s related to (and in some ways, the opposite of) the idea of Graceful Degradation, starting with a nice, fancy page, and dealing with any browser faults in an elegant manner. Prehaps the simplest example to see this in action is the case of JavaScript being disabled in the browser - this is occasionally true for certain corporate clients concerned about security, and sometimes the case for very old browsers...

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? ...

Fabrizio Giudici asks Are you sure you know everything you need about erasure?:

Erasure is a part of the way Java 5 implements generics, so the bytecode loses all the information about the generified types, only generating the proper type casts where appropriated. It's the thing that you scream against when you try to write code such as: public abstract class CapabilitiesProviderSupport<T> implements CapabilitiesProvider<T> ...

In the Forums, Xavier Callejas asks What version of Woodstock components is using Glassfish V3 Admin Console GUI ?: Hi, I would like to use Woodstock in a web application deployed in Glassfish V3, I though they were incompatible with Glassfish V3. What I need to be able to use Woodsotck in Glassfish V3? Thank you...

In the Java SE forum, sproketboy needs to Prevent Rhino scripts from accessing setters: Hi all, I'm using a script engine in my game and I'm passing to the bindings some objects which I don't want modified. For example I don't want a script to do something like this: player.name = "whatever"; So I created a...

In the LWUIT forum, alyver00 has questions regarding Intransition, Out transition,backCommand, how to use them correctly: Hi, I've some difficulties to use correctly the inTransition and outTransition setting on Form. If my application tree goes from form A to form B to form C and than i press back command from the form C till form A, I have an worst effect using...


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

This week's new java.net poll asks Does your company use an enterprise repository manager for development? A month ago we published John Ferguson Smart's article, Maven Repository Managers for the Enterprise. The larger the developer team, and the more diverse the products the team produces, the greater the benefits of using a repository manager become. As John says:

A correctly-configured repository manager can speed up your builds, save bandwidth, help you share artifacts within your organization, and give you better control as to what dependencies are used in your projects and where they are coming from. It can also play a key role in your development infrastructure, helping you set up a fully-blown automated build and deployment pipeline.

Voting for the new poll will be open for the next week.

Last week's poll: participation in java.net

The results of last weeks poll suggest that about three times as many people visit java.net to read content as the number of people who participate in more active ways, like contributing to a project, posting in forums, blogging, etc. A total of 175 votes were cast. The exact poll question and results were:

In what ways do you participate in the java.net community?

  • 7% (13 votes) - I contribute to java.net projects/communities
  • 8% (14 votes) - I post in the forums
  • 1% (2 votes) - I blog and/or contribute articles
  • 6% (11 votes) - Multiple of the above
  • 73% (128 votes) - I read java.net content
  • 4% (7 votes) - Other

First, my normal caveat: this is not a scientific poll; rather, it's a voluntary survey. The assessments of the results given in this post are presented with this understanding clearly in mind.

While it's not unexpected if a majority of visitors to a site browse the site's content as their exclusive level of participation, that one quarter of respondants indicated that they participate in java.net in more active ways is interesting. The objectives of java.net include being a platform for diverse Java/JVM development related activities. Java.net is clearly not simply a Java/JVM related news portal.

My role as editor may be centered on the news / editorial content aspect, and, in that regard, as I said in my Tuesday post, I am seeking new people to blog on java.net, and perhaps contribute articles. But, now that the uncertainty over the Oracle acquisition is gone, I think we can also look forward to investment in java.net's infrastructure that will improve the site's capability as a developer community platform.

As that happens, alski's complaints ("This polling system continues to disappoint ... The site is dog slow most times to boot") may go away.

The other comment posted to the poll was by dma02, who considers a great many java.net polls to consist of "dumb questions." There's no actual way I can respond to this type of criticism, other than to restate that all members of the java.net community are welcome to send me ideas for a java.net poll. The more people our polling questions come from, the less likely that they'll consistently displease some members of the java.net community.

So, if you have an idea for a java.net poll, please take the time to send it to me. One way to do this is to go to the java.net Submit Contentpage and select "Poll Question" for where the "item should go on the homepage." Just put any link in the "Link" box, if there isn't a specific page you'd like to point out to me, related to your poll question. Also please include suggested response options.


In Java Today, Terrence Barr completes his series with Oracle+Sun: Java News Round-Up, Part 3:

Today, I’d like to summarize the highlights around developer communities and developer engagement under the Oracle+Sun announcements. I am mainly referring to “Overview and Frequently Asked Questions for the Developer Community” published on the Oracle Technology Network (OTN), but I will be including additional information I have collected in the past few days. Summary points: * Oracle has a long history of engaging with developers on many levels and this history will continue with respect to Sun’s developer communities...

Joe Darcy posted java.util.Objects and friends:

A small project I worked on during JDK 7 milestones 05 and 06 was the introduction of a java.util.Objectsclass to serve as a home for static utility methods operating on general objects (6797535,6889858, 6891113). Those utilities include null-safe ornull-tolerant methods for comparing two objects, computing the hash code of an object, and returning a string for an object, operations generally relating to the methods defined onjava.lang.Object...

In a Twitter post, @kirillcool pointed out Alex Ruiz's excellent article Debugging and testing Swing code:

Swing is one of the more powerful GUI toolkits available; it's extensible, configurable, and cross-platform. But Swing's flexibility is both its major strength and a great weakness. With Swing, you can construct the same UI in many different ways. For example, you can use insets, empty borders, or fillers to put space between GUI components. Given Swing's extensive stock of options, understanding an existing GUI can be as daunting a task as writing a new one, and mapping its visual appearance to the underlying code is far from trivial...

In today's Weblogs, Josh Marinacci posted The iPhone, Open Systems, and Leaving Sun:

Lots of people have opined on Apple's iPad, many deriding it's closed nature and lack of features. The thing is, those problems don't matter to most people. The iPad isn't for you or me. It's for everyone else. I've spent the last 20 years hoping we would have the technology to build such a device, even though I knew it was a device I would not personally use. But that doesn't matter...

Gabriele Carcassi is Building a fluent API (internal DSL) in Java:

In this post I am going to sum up things I have learned while creating a fluent API (or internal DSL) in Java. I'll talk about the search API I created for my current position: it's not a toy problem, it's a real problem, which has a significant amount of complexity. Because of that complexity, you get to see techniques and ideas that you don't usually see in toy examples. I am not including the full source, which (if you really want) you can access on the project's site...

John Smart previews his Acceptance-Test Driven Development - talk in London next week:

I will be in London next week, talking about "Acceptance-Test Driven Development  - Bringing Developers and Testers Together" at Skills Matter. "Test-Driven Development (TDD) and Behaviour-Driven Development (BDD) are powerful techniques, helping developers write better designed, more maintainable and more reliable code, and stay focused on the real user requirements. But how does the rest of the team fit in to the picture?...

In the Forums,tcolakov is seeing a squawk-native debugger problem? [debian-squeeze] : Hi there, I have been using squawk-native debugger with DELEGATING option without problem for sometime. Then, after a pause(say few months), I wasn't able to use debugger. I was able to start squawk program under SDA controller, but when I...

marioz has an Eclipse Glassfish plugin v1.0.52 EAR deployment problem: Hello all, I'm having a problem (more a feature than a bug) with deploying EAR to glassfish app server with glassfish eclipse plugin. My system: eclipse java ee 20090920-1017; glassfish eclipse plugin v1.0.52; glassfish v3 final ...

In the GlassFish WebTier forum, peter_valihorawrites about a Mojarra 2.0.2 + Groovy 1.7.0 problem: I'm trying to use Mojarra 2.0.2 with Groovy 1.7.0, but withou any success. I found Ryan Lubke's post on his blog (http://blogs.sun.com/rlubke/entry/groovy_mojarra), but it seems not working for Mojarra 2.0.2 and Groovy 1.7.0. What changed in configuration since Ryan's post? ...


Our current Spotlightis the JCP article "Agility: Definitions, Principles, and Practices for Today", by Susan Mitchell: "Agility is a word we hear a lot these days, but there are a variety of methods to implement it within the Java Community Process (JCP) program. Most people grasp the basic idea of being quick, but there is much more involved than sheer speed of development or time to market. There are additional meanings, such as the quality of being mentally alert, skill at changing direction, and the ability to maintain control even during times of stress..."


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

Louis Botterill attended the European RoadShow 2010 event in London this past Tuesday, and posted a very detailed set of notes titled GlassFish v3 and Java EE 6 Sun-Oracle roadshow - key notes. Thanks to Alexis Moussine-Pouchkine for pointing this out on Twitter yesterday.

Louis starts with a list of "key takeaways":

  • GlassFish v3 continues to be developed and supported, as the Java EE 5 & 6 RI app server
  • GlassFish v3 currently has no clustering, but offers OSGi modularization and extensibility
  • Supports and takes advantage of new Java EE 6 specifications
  • Big push on modularity and flexibility in both GlassFish and Java EE 6
  • Java EE 6 supports annotation based EJBs, RESTful web services
  • Java EE 6 greatly simplified configuration, optional web-inf.xml etc
  • Java EE 6 simplied simple class EJBs and improved JPA specification
  • Ongoing road-map for GlassFish, details TBA later this year


 

The road show featured Roberto Chinnici (speaking about Java EE 6), Alexis Moussine-Pouchkine (speaking about GlassFish V3), and Steve Elliot (speaking about GlassFish V3 management and monitoring). Visit Louis's post for the full details (the post would occupy about 10 pages if you printed it) -- but I'll highlight a few items...

Roberto cites the key new Java EE features as being the new API, Web profiles, pluggability, and dependency injection. He said the new Java EE 6 technologies close down the gap between EJBs and POJOs with unification and annotation. He then goes down the list of major Java EE 6 technologies, highlighting the features in each one.

Alexis starts by pointing us to the GlassFish geographic download map, which shows that about the only places on the globe that haven't downloaded GlassFish yet are deserts, rain forests, very high mountain ranges, and the high latitude polar regions. [Note that you'll have to select "GlassFish Admin Hits (Through Dec 2009)" to see the data; the data for the default January 2010 view is apparently not loaded yet.] Alexis also provides a code snippet demonstrating the new API for EJB testing (EJBContainer), talks about GlassFish embedded, OSGi, and many other of the new GFv3 technologies.

Steve Elliott highlighed the user friendliness, pluggability, and extensibility of the GlassFish Version 3 management and monitoring user interfaces. He notes that GFv3 represents a big move to OSGi technology, and a big move to a more modular development approach. He ended his presentation by pointing us to the Oracle and Java page, which "contains links to GlassFish, etc."

While the GlassFish V3 and Java EE 6 portion of European RoadShow 2010 is now complete, the broader Java Update RoadShow continues through next week:

  • Feb. 5: Brussels
  • Feb. 9: Paris
  • Feb. 10: Stockholm
  • Feb. 11: Madrid
  • Feb. 12: Rome

The Java Update show is a free event.


In other Java Today stories, Joe Darcy announces JDK 7: New Component Delivery Model Delivered:

Thanks to Kelly, the new component delivery model for jaxp and jax-ws is now available in both JDK 7, as of build 72 of milestone 5, and OpenJDK 6, coming in build 18 (6856630). As described previously, the JDK build no longer tracks a copy of thejaxp and jax-ws sources under version control. Instead source bundles from the upstream teams are used. The jaxp.properties file in the jaxprepository contains the default URL from which the source bundle is downloaded as well as the expected checksum for that file. The analogous setup is used for jax-ws in its repository...

Adam Bien writes that Object Pooling Can Be Still Useful - For Entirely Different Reasons:

Pooling was initially introduced as a tuning action for the slow performance of object creation and garbage collection in particular. On a modern JVM > 1.4 pooling is no more needed for the optimization of memory management in a typical business application. It can even have a negative effect on the garbage collector performance. In special cases, like creating millions of instances in every method call, it could still pay off...

In today's Weblogs, David Herron talks about The iPad, the Flash kerfluffle, Applets and JavaFX:

Last week Apple released their latest product destined to change the world (the iPad).  At least that's what they want us to believe.  Perhaps the biggest controversy over the thing is the lack of Flash capability.  However this being java.net I have to wonder out loud, where is Java capability, and more importantly why isn't as much controversy being raised over Java being missing? But I think we all can enumerate some reasons for both being missing.  And it's worth it for the Java community to ponder this issue. A couple weeks ago I attended a meeting of the Silicon Valley Web JUG (yes: Java User Group).  (The Future of the Web According to Dion Almaer and Ben Galbraith)  A very interesting meeting with a great overview of advances in HTML5...

Felipe Gaucho has posted My slides from Jfokus 2010:

Here it is the PDF version of my slides @Jfokus 2010, the great Java conference in Sweden. You feedback is always welcome...

Fabrizio Giudici's open source projects are Moving to Google Code, even though sometimes Google is terrible:

Kenai is being closed, so I'm moving all my projects to Google Code for the Mercurial source repositories and Google Groups for the mailing lists. To provide a complete information that can be helpful for others, I fortunately have my own instance of Jira - one of the biggest losses when leaving Kenai - with the exception of BetterBeansBinding, that I don't want to bind to Tidalwave; and I'll probably use the SonaType free hosting for Maven repositories. I have still to figure out where to publish media (screenshots and screencasts) and the javadocs. Google Code is popular and creating a project is easy...

In the Forums,timinator is getting a ClassNotFoundException in Netbeans 6.8 w/MSSQL jdbc: I'm attempting my first jdbc connection using Netbeans under Win7, with MS SQL 2008. I've added the appropriate jar files to the Netbeans Library and Compile Classpath. However, I'm getting the ClassNotFoundException on the following...

In the GlassFish forum, jsexton0 has a question regarding Logger Name/Value Pairs: Glassfish log messages have a name/value pairs section. Can I add data of my own to this section? ...

In the Metro/JAXB forum, red_baron has an STS Issued Token Tutorial Problem: Hi, We work on a *Web/Enterprise Application* using *EJB* in *Glassfish V3* and *PostgreSQL 8.4*. Is there any mechanism that allows me to detect which field was changed (while performing updates) without using dirty flags or re-reading the same record(s) before updating it ? Why: For audit purpose/logging. Any recipes or ideas ? ...


Our current Spotlightis the JCP article "Agility: Definitions, Principles, and Practices for Today", by Susan Mitchell: "Agility is a word we hear a lot these days, but there are a variety of methods to implement it within the Java Community Process (JCP) program. Most people grasp the basic idea of being quick, but there is much more involved than sheer speed of development or time to market. There are additional meanings, such as the quality of being mentally alert, skill at changing direction, and the ability to maintain control even during times of stress..."


This week's java.net Poll asks In what ways do you participate in the java.net community?Today is the last full day of voting.


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

Our lead Java Today items both yesterday and today were Terrence Barr's Oracle+Sun: Java News Round-Up series. If you watched last week's "Oracle + Sun Product Strategy Webcast" (now available as aseries of webcasts that are partitioned by topic), you may have felt like so much was said that it was difficult to step back and recall the most important statements related to your own interests. As Terrence says at the start of Part 1 of his series:

Last week saw a flurry of news, announcements, webcasts, and information around the Oracle-Sun acquisition. In fact, there was so much detail it is easy to miss some of it ...

This is the problem Terrence seeks to address in his three-part series. Part 1 talks about the Java strategy; Part 2 focuses on Java developer tools; and Part 3, which is planned for publication later today, will be about developer communities.

http://terrencebarr.files.wordpress.com/2010/01/picture-2.png?w=200&h=173

In Part 1, Terrence revisits the 16-minute Java Strategy webcast, which featured Hasan Rizvi (Senior Vice President, Oracle Fusion Middleware) and Jeed Kaul (Vice President, Java Development). Terrence presents a high-level summary:

  • Continued investment in Java platform across a range of servers and devices
  • Fuel futher innovation in the Java platform and JavaFX
  • Continue to support developer community, open source, and JCP

Then he lists some specific Oracle objectives, and other points of interest. For example:

  • Continue to drive Java as the most widely used, productive, innovative, reliable, performant, and pervasive platform
  • Java EE (enterprise): Glassfish continues as the Java EE reference implementation and open source project (Oracle has already contributed to the Glassfish community in the past)
  • Unification of Java ME and Java SE APIs and capabilities
  • Improve interoperability between Java, JavaFX, and JavaScript
  • JavaOne: Continues as open community event for Java, co-located with Oracle Open World in San Francisco (Sep 19-23, 2010), plus taking JavaOne on the road to Brazil, Russia, India, China

http://terrencebarr.files.wordpress.com/2010/02/ted-farrell.png?w=200&h=176

In Part 2, Terrence revisits the 19-minute Java Developer Tools Strategy Webcast, which was given by Chief Architect and Senior Vice President Ted Farrell. Here are a few of the talking points Terrence highlights:

  • Oracle

Now that the Oracle acquisition of Sun Microsystems is complete, java.net is seeking new growth for our community: bloggers and article authors, along with people who want to participate in our java.net communities and projects. The uncertainty that has existed for virtually the entirety of my tenure as java.net editor has now reached an initial resolution.

By "initial" I mean that the end of the acquisition uncertainty means today is a new day. At java.net, post-acquisition, we are in "business as usual" mode. Except, the meaning of "business as usual" now takes on a new perspective. I had no idea what the plan for java.net was going to be, post-acquisition. It's clear now that Oracle was working very hard all these past nine months, analyzing their purchase, evaluating what the best first steps would be. But none of that could be conveyed to anyone in public; nor, as you might expect, to an O'Reilly person working on a contract with Sun as java.net editor!

So, where do we stand today at java.net? What does "business as usual" mean for any enterprise, whether commercial, or an open source project, or an online technology community? It means it's time to grow! That's "business as usual" for virtually any enterprise (including my garden, for which I ordered seeds last night). Growth is natural.

It's time to grow again, really, for java.net -- since the too many months of uncertainty without doubt took a toll on our community, just as it took a toll on the sales of Sun products, as customers wondered about Oracle's ultimate level of commitment to specific areas as the "quiet time" dragged on and on... Well, in case you haven't heard, the story is having a pretty happy ending/beginning, since Oracle + Sun are saying loudly: We're hiring! As I noted in a tweet during last week's Oracle + Sun Strategy Session, those two words are "the perfect statement for immediately building confidence among both customers and employees."

Now, I can't say that we're "hiring" at java.net. But, if you've ever considered joining our community, if perhaps you've been holding back because you had doubts about our viability going forward -- well, now's the time to get involved! From what I'm hearing, we are quite viable going forward. Here are a couple ways you can participate, along with some reasons for choosing to do it here on java.net.

Blogging on java.net

There are many places where software engineers and architects can blog. But, if your focus is on Java/JVM related technologies, Java open source projects, the debate over the future of Java and the JDK -- what better place to make your blog's home than java.net? Post-acquisition, we remain an independent voice in the Java/JVM technology realm. It's almost as if nothing has happened, except that we now have improved financial backing!

There are no changes in blogging policy -- I'm still the dictator ;-) ... No, actually, our entire java.net community rules and polices itself. Not that a single censure has been proposed to me during my reign as editor. People who blog at java.net know why we're here, and we blog accordingly -- and very openly, too!

Seriously, consider joining us if the main topic of your blogging is Java-related technologies. We may not have the fanciest blogging infrastructure, but you'll be part of a Java-centric community that I believe has a very bright future ahead of it. Your blog can be part of that future!

If you'd like to start a java.net blog, contact me!

Become a java.net author

Maybe you don't like writing frequently, but you're working on some very interesting technology, and you'd like to share it with the broader Java community. Maybe you've come up with a technique that solves a troublesome problem you know many developers have encountered. Maybe you can provide clues as to how to solve a problem through presenting and discussing a few code snippets? Or, maybe you do blog a lot, but you sometimes want to pull together a broader, more formal presentation, that wholeheartedly demonstrates your findings.

If any of these situations describes you, then you should consider writing a java.net article. Whether the solution you have in mind occupies 500 words or 4500 words, if it's something that may well be valuable for developers for some years hence, composing it into a java.net article is a great way to get it into the public record, on a site that garners a lot of respect and recognition within the Java community. Ideally, you'll be writing about something that's new enough that there isn't much documentation available at this point. You want your article to be among the first that provide a solution to the specific problem you're addressing.

Ah! (or arggh!) at this moment I want so much to quote my ultimate boss Tim O'Reilly's "Three F's of Publishing" dictum -- but I daren't do it, since java.net is a family-friendly site. Contact me if you want to hear Tim's "Three F's of Publishing" statement in private. I think he's right about it! My wife and I applied the dictum when we wrote our MySpace book several years ago. It worked!

Anyway, back to writing an article for java.net: of course, a technology article is a more formal form of composition than a blog post is. You'll want to spend the necessary time to make sure your presentation is well ordered, make sure your sentences, paragraphs, and code snippets clearly convey what you intend to say to your developer audience.

But prior article writing experience is not required! I'm here to assist you, most definitely, with suggestions for focus, slant, subtopics to mention to broaden the audience that will find your article of interest, and basic English language editing where needed (I was an English major in college, along with Physics -- they didn't have software engineering degrees back then, in the mid-1970s!).

So.. think about what you're working on, what you're interested in, within the scope of Java, the JVM, Java tools, Java open source projects, etc. Let me know if you have an article idea! From personal experience, I can tell you that writing articles for prominent technology sites looks great on your resume. Who can't use that right now, and going forward?

Until later...

Well.. I'm out of time for now. It's time to post Tuesday's java.net front page. I do that late at night my time (Eastern US) so that my friends in Asia get to see the new java.net home page (absent my blog, which I finalize in the morning my time) during their lunch break, and my European friends get to see it early in their morning.

More looking ahead for java.net soon to come! Consider being a part of it, OK?


In Java Today, Terrence Barr initiates a three-part series, in which he tries to distinguish some important trees within the Oracle Sun acquisition news forest, with Oracle+Sun: Java News Round-Up, Part 1:

Last week saw a flurry of news, announcements, webcasts, and information around the Oracle-Sun acquisition. In fact, there was so much detail it is easy to miss some of it … so I thought I’d summarize the most significant bits focusing on Java and the Java ecosystem(keep in mind that more information is becoming available on a daily basis so this is necessarily incomplete). This is part 1 which is about the Java strategy...

Peligri has created a very nice consolidated Summary of Post-Oracle Links and Changes:

This running entry collects key announcements related to Oracle's Acquisition of Sun; some from the Jan 27th event, some from companion webcasts, and some later announcements. The main theme of the acquisition is "We're Changing the Way you Buy, Run and Manage Business Systems"...

Joe Darcy talks about one of my favorite annoyances inPurging LD_LIBRARY_PATH:

Java developers are familiar with dynamic linking. Class files are a kind of intermediate format with symbolic references. At runtime, a class loader will load, link, and initialize new types as needed. Typically the full classpath a class loader uses for searching will have several logically distinct sub components, including the boot classpath, endorsed standards, extension directories, and the user-specified classpath...

In today's Weblogs, Simon Morris quickly discovered Apple iPad Not So Flash:

Amidst all the hype of the Sun to Oracle transition over the last week, some of you may have missed a certain announcement by a Cupertino-based firm regarding the imminent release of a computing device they say will fill the gap between netbooks and laptops. The Apple iPad is not, as some onlookers first suspected, a innovative feminine hygiene product, but a tablet device promising to offer (to quote Apple CEO Steve Jobs) "the best browsing experience you've ever had". But "the best browsing experience" does not include web plugins it seems, as despite the iPad's 1024x768 screen, 1Ghz processor, and support for wireless connectivity, it is destined to be bereft of Flash, Silverlight, and (everyone's favourite in this neck of the woods) Java...

Kumar Jayanti describes Using Custom JAAS LoginModule(s) for Authentication in GlassFish:

Many users often ask the question :  Can i use a custom  JAAS Login Module instead of the Proprietary GlassFish Custom Realms for user authentication ?. The JSR-196 Login Bridge Profile allows a Server Authentication Module (SAM) to delegate some security processing to JAAS LoginModules. My  team member sudarsan has created a nice blog-post  on this with a sample netbeans  project showing the use of the Login Bridge Profile.  The sample can be plugged in as a ServerAuthentication Module for a webapplication on both GlassFish V2.X and V3...

Felipe Gaucho provides a Jfokus 2010 Wrap-Up:

Quickies: * Jfokus team: fantastic people! Mattias, Helena and all the conference team, thank you! * Jfokus conference: excellent! * Graph DB is buzz word, Emil Eifrem an unique character. * Ed Burns, Toni Epple and Laforge, we missed you guys. * Scrum loosing value due to the excessive number os Scrum masters out there...

In the Forums,wildchild_04 has a Problem with Eclipse invoking plugin org.eclipse.jface: Hello. Im working with Eclipse and Apache ODE (HelloWorld example). Im trying to set up de deploy params to the binding port in my ODE deploy /descriptor with the Eclipse plug in and I got this error: Problems occurred when invoking code from plug-in: "org.eclipse.jface"...

In the JAXP forum, jncolin is Creating a DOM document with namespace: Hi. I'm trying to create a DOM document by adding nodes to it, and I need this document to follow an XML Schema I've defined. I would expect to have the namespaces included in the root, but I never managed to get them (although I can have them at the sub-element level). So here's what I get...

In the Metro and JAXB forum, boraldo asks How to unmarshal nested xsd schemas ?: I have 2 xsd's. Elements of first can contain elements of types defined in second. How can I unmarshall xml ?


Our current Spotlightis the JCP article "Agility: Definitions, Principles, and Practices for Today", by Susan Mitchell: "Agility is a word we hear a lot these days, but there are a variety of methods to implement it within the Java Community Process (JCP) program. Most people grasp the basic idea of being quick, but there is much more involved than sheer speed of development or time to market. There are additional meanings, such as the quality of being mentally alert, skill at changing direction, and the ability to maintain control even during times of stress..."


This week's java.net Poll asks In what ways do you participate in the java.net community?Voting will be open through the end of 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 JCP site has published a new article, Agility: Definitions, Principles, and Practices for Today, written by Susan Mitchell. The article focuses on the agile methods that are being employeed by three JCP Spec Leads:

  • Ronald Toegl - JSR 321, Trusted Computing API for Java
  • Ed Burns - JSR 314, Java Server Faces 2.0
  • Emmanuel Bernard - JSR 303, Bean Validation

At first glance, it might seem strange to find agile software development methods applied within the context of a standards organization. Isn't it more natural, perhaps even more appropriate, for a standards organization to define a specification in detail prior to any implementation of the spec? On the other hand, it seems like simultanteous hands-on development could also be useful, since development complications that are not readily forseeable will show up earlier during the process of creating a reference implementation for the JSR.

Spec Lead Ronald Toegl believes the "implement first and specify later" apprach is the best for JSR 321:

To us, agility provides an efficient use of resources, short feedback cycles, and a chance to consider different approaches while still moving forward. It also allows us to take small, easy-to-reach steps.

The JSR 321 Expert Group started with a minimal prototype, from which Java interface definitions were extracted. After some discussion, these were released as an Early Draft. Currently, the team is implementing the interfaces and creating test cases. All of this is done in the open, with the code available in a public repository (see the java.net JSR 321 project).

JSR 314 Spec Lead Ed Burns has led three successive versions of Java Server Faces. This extensive experience brought Ed to the conclusion that "you have to build prototypes as you go along to test out the concepts." He notes: "By having the prototypes grow up with the spec, we achieved an important level of agility." Ed encourages spec leads not to spend much time on up-front design, but rather to "get some code running as soon as possible."

Of course, agile methods cannot work unless the team has a reasonable and mostly agreed-upon perception of what the ultimate goal is, an approximate vision of what the end product will look like. Given that general awareness, it seems that agile methods can indeed be applied within the context of JSR development. But what happens in the case where work is initiated on a JSR, then the project stalls for a considerable period of time? Can a new Spec Lead just pick up the project and immediately apply agile methods? Not quite.

JSR 303 (Bean Validation) fits into this category. JSR 303 was started, then progress was paused for a while, as the first Spec Lead Jason Carreira was unable to continue. Current Spec Lead Emmanuel Bernard notes the importance of listening first, and ensuring openness throughout the JSR specification and implementation process. When he accepted ownership of the project, Emmanuel analyzed the feedback that had already come out of the Expert Group, then created a core specification. Emmanuel made the entire process of developing both the specification and the reference implementation open, using a mailing list, a forum, blog posts, and a public repository. This "keeps everyone in the know and allows for early problem detection and feedback." Emmanuel's JSR management philosophy is summed up in this statement:

Work in the open. Release early and often, outside of JCP boundaries if necessary.

The full article includes a lot more than what I've presented here. Thanks to the JCP for providing it!


In Java Today, Geertjan Wielenga discovers an interesting NetBeans 6.8 Release Notes paragraph, in Microchip on the NetBeans Platform:

"The NetBeans Platform, used by developers around the world to develop a wide variety of rich clients, continues to garner the attention of the developer community. Microchip is a leading provider of microcontrollers, analog semiconductors, and development tools for embedded designs. 'Microchip sees great potential for the embedded developer base in the new NetBeans IDE 6.8 release,' said Derek Carlson, vice president, Development Tools, Microchip Technology. 'While other open source IDE frameworks have grown cumbersome and required significant customization for the embedded market over the past 2+ decades, NetBeans 6.8 delivers a ..."

Adam Bien announces a Free Jug Session in Hamburg - Real World Java EE Patterns - Rethinking Best Practices:

At 02.01.2010, 8 P.M. I'm going to give a free JUG talk about Java EE 6 / 5 cool stuff and best practices in Hamburg. We will discuss the relation between Contexts and Dependency Injection (CDI / JSR-299), Dependency Injection for Java (JSR-330) and EJB 3.1 - the lightweight components :-) Also the new Java EE 6 stuff like: stereotypes, interceptors, decorators, validation, REST + EJB 3.1 are going to be covered. The Java EE 6 impact on architecture, build and test...

The JCP Program Office announces JCP Special Election Ballot Open-Vote Today!:

The Special Election ballot for the open Java Micro Edtion (ME) Executive Committee (EC) seat is now posted on the JCP Election site. There are four nominees for the 1 open seat, which has a 3-year term, ending in the Fall of 2012. We have some very qualified and well-known candidates...

In today's Weblogs, Ed Burns reports that Trustwave SpiderLabs sets sights on Mojarra, MyFaces:

I received an email from core Mojarra team member Jim Driscoll, who was inexplicably laid off from Sun after its recent acquisition by Oracle, about a talk at next week’s BlackHat Conference in Arlington, VA, U.S.A.. Jim pointed out that two security luminaries from the elite SpiderLabs team from Trustwave are giving a talk at BlackHat about view state security, specifically focusing on Mojarra and MyFaces...

Cay Horstmann demonstrates Composite Input Components in JSF:

When I first heard about composite components in JSF 2, I asked "How do I make a date picker that yields a java.util.Date?" I was told that can't be done without a custom component and lots of icky code. Not so--it is actually pretty easy. Here are the details...

Felipe Gaucho provides a Jfokus 2010 Wrap-Up:

Quickies: * Jfokus team: fantastic people! Mattias, Helena and all the conference team, thank you! * Jfokus conference: excellent! * Graph DB is buzz word, Emil Eifrem an unique character. * Ed Burns, Toni Epple and Laforge, we missed you guys. * Scrum loosing value due to the excessive number os Scrum masters out there...

In the Forums,grj99 has a GlassFishV2, PostgreSqlPool ping issue: Hi All, Learning GlassFishV2.1.1-b31g with postgresql 8.4-701. I'm trying to ping to a connection pool PostgreSqlPool with port 3306. Error message is: java.lang.RuntimeException: javax.resource.ResourceException: Connection...

In the GlassFish forum, markkr2 asks How do logon or set principle/roles/groups when using Embedded API: Hi, I want to unit test (actually more of an integration test) my EJB's (3.x). I'm trying to use the Embedded API with Java EE 6 and glassfish v3 to call my EJB. I think it's close to working, it seems to create the bean and such, but my EJB...

jackett_dad has questions about Metro 1.5 and WebLogic 10.0: Hello, I have been trying to create an EAR file that will deploy to WebLogic 10.0 that employs Metro 1.5 to deploy my set of Web Services. I've got this working for Tomcat 5.5.25 and Websphere 6.0.15. In the case of Tomcat, I had......


Our current Spotlightis the JCP article "Agility: Definitions, Principles, and Practices for Today", by Susan Mitchell: "Agility is a word we hear a lot these days, but there are a variety of methods to implement it within the Java Community Process (JCP) program. Most people grasp the basic idea of being quick, but there is much more involved than sheer speed of development or time to market. There are additional meanings, such as the quality of being mentally alert, skill at changing direction, and the ability to maintain control even during times of stress..."


This week's java.net Poll asks In what ways do you participate in the java.net community?Voting will be open through the end of next week.


We've just published a new java.net Feature Article, 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

Filter Blog

By date: