Skip navigation

When Java Tools Community Leaders Toni Epple and Fabiane Nardon invited the SQE (Software Quality Environment) Project team to participate in the Java Tools SQE Roundtable podcast at this year's JavaOne, they weren't planning on the Duke's Choice Awards being among the topics of conversation. But that was before the Duke for "Java Technology in Network Solutions" was awarded to ND SatCom for the NetBeans Satellite Tracking System. The tracking system occupies Sven Reimers and Florian Vogler each work day (ND SatCom has developed more than 1000 modules that run on top of NetBeans), while they push ahead with SQE project development at night and on weekends.

This isn't to say that there is no relationship between the NetBeans Satellite Tracking System and SQE. SQE itself is tightly integrated with NetBeans. Here's one reason why Sven and Florian both appreciate NetBeans: during the podcast, Fabiane asked if a lot of work was required to adapt SQE for the new NetBeans 6.7platform. The answer? No work was required whatsoever, due to the backwards compatibility that is engineered into NetBeans.

SQE consists of several elements, including code defect analysis, metrics, and dependency analysis. When asked which SQE component they the most important, both Sven and Florian agreed on the FindBugs code defect tool. It provides free and fast analysis of code, immediately locating annoying bugs that might otherwise occupy hours of a developer's time.

Right now, the SQE team consists of Sven and Florian. But, they are seeking help with the project. There are a lot of smaller items that could easily be tackled by someone who wants to make a contribution. Visit the SQE project site if you're interested in helping.

You can find the 2009 Community Corner podcasts as they are published (along with the podcasts from previous years) on the JavaOne Community Corner Podcast page.


In Java Today, NetBeans.org is proud to announce the availability of NetBeans IDE 6.7! Download NetBeans IDE 6.7: "The focus of NetBeans IDE 6.7 is connectivity - helping developers to connect to the latest technologies and to each other. New features include integration with Project Kenai, a collaborative environment for developers to host their open-source projects; native Maven support, and Hudson integration. Building on the success of previous releases, NetBeans IDE 6.7 offers enhancements for Java, PHP, Ruby, JavaScript, Groovy and C/C++, and more. Additional highlights include a self-diagnostic Profiler, and support for SVG Rich Components, remote debugging in Ruby, and the latest version of GlassFish. The release also provides plug-in support for Zembly, a single registry and repository for popular Web APIs..."

Listen to the Java Tools SQE Roundtable, JavaOne 2009 podcast: "Java Tools Community Leaders Toni Epple and Fabiane Nardon speak with members of the SQE (Software Quality Environment) project team in a java.net Community Corner roundtable recorded at JavaOne 2009..."

Back from Jazoon, Danny Coward writes about Java ME Defragmentation: "For those of you concerned about Java ME fragmentation, you were probably pleased about the creation of JATAF - a group of mobile companies (and Sun) getting together to try to sort out the issues of differences in implementation, quality, and performance that even the best API specs can't always iron out..."


In today's Weblogs, Masoud Kalali reports NetBeans 6.7 is here. Grab your copy and explore tens of new features: "Top Features of this release are Integration with project Kenai,issue tracker and Hudson integrations; and enhancements to Java, PHP, Ruby, Groovy and C/C++. Highlights of the 6.7 release include support for JavaScript 1.7, Ruby Remote Debugging, and integration of the Java ME SDK 3.0."

Arun Gupta tells us that supercrud.com in Brazil picked GlassFish over JBoss - Find out why!: "Vinicius Senger, founder of Globalcode - a Java training/consulting company in Brazil, is running supercrud.com on GlassFish instead of JBoss. He is a Java EE architect, consultant, trainer, and do Java EE related research as well. He is a JSF 2 Expert Group member,..."

And Cay Horstmann takes A First Look at NetBeans 6.7: "A few days after Eclipse Galileo, Netbeans released its latest offering, Netbeans 6.7. Here is a first look, as always from my entirely biased perspective."


In the Forums,Ken-- has an issue where glassfish v3 sometime halt: "i am trying to migrate one of my webapps to glassfish v3. The webapp is running very smooth with apache2 + tomcat 6.0.14. My webpp @ gf3 is up and running very smooth for first day but sometime it halts for unknown reason. No response from web browser. both webapps and admin web console but telnet test is ok. pls advise. Attached pls find the server.log and jstack log..."

razvan_petrescu needs to Track client session in a WS implemeted as an EJB: "I was trying to implement WebService a stateless EJB, but I need to track client sessions, similar the way is it done in a servlet. Is this possible ? since I've realized that the container doesn't set any session on HttpServletRequest object, and the HTTP response does not contain any JSESSIONID. Of course, everything works fine if the WS is implemented a simple class running in the WebContainer, but forces me to use an indirection, because I want to have the business implemented as EJBs..."

And sandeepkumar03 finds that Pick Midlet not working in Resource Editor: "Hi All, I am using LWUIT_20080814 build resource editor. I wanted to do the styling by selecting the Midlet. But its not working, only default LWUIT Demo is shown. I am using Windows XP Professional, JDK 1.6 Anybody has faced similar issue?"


The current Spotlightis the Christine Montilla Dorffi's article "2009 JavaOne Conference Wrap-Up: A Solid Show": 'The JavaOne conference is the kind of event where the declaration "Classpath is dead!" causes hundreds of people to applaud soundly and hoot their approval. We're talking hardcore, middleware-loving, certified-geeky Javaheads coming together to share their love of -- and frustrations over -- the Java programming language and platform, and the extended technology that it informs...'


This week's java.net Poll asks "What's the current status of the Java technologies employment market?". The poll will run through Thursday.


Our Feature Articles include a new article by John Ferguson Smart, Grails and Continuous Integration: An Essential Combo, which shows how to set up a Continuous Integration (CI) build job to compile and test your Grails application in Hudson, for automated continuous integration. We're also featuring Felipe Gaucho's article, Exposing Domain Models through the RESTful Service Interface, Part 1, which describes domain models and demonstrates how to create a generic CRUD application.


The latest Java Mobility Podcast is Java Mobility Podcast 81: JTDF, in which Eric Areseneau talks about Victor D'yakov talks about the new Java Device Testing Framework project in the Mobile & Embedded Community. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



When Java Tools Community Leaders Toni Epple and Fabiane Nardon invited the SQE (Software Quality Environment) Project team to participate in the Java Tools SQE Roundtable podcast at this year's JavaOne, they weren't planning on the Duke's Choice Awards being among the topics of conversation...  

The first of many Community Corner podcasts that were recorded at JavaOne 2009 has been released: the Java Tools SQE Roundtable. Now that I've got the process of producing and publishing the podcasts down pat, I intend to produce and post the remaining podcasts as quickly as I can over the coming week or so.

In each of my daily blogs, I'll announce which podcasts have been newly published. In addition, I am going re-review each podcast once they are published, and write some commentary to provide a written overview or outline of what's discussed in the podcast.

Right now you can listen to the Java Tools SQE Roundtable, in which Java Tools Community Leaders Toni Epple and Fabiane Nardon speak with members of the SQE (Software Quality Environment) project team.

The following podcasts will be available soon (see the Community Corner 2009 Podcast Schedule for an overview of what these talks were about):

  • Lambdaj project - Mario Fusco
  • SwingLabs - Jan Haderka and Alex Potochkin
  • PUJ, a JUG Contest - Felipe Ga

A significant majority of participants in the latest java.net poll would like to see increased project and community content on java.net. In particular, the poll participants would like to see more project demos and tutorials.

A total of 188 votes were cast. Here are the final results:

Which project and community (P/C) content would you like to see more of on java.net?

  • 11.7% (22 votes) - P/C news features
  • 3.7% (7 voters) - Interviews with P/C/ leaders
  • 5.3% (10 votes) - P/C-related podcasts
  • 57.9% (109 votes) - Project demos/tutorials
  • 15.4% (29 votes) - All of the above
  • 4.2% (8 votes) - The current coverage is fine
  • 1.5% (3 votes) - Other (please leave comment)

Two comments were posted. Peter noted:

Before anything is changed on the front page, the absolutely abysmal speed of java.net and dev.java.net need to be solved.

java.net Community Manager Sonya Barry replied to Peter's comment, providing a status update on the ongoing efforts to address the performance issues:

You're absolutely right on the performance issue. We've been working on it for a while now. We are currently working on removing SSL from across the site (except log-in pages and CVS/SVN access) which will speed things up significantly on it's own. Once that's done we'll also be able to cache project pages should continue to improve performance. These changes are expected to be complete in September.

The poll result is not that surprising, looked at in retrospect. But, I would not have predicted this exact result when I created the poll last week. Java.net is a developer community, and the poll result reflects that clearly: developers want to see more detailed information especially about the java.net software projects. This is a call to the project teams to spend more time publicizing their work, and making it more accessible to the broader community, through tutorials and published and/or downloadable demos. Project owners could publish more announcements on their project site, and use a java.net blog to publish tutorials, demos, etc. Clearly the java.net community would be pleased if this happened.

Meanwhile, there are a few things that can be done by me, as java.net editor. First, anyone who has news related to a java.net project or community can let me know about it, either through email, a comment posted to one of my editor's blogs, or using the java.net Submit Content page. Secondly, I will be actively seeking input from community and project leaders, for news items, and to do interviews and possibly podcasts, since the poll result does show that these would interest quite a lot of people.

A lot of changes to java.net are in the works. We'd like those changes to reflect the needs and desires of the java.net community. So please, always feel free to suggest things you'd like to see on the site.


In Java Today, Arun Gupta provides a Javali 2009 Trip Report: "I, along with several other speakers, presented at Javali (an ancillary event of FISL) earlier today. The event was sponsored by Sun Microsystems. Many thanks to Sou Java andRS JUG for organizing the event and thanks to Serpro for hosting the event. There were several speakers from different companies making the event a good mix. I presented on Java EE 6, showed GlassFish Tools Bundle for Eclipse and gave a brief overview of some of the enterprise features of GlassFish..."

Harold Carr's Notes from Wednesday at Jazoon: "Here are my notes from the Wednesday at jazoon. Web Services and Transactions... Next Gen Wikis... Binding Java Objects to Web 3.0... AdNovum..."

Harold Carr completes his series with Notes from Thursday at Jazoon: "Here are my notes from the Thursday at Jazoon... OAuth - the missing manual... Wuala Webstart: Launching a Java Application directly from a Website... Web 2.0 @ NASA... Closing Session, Christian Frei, Keynote: 1080 attendees (20% more than last year)..."


In today's Weblogs, Amy Roh writes about Running GlassFish V3 with Apache httpd: "GlassFish V3 has improved the way to front GlassFish with Apache HTTP Server. Unlike the V2 way where users had to copy tomcat-ajp.jar and commons-*.jar, you can just enable mod_jk in V3 using the network-listener's attribute "jk-enabled" without copying any additional jars into its lib directory."

Masoud Kalali writes about Win your Copy of Wiley's OpenSolaris Bible book: "If you are thinking about OpenSolaris and you want to learn how to navigate through this OS or you are a UNIX administrator who wants to update and increase their knowledge of OpenSolaris; you can count on OpenSolaris Bible book. We at DZone posted a review of the book and will give away a copy of OpenSolaris Bible book to one of the community members which post a comment about our review or ask a question about the book and review."

And Kohsuke Kawaguchi writes about Growth of Hudson plugin ecosystem: "A Hudson committer Seiji Sogabe put together a chart that shows the growth of the Hudson plugin ecosystem."


In the Forums,ethoel is having Trouble adding LWUIT.jar to Eclipse MTJ MIDlet Project: "Hi, I'm new to Java ME and have just recently downloaded Eclipse 3.5 with MTJ 1.0 and Java ME SDK 3. When I try to create a simple Hello World program in Eclipse using LWUIT for one of Sun's emulators, I get this error: Preverification errors: Error preverifying class com.sun.lwuit.Component I've added LWUIT.jar as an external archive and checked it in Order and Export tab. I get this error even before I write any code. Creating the same project using Sun's Java_ME_Platform_SDK_3.0.exe app works no problem..."

Hassan Schroeder has a problem where JRoR WAR deployment to GF3 fails: "Relatively new to Glassfish and trying to deploy a WAR file to a GF3 (latest) server as the default app. The deployment seems to succeed, but when I try to view it, the browser only shows a 404. The logs don't show much interesting (at least to me): here's the last three entries..."

And culli asks about an Exception Interceptor: "I have a swing client that I'm trying to keep from deploying the hibernate jars with. There is a problem when hibernate exceptions happen on the server and come across to the client, it cannot deserialize them because the right classes aren't available. So to try to work around that I created an interceptor like the code below which converts the an exception's stack trace to text and makes it into a ServerSideException. The problem is all I get is "transaction marked for rollback" and never see my ServerSideException on the client. If I step through the code, I can see that the Hibernate exception (such as an InvalidValue) is occurring and getting converted to a ServerSideException... "


The current Spotlightis the final installment of Janice J. Heiss's "Developer Insight Series" Part 4: Favorite and Funny Code: "Over the years I've heard noted developers talk about their favorite code, funniest code, most beautiful code, how to write code, how not to write code, the obstacles to writing good code, what they love and hate about writing code, and so on. In the process, I've encountered a lot of insight that is worth preserving--and heard some funny stories... In the fourth and final part of the series, three developers share their funniest and most favorite code, and tell funny stories..."


The new java.net Poll asks "What's the current status of the Java technologies employment market?". The poll will run through next Thursday.


Our Feature Articles include Felipe Gaucho's new article, Exposing Domain Models through the RESTful Service Interface, Part 1, which describes domain models and demonstrates how to create a generic CRUD application. Also, Thomas Kuenneth recently published Hacking JavaFX Binding, which describes how to apply binding within JavaFX in a manner similar to what can be accomplished using Beans Binding (JSR-295).


The latest Java Mobility Podcast is Java Mobility Podcast 81: JTDF, in which Eric Areseneau talks about Victor D'yakov talks about the new Java Device Testing Framework project in the Mobile & Embedded Community. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



A significant majority of participants in the latest java.net poll would like to see increased project and community content on java.net...  

Harold Carr attended Alois Reitbauer's session "Why applications do not scale" at Jazo ]]>, and posted detailed notes in his blog. If you haven't done much work with scaling systems, some of the points Alois made might surprise you. For example:

Scalability does not improve performance

  • Increases complexity and degrades performance
  • Slower in single user mode
  • performance is still an issue

How can this be? Well, to understand this, you have to think about the difference between performance and throughput. Performance is actually a measure of throughput per unit something. Say you have a computer and you have a process that receives some kind of input and produces some kind of output. You could define your performance as being the amount of output data that is produced by that single machine in an hour. So:

Performance = OutputDataBytes per Hour

Now, let's say your application is a success, and more customers want to send you input data and receive your output data products. You're sufficiently successful that your one machine cannot process all the input data requests. What do you need to do? You need to scale your application.

"Easy!" you say. "I'll buy another computer!" Fine, so now you have two computers. But there are some problems:

  • how are you going to determine which computer receives which input requests?
  • what if you receive only a single giant request? How do you split that single request between your two computers? And if you're able to do this, how do you repackage the output into a single entity to send it back to the requestor?

Well, the answer is: you have to add new software to your application, overhead software that makes these assessments and performs these kind of tasks. Suddenly, your application has grown in size and complexity. So, is a bigger, more complex application, that performs more processing on the same amount of incoming data, going to have better performance or worse performance than a simpler application? Clearly, performance is worse in the bigger, more complex app, right?

And here's where our original definition of performance was incorrect. Performance is really the amount of throughput that a single node produces per unit time:

Performance = OutputDataBytes per Node per Hour

As soon as you introduce a second node and add overhead software to manage and coordinate the processing performed by each node, your performance drops, because you are doing more work per unit of output data.

So, if performance decreases, then why scale? Because even if your performance is reduced by 10%, your throughput can be increased. Your throughput, in our example, can be defined as the total amount of output data your entire system produces:

Throughtput = Total OutputDataBytes

So, here's the theoretical relationship between performance and throughput for an unscaled application running on one computer and a scaled application running on multiple computers:

NodesApp TypePerformance FactorThroughput
1Unscaled1.01.0
2Scaled0.91.8
3Scaled0.92.7
10Scaled0.99.0

Ah, but if only the real world was as simple as this! Because, in fact, as you add successively more machines, your overhead processing that scales your application inevitably begins to bump up against bottlenecks of various kinds. The greater the number of nodes, the lower your performance factor. Take a look at the "Limiting factors" section in Harold's notes.

A more realistic table might look like this:

NodesApp TypePerformance FactorThroughput
1Unscaled1.01.0
2Scaled0.91.8
3Scaled0.852.55
10Scaled0.77.0

In the bottom row, you've multiplied your number of machines by a factor of 10, but your throughput has increased only by a factor of 7. The "law of diminishing returns" has kicked in.

It looks like "Why applications do not scale" was a very interesting and enlightening session. You can learn a lot (or be re-reminded of a lot) just by reading Harold's notes. I'm glad he chose to document his Jazoon sessions so thoroughly!


In Java Today, Harold Carr sends us his Notes from Tuesday morning Jazoon: "Here are my notes from the Tuesday morning at jazoon.com ..."

Arun Gupta presents his Javali 2009 Trip Report: "I, along with several other speakers, presented at Javali (an ancillary event of FISL) earlier today. The event was sponsored by Sun Microsystems. Many thanks to Sou Java and RS JUG for organizing the event and thanks to Serpro for hosting the event..."

Fabrizio Giudici reports about Wine delivered at OSGi DevCon: "Well, so I'm at OSGi DevCon Europe (the only day I'm being in Zurich). One of the missions I had to accomplish is to deliver some fine italian wine to Felipe Gaucho, for thanking him as he's hosting some CPU-intensive Hudson jobs for blueMarine)...


In today's Weblogs, Jaroslav Tulach asks people to Help me shape future of Java libraries: "For a week I am teasing myself with a little puzzle: how to split rt.jar into smaller pieces that could be compiled, downloaded and executed separatelly."

John Ferguson Smart writes about Installing Sonar on a linux build server: "Anyone who has read many of my blog entries or articles will know that I'm a great fan of code quality metrics. By code quality metrics, I am referring to coding standards, best practices, complexity, but also to other..."

And Amy Fowler posted The Ultimate Craftsman: "Absolutely nothing about Java or JavaFX here. Just a small tribute to my pop for leading me down a path to geekdom. Some of us are just driven to create; we arn't happy unless we are making something - houses, software, furniture, blogs, chocolate cake. Turns out that software engineering is a pretty good gig for such a person..."


In the Forums, elaltaico wonders how to go to next lines in a label: "Hello. I am using J2ME LWUIT to design my application. I take data from web server and display it on screen. I can do it without any problem. Unfortunately when the text is so long, I want Label to go to next line. But it writes all the text at same line.Then the user needs to wait the line to stop to read whole Label. Could you please tell me a way for user to go to next line when the text is long enough ? ..."

dave5555 asks How to build JTDS JDBC driver: "Hi, if anyone can help me with JTDS, I'd really appreciate it. I am new to JTDS and am having trouble compiling the source to build the JDBC driver. I am trying to modify the source code somewhat to enhance JTDS functionality for my application. First I'm trying to compile the basic source code to build the basic JDBC driver. I am testing on my laptop using a trial version of MS SQL Server 2008. I've downloaded and unzipped jtds-1.2.2-src.zip (from sourceforge.net) and created the JAVA_HOME variable to point to C:\Program Files\Java\jdk1.6.0_13 on my machine. Then I go to... "

And a_schroeder has an issue where Deriving components breaks ActionListener?: "Hello All, I've encountered a problem with ActionListener that has me scratching my head: I'm deriving from Form since I want to keep some of the data operations inside the Form (I'm currently porting an older project using J2ME to LWUIT, the data-crunching in the background is a bit...errm...hairy so I'd like to touch it as little as possible). The problem is: When I create an ActionListener for my derived class and use setCommandListener on an instance of the class, the ActionListener is never triggered when I press the softkeys. It doesn't matter if I have my derived class implement ActionListener itself, or pass an external ActionListener obejct (like for instance having the main application implement the ActionListener and passing it to the instance of my derived class)... "


The current Spotlight is the final installment of Janice J. Heiss's "Developer Insight Series" Part 4: Favorite and Funny Code: "Over the years I've heard noted developers talk about their favorite code, funniest code, most beautiful code, how to write code, how not to write code, the obstacles to writing good code, what they love and hate about writing code, and so on. In the process, I've encountered a lot of insight that is worth preserving--and heard some funny stories... In the fourth and final part of the series, three developers share their funniest and most favorite code, and tell funny stories..."


This week's java.net Poll asks Which project and community (P/C) content would you like to see more of on java.net?. Today (Thursday) is the last full day of voting.


Our Feature Articles include Felipe Gaucho's new article, Exposing Domain Models through the RESTful Service Interface, Part 1, which describes domain models and demonstrates how to create a generic CRUD application. Also, Thomas Kuenneth recently published Hacking JavaFX Binding, which describes how to apply binding within JavaFX in a manner similar to what can be accomplished using Beans Binding (JSR-295).


The latest Java Mobility Podcast is Java Mobility Podcast 81: JTDF, in which Eric Areseneau talks about Victor D'yakov talks about the new Java Device Testing Framework project in the Mobile & Embedded Community. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


-->


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.

 

 

 

Harold Carr attended Alois Reitbauer's session "Why applications do not scale" at Jazoon09...

kfarnham

Jazoon09 Blog

Posted by kfarnham Jun 24, 2009

Jazoon09, the international conference on Java technology, is completing its second full day of sessions. Monday was community day, with two all-day events: GlassFish Community Day and OSGi DevCon Europe Community Day. Tuesday featured the formal opening session, with keynotes by Christian Frei and James Gosling.

As of right now (Wednesday morning, Eastern U.S. time), the conference front page features an article describing James's keynote:

Jazoon kicked off with a spirited re-mix of a pre-recorded Gosling interview on the early history of Java. Surprised by this introduction by his alter-ego, Gosling rolled with it, "I didn't know that was coming - kinda goofy, but fun".

Felipe Gaucho, who recently posted the Pocket guide to Jazoon 2009, was in attendance, and documented the highlights of James's talk, which included:

  • statistics (15 Million downloads per week)
  • the range of Java application (from tiny devices to highly scaled enterprise data centers like eBay and the Brazilian healthcare system)
  • JVM as the integration hub
  • GlassFish V3, NetBeans 6.7 and its integration with Kenai

and quite a bit more. See Felipe's post for the complete list and more detailed descriptions.

As you can see in today's highlighted blogs, Harold Carr was scheduled to speak at 1:30 Zurich time (with co-speaker Jiandong Guo) about Metro Web Services Security Usage Scenarios.

Today's keynote was given by Sun's Danny Coward, whose commentary (from The Planetarium) is often featured in our Java Today section. Thursday's morning keynote address will be given by Adrian Colyer of SpringSource. Then, in the afternoon, NASA'sLinda Cureton will give the final conference keynote, followed by Christian Frei's formal conference wrap-up.


In Java Today, Harold Carr will be Speaking on Metro Security at Jazoon: "I will be speaking on Metro Security at Jazoon in Zurich on Wednesday June 24 at 1:30pm. "

Felipe Gaucho presents the Pocket guide to Jazoon 2009: "Java conferences are always a joy of technology and networking but sometimes we just miss its surroundings because it is quite difficult to concentrate in our lives while we are exposed to a large amount of cool information. Good meals, city attractions and a lot of interesting moments are just skipped in favor of the Java novelties on the stage. The more you participate of such events, the more you learn to offer your geek mood a chance to check different cultures and to learn different things. During the recent JavaOne I did not attended much extra-conference events..."

And the java.net Mobile and Embedded Community announces Roger speaking at Javali, Roger is speaking at Javali about the Mobile & Embedded Community. View the talk live here.


In today's Weblogs, Sergey Malenkov writes about FX Mobilization: "My colleague has just returned from JavaOne and brought an HTC Diamond cell phone that supports JavaFX. Of course I couldn't stop but running my demos on it."

Jim Driscoll provides instruction on Learning JSF 2: "It's come up a few times recently, so I thought I'd go over how to learn JSF 2 before the books come out, and before the new tutorial is released. Not too long ago, I heard someone complain that the JSF tutorial wasn't ready yet. Now, that's not surprising - the tutorial writing process (for that matter, the book writing process) doesn't actually start until the spec is more or less final, and the implementation is at least Beta (meaning feature complete)..."

And Ed Burns writes New JCP.org debuts, JSF2 DataSheet Published, Try the JavaEE 6 SDK: "New JCP.org debuts, JSF2 DataSheet Published, Try the JavaEE 6 SDK. When I was updating our Getting Started with JSF page, I had cause to visit JCP.org, and found that the long awaited new site is available. Please check it out at http://jcp.org/. Congratulations to the JCP team for pushing through and getting it done!"


In the Forums,santosavio is working on Calling C# dll via VC++ from Java: "Hai I've been under a great prob.. since 2 days... Issue is : I've built a VC#dll which is accessed from VC++(win32 console dll app).. I've created a Java program to access the dll of the said C++ program... I was successful in getting it worked ... Problem comes when I run the same application in a different system where all the needed visual studio files are installed... From java i can access the C++ dll but the error comes in accessing C# dll(through the C++ program)... NB: error accurs only when it is run on a different machine... Error is: # An unexpected error has been detected by HotSpot Virtual Machine... "

michaelmaguire has an issue with Overlarge synchronized blocks in Display causing deadlocks?: "We are in the process of converting our app over to using LWUIT. Recently I converted our app's internal LOG class over to using LWUIT, which means that throughout our code, we make calls which must update the LWUIT version of our LogViewerForm (when it's opened). Because some of these calls are from different threads, we used Display.callSerially() to ensure UI updates to our LogViewerForm occur on the EDT. This change turned out to be an instant deadlock stress tester... "

And ashishr would like to Get individual monitoring value: "Hi, I want to get individual monitoring value like maximum heap size instead of all detail what we get by using command "asadmin monitor --type jvm --filename c:\xyz.log --user admin server" also i want to save this information in log file in format: Heap Size:Maximum heap size=30. How to achieve this,Kindly help me out..."


The current Spotlightis the final installment of Janice J. Heiss's "Developer Insight Series" Part 4: Favorite and Funny Code: "Over the years I've heard noted developers talk about their favorite code, funniest code, most beautiful code, how to write code, how not to write code, the obstacles to writing good code, what they love and hate about writing code, and so on. In the process, I've encountered a lot of insight that is worth preserving--and heard some funny stories... In the fourth and final part of the series, three developers share their funniest and most favorite code, and tell funny stories..."


This week's java.net Poll asks Which project and community (P/C) content would you like to see more of on java.net?. Tomorrow (Thursday) is the last full day of voting.


Our Feature Articles include Felipe Gaucho's new article, Exposing Domain Models through the RESTful Service Interface, Part 1, which describes domain models and demonstrates how to create a generic CRUD application. Also, Thomas Kuenneth recently published Hacking JavaFX Binding, which describes how to apply binding within JavaFX in a manner similar to what can be accomplished using Beans Binding (JSR-295).


The latest Java Mobility Podcast is Java Mobility Podcast 81: JTDF, in which Eric Areseneau talks about Victor D'yakov talks about the new Java Device Testing Framework project in the Mobile & Embedded Community. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



Jazoon09, the international conference on Java technology, is completing its second full day of sessions...  

Felipe Gaucho attended the 2009 JCP Program Awards ceremony, and provides some videos of the event in his recent blog post. The awards ceremony took place during JavaOne.

I wasn't able to attend this event, so I did some reasearch on the award categories and winners. Here they are, with some links to help you get to know a bit more about the people and JSRs that won the awards in each category:

At JavaOne, I had the good fortune to record a podcast of the JCP roundtable that took place in the java.net booth as part of Community Corner 2009. It was a very interesting conversation (I expect that the podcast will be available soon) that included Patrick Curran, Ed Burns, and others.

The Java Community Process has come under a lot of fire. However, my experience is that open standards are critical for the long-term success of technologies and technology platforms. A standards body by necessity moves at a somewhat deliberate pace. During the roundtable at JavaOne, this was discussed at length, along with the reasons behind it, and the delicate balance between tracking new innovation, embodying it in standards (to better enable its application by a broader spectrum of developers), and getting too far ahead of what's new in a particular technology space. You don't want to stifle innovation by coming in too soon and defining standards before emerging technologies have sufficiently coalesced around a more or less clear mode of implementation and direction. Rather, there is a "sweet spot" (my term) where establishment of a standard is both timely and beneficial for the long-term advancement of the technology. Based on observing the roundtable at our Community Corner, it's clear to me that the JCP is very much aware of these issues, and takes their role in the long-term advancement of Java technologies very seriously.

I wish I had been able to attend this year's JCP Program Awards. I'm sure it must have been an interesting event. Thanks again to Felipe for attending and providing videos that capture some of the winning moments.


In Java Today, Felipe Gaucho shows us the JCP 2009 Annual Awards Winners (with videos): "Several pictures and short movies are here in the JavaOne folder, including the announcement of some of the winners of the 2009 JCP Program Awards 2009... Congratulations for all winners, and thanks SUN for the very nice party."

Eamonn McManus reports that JSR 255 (JMX API 2.0) is postponed: "Here is the text of the message I recently sent to the JSR 255 Expert Group, in my capacity as Specification Lead. 'Dear experts, I'm sure that you saw some months ago that our work on JSR 255 will not be part of the JDK 7 release (http://openjdk.java.net/projects/jdk7/features/). This decision was made here at Sun in order that some of the higher priority features could be properly resourced, in particular for the TCK work. So, we need to retarget our work for JDK 8...'"

Arun Gupta reports University of Utah - Ported 60 applications from Weblogic to GlassFish: "The University of Utahported 60 applications from Weblogic to GlassFish and very happy with it. They like the clustering and failover capability, integrated NetBeans development environment, and are using EJBs, Java Server Faces and a slew of other technologies..."


In today's Weblogs, Cay Horstmann announces JSF 2.0 Refcard available: "DZone just published the JSF 2.0 version of my JSF refcard. It provides updated summaries of the tags and attributes needed for JSF programming, along with a summary of the JSF expression language and a list of code snippets for common operations."

Osvaldo Pinali Doederlein provides a JavaFX Script tip: The Single Assignment per Method rule (and more): "

In this blog I discuss binding in depth and propose a best-practice & performance rule for JavaFX Script programming (and even for Java, as a bonus).

"

 

And  Sahoo documents Our second hybrid application - EJB as OSGi Service: "This example shows how one can register an Enterprise Java Bean in OSGi service for it to be accessed from non-Java EE application. It also demonstrates how you can access "local" EJBs from other applications breaking the artificial limit imposed on them earlier."


In the Forums,sanaulhaq says Help required: "Hay!!! I am Sana ul Haq from Pakistan, a student of MS leading to PhD at NUST Pakistan.Now I am in the phase of research work of my MS degree and I am doing my research on security of biosensors implanted/attached to the human body. I have proposed an algorithm that demonstares key distribution in the way that ensures confidentiality, athenticity and integrity of the physiological data of the patient. Now possibly as you have the information the biosensors have resource constraints in the form of energy, memory and processing. Recently (Apr 2007) the Sun Microsystem has developed sensors by the name "Sun SPOT" which use Java language and run on platform of "Squawk J2ME Virtual Machine"..."

Clive Brettingh responds Re: getting at the SOAPHeader directly from inside @WebMethod: "Well, I don't like to say never, but in several readings of the standard I have not noticed any specified way to access headers in the endpoint code (unless is a message mode Provider).I got the impression that headers are considered metadata that should be processed by handlers (unless header part); the handlers however, may pass the results of this processing to the endpoint via the message context (or other mechanisms like container authentication). Architecturally it makes sense, though I'll admit it can be a little inconvenient sometimes, eg to have to write a handler when you only want to extract a single string valued header..."

And anson ho asks how to control the square size of a checkbox?: "I got a BIG bitmap font a the west of a borderLayout, a medium size system font label in the center. and a small size system font checkbox in east. The square of the checkbox becomes big and looks weird. Then, I found that the square size of a checkbox is determined by the layout height. But I want to control it so that the size will be according to the checkbox's font height. I have tried to override the calcPreferredSize() of the checkbox but it turns out that the size is determined by the height of the checkbox's layout manager. So, what should I do?..."


The current Spotlightis the final installment of Janice J. Heiss's "Developer Insight Series" Part 4: Favorite and Funny Code: "Over the years I've heard noted developers talk about their favorite code, funniest code, most beautiful code, how to write code, how not to write code, the obstacles to writing good code, what they love and hate about writing code, and so on. In the process, I've encountered a lot of insight that is worth preserving--and heard some funny stories... In the fourth and final part of the series, three developers share their funniest and most favorite code, and tell funny stories..."


This week's java.net Poll asks Which project and community (P/C) content would you like to see more of on java.net?. The last full day for the poll is tomorrow (Thursday).


Our Feature Articles include Felipe Gaucho's new article, Exposing Domain Models through the RESTful Service Interface, Part 1, which describes domain models and demonstrates how to create a generic CRUD application. Also, Thomas Kuenneth recently published Hacking JavaFX Binding, which describes how to apply binding within JavaFX in a manner similar to what can be accomplished using Beans Binding (JSR-295).


The latest Java Mobility Podcast is Java Mobility Podcast 81: JTDF, in which Eric Areseneau talks about Victor D'yakov talks about the new Java Device Testing Framework project in the Mobile & Embedded Community. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



Felipe Gaucho attended the 2009 JCP Program Awards ceremony, and provides some videos of the event...  

Josh Marinaccihas been secretly working on a project that became one of the major announcements at this year's JavaOne: the Java Store. Last week he published The Java Store, a Q&A, as a supplement to the Java Warehouse FAQ. Regarding the Java Store, Josh notes:

I'm especially proud of it because I've been secretly working on the project for the past few months. Since the announcement I've gotten a lot of questions on the store and how it relates to the rest of the Java ecosystem.

First of all, Josh succinctly addresses the basic question that anyone who hasn't followed the story closely may have:

What's the one paragraph summary of what you've announced?

We have announced the private beta of the Java Store, a desktop client to let people browse and purchase desktop Java applications, and the open beta of the Java warehouse where developers can submit their apps for distribution. You can sign up to test out the store and warehouse today. Currently US only for both the store and the warehouse, with more countries coming soon.

Josh goes on to pose and answer questions such as "Can I make apps for the Java Store in languages other than JavaFX?" (Answer: yes); "When will you let me sell my apps?" (Answer: "As soon as we can. The store isn't open yet."); and "What about mobile apps and TV?" (Answer: "In the future there will be additional storefronts for TV and mobile").

Josh also responds to a question that has been on the minds of a great many developers since rumors of the Java Store began to circulate:

How will customers find my apps?

The desktop client you saw at JavaOne is only the first version. We are already hard at work adding new features to the store that will let customers find your apps. Features like searching, filtering, ratings and reviews. And eventually the Java Store will be distributed with Java itself, ensuring your apps can be found by nearly a billion people.

The last sentence is actually the key behind the entire Java Store strategy, in my view. Installing applications from the web is becoming increasingly common today -- to the extent that many users of such applications (e.g., games, etc.) don't necessarily realize they're actually installing something on their computer or mobile device. All they know is that there's an icon and when they click it they get to do what they want to do. Clearly, I'm talking about people who are not software engineering professionals here...

So, let's look at the Java Update process. When a "Java Update" bubble appears on my wife's screen, she knows that it's safe to let it perform its install (from the experience of me telling her it's safe, so long as it looks like the same "Java Update" bubble she's often seen before -- note that she doesn't just click "OK" for most such bubbles that pop up on her screen, and knows specifically to click "Cancel" or "No" for some of them). The future Java Update bubble will look at not only which Java is installed on the computer or device, but it will also look at the versions of Java Store applications you've installed, and tell you if there is a new version available. Meanwhile, the Java Store application itself may have capabilities to inform you about applications you might find interesting. Or, developers in the community might produce applications that performs these kinds of analysis, facilitating finding interesting and relevant Java Store applications, and distribute it using the Java Store.

The concept of the Java Store isn't astonishingly new, if you look at it simply as an elaborate software update system (akin to Windows Update). What's different about the Java Store, though, is that it is really a non-intrusive community platform for distributing applications that run in a JVM, supplemented with tools that let the user community talk about, rate, and find new applications. That's very different from Windows Update, which is really a corporate sales tool ("Hey, user! It's time to pony up some cash and upgrade to the latest Microsoft software release, don't you think?"). In this sense, in its style and approach, the Java Store is really a Web 2.0 platform centered on software applications. I like that!


In Java Today, Joshua Marinacci writes about a project he's been secretly working on, in The Java Store, a Q&A: "One of the big announcements at JavaOne was the Java Store. I'm especially proud of it because I've been secretly working on the project for the past few months. Since the announcement I've gotten a lot of questions on the store and how it relates to the rest of the Java ecosystem. To supplement the excellent FAQ I thought I'd answer a few questions..."

Marina Sum reports that OpenDS 2.0.0 Release Candidate 2 Ships: "OpenDS community manager and architectLudo Poitou has announced the release of OpenDS 2.0.0 Release Candidate 2. Besides bug fixes, the release includes many new capabilities, including enhanced multimaster replication and recurring tasks. OpenDS 2.0 will follow shortly after the testing of RC 2 is complete..."

AND Jean-Francois Arcand reports Atmosphere 0.2 GA now available: "Finally, Atmosphere 0.2 released with support for annotations for REST application, improved support for Tomcat/Jetty/GlassFish, native support for JBossWeb 2.1.x, and EJB/External components broadcast lookup available." You can also see the official announcement.


In today's Weblogs, Alexey Ushakov posts his JWebPane BOF screenshots at JavaOne (2009): "Screenshots of the demos shown at BOF-3992 session presented at Thursday, June 4... Here is screenshot of the demo that was shown at this JavaOne... More advanced usage of JWebPane. Here we have fully functional web based widget representing Microsoft maps... "

Fabrizio Giudici is working on First enhancements on BetterBeansBinding: "After the May pause, I've resumed working on BBB. As anticipated, the focus now is on test coverage, but I've also started working on some enhancements / bugs submitted by people. For instance, BETTERBEANSBINDING-32, "JTableBinding.ColumnBinding: cell renderer/editor" is about adding..."

And John O'Conner has news for developers who are Learning JavaFX?: "Long ago, I started a series called JavaFX Learning Curve Journal. Those articles/journals were on java.sun.com at the very beginning of the JavaFX project. I recently tried to find some of those articles, and I think they've been removed or..."


In the Forums,chrjohn asks When do I need Multicast, HADB, in-memory-replication on a cluster?: "Hi, for a project we want to use the clustering capability of Glassfish V2.1. There are some questions which arose, maybe someone can answer them or point me in the right direction. 1. The project does not have any HTTP sessions or SFSBs. So I guess I do not need the state replication via HADB or in-memory-replication? All I want is that the SLSBs and MDBs are highly available in the cluster, i.e. if one server fails then the beans from the other server are taking over. 2. I do not want JMS messages to get lost. I guess the broker can store the messages also in another data base. Or is HADB recommended for this? 3. Regarding multicasting: is this only used for the session replication feature? ..."

jtalbut has a problem where an EJB web service from WSDL doesn't work with external XSD: "Hi, I have a WSDL file that imports an XSD file (both attached, they originate from the book "SOA in Practice" but I've extracted the schema myself). In Netbeans I have an EJB Module project, and I use the "Web Service from WSDL" feature to create an EJB based on this WSDL file - the only change I make is to turn off the wrapped style and to write a trivial body to the function. When the web service is called all of the fields (in this example there is only one, I've got a bigger WSDL with more) in the GetCustomerAddress object are null. Before I extracted the XSD into a separate file the web service worked correctly..."

And Linda Schneider responds to questions Re: Delivery of JMS message in case of distributed transaction: "Conceptually I understand your problem is caused because the JMS update is faster than the database update, but I don't know of anyone in the real world who is having a similar issue. Actually, I'm not 100% sure why you are ever seeing this issue .. Are you *always* performing the database operation first ??? (you have to if you want to guarantee the right behavior). Are you running in a transaction ??? (not required, although it may help to pinpoint an issue). Here is my confusion .... I can see two possible ways to do this ..."


The current Spotlightis the final installment of Janice J. Heiss's "Developer Insight Series" Part 4: Favorite and Funny Code: "Over the years I've heard noted developers talk about their favorite code, funniest code, most beautiful code, how to write code, how not to write code, the obstacles to writing good code, what they love and hate about writing code, and so on. In the process, I've encountered a lot of insight that is worth preserving--and heard some funny stories... In the fourth and final part of the series, three developers share their funniest and most favorite code, and tell funny stories..."


This week's java.net Poll asks Which project and community (P/C) content would you like to see more of on java.net?. The poll will be open through Thursday.


Our Feature Articles include Thomas Kuenneth's, Hacking JavaFX Binding, which describes how to apply binding within JavaFX in a manner similar to what can be accomplished using Beans Binding (JSR-295). We're also featuring Gary Benson's Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port.


The latest Java Mobility Podcast is Java Mobility Podcast 81: JTDF, in which Eric Areseneau talks about Victor D'yakov talks about the new Java Device Testing Framework project in the Mobile & Embedded Community. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



Josh Marinacci has been secretly working on a project that became one of the big announcements at this year's JavaOne: the Java Store...  

A majority (57%) of respondants to this past week's java.net poll expect there to be a JavaOne conference in 2010. The specific question and results were:

Will there be a JavaOne Conference in 2010?

    < ]]>57.4% (189 votes) - Yes
  • 10.3% (34 votes) - There will be a similar conference with a different name
  • 12.4% (41 votes) - Probably not
  • 7.2% (24 votes) - No
  • 12.4% (41 votes) - I don't know; other

About two thirds believe there will either be a JavaOne conference or a similar conference with a different name, while 20% believe the days of JavaOne conferences are probably or definitely over. There was an unusually large number of votes for the catch-all category ("I don't know; other"): 12.4%, which was tied for second place among the voting options.

Of course, the not-explicitly-mentioned word in this poll was "Oracle." Two of the three posted comments were about Oracle: lumpynose thinks JavaOne will be folded into Oracle World, but denka notes "there's a chance European regulators will not let that acquisition happen."

shemnon wonders:

What if there is a JavaOne conference but with less focus on one of the particular stacks, like a JavaSE and JavaME focused conference with significantly lesser attention to JavaEE?

A lot of the people I interact with directly make the statement that the Java community is just too big for it not to find a suitable "home" with appropriate sponsorship. If you consider "JavaOne" to be Sun's trademark name for the big Java-centric conference in the Americas, it would seem readily possible that if there is such a conference in the future, it might be renamed. Acquisitions often result in rebranding of the "products" of the purchased entity.

Another question, though, is: do we still need a big annual Java-centric conference? Has JavaOne outlived its usefulness? Or is it still a highly valuable confluence of people and technologies?

New poll: changes in java.net content?

The new java.net poll asks you what changes you'd like to see in java.net's community- and project-related content. The specific question is:

Which project and community (P/C) content would you like to see more of on java.net?

I'll be tailoring my future efforts on the java.net home page and in my daily blogs based on the results of this poll, so please take advantage of the opportunity to express your opinion. Voting will be open through next Thursday, June 25.


In Java Today, Charles Humble wrote Project Coin Announces Second Candidate List: "Project Coin aims to make small language changes for Java 7 which simplify day to day coding for developers. In a previous InfoQ article we looked at the first "for further consideration" cut that had been made for the project comprising: strings in switch, improved exception handling, Automatic Resource Management, improved type inference for generic instance creation, Elvis and other null-safe operators, and simplified Varargs method invocation. Since then a further five proposals have been added to the list..."

Elliotte Rusty Harold writes about the Redesigned Java Community Process Website: 'There's a redesigned Java Community Process website and a townhall to announce it this morning, June 18... Less cosmetically, the Java Community Process itself has been upgraded toversion 2.7. "In the interest of making every aspect of the program more transparent, Expert Groups must fully disclose the licensing terms for the specification, Reference Implementation (RI), and Technology Compatibility Kit (TCK)..."'

And Walter Bogaardt writes about Trending Analysis With Maven Dashboard: "Continuous integration is talked about as part of Agile development practices. It is lauded for its use to keep developers from "breaking the build". This tip will discuss how to implement trend reporting in daily builds using the Maven and the Maven-dashboard plug-in. Continuous integration or CI that should be looked at beyond the scope of constantly compiling checked-in code. It is one step in many, which should be part of a code review process..."


In today's Weblogs, James Gosling is going to Jazoon!: "I'll be spending next week in Zurich at Jazoon'09. They've got a great lineup of technical sessions to pump your head full of all the latest everything. The lineup of speakers is pretty impressive..."

Markus Karg posted Shame on us all: "The XML Stylesheet Language (XSL) is a great solution for a lot of problems. It covers not only the transformation of one XML schema into another, like it is used in enterprise application integration (EAI), it also contains a unique..."

And Felipe Gaucho is a member of the Jazoon Bloggers Squad: "Jazoon conference offered me the management of the "Jazoon Bloggers SQUAD", a group of smart geeks responsible for spreading the word about the conference, before, during and after Jazoon 2009."


In the Forums, Joel Weight responds Re: [webtier] JSF - javax.faces.STATE_SAVING_METHOD: "Everything you say sounds like a misconfiguration of the load balancer to me. I would try running it outside the load balancer and see if you can reproduce the problem, then if it still occurs, you could look elsewhere. In our app, we have multiple forms on the page, and in client state saving the state is written to the response for each form so our simple pages ended up being a 2MB download for the client, so we went to server. We never had any problem losing state with either configuration. If you can reproduce it reliably only on certain pages, then faces-config could be the problem, but as I said, I would look at the load balancer first... "

jduprez has an issue with Corrupted XML (SOAP responses) under load: "Hello, still performing load tests of a Glassfish-hosted application exposing WebServices. Occasionally (not systematically reproducable, fut at a frequency of occurrence that lowers our target SLA), we observe exceptions signalling XML parsing errors within the ws.client stack. I'll attach below one extract of the last occurrence: it shows exceptions logged by the test client, which repeatedly exercises WebService calls). The exceptions signal ParseError "XML reader error: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1] Message: Premature end of file." It looks like the communication was interrupted before the whole SOAP response was transmitted back to the client..."

And prakash_29 has a response to Handling empty HTTP POST in JAX-WS: "Hi All, I want to respond to an Empty HTTP POST (with out any body) from my JAX-WS web service. I tried adding handlers (both Logical and SOAP handlers). But the server throws exception and the handlers were NOT called. 10:49:04,790 ERROR [SOAPFaultHelperJAXWS] SOAP request exception
org.jboss.ws.core.CommonSOAPFaultException: Endpoint {http://acs.mobax.com/}ACSPort does not contain operation meta data for empty soap body. I want to handle the request at the HTTP level itself. Any suggestion would be really helpful to me..."


The current Spotlight is the Sun Developer Network article The Java NIO.2 File System in JDK 7 : "Janice J. Heiss and Sharon Zakhour provide an update on The Java NIO.2 File System in JDK 7 : "JSR 203, a major feature of JDK 7 under the leadership of Sun software engineer Alan Bateman as an OpenJDK project, contains three primary elements that offer new input/output (I/O) APIs for the Java platform: An extensive File I/O API system addresses feature requests that developers have sought since the inception of the JDK..."


The new java.net Poll asks Which project and community (P/C) content would you like to see more of on java.net?. The poll will be open through next Thursday.


Our Feature Articles include today's new article by Thomas Kuenneth, Hacking JavaFX Binding. In this article, Thomas describes how to apply binding within JavaFX in a manner similar to what can be accomplished using Beans Binding (JSR-295). We're also featuring Gary Benson's Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port.


The latest Java Mobility Podcast is Java Mobility Podcast 81: JTDF, in which Eric Areseneau talks about Victor D'yakov talks about the new Java Device Testing Framework project in the Mobile & Embedded Community. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


-->


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.

 

 

 

A majority (57%) of respondants to this past week's java.net poll expect there to be a JavaOne conference in 2010...

NetBeans IDE 6.7 Release Candidate 3 is now available for download. Check the updated release notes for the latest information about RC3.

67RC-sunIcon.jpeg

As I reported last week, NetBeans IDE 6.7 includes integration withKenai, native support for Maven, GlassFish and Hudson integration, enhanced support for Java, PHP, Ruby, Groovy, C/C++, and more.

The NetBeans IDE 6.7 RC3 Release Information provides an overview of the features, with listings of the specific improvements and enhancements that have been made in each primary category. On that page, you'll also find links for downloading andinstallingthe software.

The NetBeans 6.7 Community Acceptance Survey, which has been running for the past couple weeks, is scheduled to close today, June 18. The survey is an opportunity for the NetBeans user community to provide input to the development team prior to the NetBeans IDE 6.7 FCS (First Customer Shipment) release (currently scheduled for late June).


In Java Today, In NetBeans IDE 6.7 Release Candidate 3 Available for Download!, NetBeans.org is proud to announce the availability of NetBeans IDE 6.7 Release Candidate 3! Download NetBeans 6.7 Release Candidate 3 The focus of NetBeans 6.7 RC3 is connectivity--helping developers to connect to each other and to the latest technologies. New features for 6.7 include integration with Project Kenai, a collaborative environment for developers to host their open-source projects; native Maven support; and GlassFish and Hudson integrations. This release also offers enhancements for Java, PHP, Ruby, JavaScript, Groovy and C/C++, and more. Providing superior support for multiple languages and innovative team support through Project Kenai, the NetBeans IDE 6.7 is the ideal tool for developers to connect to their teams and to the latest technologies!...

Peligri reports on the Virtual Image for GlassFish WebSpace Server: "Several teams at Sun have collaborated to put together a Virtual Machine Template for the GlassFish WebSpace Server. The image is available in a number of formats for VirtualBox (OVF, VDI) and for VMware Workstation (VMDK) and VMware Server ESX (VMDK) and bundles WebSpace, GlassFish, MySQL, and a JeOS prototype of OpenSolaris..."

Teknoloji writes about Java ME SDK 3.0 and NB Mobility 6.7 running on Mac OS X: "Few days ago I had a chance to play with Java ME SDK 3.0 for Mac OSX. I have to admit it looks very promising. It supports all JSRs I need and Mobility 6.7 recognizes SDK 3.0 'out of the box'. I've tried few applications and everything works smooth. Actually I had to slightly change one of the classes in SVG Rich Components Framework but part from that everything seems to be OK..."


In today's Weblogs,  Sahoo writes about Developing Hybrid (OSGi + Java EE) applications in GlassFish: "In my last blog, I mentioned about implementation of OSGi web container in GlassFish, but I didn't have time to show you some real examples. This time, I shall walk you through the steps of developing and deploying such a hybrid application in GlassFish v3."

Fabrizio Giudici warns that JavaFX binding is neat, but ... beware: "An interesting chains of discussions has been triggered about JavaFX features and how it can be possibly used beyond the GUI scope.Osvaldo has just published an interesting post. Actually I like binding a lot, but I was wondering about some..."

And Osvaldo Pinali Doederlein speculates about JavaFX Script as a general purpose language?: "A recent blog from Fabrizio discusses usage of JavaFX Script for "controller" code. In my opinion, JavaFX's language doesn't have to be just a GUI DSL, it can reach further than that..."


In the Forums,chris11kgf wonders about Maya 2008 export to Collada: "Hi, I was wondering if anyone has had success exporting a Maya 2008 file on Mac to collada for use in Wonderland v0.5. I downloaded and installed the CG.framework from NVIDIA and the ColladaExporter3.05B. Then, in Maya I checked load and autoload on COLLADA.bundle under Window>>Settings/Preferences>>PlugInManager. From there, I was able to export files into .dae format. I tried a simple model of some spheres and cubes and then a more complex model of an urban village. Also, saw the free transform post from earlier and tried that on my models. Unfortunately, neither of my models were viewable. I tried scaling larger (1.0, 5.0, 10.0) but still was unable to see model..."

userlab is working with Wonderland + JavaFX: "Hi everyone, I was wondering with the addition of JavaFX into the JVM family is there any project/work using JavaFX within Wonderland virtual worlds or is there plans on using the JavaFX platform in the future? I would be interested in starting a discussing and hearing all your thoughts on the + and - on using JavaFX in this context and maybe where we can take best advantage of its features. Just to get started I've thought it would be nice to have the client side UI written in JavaFX, for this would have the following benefits; - The UI could run within a browser and then be dragged off to be independent of that browser. (IE only) - The interface could be easily extended by none Java developers and be more rich in look-and-feel. - If the client side kept close to the core JavaFX library then it could run wherever the FX platform is or goes... (i.e. Desktop/Web/Mobile/TV/Blu-ray)..."

And ipsi asks about Options for Securing Client when Server has no wsp:Policy information?: "I have a web application running under Glassfish V2 UR2 (Java 1.5), and as part of that Application I need to call a remote web service. As far as I'm aware, that web service doesn't have any wsp:Policy information in the WSDL, and so I need an alternate way to secure it. The less code I have to write, the better. I've seen information regard wsit-security and {serviceName}Service.xml files, so I'm wondering if it would be as simple as taking the WSDL, adding all the required policy information (including the signed/encrypted parts and such), essentially including all the policy information that would normally be on the server side, and just allowing Metro/WSIT to pick that up. If that's possible, that'd be fantastic. For what it's worth, I did try that, but it didn't seem to find the wsit-client.xml file..."


The current Spotlightis the Sun Developer Network article The Java NIO.2 File System in JDK 7 : "Janice J. Heiss and Sharon Zakhour provide an update on The Java NIO.2 File System in JDK 7 : "JSR 203, a major feature of JDK 7 under the leadership of Sun software engineer Alan Bateman as an OpenJDK project, contains three primary elements that offer new input/output (I/O) APIs for the Java platform: An extensive File I/O API system addresses feature requests that developers have sought since the inception of the JDK..."


This week's java.net Poll asks Will there be a JavaOne Conference in 2010?. Today is the last full day of voting.


Our Feature Articles include today's new article by Thomas Kuenneth, Hacking JavaFX Binding. In this article, Thomas describes how to apply binding within JavaFX in a manner similar to what can be accomplished using Beans Binding (JSR-295). We're also featuring Gary Benson's Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port.


The latest Java Mobility Podcast is Java Mobility Podcast 80: Java at FIRST 2010 Competition, in which Eric Areseneau talks about Java now being available for the FIRST 2010 Competition. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



NetBeans IDE 6.7 Release Candidate 3 is now available for download...  

GlassFish ESB v2.1 has just been released. The new release features improved scaling through clustering, AIX 5.3 support, the new Intelligent Event Processor (IEP) Service Engine, and the new Scheduler Binding Component (BC).

I looked at the release notes to get a more detailed view of what's new and improved. Robustness and platform support stand out to me, along with the two highlighted new components.

The Intelligent Event Processor Service Engine "enables complex event processing (CEP) and event stream processing (ESP) using the Continuous Query Language (CQL)." A quick search of the GlassFish ESB documentation didn't turn up details about this, but a web search brought me to the OpenESB IEP page, which says:

IEP engine can send and receive events from all the external systems that Open ESB supports. The events from the Open ESB external systems can generate a cloud of events as well as streams of events. The IEP engine can analyze both these types of events. IEP uses Continuous Query Language (CQL) and a rich set of operators to analyze the events.

The page also includes an engine architecture diagram and overview, and points us to the IEP Wikiand the IEP User's Guide.

The new Scheduler Binding Component:

provides scheduling capabilities for initiating JBI services. The binding component is powered by http://www.opensymphony.com/quartz/, and allows you to schedule triggers to launch (consume) other JBI components, such as the File Binding Component. You can set these actions or processes to occur at specific times or break up activities to fit any schedule.

You can apply a simple trigger (time-interval), a cron trigger (like the Unix cronprogram), or a hybrid trigger (a cron that controls a simple trigger).

If you've developed software that requires guaranteed high availability on multiple platforms, you understand the significance when a large application adds support of new systems. GlassFish ESB 2.1 adds full operating system support of OpenSolaris 2008.11 and Red Hat Linux AS 5 (32 and 64 bit), and runtime support of IBM AIX 5L 5.3 (64-bit OS, 32-bit JVM). In addition, NetBeans IDE 6.5 and GlassFish Enterprise Server 2.1 are also now supported.

To see how this fits in with the broader picture of GlassFish OpenESB support, take a look at GlassFish ESB Supported Operating Systems and External Systems. There you'll see that GlassFish ESB supports multiple versions of Solaris and OpenSolaris, Microsoft Windows, Red Hat, and Mac. That's quite a list. I know from experience that supporting that range of platforms for an enterprise level application is no small feat.

The other big addition provided by Version 2.1 is support for GlassFish clustering in all components. This is a critical enhancement, because if a few components cannot be properly scaled, then those components can become bottlenecks blocking true scalability for the entire application. It's of no use to add new servers if processing is blocked by an unscalable, or insufficiently scalable, component that is widely used in your particular operating environment. This is no longer a problem in GlassFish ESB 2.1.

See the Release Notes for the other new and improved items, and visit the OpenESB home pagefor additional OpenESB-specific information.


In Java Today, Frank Kieviet reports GlassFish ESB v2.1 released: "After a few months of development, bug fixing, testing, etc, GlassFish ESB v2.1 is now released. New in this release is that is a lot easier to scale GlassFish ESB through clustering. All components now have support for clustering. By the way, GlassFish ESB clustering is (of course) based on GlassFish clustering. Also new in this release is the inclusion of the IEP SE and Scheduler BC (a new component!), several component enhancements, and support for AIX 5.3..."

Now available via Software Update and Apple's download page, the Java for Mac OS X 10.5 Update 4 and Java for Mac OS X 10.4, Release 9 promise "delivers improved reliability, security and compatibility for J2SE 5.0 and J2SE 1.4.2", and for Java SE 6 on 64-bit Intel Macs running Leopard. Apple's statement does not detail the security fixes, but a Mac Rumors article claims that the updates "address several vulnerabilities that could allow maliciously crafted Java applets to gain elevated privileges leading to arbitrary code execution," specifically citing Landon Fuller's public proof of concept exploit.

And Danny Coward writes about JavaFX: Busy Bees: "You may have noticed that before JavaOne there wasn't the normal amount of blogging in the Java/JavaFX world. But during and since, its definitely made up for lost ground. Wow..."


In today's Weblogs, Terrence Barr posted JavaOne news update 3 and wrap-up: "After a well-needed break over a long weekend (hiking in the Eastern Sierra Nevada - awesome!) here is news update 3 and a JavaOne wrap-up: Throughout the conference there was quite a bit of interest and good traffic at the..."

Chris Campbell presents a tutorial, Effects in JavaFX: Chaining: "The third installment in a series on the filter effects package in JavaFX, explaining how effects can be chained together to produce even cooler results..."

And John Ferguson Smart presents JavaOne - my personal favorite sessions: "As usual, JavaOne was a great networking opportunity, and I caught up with old friends, made new ones, and met up with people I had only ever known virtually. This year I was giving a session myself, so I didn't..."


In the Forums,seik asks about an animation problem: "hello guys! seik is here with new questions for you!(again...T_T) I'm making an app to show videos. If it was only to play and stop it would be great but NOOOO, we need to make it more complete.....(for boss hapiness and my despair lol) So after a lot of study and pratice (....2 days is alot to me) I finally was able to make the bar that shows the progress of the video ^^.....with a small problem.....it only updates itself when I change focus on the form....T_T. Finally, after lots of useless talk, HERE IS THE QUESTION: How can I animate a component "all the time" instand of "only when I change focus". I mean: I want it(the bar) to repaint always (it could be every 1 sec or so), without the need for the user(who would be watching the video) to press a button(to change focus/update the bar)... "

kschaefe is Tackling 1.6 Sorting and Filtering in SwingX: "I wanted to start a thread to collect all of the places that we have 1.6 sorting/filtering code ideas. I have added some tasks to the Issue Tracker for migrating our codebase to be in line with 1.6. So, what are the ideas that we have? I think we could leverage a lot of the core code and make the RowSorter usable by JXList (more easily) by integrating ComponentAdapter with ModelWrapper. This would allow us to insert our code at the correct point by subclassing the DefaultRowSorter and ignoring the TableRowSorter. JTable is missing a key method createDefaultRowSorter because we're going to need to override several methods if we want to use a custom sorter as SwingX default. Anyway, what approach do we want to take to tackle this migration?"

And gw1921 provides a Tip to make LWUIT paint/display/scroll lists faster: "Hi all, I'd like to share an optimization tip with I used to make my lists scroll at least 50 times faster (literally) than they did, which was especially noticeable on Blackberry Storm, HTC etc etc where tap-flicking was terribly slow. My List(s) had excessive use of labels and images and so the list would take literally a second or two to change focus and to scroll. After a bit of profiling I noticed LWUIT was spending most of its time in Font.stringWidth, wasting precious cpu cycles on basically the same strings again and again (with a new repaint after every scroll-step/focus change). The solution was to subclass Font, add a 'String Width Pool' that keeps track of, say, 30 strings at most and their widths. You then use this cache to return width of strings you're already aware of... "


The current Spotlightis the Sun Developer Network article The Java NIO.2 File System in JDK 7 : "Janice J. Heiss and Sharon Zakhour provide an update on The Java NIO.2 File System in JDK 7 : "JSR 203, a major feature of JDK 7 under the leadership of Sun software engineer Alan Bateman as an OpenJDK project, contains three primary elements that offer new input/output (I/O) APIs for the Java platform: An extensive File I/O API system addresses feature requests that developers have sought since the inception of the JDK..."


This week's java.net Poll asks Will there be a JavaOne Conference in 2010?. Tomorrow (Thursday) is the last full day of voting.


Our Feature Articles include today's new article by Thomas Kuenneth, Hacking JavaFX Binding. In this article, Thomas describes how to apply binding within JavaFX in a manner similar to what can be accomplished using Beans Binding (JSR-295). We're also featuring Gary Benson's Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port.


The latest Java Mobility Podcast is Java Mobility Podcast 80: Java at FIRST 2010 Competition, in which Eric Areseneau talks about Java now being available for the FIRST 2010 Competition. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



GlassFish ESB v2.1 has just been released. The new release features improved scaling through clustering, AIX 5.3 support...  

QuickCheck for Java is an automated software testing tool that tests programs by generating specified randomized input data sets and running them through the application. The software applies the techniques implemented in the Haskell QuickCheck tool to Java applications. QuickCheck for Java Version 0.4 was recently released.

QuickCheck is a lightweight specification based test tool. Each specification is tested with generated test cases.

Basically quickcheck is about generators of data. (The QuickCheck.forAll method is just a fancy for loop implementation.) Quickcheck can help in scenarios where whole classes of test cases have to be tested and it is not feasible to write tests for all distinct test scenarios. (E.g.: "This algorithm has to work for unicode string values of unlimited size.")

Version 0.4 enhancements include:

  • annotation-based characteristic definition for junit4
  • new CombinedGenerator generators: - int[]; set; sortedLists; non-empty list; lists(Generator integers, int lo); lists(Generator integers, int lo, int high)
  • new PrimitiveGenerator generators: dates(TimeUnit precision); dates(long low, long high); strings(maxSize); integers(int low); positive integer; positive long generator

The value of QuickTest is that it enables you to automate testing of systems using the full variety of input data that the application may encounter when it goes operational. I have done lots of work on complex automated data analysis systems, and testing the systems in advance of their becoming operational is difficult. Manually generating input data takes time. A tool like QuickCheck automates this, and enables exercising the software over a wide set of data conditions. Hence, it allows you to find situations where an particular set of input data causes problems. Once these conditions are found, you can correct the software such that it reacts in an appropriate manner, thus avoiding the undesirable situation of the software failing once it becomes operational.

The QuickCheck project has a To-Do List for the upcoming Version 0.5 and beyond. The project is seeking help with these items, as well as with the development of sample code and documentation. If you'd like to help, visit the QuickCheck for Java home page, scroll down to the bottom, and get in contact with the development team.


In Java Today, Thomas Jung announces Quickcheck for Java Release 0.4 is now available: " We would like to announce release 0.4 of QuickCheck for Java (quickcheck.dev.java.net), a implementation of QuickCheck with major enhancements (distribution functions, generator strategies, rerun of failed test instances, deterministic generators). Quickcheck supports Specification-Driven Development (SDD), which is a recent attempt to address some limitations of TDD by raising the level of abstraction. Like TDD, SDD is an incremental process that proceeds from failing specifications to passing code, and emphasizes short cycle time comparable to TDD."

The java.net JUGs project invites Java User Groups worldwide to enter their information so they can be included in the worldwide JUGs map, which shows the geographic location, leaders, and web site information for JUGs from around the world. It's fairly simple to add your JUG to the map. The current map itself is quite impressive. But, surely there are JUGs that are not represented. It's difficult to believe, for example, that there are no JUGs in Japan. Only one in China? Just two in India? None in South Korea, South Africa, or Mexico? If you're a member of a JUG that's not on the map, please take a few moments to add your JUG to the map.

And Gavin King reports JSR-299 Proposed Final Draft submitted: "I just submitted the Proposed Final Draft of JSR-299, Contexts and Dependency Injection, to the JCP. Download it here[1]. We're gearing up for a final release in August, in time for the Java EE 6 release in September. Thanks to everyone who put so much effort into this! If you have not being paying attention to 299, now is a great time to get up to date. This is arguably the most significant enhancement in EE 6, providing the following suite of functionality: a completely general typesafe dependency injection model..."


In today's Weblogs, Roberto Chinnici has published Slides for my JavaScript talk at JavaOne 2009: "I put the slides for my technical session at JavaOne online here. The session is: TS-3802, Functional and Object-oriented Programming in the JavaScript Programming Language. The repetition of the word "programming" is entirely due to lawyer intervention, I should note...."

Amy Fowler presents the Insider's Guide to Blending Swing and JavaFX: "Responding to requests at JavaOne for more information about using Swing with JavaFX, I've written a 10 step guide for using JavaFX to create a not-so-extreme GUI Makeover for Swing applications."

And Jean-Francois Arcand writes about Getting started with the Atmosphere Framework part III: Dead Simple async REST application: "In that part, I describe a dead simple asynchronous REST application using behaviors.js, prototype.js and the Atmosphere Framework. As usual, you can deploy the app anywhere!"


In the Forums, adamspe is trying to connect a .NET/C# client to Metro web service: "I am running several Metro/WSIT (java source based) web services on tomcat and I'm attempting to verify interoperability with a C# client but cannot at all get it to consume the WSDL metro exposes. I'm using Metro 1.5 which claims interoperability with .NET 3.0 although I'm not exactly certain what that means since I haven't seen any examples or materials that show this working. I'm particularly interested in getting a C# client to deal with a Saml Sender Vouches secured web service does anyone know of any good resources or examples along these lines? ..."

Barry van Someren is working on Clustered setup (think Cloud) Glassfish v2 or v3?: "All, I've been using Glassfish for a few years now and am a strong believer in it's capabilities and stability along with Sun Web server 7. My experiences have mostly been with single server setups. Lately I've been working on setting up Java based hosting and I'm looking for some opinions. My hosting setup is based on a combination of Cloud Nodes (much like EC2 only with both monthly and hourly options) and physical hardware (for MySQL databases, since running these of a shared SAN is a bad idea) I was thinking that Glassfish is moving more and more into the direction of being an excellent cloud based hosting environment..."

And sbeard has a problem with Glassfish Message broker shutting down unexpectedly on its own: "We are running Glassfish Enterprise Server 2.1 on SUSE Linux 10.1. In Glassfish I created a standalone remote broker so that all applications would have a common broker to use for JMS and not the broker it creates with each standalone server you create. This way the starting and stopping the broker is independent of starting/stopping the standalone server and every standalone server has the same remote broker to use. So I have the Java Message Service settings in each standalone server configured to connect to this broker in remote mode. I created the remote broker this way... "


The current Spotlight is the Sun Developer Network article The Java NIO.2 File System in JDK 7 : "Janice J. Heiss and Sharon Zakhour provide an update on The Java NIO.2 File System in JDK 7 : "JSR 203, a major feature of JDK 7 under the leadership of Sun software engineer Alan Bateman as an OpenJDK project, contains three primary elements that offer new input/output (I/O) APIs for the Java platform: An extensive File I/O API system addresses feature requests that developers have sought since the inception of the JDK..."


This week's java.net Poll asks Will there be a JavaOne Conference in 2010?. Thursday will be the last full day of voting.


Our Feature Articles include today's new article by Thomas Kuenneth, Hacking JavaFX Binding. In this article, Thomas describes how to apply binding within JavaFX in a manner similar to what can be accomplished using Beans Binding (JSR-295). We're also featuring Gary Benson's Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port.


The latest Java Mobility Podcast is Java Mobility Podcast 80: Java at FIRST 2010 Competition, in which Eric Areseneau talks about Java now being available for the FIRST 2010 Competition. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


-->


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.

 

 

 

QuickCheck for Java is an automated software testing tool that tests programs by generating specified randomized input data sets and running them through the application...

This week's java.net Spotlighthighlights the Sun Developer Network article "The Java NIO.2 File System in JDK 7", ("NIO" = "New I/O") by Janice J. Heiss and Sharon Zakhour. The Java NIO.2 file system is an OpenJDKimplementation of JSR 203. While the JCP currently lists JSR 203 as "inactive", work on the JSR is actually ongoing, under the leadership of Sun's Alan Bateman.

Janice and Sharon define the JSR's "three primary elements that offer new input/output (I/O) APIs for the Java platform:"

  • An extensive File I/O API system addresses feature requests that developers have sought since the inception of the JDK.
  • A socket channel API addresses multicasting, socket binding associated with channels, and related issues.
  • An asynchronous I/O API enables mapping to I/O facilities, completion ports, and various I/O event port mechanisms to enhance scalability.

Their article focuses on the first of these.

One might wonder: why, at this late point in the Java's history, are enhancements to something as fundamental as I/O needed? Janice and Sharon explain:

The Java I/O File API, as it was originally created, presented challenges for developers. It was not initially written to be extended. Many of the methods were created without exceptions, so they failed to throw I/O exceptions, which resulted in considerable frustration for developers. Applications often failed during file deletion, leaving developers confused as to why no useful error message had been generated. The rename method behaved inconsistently across volumes and file systems: Some were easily renamed, but others were not. Methods for gaining simultaneous metadata about files were inefficient. And developers wanted greater access to metadata such as file permissions, as well as more efficient file copy support and file change notification.

Developers also requested the ability to develop their own file system implementations by, for example, keeping a pseudofile system in memory, or by formatting files as zip files.

From this, it's easy to understand the reaction NIO.2 evokes from many developers: statements such as "we've needed this for a long time" and "finally!" In part, it's understandable that extensions to an I/O API will be required, as new types of file systems come into existence. It's a bit more surprising that the original I/O File API was designed without adequate exceptions handling. So, the frustation of developers, and their anticipation of NIO.2, is very much understandable.

"The Java NIO.2 File System in JDK 7" provides overviews of several areas where the NIO.2 APIs will improve the JDK's I/O capabilities:

As Alan Bateman says, in the conclusion of the article:

The file system API will be a significant boon to applications that today are forced to resort to native code to do many basic file system operations. Finally, the platform has support for copying and moving files, symbolic links, and file permissions, and for many other basic features whose previous absence inhibited effective access to the file system.

Some additional JSR 203 resources:


In Java Today, we note that development of the Genesis project continues to proceed at a rapid pace. The project had more commits than any other java.net project in May: "genesis is an open-source framework that aims to bring simplicity and productivity to enterprise application development, ensuring scalability, robustness and testability of your software. The main goal is to simplify the development of business components and the construction of complex graphical interfaces with minimum effort for developers. To accomplish its mission, genesis combines several open-source frameworks in a completely transparent way for developers, through the use of AOP (Aspect Oriented Programming)." The project recently released Genesis Version 3.2.

Manik Surtani announcesthat Infinispan Alpha 5 is now available: "Infinispan is an extremely scalable, highly available data grid platform - 100% open source, and written in Java. The purpose of Infinispan is to expose a data structure that is highly concurrent, designed ground-up to make the most of modern multi-processor/multi-core architectures while at the same time providing distributed cache capabilities. At its core Infinispan exposes a JSR-107 (JCACHE) compatible Cache interface (which in turn extends java.util.Map). It is also optionally is backed by a peer-to-peer network architecture to distribute state efficiently around a data grid..."

Peligri reports JSR 299 Proposed Final Draft Submitted: "The Proposed Final Draft specification for JSR 299 has been submitted to the JCP. See Gavin's Announcement and Overview and/or download the document. Still unfolding is the relationship between 299, JavaEE 6 and JSR 330; see the comments at Gavin's post for some ideas, and you can also compare the results and comments between the votes for 299 and for 330..."


In today's Weblogs, John O'Conner writes about JavaFX Designer Tool...where is it?: "At JavaOne 2009, Sun demonstrated a new JavaFX designer tool. You can even view the demo online. To shortcut right to the section that shows the tool, move to about 23:00 minutes into the video. There are obvious questions that..."

Osvaldo Pinali Doederlein writes about First look at JavaFX 1.2, Part II: "I tested JavaFX Balls again with the new JavaFX 1.2 runtime, now with with HotSpot Server, more interesting findings."

And Igor Medeiros writes about X-Card, where Java Card developers meet: "I have not posted here lately, the excuse is the same as always, but this time for a good cause, I have worked intensively in the book and the development of Eclipse plugin X-Card Tools. I created a social network..."


In the Forums,bbsunchen asks about phoneME advanced debug for ubuntu error: "Today I got a compiled phoneme advanced for ubuntu which support jvmdi, when I run it, there is a wrong said"cvm: symbol lookup error: cvm: undefined symbol: fstat64", but when I used the version downloaded from the official site which does not support debug, it runs ok. Could somebody tell me what's wrong? ..."

aitdx has a Glassfish Problem with inheritance: "Hi, I use Glassfish and metro for cretating a web service. My problem is that two classes (LegalEntity and NaturalPerson) extends a abstrac class Person. When metro generates the wsdl, the Person's class is referenced but the others (Natural and Legal) not. When I execute a find method, I get the following error: [java] Exception in thread "main" com.sun.xml.ws.encoding.soap.DeserializationException: Failed to read a response: javax.xml.bind.UnmarshalException ..."

And martinm1000 wonders Can Glassfish help me with this use case ?: "Hi, We have a couple of java swing application, and we are beginning to think that we might need some java code running on a centralized server. Kind of a windows service where some java code would be running in the background. This is not a web application; but we would use web services to let the clients (webstart swing app) communicate with the server. Would Glassfish or another module of another application server do the job ? There are so much sub projects on these technologies that I'm not sure where to start !!"


The current Spotlightis the Sun Developer Network article The Java NIO.2 File System in JDK 7 : "Janice J. Heiss and Sharon Zakhour provide an update on The Java NIO.2 File System in JDK 7 : "JSR 203, a major feature of JDK 7 under the leadership of Sun software engineer Alan Bateman as an OpenJDK project, contains three primary elements that offer new input/output (I/O) APIs for the Java platform: An extensive File I/O API system addresses feature requests that developers have sought since the inception of the JDK..."


This week's java.net Poll asks Will there be a JavaOne Conference in 2010?. The poll will be open through next Thursday.


Our Feature Articles include today's new article by Thomas Kuenneth, Hacking JavaFX Binding. In this article, Thomas describes how to apply binding within JavaFX in a manner similar to what can be accomplished using Beans Binding (JSR-295). We're also featuring Gary Benson's Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port.


The latest Java Mobility Podcast is Java Mobility Podcast 80: Java at FIRST 2010 Competition, in which Eric Areseneau talks about Java now being available for the FIRST 2010 Competition. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



This week's java.net Spotlight highlights the Sun Developer Network article "The Java NIO.2 File System in JDK 7"...  

Last week's java.net Pollasked "What was most significant about JavaOne 2009?". A total of 180 votes were cast, as follows:

What was most significant about JavaOne 2009?

  • 11.1% (20 votes) - The Java Store announcement
  • 33.3% (60 votes) - Larry Ellison's appearance
  • 1.6% (3 votes) - Mobile and embedded sessions
  • 16.1% (29 votes) - RIA and JavaFX sessions
  • 5.0% (9 votes) - Cloud Computing sessions
  • 2.2% (4 votes) - SOA and Services sessions
  • 23.3% (42 votes) - Core Java/JDK sessions
  • 7.2% (13 votes) - Other

So, just under half of the votes were cast for the sessions of various types, while a third of the votes considered Larry Ellison's appearance the most significant event. The Java Store announcement, which was talked about in advance by Jonathan Schwartz in his May 18 blog post "Will the Java Platform Create The World's Largest App Store?", was considered most significant by some people, but it's certainly not the case that the Java community overall considers this an earth-shattering news event.

Unfortunately, no one posted a comment to the poll. It would have been interesting to know what the people who cast 7.2% of votes for "Other" thought was most significant about JavaOne 2009. Did some of them think JavaOne 2009 was totally lacking significance, or were there other topics or events they considered most significant?

New poll: JavaOne 2010?

Our new poll is in a way a follow-on to this week's poll. It asks: "Will there be a JavaOne Conference in 2010?" By "JavaOne Conference" I really mean a large Java-centric conference like JavaOne -- that is, the poll includes the possibility that there will still be a JavaOne-like conference, but it will have a new name.

This was a big topic of discussion in the hallways of JavaOne 2009, so it will be interesting to see what the broader Java community thinks about this.


In Java Today, In From JavaOne 2009: Load-Testing Clustered Applications, Frank Sommers interviews Terracotta's Ari Zilka in his article From JavaOne 2009: Load-Testing Clustered Applications: " Clustered applications scale in part by relying on the clustering environment to distribute workload. As a result, load-testing a clustered application must also test how well the clustering infrastructure handles growing workloads. Virtualization can make that task simpler, since virtual server instances allow you to mimic a large cluster environment on a handful of physical nodes. However, as Ari Zilka, co-founder of Terracotta, points out in this interview with Artima, stateful applications need special attention during load-testing..."

Peligri announces JSR 330 (Dependency Injection for Java) Accepted by the JCP: "The JCP EE/ES EC has approved JSR 330 (Dependency Injection for Java). The vote was 14 YES, 1 ABSTAIN (Red Hat) and 1 didn't vote (Nortel). Sun, Ericsson, IBM, Red Hat and Oracle all requested coordination between JSR330 and JSR299 (WebBeans). Check out the Vote Comments for the different positions. Better late than never, I guess. Everybody (JCP as well as JSR 330 submitters) have committed to transparency, so we will be able to follow-up the evolution of this story..."

Andreas Grabner talks about the new Sun/Microsoft project in Interoperability is more than just talking with each other: "Microsoft and Sun recently announced their Open Source Project Stonehenge at the JavaOne conference. Stonehenge is a reference implementation that shows how to bridge the two major development platforms Java and .NET using Web Services. This initiative definitely puts the spotlight on heterogeneity and the challenges that come with it..."


In today's Weblogs, Sonya Barry writes about And then it was done.: "I really intended to blog every day last week. Somehow that just didn't happen. Thanks to all the great bloggers who contributed during JavaOne and kept the community up to date..."

Ed Burns writes about jsr-314-comments@jcp.org: ready for your input: "I describe how to get the latest JSF spec and implementation and how to provide feedback on it. Back in March, I was able to deliver on a long-ago-made promise to make the JSF EG discussions observable by everyone. One must accept the legal terms in order to view the discussions, but the process is simple and to date at least 70 individual have registered to observe the list..."

And Felipe Gaucho writes about Fiorano claim to be the fastest MQ in the world: "During JavaOne I had a minute or two talking with two Fiorano team members: Vinay Kalra and Sreenivasa Rao Sugguna. Fiorano is a commercial Business Integration Platform, including the lowest latency Java Messaging Server in the world according our own benchmark..."


In the Forums,scholle has an Architecture-related question (Multi-Layer App): "Hi All, I have a question regarding architectural related issues. I am planning an application that will have a considerable amount of business logic. There will also be different ways for different target groups to access this logic, e.g. web application1 and mobile application1 for target group1 and web application2 and mobile application2 for target group2. I think its reasonable to split the overall functionality into diffferent lighter-weighted apps rather than implementing one heavy-weighted app because the functionality to be implemented in each app is quite different. To sum up, there are several smaller applications in the presentation layer and a big application in the backend layer. Of course, apps will be added from time to time. At the beginning, there will be only the app in the backend and web application1 for target group1..."

bbergquist asks How handle session timeout with JSF and container managed authentication: "I have a JSF based web application and I need to handle session timeouts. I know how to do a Filter and I can detect the session is invalid and redirect to a timeout page. The problem that I am having is when the timeout occurs on a authentication context protected JSF page. The scenario is that the browser is showing the protected page and as such the user has already logged in to get here. The user just sits idle and the session times out. The user really does not have a clue that this has happened, so at some later time, the user attempts to interact with the page. Since there is no session, the container managed authentication immediately kicks in and presents the authentication form. The user fills out the form and is authenticated and then the container forwards to the original URL..."

And mkwapisz is working on MTOM streaming with WS in WEB/EJB container: "Hi, I tried to develop WS with MTOM streaming, so I began with samples included with JAX-WS 2.1.7. Because I prefer EJB container for WS, I created EJB project in NB and changed large_upload server implementation (the only one change is @Stateless annotation). I use Glassfish 2.1. When attachment is: 1. above 128MB I get OutOfMemory: Java heap space; 2. below 128MB I get ClassCastException, DataHandler->StreamingDataHandler ..."


The current Spotlightis View the JavaOne 2009 General Sessions: "If you weren't able to attend JavaOne 2009, you can still see all the general sessions online..."


This week's java.net Poll asks Will there be a JavaOne Conference in 2010?. The poll will be open through next Thursday.


Our Feature Articles include today's new article by Thomas Kunneth, Hacking JavaFX Binding. In this article, Thomas describes how to apply binding within JavaFX in a manner similar to what can be accomplished using Beans Binding (JSR-295). We're also featuring Gary Benson's Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port.


The latest Java Mobility Podcast is Java Mobility Podcast 80: Java at FIRST 2010 Competition, in which Eric Areseneau talks about Java now being available for the FIRST 2010 Competition. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



Last week's java.net Poll asked "What was most significant about JavaOne 2009?" ...  
kfarnham

Pac-Man in JavaFX Blog

Posted by kfarnham Jun 10, 2009

The O'Reilly InsideRIAsite has published an interesting series of articles by Haining Henry Zhang titled "Writing the Pac-Man Game in JavaFX." This is yet another illustration of the power of JavaFX, exemplifying the richness and variety of capabilities the framework provides.

To date, four JavaFX Pac-Man articles have been published. The current version of the application can be run in Part 4 of the series. And the source code is available for download.

In "Writing the Pac-Man Game in JavaFX - Part 1, Haining outlines the logical and data structure behind his implementation of the game.

When designing a data model, I usually consider two aspects: performance and space. Performance means that the data should be accessed via an efficient approach. For example, a hash table is usually faster than a linked list when a keyword-based search is performed. Performance is an important consideration for games that are constantly taking a player's input and updating graphical objects. Games like Pac-Man or Space Invaders fall into this category.

Haining notes that "the ability to leverage Java from within JavaFX is one of the very powerful features of JavaFX," and he puts this to use in the application. The article demonstrates the code for drawing the Pac-Man maze and concludes with a runnable JavaFX demo.

In Part 2, Haining tackles some of the Pac-Man animation requirements, including the chomping Pac-Man himself. This is designed looking ahead to the subsequent need to create the "ghosts" later on. Haining creates a MovingObjectclass with a moveOneStep() function that is called every 200 milliseconds. The Pac-Man is inserted into the maze, and code for letting the user control the Pac-Man's motion via the keyboard is implemented, followed by code to let the Pac-Man grab the dots it passes through. At this point, the program is an interesting toy, but there isn't much challenge in playing it.

Part 3 of the article series brings in those frightening Pac-Man ghosts. The programming challenge is to create the different state representations of the ghosts (normal, hollow, and flashing), and correctly manifest the transitions between the states. This part of the article ends with the ghosts roaming the maze along with the Pac-Man, but these are nice ghosts that don't yet try to eat the Pac-Man.

Writing the Pac-Man Game in JavaFX - Part 4 provides the interactions between the Pac-Man and the ghosts (if the Pac-Man has recently gobbled a dot, he can eat the ghosts; if not, then they can eat him). First, the distance between the Pac-Man and the ghosts is calcuated. A threshold is applied, defining when the Pac-Man and a ghost are considered to be "touching" (in which case somebody is destroyed). Haining also implements the classical death throes of the Pac-Man, when he is eaten by a ghost (his circle unwraps until he disappears). To do this, he creates aDyingPacMan class. Whenever the Pac-Man is eaten by a ghost, an instance of DyingPacMan is inserted into the maze at the appropriate locations, it does its visual activity, and the game ends.

It looks like there will be a Part 5 article, since near the end of Part 4 Haining says:

As we mentioned in previous article, the ghosts are moving in a random fashion. This makes the game less challenging. In the next article, we will discuss a better algorithm of the ghost's moving behavior.

Haining's "Pac-Man in JavaFX" series is an interesting tutorial on JavaFX, worthy of study if you're looking for a fun way to introduce yourself to JavaFX.


In Java Today, Haining Henry Zhang has written a four-part article series on Writing the Pac-Man Game in JavaFX: "When I was young I was fascinated by arcade games. One of my favorites was the Pac-Man game. Recently, when I was learning the JavaFX language, I decided to write the game in JavaFX. Based on my experience in other programming languages, I assumed there would be some amount of work in building a game such as Pac-Man, giving me a good feel for RIA development in JavaFX..."

John Smart talks about JavaOne - my personal favorite sessions: "As usual, JavaOne was a great networking opportunity, and I caught up with old friends, made new ones, and met up with people I had only ever known virtually. This year I was giving a session myself, so I didn't get to as many sessions as I would have liked to. However, I did attend a few gems. Here are some of them..."

Jonathan Allen reports LINQ to XSD Released on CodePlex: "LINQ to XSD is the long awaited follow-up to LINQ to XML. Its primary purpose is to produce LINQ-compatible object models from XSD files, giving developers some measure of static type checking while accessing XML data..."


In today's Weblogs, Joshua Marinacci writes about Top 5 Most Important Features in JavaFX 1.2: "Technically I'm on vacation this week so don't mention this post to my boss. I simply couldn't wait to blog about cool stuff we put into JavaFX 1.2. Shhhhh! Lots of JavaFX related things were announced at JavaOne, many of..."

Alexey Ushakov writes about JWebPane BOF slides at JavaOne 2009: "Slides from BOF-3992 session presented at Thursday, June 4."

And Arun Gupta writes about AGFA Healthcare - Using GlassFish for Field Force Automation, Time Registration, SAP Integration: "Here are some reasons why AGFA Healthcare choose GlassFish for their Field Force Automation, Time Registration and SAP integration: 100% uptime for past 1.5 years with 8 cluster nodes GlassFish's importance in this economy Simple and elegant administrative console High availability, ease-of-use, and..."


In the Forums, Shai Almog responds Re: Fwd: tabbedpane left/right transition problem : "Hi Anson, the solution you suggest is relevant since you allow cyclic tabs which isn't "officially" supported by LWUIT. About the sequence of sending the selectionChanged events, I'm afraid that might be hard to change since this relates to listeners we bind to the internal List component and I can't think of a way to workaround it properly. You can open an RFE for something like that and maybe someone can come up with some idea..."

Rick Moore has found a v0.5 strange startup with newest trunk build: "This is a it strange, I just received the latest trunk version as of an hour ago. I did 'ant' an 'ant run-server. I used the firefox client. It logged me in then I got a popup message "Unable to launch the application. I'd hit OK and the client exited. The next time I ran it, I just minimized the error message and clicked on the client window where the avatar moved around inside the world like nothing was wrong. But,tool items like clicking on "Window" shows nothing. So, with the error message I clicked on "details" and got this..."

And Shreedhar Ganap continues the discussion Re: In memory session management Problem: "No intention to hide - it took a while to decide on a next release on the v2.x train while most of us were focused on v3 and Sailfin. The build promotion notices have been going to the dev alias. Let me see if those notices could be sent to this list and add it to the DL page. glassfish@javadesktop.org wrote: Why does the the nightly/promoted builds cannot be found on main download page ? Many in this forum have faced replication problems and it took so long to release a fix build. More correctly is created a fixed build and hide it from all of us !... "


The current Spotlightis View the JavaOne 2009 General Sessions: "If you weren't able to attend JavaOne 2009, you can still see all the general sessions online..."


This week's java.net Poll asks What was most significant about JavaOne 2009?. Today (Thursday) is the last full day of voting.


Our Feature Articles include today's new article by Thomas Kunneth, Hacking JavaFX Binding. In this article, Thomas describes how to apply binding within JavaFX in a manner similar to what can be accomplished using Beans Binding (JSR-295). We're also featuring Gary Benson's Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port.


The latest Java Mobility Podcast is Java Mobility Podcast 80: Java at FIRST 2010 Competition, in which Eric Areseneau talks about Java now being available for the FIRST 2010 Competition. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



The O'Reilly InsideRIA site has published an interesting series of articles by Haining Henry Zhang titled "Writing the Pac-Man Game in JavaFX"...  

The NetBeans team is inviting the community to assess whether the current NetBeans 6.7 (Release Candidate 2) is ready for FCS release. The team has created a Community Acceptance Survey, where NetBeans 6.7 users can provide the development team with their assessment of RC2:

Is NetBeans IDE 6.7 ready for FCS release? If you have already downloaded and tested the latest Release Candidate build, we would like to know what you think. Please follow the link below and tell us about your experience! The survey will be opened till June 18th.

NetBeans 6.7 is a major release that includes integrated support within the IDE for Kenai-hosted projects, via the new Kenai window and the new Team menu for Kenai project management. What's significant about this is that it facilitates coordinated development for development teams whose members are geographically separated. In essence, Kenai integration makes NetBeans a superb platform for "development in the cloud," precisely what's needed for open source projects.

https://duke.dev.java.net/images/netbeans/DYGYTWT-nb-button.png

James Gosling has been enthusiastic about NetBeans 6.7 since he began using the beta version in April:

It's real impressive: there's a lot more to NB 6.7 than the developer cloud, but the cloud support is the standout feature. We're just beginning, but it's already transformed the way I work.

NetBeans 6.7 also includes:

  • native support for Maven
  • GlassFish and Hudson integration
  • enhancements to Java, PHP, Ruby, Groovy, and C/C++
  • support for JavaScript 1.7
  • SVG rich components

See the NetBeans IDE 6.7 Release Information for more details.

Among the things that set NetBeans apart from other IDEs is that it is by nature customizable to the user's needs. It is designed to be extensible. The background NetBeans vision is driven largely by the fact that NetBeans really is acommunity project. There are multiple mailing lists, a #netbeans IRC channel, and you can follow NetBeans on Twitter.

The NetBeans community is large and diverse. Serving that community as resulted in a powerful IDE with more features and capabilities than an individual developer is likely to use. For this reason, significant effort was put into NetBeans 6.7 to ensure that it fits itself to the user's needs. The IDE is not monolithic: features that you as an individual developer aren't using are not automatically loaded. In other words, the IDE automatically tailors itself to what you're working on, saving you time and computer memory.

The NetBeans 6.7 Community Acceptance Survey

The NetBeans 6.7 Community Acceptance Survey is another illustration of the community aspect of NetBeans development. From now through June 18, the community is invited to test and assess NetBeans 6.7 RC2 and provide feedback through the survey. The survey specifically asks for feedback regarding:

  • Connected developer featurs (Kenai integration)
  • Maven integration
  • Editor improvements
  • Features on demand
  • Performance (compared with NetBeans 6.5.x)
  • Overall quality (compared with NetBeans 6.5.x)
  • Improvements you'd like to see in the next release
  • Any other comments

The information provided by the community through the will help the core development team make the final changes that will lead to the NetBeans 6.7 FCS release, currently scheduled for late June.


In Java Today, the Netbeans community has published the NetBeans IDE 6.7 Release Candidate 2 Release Information: "The NetBeans IDE is an award-winning integrated development environment available for Windows, Mac, Linux, and Solaris. The NetBeans project consists of an open-source IDE and an application platform that enable developers to rapidly create web, enterprise, desktop, and mobile applications using the Java platform, as well as PHP, JavaScript and Ajax, Ruby and Ruby on Rails, Groovy, JavaFX and C/C++. It is supported by a vibrant developer community..."

Mark Reinhold reports on the OpenJDK Interim Governance Board: New Members: "I'm pleased to announce that Sun has appointed Martin Buchholz (Google) and Andrew Haley (Red Hat) to the OpenJDK Interim Governance Board. For those who don't already know them, some background: Martin Buchholz is a software engineer at Google. A developer of the JDK core libraries at Sun for many years, he continues to contribute to OpenJDK, especially in the areas of collections, concurrency, and subprocesses..."

And m_muhammadali provides instruction on Improving Code Quality: "In this article I discuss a static analysis tool that finds defects in Java programs. Static analysis tools can find real bugs and real issues in your code. You can effectively incorporate static analysis into your software development process. FindBugs is an open source static analysis tool that analyzes Java class files, looking for programming defects..."


In today's Weblogs, Jim Driscoll found himself surprised regarding UI Latency: "Ben Galbraith did a short experiment on UI Latency at JavaOne. The results were not precisely what I expected."

Kohsuke Kawaguchi talks about Starting Hudson slave from Live USB media: "Using Hudson swarm slave plugin to boot a PC from USB and hook it up as a Hudson slave. Translated from Japanese."

And Fabrizio Giudici investigates Writing a UI controller in JavaFX: "While JavaFX is great for the UI (binding, declarative stuff, etc...) it's also a good candidate for writing controllers (in a MVC).Of course I'm not saying I'd write a complete application (I mean, a back-end) in JavaFX - JavaFX is..."


In the Forums,michaelmaguire wonders about setSingleLineTextArea(false) supposed to require setRows(0)?: "It's nice to see the addition of setSingleLineTextArea(false) for TextArea so that we can now create a TextArea that can start out as a single row but grow as needed. (thanks guys!) However, what I'm finding is that if I don't call setRows(0), stuff doesn't work properly. e.g. NOT calling setRows() or calling setRows(1) both produce weird results: - No setRows() call -- everything ends up on the same line, even it if requires more rows. - setRows(1) call -- everything ends up on the same line, although the component appears to take up the required amount of vertical space it would need if text was properly broken up over the number of rows it ought to be. Note that calling setGrowByContent(true) doesn't appear to affect the outcome one way or the other. We're not blocked by this, but I thought it seemed weird and the LWUIT team might want to know about it..."

demonduck has an Update: Bug in Java Plug-in 1.6.0_14 Using JRE version 1.6.0_14-b08: "I had a bug in my paint() method where I was trying to repaint the image in a Canvas with BufferStrategy but before having sent pixels to a MemoryImageSource for drawing on the BufferStrategy's Volitile image. This caused massive flickering when scrolling the page that the applet was embedded in. And I believe that it was crashing the JRE/JVM/Plugin when changing pages in the browser. I have replaced my paint() method with more conventional code that draws an Image to the Canvas only if the Image is not null and I don't crash the JRE/JVM/Plugin anymore when I go to a different page in the window or tab and then return to the page. It's complicated and that's about all I'll say about it unless someone has questions..."

And btasdemir has an issue that is !!!Urgent!!! - I get eror when I ping the defined connection pool -oracle-: "Hi all, I defined a connection pool, type oracle from the glassfish web admin console. Set the properties Resource Type: javax.sql.DataSource; Datasource Classname:oracle.jdbc.pool.OracleDataSource and name it oraclepool. From the additional properties page I Set: ServiceName: XE; User: ****; Password: ****; ServerName: localhost; PortNumber: 1521; URL: jdbc:oracle:thin:@localhost:1521:XE. After, from the JDBC resources I defined the pool..."


The current Spotlightis View the JavaOne 2009 General Sessions: "If you weren't able to attend JavaOne 2009, you can still see all the general sessions online..."


This week's java.net Poll asks What was most significant about JavaOne 2009?. Thursday is the last full day of voting.


Our Feature Articles include Gary Benson's just published Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port; and Protect Your Legacy Code Investment with JNA, by Stephen B. Morris, which introduces Java Native Access (JNA) and demonstrates how it can be used to facilitate interaction between Java programs an native libraries, for example Windows DLLs.


The latest Java Mobility Podcast is Java Mobility Podcast 80: Java at FIRST 2010 Competition, in which Eric Areseneau talks about Java now being available for the FIRST 2010 Competition. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



The NetBeans team is inviting the community to assess whether the current NetBeans 6.7 (Release Candidate 2) is ready for FCS release...  

In his post-JavaOne blog post, James Gosling talks about Sun's early concerns regarding attendance at this year's conference:

... between the Oracle situation, the global meltdown, and the financial situation, [JavaOne 2009] was very different. Early on, we were really concerned (==nearly paniced) that no one would show up. Almost every company that usually sends a crowd of people to JavaOne had travel restrictions that meant that few could attend. And yet, attendance ended up being about 15,000. Very respectable!

I wonder if the better than originally hoped for attendance may have been partly due to the conference's location (within a long commute for everyone who works in Silicon Valley) and relatively high attendance by people who do not live in the United States? The economic situation is worse in the United States than it is in many other countries. Furthermore, for non-U.S. companies, the benefit of attending JavaOne may exceed that of U.S. companies.

JavaOne is a primary and unique opportunity for non-U.S. companies to participate in the global Java community, showcase their skills and products at a very high profile event, etc.; whereas a great many of the major U.S. firms for which Java is critical technology have a footprint in Silicon Valley, and hence could better afford not to commit to sending as many employees from far-away locations.

That's all my own speculation, to be sure; but I certainly noticed a great many conference commuters, and many attendees from countries like Brazil and Germany -- moreso than was the case in the other conferences I've attended in San Francisco (Web 2.0 Summit in November 2006 and Web 2.0 Expo in April 2007).

Since this is my first JavaOne, I can't compare what I saw in JavaOne 2009 with previous JavaOnes. If you were at this JavaOne and previous JavaOnes, did you notice a relative increase in local commuter and non-U.S. attendees? And a decrease in long-distance U.S. attendees?

Is Java becoming more globalized?

What are the implications for Java if the technology is increasingly "globalized"? In February, James wrote about the week he spent at TechDays in Hyderabad (India), concluding that India is amazing! There:

The locals were apologizing that "only" 6000 developers were there: the conference center is only big enough to accommodate 6000 attendees, and it's the largest conference center in India. The place is just jammed. There are about 800,000 professional Java developers in India, and we just don't have room for them all.

While at the Hyderabad conference, James also commented:

It's nice to have a break from the incessant pessimism of the global economic meltdown.

In February, of course, the U.S. economy was rapidly tumbling, yet the enthusiasm surrounding the TechDays event in India was remarkable (see, for example, the commentsposted to James's "India is amazing!"

Likewise, I noticed a strong and vital Brazilian contingent at JavaOne 2009, and I was not alone in noticing that (among people who've never attended JavaOne before).

So, India, Brazil... two of the BRICs (Brazil, Russia, India, China) that economists used to talk about. In 2001, Goldman Sachs argued that:

since they are developing rapidly, by 2050 the combined economies of the BRICs could eclipse the combined economies of the current richest countries of the world.

If what's happening with Java in Brazil and India is also happening in Russia and China, the center of the "Java world" may be migrating away from the U.S. as well.


In Java Today, we're catching up on some announcements that occured during JavaOne week. Jorge I. Sanchez reports that Verizon Wireless has announced the Open Development initiative: "The Open Development Initiative allows developers to design devices and applications for use on the Verizon Wireless network..."

Thomas Jung announces Quickcheck for Java Release 0.4: "We would like to announce release 0.4 of QuickCheck for Java (quickcheck.dev.java.net), a implementation of QuickCheck with major enhancements (distribution functions, generator strategies, rerun of failed test instances, deterministic generators). Quickcheck supports Specification-Driven Development (SDD), which is a recent attempt to address some limitations of TDD by raising the level of abstraction... "

And NetBeans.org announces NetBeans IDE 6.7 Release Candidate 1 Available for Download>: "The focus of NetBeans 6.7 RC1 is connectivity--helping developers to connect to each other and to the latest technologies. New features for 6.7 include integration with Project Kenai, a collaborative environment for developers to host their open-source projects; native Maven support; and GlassFish and Hudson integrations. This release also offers enhancements for Java, PHP, Ruby, JavaScript, Groovy and C/C++, and more..."


In today's Weblogs, James Gosling summarizes JavaOne 2009: another amazing experience: "This was another amazing JavaOne. It was also the weirdest: between the Oracle situation, the global meltdown, and the financial situation, it was very different. Early on, we were really concerned (==nearly paniced) that no one would show up. Almost every company that usually sends a crowd of people to JavaOne had travel restrictions that meant that few could attend. From what we had seen from other conferences, we feared the worst. And yet, attendance ended up being about 15,000. Very respectable! ..."

Vivek Pandey says you can now Run Django applications on GlassFish v3 Preview: "GlassFish v3 Preview is available and I am excited to announce support for Django applications. Django is a Python based framework, probably anyone hosting their applications on GAE might know Django is a Python based web framework. Here is how you can run a Jython application on GlassFish v3 Preview."

And Osvaldo Pinali Doederlein takes a First look at JavaFX 1.2: "I just grabbed the distribution of JavaFX 1.2. Lots of new stuff to cover, but I will start by updating the JavaFX Balls benchmark (my version of Bubblemark). Very good results..."


In the Forums,bencal continues a discussion Re: Set Principal in WEB Container upon custom Login: "I developed a custom real and a custom login. It is working fine. I do the login using my custom login in one of my JSF pages.It is modular and works in a WAR module. I am very happy of it. The issue is that I don't now how to pass this info to the EJB I call. My Web pages(servlet...) are not recognized as authenticated (Principal is null...) and the principal passed along with the EJB call is the 'ANONYMOUS'. I tried the "secure-converter" example from the J2EE Tutorial and the problem is the same... "

Sreeram Duvur is Announcing Project SailFin-CAFE: "Hello GlassFish and SailFin Community Members: Today is the second Anniversary of Project SailFin! SailFin adds SIP and Communications capabilities to GlassFish. The project has come a long way since then. There have been two significant releases: 1.0 (Sep '08 with JSR116 compliance) and 1.5 (Feb '09 with JSR289 and Clustering). We are delighted to have attracted talented developers, subject matter experts and many users to SailFin community in the past two years. Today, we are announcing a new sub-project called SailFin CAFE (Composite Applications Framework Essentials)... "

And tizo asks about authentication mechanisms: "Hi there, My previous questions about the possibility of realms handling passwords expiration was not answered (indeed, today I am pretty sure that that cannot be done just implementing a custom realm), so I am looking for other solutions. One of them, is that a custom realm store a field in some place, telling the application that the password has expired, or is about to expire. So the question is: How can arbitrary data (and not just the user name), can be passed from a custom realm, to a web application?..."


The current Spotlightis View the JavaOne 2009 General Sessions: "If you weren't able to attend JavaOne 2009, you can still see all the general sessions online..."


This week's java.net Poll asks What was most significant about JavaOne 2009?. Voting is open through Thursday.


Our Feature Articles include Gary Benson's just published Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port; and Protect Your Legacy Code Investment with JNA, by Stephen B. Morris, which introduces Java Native Access (JNA) and demonstrates how it can be used to facilitate interaction between Java programs an native libraries, for example Windows DLLs.


The latest Java Mobility Podcast is Java Mobility Podcast 80: Java at FIRST 2010 Competition, in which Eric Areseneau talks about Java now being available for the FIRST 2010 Competition. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



In his post-JavaOne blog post, James Gosling talks about Sun's early concerns regarding attendance at this year's conference...  

This week's java.net Spotlightpoints you to the page that lets you view the JavaOne 2009 general sessions. This is one of the many opportunities that will be available for people to review the key events from last week's conference.

Just before I checked out of my hotel, I watched James Gosling's Toy Show online, as it was streamed live. James featured many interesting projects that demonstrate ways in which Java technologies are being applied for the benefit of many people. The demos included:

  • image pattern recognition software that can be applied to analyze medical images and detect structures that signal the onset of disease;
  • a microcredit application that is assisting people start businesses in the developing world;
  • a 6000-pound, fully-finned, circa 1960 convertible automobile that Neil Young challenged researchers to turn into an energy-efficient vehicle (they haven't yet reached 100 miles per gallon, but they're getting there);
  • a race car that drives itself (being worked on by Volkswagen);
  • a jukebox system that enables independent musicians to make their songs available at local clubs;
  • and more!

Now, in my view, Java wasn't specifically required for any of these applications. However, the developers in each case selected Java for a reason, and the presentations do indeed demonstrate the extensive range of applications to which Java can readily be applied.

Another very interesting general session was the opening keynote, which culminated with an appearance by Larry Ellison, after Scott McNealy spoke with the words "What else is on your mind?" displayed on the large screen behind him. Larry said pretty much what I expected him to say (based on my contention that Oracle views the Sun acquisition as an opportunity to vastly expand its realm of influence). Larry talked about increased investment in Java, and focused largely on the small -- small platforms (like mobile devices), Java technologies that run on small platforms (like JavaFX)...

I have actually not yet had a chance to watch the other general sessions. At the conference my focus was what was happening at the java.net booth, and all the mini-talks and podcasts that were scheduled as part of our Community Corner 2009. Anyway, here are the links to all the general session videos:

Enjoy!


In Java Today, Charles Humble assesses one of the major news stories of this year's JavaOne: JavaFX Gets Oracle's Backing as Sun Releases Update, and Demos Authoring Tool and TV App: "Sun has launched JavaFX 1.2this week. It is a substantial update to the platform which includes language level changes, a new charting API with support for many common chart types such as area, bar, bubble, line, pie, scatter, and X/Y, and beta support for the Linux and Solaris platforms..."

Geertjan Wielenga posted the intriguing How Groovy Helps JavaFX: Farewell Pure Java Code?: "One of the many cool sample applications known to those trying out JavaFX is the JavaFX Weather application, which is now bundled with the NetBeans IDE 6.5.1/JavaFX 1.2 bundle. In short, it connects to a weather service and then displays the results for selected cities in an impressive JavaFX GUI..."

And Peligri reports on GlassFish v3 - Platform Services and Remote Restart: "GlassFish v3 includes all the benefits from its Java EE 6compliance and its modular, services and OSGi-based design, but it is also the opportunity to address a number of long-standing RFEs and issues that were to hard to address on the old v2 architecture..."


In today's Weblogs, Cay Horstmann writes about Java One 2009 Day 4: "On Day 4, I report on the toy show, magical mystery tours, mistakes that matter, and how to bring the fun back into programming. (Maybe I am a sucker for talks with catchy titles.) In summary, it was a solid conference, and I look forward to Java One 2010. I conclude with predictions, one of which is that there will be a Java One 2010."

Tim Boudreau writes about Juggy gives Duke a workout: "Bruno Souza got a whole bunch of us together to participate in creating this short video - how Java Users Groups drive Java - from an unusual perspective :-)"

And Marina Sum writes about Catching Up With OpenDS Community Manager at JavaOne: "It's always a pleasure to visit with Ludo Poitou, community manager and architect for OpenDS, Sun's open-source project for a next-generation directory service. He's ever knowledgeable, down-to-earth, candid, and gracious. Yesterday at JavaOne, we caught a few minutes to chat about the latest of OpenDS."


In the Forums,tizo has an issue with password expiration: "Hi there, I am developing some JEE modules in GlassFish (v2.1-b60e). As users DB, I am using OpenLDAP with passwords policies (draft-behera-ldap-password-policy). I have tried succesfully to configure a realm to authenticate against the OpenLDAP server. However, I would like that password expirations, warnings, etc, could be handled by GlassFish. For example, when a password has expired, and after that a user has been authenticated with that one, I would like that a new form be presented to the user, forcing him to change the password. Is there any way to do that? ..."

xira_sn has been working on a problem involving EDT with PushRegistry API: "Hi everyone, I've taken some days with a problem I can't solve. I was trying to deploy a manager application (midlet) which shows an app list (contained in a Midlet Suite) that can be launch. To execute a midlet from other midlet I use PushRegistry API. My problem is that: If I use lcdui to implement the midlets, I can launch an app from the manager and when I exit from it I return to the manager without any problems. But using LWUIT, when I exit from the launched app I continue seeing the UI of it and not the manager UI that I wanted. I think the problem is related with the principal thread EDT (Event Dispatcher Thread) which managed all the event calls and painted the screen, but I don't be able to manage it like I want..."

And polski seeks help with the equation Java3D + Spring = GeometryFactory: "Hi all, I am using Spring as a geometry factory. No Spring setter injection. The geometry is stored in the spring XML bean definition. This however gets cumbersome with complex shapes as all vertices have to be hard coded including all other things that are needed for the geometry affiliated Java3d classes. Does anybody have an suggestions? Maybe someone which has done what I am trying to do before. I would like to continue to use my geometryFactory.xml definitions but it is just not worth it the more complex the shapes gets. Thanks"


The current Spotlightis View the JavaOne 2009 General Sessions: "If you weren't able to attend JavaOne 2009, you can still see all the general sessions online..."


This week's java.net Poll asks What was most significant about JavaOne 2009?. Voting is open through Thursday.


Our Feature Articles include Gary Benson's just published Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port; and Protect Your Legacy Code Investment with JNA, by Stephen B. Morris, which introduces Java Native Access (JNA) and demonstrates how it can be used to facilitate interaction between Java programs an native libraries, for example Windows DLLs.


The latest Java Mobility Podcast is Java Mobility Podcast 79: JavaOne 2009 Preview, in which JRoger Brinkley and Terrence Barr preview JavaOne 2009 for mobile, media and embedded developers. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



This week's java.net Spotlight points you to the page that lets you view the JavaOne 2009 general sessions...  

The java.net community will be busy through late Friday afternoon, on the final day of JavaOne 2009, with three more JavaOne technical sessions:

  • 1:30 PM, Matt Warman et al. (jfrets project): PAN-5388: Making Music with the Java

Thursday, Day 3 of JavaOne 2009, brings more contributions to JavaOne 2009 by the java.net community. Again, there will be JavaOne sessions, BOFs, and java.net Community Corner events.

JavaOne sessions and BOFs

The java.net community's day gets started with a 9:30 JavaOne technical session, so I'll provide the technical sessions and BOFs schedule first:

  • 9:30 AM, OpenESB team: TS-4839 Enterprise Integration Patterns In Practice
  • 6:30 PM, Java Champions, JUG Leaders and Dream Team: BOF-3904 - This is a panel discussion between Java Champions/JUG Leaders/NB Dream Team members with Sun's Software Execs (Execs confirmed to attend: Sun's VP of Java Client Platform (Jeet Kaul) and Jim Parkinson who is the Engineering VP for Cloud Services, Kenai, and Zembly). Community Panelists: Kirk Pepperdine, Mattias Karlsson, and Wade Chandler.
  • 6:30 PM, Brian Boyes, Brian Jenkins (Robotics Community): BOF-5369 "Swarm of Brian" - We will mainly be presenting work done in the Greenfoot simulator, where we are proving concepts which will be added to the actual robots.
  • 7:30 PM, Dan Sline, John Yeary: BOF-5394: Improving the Java User Groups (JUGs)
  • 8:30 PM, Alexei Ushakov (JWebPane): BOF-3992 Meet the Team Behind JWebPane, and Learn Advanced Tips and Tricks

Visit my Java.net Community JavaOne Week Presentations Schedule for the complete list of sessions by the java.net community (that I'm aware of, that is). If you're presenting at JavaOne, and you're a java.net community member, and you don't see your session or BOF on my schedule, let me know, and I'll add your event.

Java.net Community Corner events

Thursday is the final day for java.net's Community Corner 2009. I'll be recording podcasts between 10:00 AM and 2:30 PM, when the JavaOne Pavilion closes for the final time in 2009. All of the Community Corner events will be available in podcast form, which will ultimately be available online. But, before and after their podcast recordings, you'll probably have a chance to chat with our visitors in the java.net booth. Here's the schedule:

  • 10:00 AM, Max Lanfranconi (jcp.org): round table discussion
  • 11:00 AM, NetBeans, Javaleon team: Javeleon is a novel and extremely powerful dynamic update mechanism. Javeleon is applied to the NetBeans Platform and supports seamless run-time updates of NetBeans modules. Whenever a NetBeans Module is compiled Javeleon will reload the module and effectuate all changes to class code while preserving the state of all existing class instances. Followed by drop-in demos starting at 11:30.
  • 11:30 AM, Owen Kellett (Darkstar): Project Darkstar is an open-source server-side Java platform for the development and exectution of horizontally scalable online games, virtual worlds, and social networking software. More than just a communications framework, Project Darkstar boasts a simple API that transparently provides a multithreaded, transactional, persistent, and scalable system without the need for zones or shards. Learn all about the advantages of project darkstar, the typical challenges faced when developing scalable networked games, and how an example game (project snowman) was produced.
  • 12:00 PM, Adam Bien (Enterprise): The complexity and bloat often associated with Java EE are largely due to the inherent complexity of distributed computing; otherwise, the platform is surprisingly simple. Enterprise JavaBeans (EJB) 3.1 actually consists of annotated classes and interfaces that are even leaner than classic POJOs; it would be hard to find anything more to simplify. Nonetheless, (mis)use of Java EE can lead to bloated and overstated architectures. I would like to discuss the essential ingredients of a lean service-oriented architecture (SOA), then explain how to implement one in Java EE without compromising maintainability. I'll start by describing aspects of SOA implementation that lend themselves to procedural programming, then discuss domain-driven (/aka/ object-oriented) design. The patterns and best practices will be explained with Java EE Patterns vs. some J2EE anti-patterns. The discussion is based on https://p4j5.dev.java.net/.
  • 12:30 PM, Mario Fusco: Jammee
  • 1:00 PM, JB Brock, Nick Seiger (Kenai): Kenai APIs and web hooks
  • 2:00 PM, Heather (jcp.org)

Refer to the java.net Community Corner 2009 Schedule for the latest updates to Thursday's schedule.


Recent spotlighted JavaOne news:

JavaOne begins!: James Gosling has arrived at Moscone in San Francisco, CA for JavaOne week: "JavaOne is finally beginning! Getting ready for this one has been an incredible amount of work for everyone involved. The lineup of sessions is superb. I had a *really* hard time picking the Duke's choice winners (they all deserved to win). The engineering teams have been doing grand acts of heroism to get a pile of software releases ready. The demos have come together beautifully. Some are a little too close to the bleeding edge..."


The latest JavaOne-related java.net Weblogs include:

Tim Boudreau, Photos from JavaOne: A few photos from around JavaOne, taken with the world's weirdest lens.

Masood Mortazavi, if (atJavaOne) { pod.visit.JavaDB(); }: If at JavaOne, you should visit the Java DB pod and learn all about this fantastic database engine implemented in Java. At the pod, you'll get a chance to talk directly to Sun's Java DB (Apache Derby) team. In the...

Terrence Barr, JavaOne news update 1: Coming up for air ... as every year, things are extremely busy at the conference and I barely have time to catch my breath. A quick update of various news from yesterday: Tuesday's general session had a host of announcements...

Marina Sum, Technical Session on SOA's Deployment Challenges: Here is a summary of a technical session on Tuesday, June 2 by Sastry Malladi from eBay.

 Binod, SailFin CAFE : Converged Application Framework: In this blog, I am explaining what is in the new http://sailfin-cafe.dev.java.net project that went live yesterday.

Rajiv Mordani, Slides from our talk at JavaOne.: Jan Luehe, Greg Wilkins and I did a talk on Servlet 3.0 at JavaOne yesterday. Am attaching the slides from the talk for those that didn't make it or did make it and want a copy of the slides :).

Arun Gupta, GlassFish Survey for a chance to win Canon SD 770, Garmin nuvi 200w, iPod Touch, and a Wii: Would you like to win any of the following gadgets ? A 16 GB iPod Touch Garmin nuvi 200w Cano

Harold Carr, Speaking on Metro/.NET interop at Microsoft Keynote at JavaOne: On Thursday June 4, first thing in the morning at JavaOne, I will be on stage with Microsoft at their keynote demonstrating Java web service interoperability with .NET via the Metro web service stack.

Arun Gupta, JavaOne 2009 Day 1 In Pictures: Here are some pictures from JavaOne 200

Cay Horstmann, Java One 2009 Day 1: Here is my report from Java One 2009 Day 1. Overall, for me, the highlight of the day was seeing Larry Ellison on the stage, appearing generally supportive of the entire breadth of the Java ecosystem.

Marina Sum, On Java University at JavaOne: Joe Boulenouar talks about his impressions and feedback from students.

Felipe Gaucho, 5 minutes with Jetty during JavaOne 2009: If you had read my blog before you know I am

David Herron, JavaOne 2009 opening Keynote: The JavaOne opening keynote is still a fancy rock & roll show with fancy stage and the like. It's always exciting to see what they have to say, and they do a good job of spinning a story that Java...

Felipe Gaucho, Brazilian Digital TV at JavaONE 2009: Visiting the Fishermans Wharf at San Francisco Bay I met the

David Herron, OpenJDK Porter Group BOF: Just a reminder to those of you a) attending JavaOne, b) interested in porting OpenJDK to other platforms, we have a BOF on thursday night. Please attend. The agenda is to simply bring the right people into the room and...


Coverage of the Forums will return next week, after JavaOne.

There is no java.net Poll during JavaOne week. There will be a new poll next week.


Our Feature Articles include Gary Benson's just published Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port; and Protect Your Legacy Code Investment with JNA, by Stephen B. Morris, which introduces Java Native Access (JNA) and demonstrates how it can be used to facilitate interaction between Java programs an native libraries, for example Windows DLLs.


The latest Java Mobility Podcast is Java Mobility Podcast 79: JavaOne 2009 Preview, in which JRoger Brinkley and Terrence Barr preview JavaOne 2009 for mobile, media and embedded developers. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



Thursday, Day 3 of JavaOne 2009, brings more contributions to JavaOne 2009 by the java.net community...  

I haven't really said much about Oracle in my java.net Editor's blogs. There are several good reasons for that, among them the fact that I know nothing more than what's out there publicly already; also, I don't consider fanciful speculation to be a fundamental element in my job role as java.net editor. However, when Larry Ellison came to the stage as the climactic speaker in this year's JavaOne opening keynote session, it became incumbent among my duties as java.net editor to report this event. So, this is my first and last blog on the topic of Oracle and Sun, until something is completed and I'm instructed to write more about this topic by those who pay me to do this...

It's of no benefit for me to quote what Larry said, since the video is readily available online; so, the only added value I can possibly contribute is my own view on what he said, and on why he was chosen (or chose?) to speak in that particular time slot. So, that's what I'll do in this post.

A bit of personal background...

First, some personal background, if you're interested. If you'renot interested in my background, skip to the next heading. But, IMO, with something like this, where there's chatter expressing everything that can possibly be stated, you need to know who's talking before you can properly interpret the opinions expressed. If you agree with that, read on!

I've been a software developer going on 30 years now. Primarily, I've worked on the back-end, less visible side of computing -- lots of mathematical modeling, intensive analysis of high data volumes, server-side database development... Basically, my programming career has involved trying to get the maximum throughput possible, either to process, reduce, and categorize very large volumes of data, or serve large numbers of simultaneous users.

In this job role, I've worked with many technologies, including HP's RMBasic (an early scientific programming platform, designed for interacting with instruments through serial and GPIB interfaces); Sun multiprocessor workstations (starting in 1993, when doing "symmetric multiprocessing" put you into a software engineering vanguard); Microsoft server-side platforms, including SQL Server (near the dawn of the .NET age); and, yup, Oracle. The past 15 years of my software engineering experience have been dominated by high data volume, computationally intensive programming first on SunOS, then Solaris, platforms; and in the past 7 years an Oracle database has been the hub of that development.

So, in terms of the technologies and companies we're talking about, and which Larry was talking about, I do have a bit of experience. In addition (I'll say this, since some of you may already know it, and in the interests of full disclosure), I was the editor of BEA's developer sites last year, when Oracle acquired BEA and integrated the BEA sites into the Oracle Technology Network. This means that I personally know (in a business relationship) some people at Oracle. That, in fact, is another reason why I haven't said much about Oracle and Sun, and the future of java.net, Java, and all the other topics that are receiving lots of speculative commentary out there...

My view of what Larry said

OK, so I really mean this disclaimer: everything stated here is my own opinion. I have no actual knowledge of what will happen. I'm stating all of this based on 15+ years of working with Sun technologies and 7 years of working with Oracle technologies. When you work with a particular vendor's technologies over a long period of time, you get a feel for what they're about -- you develop an opinion about that, anyway. So, here's myopinion about why Oracle chose to buy Sun, why Sun is pleased to be acquired by Oracle, and what it might mean for the future of java.net, Java, et al.

If I was Oracle, I would see myself as the rock-solid database infrastructure in the world. (Well, IBM is right there too, but I consider IBM to offer a one-company solution, which means it's overall a less "open" platform than Oracle from a developer's standpoint.) As Oracle, I would see that I was the best rock-solid database, and know people and industries need what I can provide. But I would also see a gap: everything I do is rock-solid, the quality, the reliability, the efficiency, are stellar -- yet, there is a bigger world out there! Not everything happens in the Data Center.

"What if," I'd think (if I was Oracle): "what if I could also bring the same reliability and performance that I have in the Data Center out to the smallest devices? Because, isn't the world of devices that connect to Data Centers getting smaller and smaller? Aren't 'computers' disappearing into devices that are known not as computers but by names like 'smartphones'? Aren't these the consumers of my Data Center's activity, as well as the providers of the input to my Data Center cloud of the future? What if I could have a presence there too?"

So, what did Larry talk about? I heard talk primarily about software on small devices. Small devices are an area where Oracle has little presence today. But, think about Oracle's primary competitors, say, IBM, or Microsoft. Don't they have a much greater presence from the desktop on down to smaller devices, where Oracle is largely absent?

Larry has been around for some decades, and has seen how the fortunes of even major companies can change in ways few would expect to see. In the late 1990s, I used to advise people (at SiliconInvestor.com and my now-silent MathematicalAnalysis.com site) that the stocks of companies like Sun and EMC were likely much overpriced. I thought that was the case because it seemed unlikely to me that the value of dot.com companies could quadruple in two years (which the Nasdaq approximately did in 1999 and 2000) while the value of their primary customers (whose stocks were on the NYSE) were rising at an incredibly more subdued pace. There was a mismatch, an economic/financial discontinuity. Either the Nasdaq stars were highly overvalued, or their NYSE customers were incredibly undervalued...

So, Larry watched this, navigated Oracle through it. He also has seen the rise of Linux on the desktop. I'm writing this blog on an HP Mini 1120NR, a Linux netbook. A few years ago, who'd have thought that could come to be? And no, I didn't install Linux on my HP Mini: it came that way.

A big news item at this year's JavaOne was the new Java Store. Java is installed on an enormous portion of the world's computers. Oracle is a "Java shop," but of course they need to be much more diverse: they need to provide a reliable, solid database to all developers, not just Java developers. Similarly, Solaris is a superb platform for Java and also for numerically intensive programming in Fortran, C, and C++ (all of which I've done lots of).

To have Sun under the Oracle umbrella, IMO, provides Oracle with a more direct connection to platforms where it previously had a minute presence. In particular, the small devices. But, also, with the development of OpenSolaris (I recorded a podcast with that team today), a potentially significant future presence on the desktop.

For Sun: being under the Oracle umbrella provides a "permanent" future. I mean, we've seen great companies go out of business, or become dependent on government bailouts recently, no? I don't think the U.S. government would consider Sun Microsystems worthy of a bailout, if the company came to desperate straits.

Again, for Oracle: an IBM/Sun company would have virtually closed the door on Java to Oracle. An Oracle/Sun company presents some issues for IBM, IMO. Just as Oracle/Sun might induce some thinking inside the suites of Microsoft. And, realistically: isn't a well-funded OpenSolaris a challenge to Linux?

So, strategically -- when I heard this news (I heard it first at an O'Reilly weekly team meeting), my first thoughts were: "Wow, Larry really is a genius!"

But what about the communities?

The big fear I am hearing, seeing in my browsing of the commentary, is that Oracle is too different, they simply don't understand the community aspect, they're all a bunch of corporate types selling software for big bucks, they don't understand open source, they have no interest in openness, they're going to crunch JavaFX out of existence, Java is going to turned into Oracle's pet, java.net will be absorbed into the Oracle Technology Network because Oracle only understands the "resistance is futile" mode of operation, etc., etc., etc.

I disagree with all of this. Why? Because I think Larry, and Sun's management, view the situation from a much broader, long-term point of view. IMO, Larry (and his team, it's not all just Larry, of course) have always had a great sense of where technology stands today, and what's lacking today that will be needed relatively soon. Furthermore, Oracle has demonstrated the ability to act upon that vision, and be there when the rest of the world realizes it needs that something, saying "Oh, you need this now? Here! Here it is!"

Jeff Bezos (Amazon) is another person who I think has the trait of foreseeing future needs with precise clarity (e.g., development in the cloud). People like Larry Ellison and Jeff Bezos invent things that we regular people consider "interesting experiments" at the time -- then five years later, entire technology conferences are focused on how everyone needs to get on board utilizing those services ASAP--else, your company won't survive.

I'm still not effectively addressing the communities issue that I know is so much on people's minds. I'll try to do that now (this is getting a bit long, I apologize for that -- as I said, I won't be repeating discussion of this topic any time soon).

IMO, Larry has watched the development of "Web 2.0" and has watched computers on the client side "disappearing" into devices that are not considered to be "computers." I argue that someone like Larry doesn't want to sit solely in his Data Center kingdom watching a major technological wave proceed in the opposite direction. Of course, that Web 2.0 wave can't get anywhere without the Data Center. But, still, it's got to be enticing to actually be able to participate in it, ride that wave, race in it along with other competitors. Who's going to ride that wave best? Will it be Microsoft? Apple? Linux? IBM? But, wait a minute... Hmm... "Why not Oracle?" Larry muses...

"But Larry has no experience with this kind of wave," you argue. "He knows nothing about communities, about open source, etc." Well, I remember a time, a decade or so ago, when Oracle and Sun were united in what I then considered screaming a bit too much over Microsoft's practices and dominance of certain areas of technology. My point is: there has been an understanding and respect of point of view between Oracle and Sun for a long time. My guess, my prediction, is that Oracle is highly unlikely to ignore something Sun tells them is important. My estimate is that Oracle is doing a lot of listening right now.

At JavaOne, I learned that Sun has laid the groundwork for a long-term future for Java, by "seeding" the universities with Java education. Education is a major component of the activities that occured this week at the java.net booth. My son did his honors program software development at Wesleyan University in computational microbiology in Java. Universities are on board with Java, and the upcoming development community is also accustomed to open source software and tools.

Meanwhile, these university CS students know nothing of Oracle. They may know MySQL or Postgres. Once they graduate, they'll enter a world where greater robustness and reliability are required in the technologies that are the center of their daily endeavors. If a Data Center is involved in their work, they will likely come to know about Oracle. Conceivably, they will some day be decision-makers when the question of "Linux or OpenSolaris?" is brought up. But this question won't arise without a viable, well-funded OpenSolaris effort. As we know, Linux is quite well-funded today, even though early on it was indeed one person's creation. OpenSolaris will need strong backing to be able to compete.

"But--" (you keep saying this!) "Oracle doesn't understand communities!" Well, how about this response: the people who create the Oracle database don't need to change their already successful mode of operation. Oracle can still sell their database the way they always have. Java's independence doesn't challenge that by any means. All that's necessary in order for the worries of the Java community to be allayed, is for Oracle to say to Sun "I see what you mean. That is quite valuable. Yes, you keep on doing that community stuff. And, by the way, we'll increase your funding for that effort as well." And I think there's a really good chance that that is indeed what's going to happen. And over time, parts of Oracle may even become more like parts of Sun, moreso that vice-versa. That's my prediction. Oracle will learn stuff it doesn't know about from Sun. And Larry wants that to happen, IMO.

"I'll oracle you!"

Have you "googled" anything lately? Grabbed a "Kleenex"? I think Larry would be quite pleased if someday, as you and your friend part, one of you says "I'll oracle you!" -- meaning they'll get back in touch with you through "oracling." I have no idea what "oracling" someone in the future might entail. But I'll guess that it would involve Java technology on a device possibly manufactured by Sun (but also competing devices manufactured by others) that connects to Data Centers that might operate on Solaris servers running Oracle databases (but also runnable on other platforms)...

To me (in closing), a fusion of Sun and Oracle opens up the possibility that some day (maybe 5-10 years from now) we will indeed "oracle" one another. Without that fusion, I don't think that possibility exists. Oracle apart from Sun gives us Oracle-powered this and that, but we'd never "oracle" one another. Oracle/Sun creates a rock-solid technology continuum the spans the biggest data center down to the smallest device, and reaches out to the people who use those devices, and involves all the communities that are involved in bringing those services, the software, the gadgets, to the on-the-street users.

Call me naive, unaware, or uninformed -- whatever you'd like -- but that's the way I see it.

On Wednesday, Day 2 of JavaOne 2009, the java.net community has an even busier schedule of events than Tuesday's. Java.net community members will be presenting sessions at JavaOne and ancillary events, including Birds of a Feather (BOF) events in the late afternoon and evening. In the java.net booth itself, Community Corner 2009 is in full swing, with guests stopping by and presenting mini-talks, giving demos, or recording podcasts from 10:00 AM through 4:30 PM.

JavaOne sessions, BOFs, etc.

First, the java.net community events that will be happening beyond the java.net booth:

  • 9:45 AM, Jesse Glick, Kohsuke Kawaguchi: TS-5301: Continuous Integration in the Cloud with Hudson
  • 2:50 PM, Frank Kieviet: TS-5123 SOA at Enterprise Scale: Solving Real Challenges with GlassFish ESB
  • 5:00 PM, Paul Sterk: GlassFish Web 2.0 and Scripting Demo (at the "Glassfish Sneak Peek at Java EE 6 Ancillary Event," St Regis Hotel Gallery I Ballroom, 125 3rd Street, San Francisco)
  • 6:45 PM, Roger Brinkley, Terrence Barr: BOF-6731: Mobile and Embedded Lightning Talks
  • 7:45 PM, OpenESB Team: BOF-5004 OSGi and the Enterprise Service Bus: Friend or Foe?
  • 7:45 PM, Kohsuke Kawaguchi: BOF-5105: Hudson Community Meet-Up

For a list of the JavaOne sessions and BOFs that will feature java.net community members throughout the conference, visit my Java.net Community JavaOne Week Presentations Schedule. If you're presenting at JavaOne, and you're a java.net community member, and you don't see your session or BOF on my schedule, let me know, and I'll add your event.

Java.net Community Corner events

Wednesday's java.net Community Corner activities include visits by members of the java.net community, and by the broader Java community, including the JavaFX team and educator Paul Deitel. All of the Community Corner events will be available in podcast form, which will ultimately be available online.

Between 10:00 AM and 2:00 PM, the following community members will be visiting to record a podcast in our semi-soundproof booth. Before and after the podcasts, you may be able to catch them for some questions if you're in the java.net booth area at that time. Here's who's visiting, and when:

  • 10:00 AM, Maxim Zakharenkov (Desktop, SwingExplorer project): Debugging a Swing application is not always easy, because Swing is a visual toolkit and, in many cases, you cannot just write an automated test that checks whether your user interface looks good, all components are of the right sizes, all necessary information is visible, and painting is done correctly. Fortunately there is a Swing Explorer tool which can make your life a lot easier.
  • 11:00 AM, Matt Stine (JUGs): JUG Leadership: Lessons Learned
  • 11:30 AM, Clark Richey (java.net): Learn how you can now search (and analyze!) in a unified way the roughly one million emails gathered across the thousands of java.net lists over the years. Learn how to take full advantage of this tremendous capability either from the search embedded in Java.net or from MarkMail.org. Additionally, you will learn how to create a Google Gadget that allows you access to this search capability from any web page that supports Google Gadgets.
  • 12:30, Toni Epple, Fabiane Nardon, Sven Reimers (JavaTools, SQE Project)
  • 1:30 PM, Dragutin Petkovic (Education, Distributed Collaboration project): In this podcast we present a synopsis of a Global Software (SW) Engineering class based on several years of experience of teaching jointly at San Francisco State University (SFSU), the University of Applied Sciences, Fulda University, Germany, and recently with Florida Atlantic University (FAU). This class uses numerous Free and Open Source Software tools and teaches FOSS development techniques.

Between 2:00 and 4:30 PM, the following teams/people will be presentating in the open area of the java.net booth:

  • 2:00 PM, JavaFX team Q&A
  • 3:00 PM, Paul Dietel (Education): The ATM Object-Oriented Design and Implementation Case Study in Java How to Program, 8/e; A key concept in object-oriented programming is the interactions among objects. Most programming textbooks show code examples that create and use one or two objects to demonstrate specific features of the language. In addition to small examples like these, our textbook Java How to Program, 8/e (published March 2009) presents an object-oriented design/UML 2 automated teller machine (ATM) case study and its complete code implementation. This ATM case study is a nice business example that students can relate to. Students study the interactions of many objects that provide the functionality of a substantial system. The case study helps students tie together the object-oriented concepts they learn. In this presentation, Paul Deitel will overview the two-chapter case study and discuss his experiences teaching it. Each attendee will receive a copy of the case study.
  • 4:00 PM, Bruce Boyes, Ian Utting (Education): Greenfoot and Robotics for Educators

Come to the java.net booth (in the left corner of the Pavilion as you walk into the main entrance) if you'd like to meet the podcast guests or attend one of the live sessions. Refer to the java.net Community Corner 2009 Schedule for the latest updates to Tuesday's schedule, and also to look ahead to Wednesday's and Thursday's Community Corner events.


Recent spotlighted JavaOne news:

JavaOne begins!: James Gosling has arrived at Moscone in San Francisco, CA for JavaOne week: "JavaOne is finally beginning! Getting ready for this one has been an incredible amount of work for everyone involved. The lineup of sessions is superb. I had a *really* hard time picking the Duke's choice winners (they all deserved to win). The engineering teams have been doing grand acts of heroism to get a pile of software releases ready. The demos have come together beautifully. Some are a little too close to the bleeding edge..."


The latest JavaOne-related java.net Weblogs include:

Sergey Malenkov, UI Controls in JavaFX 1.2: So the next version of JavaFX has been released. I developed an example that shows all the node-based UI controls that had been added to the API to replace the controls based on the Swing library. Note, that new UI controls are available on all platforms including mobile.

Cay Horstmann, Java One 2009 Day 1: Here is my report from Java One 2009 Day 1. Overall, for me, the highlight of the day was seeing Larry Ellison on the stage, appearing generally supportive of the entire breadth of the Java ecosystem.

Marina Sum, On Java University at JavaOne: Joe Boulenouar talks about his impressions and feedback from students.

Felipe Gaucho, 5 minutes with Jetty during JavaOne 2009: If you had read my blog before you know I am

David Herron, JavaOne 2009 opening Keynote: The JavaOne opening keynote is still a fancy rock & roll show with fancy stage and the like. It's always exciting to see what they have to say, and they do a good job of spinning a story that Java...

Felipe Gaucho, Brazilian Digital TV at JavaONE 2009: Visiting the Fishermans Wharf at San Francisco Bay I met the

David Herron, OpenJDK Porter Group BOF: Just a reminder to those of you a) attending JavaOne, b) interested in porting OpenJDK to other platforms, we have a BOF on thursday night. Please attend. The agenda is to simply bring the right people into the room and...

David Herron, Rich User Interfaces for Java ME, Project Capuchin (Sony/Erricsson), JavaFX: This session is conducted by a pair from SonyEricsson, and they're discussing Java based rich user interfaces for "mobile" devices. As always the word "mobile" is overly constrained to mean "cell phone" which is to me a misnomer because "mobile"...

David Herron, Blogging from JavaOne: I am attending JavaOne and will be posting a series of blog's about each session I attend.

Fabrizio Giudici, And this year the bug...: Nandini Ramani, director of JavaFX Engineering, just showed a demo, with Jonathan on the stage. It's the new designer tool for JavaFX. This year the bug was only with the projector (people couldn't see the first few seconds of the...

Osvaldo Pinali Doederlein, First look at JavaFX 1.2:

I just grabbed the distribution of JavaFX 1.2. Lots of new stuff to cover, but I will start by updating the JavaFX Balls benchmark (my version of Bubblemark). Very good results...



 

Bill Snyder, Java Warehouse: Info on the Java Store (aka Java Warehouse) has been released.

Van Riper, JUG-USA Happenings at JavaOne 2009: This is the first JavaOne for JUG-USA and we are holding our first national JUG-USA Summit on Tuesday night in conjunction with the Java Community Process (JCP) Party. JUG-USA also won the JUG Registration contest for this JavaOne. As a result, JUG-USA members attending the conference will have a special meeting with James Gosling on Wednesday. See the full blog post for further information and links to these JUG-USA event details.

Harold Carr, My two talks on Metro at JavaOne: I'll be giving presentations on Metro at JavaOne. Here are the dates, times, locations and titles.

Cay Horstmann, Java One 2009 Day 0: Today is day 0 of Java One, AKA "Community One," with a focus on open source and community projects. With the economy being what it is, and Java One stretching the definition of "early bird" specials past the breaking point (the discount was good until today) I was fearing for the worst, but there definitely were crowds today. Here are some of my impressions from today.


Coverage of the Forums will return next week, after JavaOne.

There is no java.net Poll during JavaOne week. There will be a new poll next week.


Our Feature Articles include Gary Benson's just published Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port; and Protect Your Legacy Code Investment with JNA, by Stephen B. Morris, which introduces Java Native Access (JNA) and demonstrates how it can be used to facilitate interaction between Java programs an native libraries, for example Windows DLLs.


The latest Java Mobility Podcast is Java Mobility Podcast 79: JavaOne 2009 Preview, in which JRoger Brinkley and Terrence Barr preview JavaOne 2009 for mobile, media and embedded developers. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



On Wednesday, Day 2 of JavaOne 2009, the java.net community has an even busier schedule of events than Tuesday's...  

Several members of the Alice team spoke at java.net's Community Corner Tuesday afternoon. Alice is an educational tool that teaches programming concepts. Its origins were in the early 1990s. Development was picked up by Carnegie Mellon University in the late 1990s. Today, Alice is used by universities and high schools to introduce students to the type of thinking and logical structures that are required for programming.

The programs you create using Alice are visual scripts, little cartoon movies. There are objects such as people, rabbits, penguins; and there are fundamental actions, equivalent to the methods that can be enacted by an object. For example, a bunny can hop.

The Alice program editor is a GUI that lets you select objects, apply methods (make the objects do things). There are loops, if/else conditionals, etc. Furthermore, you can create your own callable methods, by combining fundamental actions. For example, you could create a hop-scratch-sniff method, by creating a name for the action and writing a script the tells the bunny to hop, then scratch, then sniff. This method could be called within loops, etc.

Alice 3 is currently nearing beta. One of the new features in Alice 3 is implementation of the concept of classes. In Alice 2, if you create a custom method, it applies only to a specific object. For example, if you created a hop-scratch-sniff action for Jeff the bunny, only Jeff would "know" how to perform that action. In Alice 3, you'll create custom actions for bunnies, not just for a specific bunny. So, in Alice 3, all bunnies (not just Jeff) will be able to perform your custom hop-scratch-sniff action. I believe incorporating teaching the concept of inheritance is also being worked on by the Alice team.

Another nice feature: you can import an Alice "program" into NetBeans, and then convert the program into actual Java code. The Java can be edited, then run as an Alice application, with standard Alice visualization, etc.

Alice is free software. Visit Alice.org to download the software and documentation.


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.



Tuesday afternoon, Kirk Pepperdine presented at java.net's Community Corner, on the topic of performance tuning. Kirk talked about the difficulties you're likely to encounter when you attempt to tune an application.

In one example, Kirk compared two sets of code, one of which needlessly repeated the same a + b calculation within the loop, while the other applied better logic by computing a + b first and storing the result in a third variable. How did the performance of the two applications compare? Identical, both applications using 0 seconds. Why? Because the compiler determined that the code in both examples was dead: there was nothing output by the functions in both cases, so the compiler stripped both the inefficient and the more efficient lines of code from the final executable.

The lessons: 1) compiled code that is recognized as doing nothing by the compiler occupies no execution time; 2) sometimes something that seems like it will clearly improve performance makes no difference whatsoever.

In another example, Kirk worked on a component and succeeded at making it more efficient. Running the full system test showed improved performance at lower system loads, but at higher loads the application actually took more time to run than it had before.

Huh? Improving the efficiency of a component can result in the application running slower in some situations? Yes. The reason, in this case, is that the improved component was able to feed its output to the next component in the processing sequence at a higher rate than was the case before. In this particular application, that subsequent component was unable to process efficiently when it received the increased output from the improved component.

Kirk's point is that: performance tuning is application specific. There is no such thing as: "Do this and your application will run faster." This doesn't mean that performance tuning is impossible. It does mean that each application, and each system of applications, is unique. Performance tuning is an art as much as it is a science.


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.



Java.net's Community Corner 2009 has a very full schedule for JavaOne Day One (Tuesday). The activities will take place in the java.net booth, which occupies a large area in the left corner of the Pavilion as you walk into the main entrance. Walk in and turn left, and you'll probably see the java.net sign above the booth. If you don't see the sign, just walk until you see us.

Tuesday's Community Corner activities will feature a series of visits by members of the java.net community, as well as visits by the broader Java community, including Kirk Pepperdine, the Alice Project, and an unnamed Sun VP. All of the Community Corner events will include a podcast that will be available online as soon as we can make them available.

Between 11:30 AM and 3:00 PM, and at 7:00 PM, the following people will be visiting to record a podcast in our semi-soundproof booth. Before and after the podcasts, you may be able to catch them for some questions if you're in the java.net booth area at that time. Here's who's visiting, and when:

  • 11:30 Mario Fusco (Lambdaj Project): Lambdaj is a library that makes easier to manipulate collections in a pseudo-functional and statically typed way. In our experience to iterate over collection, especially in nested loops, is often error prone and makes the code less readable. The purpose of this library is to alleviate these problems employing some functional programming techniques but without losing the static typing of java. We impose this last constraint to make refactoring easier and safer and allow the compiler to do its job. In a word, lambdaj partially eliminates the burden to write (often nested and poorly readable) loops while iterating over collections by allowing to filter, convert, group, aggregate and sort their items without to write a single explicit loop.
  • 12:00 PM Jan Haderka and Alex Potochkin (SwingLabs): Discussion of Swinglabs project and subprojects, current and future development of SwingX, common use cases for components provided by SwingX and explanation of new demos. Available for drop-in demos until 1:30 PM.
  • 12:30 PM Max Lanfranconi (jcp.org)
  • 1:00 PM Pavel Suk, Martin Man, Jakub Podlesak (OSUG, JUG): Prague is not only one of the most mystical cities in the world, it also hosts Sun Engineering Center. Do engineers there work on transmutation of metals into gold, elixir of life or something else? Why are the communities in Czech Republic active? Is beer cheaper than water? Myths and truths about communities revealed during this session.
  • 1:30 PM Felipe Gaucho (JavaEE)
  • 7:00 PM Brian Jenkins, Bruce Boyes (Robotics Community): Robotics and education.

Between 3:00 and 7:00 PM, there will be presentations in the open area of the java.net booth, featuring the following teams and people:

  • 3:00 PM Kirk Pepperdine: performance tuning
  • 4:00 PM Sun VP: Q & A
  • 5:00 PM Alice Team Roundtable (Education): Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Created at Carnegie Mellon University, Alice is a freely available teaching tool designed to be a student's first exposure to object-oriented programming. Alice 3, currently under development, enables a transition from Alice to Java, allowing students to "open the hood" and work with the Java code for 3D animation programs.
  • 6:00 PM Fabiane Nardon and Bruno Souza (Java Tools)
  • 6:30 PM Fabiane Nardon, Toni Epple, and Bruno Souza (Java Tools)

In addition to all this activity at the java.net booth, at 7:30 PM java.net community leader Frank Kieviet will be presenting BOF-6730 "What Is and Will Be New in OpenESB?"

Refer to the java.net Community Corner 2009 Schedule for the latest updates to Tuesday's schedule, and also to look ahead to Wednesday's and Thursday's Community Corner events.

For a list of JavaOne sessions and BOFs that will feature java.net community members, visit my Java.net Community JavaOne Week Presentations Schedule. If you're presenting at JavaOne, and you're a java.net community member, and you don't see your session or BOF on my schedule, let me know, and I'll add your event.


Recent spotlighted JavaOne news:

JavaOne begins!: James Gosling has arrived at Moscone in San Francisco, CA for JavaOne week: "JavaOne is finally beginning! Getting ready for this one has been an incredible amount of work for everyone involved. The lineup of sessions is superb. I had a *really* hard time picking the Duke's choice winners (they all deserved to win). The engineering teams have been doing grand acts of heroism to get a pile of software releases ready. The demos have come together beautifully. Some are a little too close to the bleeding edge..."


The latest JavaOne-related java.net Weblogs include:

Rama Pulavarthi, Speaking at JavaOne 2009 on JAX-WS 2.2: Jitu and I are going to speak at JavaOne 2009 on JAX-WS 2.2. The BOF is on Wednesday, June 03 7:45 PM - 8:35 PM. We will be talking about the new features in JAX-WS 2.2. Hope to see you there.

Arun Gupta, Community One West 2009 - In Pictures: Here are some pictures from the Community One West 2009 earlier today ... See ya tomorrow at JavaOne!

Felipe Gaucho, 5 minutes with ICEfaces during JavaOne 2009: I visited the ICEfaces booth during JavaOne 2009, and figured out they have a very nice JSF/AJAX framework over there.

Sean Sheedy, Opportunities to chat JCP at JavaOne: It's great to be at another JavaOne, and especially this time as an ME EC member. Here are some opportunities to hold court on EC issues.

Harold Carr, Speaking on Metro at Community One: I'm speaking on the Metro web services stack at Community One at 1:40pm today. Watch live online: http://developers.sun.com/events/communityone/2009/west/index.jsp

Fabrizio Giudici, Interview with lambdaj creator - meet Mario Fusco at the Java.Net Community Corner: Functional programming has been a hot topic in recent times, at the point that a number of new languages such as Scala, Haskell or Erlang have been brought to the attention of people (at least, those attending conferences or reading blogs).

Sonya Barry, Community Corner 2009 - up and running: JavaOne officially starts tomorrow, but for some of us it started on Saturday. Here's a quick note about what we've been up to for the last couple of days, and what we're planning for this week.

Arun Gupta, JVB #17: Davis Nguyen on GlassFish at JavaOne 2009: Learn what Davis Nguyen will be doing at JavaOne 2009.

Arun Gupta, JVB #16: Sivakumar Thyagarajan on GlassFish at JavaOne 2009: Learn what Sivakumar

Arun Gupta, JVB #15: Srinivas Bhimisetty on GlassFish at JavaOne 2009: Learn what Srinivas Bhimisetty will be doing at JavaOne 2009.

Arun Gupta, JVB #14: Sreeram Duvur on GlassFish at JavaOne 2009: Learn what Sreeram Duvur will be doing at JavaOne 2009.

Arun Gupta, JVB #13: Jagadesh Munta on GlassFish at JavaOne 2009: Learn what Jagadesh Munta will be doing at JavaOne 2009.

Arun Gupta, JVB #12: Judy Tang on GlassFish at JavaOne 2009: Learn what Judy Tang will be doing at JavaOne 2009.

Arun Gupta, JVB #10: Sreenivas Munnangi on GlassFish at JavaOne 2009: Learn what Sreenivas Munnagi will be doing at JavaOne 2009.

Arun Gupta, JVB #09: Rajiv Mordani on GlassFish at JavaOne 2009: Learn what Rajiv Mordani will be doing at JavaOne 2009.


Coverage of the Forums will return next week, after JavaOne.

There is no java.net Poll during JavaOne week. There will be a new poll next week.


Our Feature Articles include Gary Benson's just published Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port; and Protect Your Legacy Code Investment with JNA, by Stephen B. Morris, which introduces Java Native Access (JNA) and demonstrates how it can be used to facilitate interaction between Java programs an native libraries, for example Windows DLLs.


The latest Java Mobility Podcast is Java Mobility Podcast 79: JavaOne 2009 Preview, in which JRoger Brinkley and Terrence Barr preview JavaOne 2009 for mobile, media and embedded developers. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



Java.net's Community Corner 2009 has a very full schedule for JavaOne Day One (Tuesday)...  

Java.net's Community Corner 2009 gets started Monday afternoon at the java.net booth in the JavaOne Pavillion. Sun's Reggie Hutcherson will be welcoming the java.net community leaders at 3:00; and Aaron Houston and Java User Group (JUG) leaders will follow at 4:00.

Reggie attended Saturday's Java.net Community Leaders Weekend event, speaking about a variety of topics related to Sun developer communities (java.net and SDN), Java, Sun, and more. His background is interesting: he worked on Sybase (which is the basis of Microsoft's SQL Server) before coming to Sun. Besides having experience as a developer on the back-end server side, he also clearly perceives the continuum that stretches from the high-availability highly secure server side all the way out to the tiniest potential clients (for example, mobile devices). Furthermore, his current role at Sun makes him responsible for providing the developer communities that grow around specific areas or nodes of that hardware and software continuum with what they need to better accomplish their objectives. It was very interesting listening to Reggie's brief opening statement and listening to and participating in the Q&A that followed. I also had an opportunity to chat with him briefly during the break that followed.

Aaron Houston is the Java User Groups Program Coordinator. He did not attend the java.net community leaders weekend event on Saturday, but the JUGs were well-represented there.

Come to the java.net booth at 3:00 if you'd like to see and/or speak with Reggie and java.net community leaders; and at 4:00 you'll find Aaron and many JUG leaders at the booth.


Recent spotlighted JavaOne news:

GlassFish 2009 Unconference: Sunday, May 31, 1:00 - 7:00 PM:The GlassFish 2009 Unconference is happening Sunday afternoon: "with topics related to the application server, (GlassFish/Open)ESB, Hudson, Portal (WebSpace), WebStack, and more..." Location: Moscone Center (Unconference space, Hall A). You need a Community One or JavaOne badge to enter, but you can get a Community One badge on the spot at the Unconference. As of just before the unconference, 83 people said they are attending. Topics suggested thus far include: Hudson plugin development - architecture, deployment, examples; Glassfish Open ESB Clustering; Hudson with Maven, NetBeans and Eclipse; GlassfishV3 with JavaFX.

OpenSSO And JavaOne!: Sid just published a schedule of OpenSSO events during JavaOne week: "Join us Sunday May 31st, for OpenSSO Community Day at the Moscone Center in San Francisco. It's our 'unconference' before the main conference and discussions will include OpenDS and Identity Connectors. Just show up prepared to talk about any topic related to Sun's open source identity projects. As always attendance is free. Join our Meetup to participate in this discussion..."



 

The latest JavaOne-related java.net Weblogs include:

Terrence Barr, JavaOne 2009: A Mobile, Media, and eMbedded Guide to the Show: JavaOne 2009 - here it comes! Last week I posted some high-level bits and pieces about this year's CommunityOne West and JavaOne. Now it's time to delve into details - with a mobile/media/embedded focus, of course! This post is a work in...

 

Joshua Marinacci, JavaOne: And so it begins: I've just arrived in SF for my fourth JavaOne conference. Despite the usual chaos this year's prep has gone very well. We have a ton of new things to show you. Most importantly we have the new release of JavaFX....

Van Riper, Tips and Tricks for Starting and Maintaining a Successful User Group: At CommunityOne West, Kevin Nilson and I are leading a session on Tips and Tricks for Starting and Maintaining a Successful User Group. Of particular interest to the JUG Leadership Community, we will be discussing the synergy we are seeing between our Silicon Valley Web JUG and the much younger Silicon Valley Google Technology User Group.

Jean-Francois Arcand, High Five from JavaOne: High Five from JavaOne, of 5 chances to listen to an ugly Quebecois accent.

Roberto Chinnici, JavaOne 2009: Once again, we are at the crazy weekend before JavaOne. This year Arun interviewed me and, more importantly, provided a link to my sessions at JavaOne. So I won't provide any detailed directions here, and instead summarize my speaking engagements...

Arun Gupta, JVB #08: Vivek Pandey on GlassFish at JavaOne 2009: Learn what Vivek Pandey will be doing at JavaOne 2009.

Arun Gupta, JVB #07: Jacob Kessler on GlassFish at JavaOne 2009: Learn what Jacob Kessler will be doing at JavaOne 2009.

Arun Gupta, JVB #06: Jiandong Guo on GlassFish at JavaOne 2009: Learn what Jiandong Guo will be doing at JavaOne 2009.

Arun Gupta, JVB #05: Bhakti Mehta on GlassFish at JavaOne 2009: Learn what Bhakti Mehta will be doing at JavaOne 2009.

Terrence Barr, Java Device Test Framework released: Today marks the release of the Java Device Test Framework (JDTF) project into the Java Mobile & Embedded Community. JDTF is a test framework based on Sun Microsystems Java Device Test Suite (JDTS) product. JDTF is a general purpose, fully-featured,...

John O'Conner, JavaOne 2009: Top 10 Sessions: Choices, choices...so many choices and so little time. Here's my list of Top 10 Sessions that you must attend at JavaOne.

Kohsuke Kawaguchi, JavaOne activities around Hudson: JavaOne/CommunityOne 2009 is just a few days away, and here's the list of activities around Hudson in JavaOne/CommunityOne.


Coverage of the Forums will return next week, after JavaOne.

There is no java.net Poll during JavaOne week. There will be a new poll next week.


Our Feature Articles include Gary Benson's just published Zero and Shark: a Zero-Assembly Port of OpenJDK, which tells the interesting story of how the Java group at Red Hat developed a cross-platform OpenJDK port; and Protect Your Legacy Code Investment with JNA, by Stephen B. Morris, which introduces Java Native Access (JNA) and demonstrates how it can be used to facilitate interaction between Java programs an native libraries, for example Windows DLLs.


The latest Java Mobility Podcast is Java Mobility Podcast 79: JavaOne 2009 Preview, in which JRoger Brinkley and Terrence Barr preview JavaOne 2009 for mobile, media and embedded developers. OpenJDK Podcast is The latest JavaOne Community Corner Podcast is


--> 

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.



Java.net's Communtity Corner 2009 gets started Monday afternoon at the java.net booth in the JavaOne Pavillion...  

Filter Blog

By date: