Skip navigation
ANNOUNCEMENT: community.oracle.com is currently Read only due to planned upgrade until 28-Sep-2020 9:30 AM Pacific Time. Any changes made during Read only mode will be lost and will need to be re-entered when the application is back read/write.
kfarnham

Small Change Blog

Posted by kfarnham Feb 28, 2006

Step by step with the SwingLabs Wizard

Oh sure, any Java desktop developer has probably written their own Wizard. The existence of the CardLayout makes it both simple and inevitable. But then again, if so many people are rolling their own, why not just have a single first-class implementation that everyone can use?

Fortunately, SwingLabs is here with a candidate for just that implementation. In our Feature Article,Using the Wizard API, Thomas Künneth writes:

The Wizard project is a subproject of SwingLabs, which allows experimentation with extensions to existing Swing components as well as completely new ones. These new or enhanced components might be included in future versions of the JDK. Wizard is a class library that aims to provide a simple API for writing wizards. Its goal is to offer an easy-to-use solution that enables any Swing application to provide wizards with minimal code and effort.

Thomas goes on to show off not just a simple wizard, but how to block for needed input, branch based on the user's actions, and how to store the entries in each panel of the wizard for use after he or she clicks "Finish".


Special system upgrade notice: "java.net projects area will be unavailable while undergoing upgrade Tuesday 2/28 10:00 - 16:00 pacific. Please plan your usage accordingly." We apologize for any inconvenience.


In today's Weblogs, Hans Muller introduces A Reusable BuddyList Component, in which he shows "how to build a generic buddy list cell renderer. File under Advanced JList Hacking."

In Servlets Updated, Greg Murray writes: "The Servlet 2.5 Maintenance Review is currently in the review process. Servlets do not have the buzz like they did 6 years ago but the fact that servlets have been around for many years and have evolved to suite the needs of the web is a triumph to the simplicity and good design of the original Servlet API."

Ed Burns says Java EE SDK Runs ADF Faces, a blog which is an "announcement of ADF Faces running in Sun's Java EE SDK, including a tutorial on how to run it yourself."


In Projects and Communities, Robert Stephenson's latest blog spotlights the Computer Algebra System, or CAS project. "The applet is right on the CAS project page, so it's hard to miss. It is an algebraic function plotter that is well documented (scroll down the page) and seems both robust and well designed."

The latest version of the Substance look and feel offers a slew of new features, including full interoperability with core L&Fs, fade in/out animation, I18N and L10N, auto-completion for editable combo boxes, password field strength checking, gradient menu backgrounds, and much more. It also fixes several memory leaks.


In Also in Java Today, the SDN article Web Tier to Go With Java EE 5: Summary of New Features in Java Standard Tag Library (JSTL) 1.2, the second in a series on the new EE web tier, delves into the Java Standard Tag Library (JSTL) 1.2. "Although the changes in this maintenance release of JSTL are relatively small, they are essential to the alignment of the JSP and JavaServer Faces technologies." The article covers the fixed forEach and illustrates ideas behind the Unified Expression Language for JSP and JSF.

Trying to combine JSF and JSP is like trying to shoehorn a foot into a glove: it's possible, but it's really just a stopgap measure until something better comes along. In Facelets fits JSF like a glove, JSF enthusiast Rick Hightower introduces you to what he likes best about Facelets: easy HTML-style templating and reusable composition components.


JDIC apparently doesn't integrate all desktops according to today's Forums.michael_shan's post Re: JDIC on MacOSX? says "Since we haven't a Mac environment, we can't provide a build for that. For users who want to run JDIC under Mac, they have to make a build themselves. We'll be very appreciative if anyone could provide us a build under Mac and that will also help other users."

robjava is looking for End to End Caching Solutions: "Hello. Would anyone have any thoughts on creating new, or using existing products, like Open Source, or proprietary Java Caching Solutions. Any feedback, especially those based on real experience(s), would be highly appreciated Thanks in advance."


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Step by step with the SwingLabs Wizard  
kfarnham

A Snowy Day in Cleveland Blog

Posted by kfarnham Feb 27, 2006

It's snowing in Cleveland today. A cloudy, gray snow that hoses your visibility and slows down traffic.

I drove through this snow today, to the funeral of Elena Steinberg. Elena was the six-year-old daughter of Daniel Steinberg, our editor-in-chief and the first editor of java.net. She died suddenly last Wednesday.

I don't want to focus on their family's heartbreak. Instead, I want the java.net community to understand how much Daniel and his family mean to us.

To me, Elena was the voice in the background that would pop in when Daniel and I were voice-chatting about the site. We'd be planning, scheming, or kvetching about something, and I'd hear this "daaaaaa-dee?" in the background. On the surface, it meant that someone wanted lunch, or permission to do something... but it also meant that Daniel's family was a constant, important part of his work. If you recall the daily blogs of his tenure, you'll remember he was constantly talking about what his girls were doing, and the kinds of thoughts it brought to mind.

I wasn't going to blog about this... I'm just not sure it's appropriate... but seeing hundreds of people in the church made me appreciate how much the Steinberg family is involved with their many communities: school, church, family, and work. Author James Duncan Davidson was there. So was Apple Java engineer Scott Kovatch. And the former head of O'Reilly's Online Publishing Group, Bruce Stewart. (update: I've since learned that O'Reilly's Nancy Abila, Mike Loukides, and Sarah Kim were also in attendance, as was java.net author Jonathan Simon) And that community involvement made me think.

Daniel was one of the key movers in the launch of java.net a few years ago, and has been instrumental in making this community succeed. Maybe arguing hypotheticals is bunk, but I honestly don't believe that this site would even be here had he not been O'Reilly's top person on the project. He is a voice for not just this community, but for the idea and the ideals of an open-source community: what it can do, what it should do. Think it's easy? Look at all the failed "build it and they will come" community sites that were launched over the last few years. There's more to it than throwing up a source-control server and a web page.

It is to Sun's credit that they will bring on as partners people who say things that Sun doesn't want to hear, but needs to hear. Daniel has had to say a lot of those things. It's not easy. You get insulted, you get attacked, and when you don't win, you get blamed by people who you probably agree with. Personally, I haven't been fighting nearly enough of these battles to support him. He's had to take a lot of the heat himself, and I feel terrible about that. Everyone at Sun and Collab, you're now on notice: I am the new "bad cop". Daniel can retire.

While continuing as our editor-in-chief, Daniel has been working on some new projects. If you're a podcast listener, you know him as the producer, writer, and voice of O'Reilly Network's Distributing the Futurepodcast. You probably didn't, however, know that he used to be a radio DJ. Listen to the voice and you can hear it. He's also writing one of the few books the world really needs, Head First Calculus. Learning Calculus is one of the two things I've insisted that my children will have to do when they're teenagers (the other is learning to drive stick-shift). When work resumes on that, you can follow the progress on his Extreme Teachingblog.

Daniel has done so much for our java.net community, and for me personally. He helped cover my work on the sites when we were in the hospital for three weeks with my son's third heart surgery. I'm taking some of his work until he can return, and I don't care how long it takes. Stuff will get done.

It's still snowing in Cleveland. In California, millions of bits are passing through the java.net servers. It's supposed to snow again tomorrow, and the site will continue on too. Projects will get started, code will be checked in and out, and I'll pull together a new front page. Most of this will go on as it always has.

But some things can never be the same again.

kfarnham

Remember Blog

Posted by kfarnham Feb 26, 2006

Back to the browser

Do you remember the Applet Era? Back in 1.0, before Servlets, or even the Java Web Server, before Swing, back at the beginning of Java, most code was written either as command-line utilities or as applets. For the GUI crowd doing applets, it helped that getting a free ride from the then-popular Netscape browser was providing our potential user-base with a runtime. If only it had gone better -- the move from 1.0 to 1.1 (and its radically overhauled AWT event scheme) was a train-wreck on Netscape, sent out in bits and parts in minor verions of the Netscape browser. Perhaps the worst problem was that the Mac version shipped with a brain-damaged Frankenstein version -- 1.0 for the AWT and 1.1 for everything else, so your code couldn't even look at the version system property to figure out what to do.

The Java plug-in helped solve these problems by standardizing browser access to Sun's JRE. While applets have dropped off the radar for many, they still work and are still supported. In this week's Spotlight, Sun's Ask the Experts page is featuring members of the Java Deployment Team answering questions about Java Plug-In Technology. If you're working on getting your code to run in a browser, Sun staffers Dennis Gu, Danielle Pham, and Mike Lei will be taking your questions all week.


Krishnan Viswanath presents A simple utility in today's Weblogs. "Often, a password is embedded in source as clear text. No corporate risk management folk would approve of exposing passwords, which would potentially expose access to sensitive data. Here is a partial solution that addresses technology by extending the IDE and by using Java 5 Annotations."

Jacob Hookom describes a New Feature for JSF 1.2: "In order to solve some misconceptions with JSF's API and to setup a platform for partial processing (AJAX), we've add a new method to JSF 1.2. For this blog, I'm going to summarize it a bit and provide some ideas for extension."

In Service Oriented Mashups, John Reynolds writes: "What can Service Oriented Architects learn from Mashups? Aren't mashups just about fluffy browser stuff? NetBeans 5.5 may just change that."


In Also in Java Today, by-the-book JMS development means boilerplate code to resolve a JNDI context and manage a JMS session; it takes a lot of work, or a lot of copy-and-pasting, before you're ready to start exchanging messages. The Spring Framework helps do away with this by providing a "template" abstraction that isolates Spring developers from the boilerplate, version differences, and other drudgery. In Asynchronous Messaging Made Easy With Spring JMS, Srini Penchikala provides an overview and examples of how it works.

"Data Access Objects (DAO) is a popular design pattern for building the persistence layer of a J2EE application. Developers use this design pattern primarily to separate their JDBC code from business logic. The EJB3 Java Persistence API, which defines the persistence API for the Java platform based on O-R solutions such as Oracle TopLink and JBoss Hibernate, lets developers skip the mundane task of building DAO and JDBC code." But what if you've already rolled your own DAO? In Migrating JDBC Data Access Objects to Use EJB3, Debu Panda reports that performing this migration on the J2EE Adventure Builder Consumer web site reduced the code size by 16% and the class count by 36%.


In Projects and Communities, the Seneca project is a effort to use open source methodologies for research and analysis. The project is being used to create a paper called "SOA at the Edge". The goal is not to create a "perfect" paper, but to investigate open-source dynamics. The first version of this paper has been uploaded and is available from the project's CVS repository.

Sun has re-released the jini.org projects Surrogate and IP Surrogate under the Apache License, v. 2.0. The various surrogate projects provide a means for devices to participate in a Jini federation even if they are unable to perform certain Jini requirements, such as downloading and executing Java classes on the fly.


In today's Forums,dav0 contributes an analysis and some criticism on Re: why Java3d is not widespread: "Keep in mind that when large companies drop down millions of dollars in the adoption of a new platform, they can't afford to jump ship a year later when Sun decides to start selling Java Server Faces or some new framework. First of all, the chosen framework is seldom used as is, but customized layers are built on top of it to both work around problems, as well as improve upon it. These sorts of application development projects take years to complete and funding for these sorts of rewrite projects is not perpetual."

In Re: Display alert dialog box for all uncaught exceptions,leouser writes: "If you don't have the liberty to develop the mechanism, then study the source of JOptionPane and see how it does its dialogs. Or maybe use a JOptionPane for the notification mechanism instead. Be warned though, if your message is big you will probably need to pass in your own widget to control the sizing of the message. Ive put a patch out for that problem in the Collab project, but I believe things are on hold to see if developing multi-line labels will help solve the problem."


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Back to the browser  
kfarnham

Like It Or Not Blog

Posted by kfarnham Feb 24, 2006

The verdict's in on SE 6, how about EE 5?

I worried a bit about posting today's poll because the wording is so similar to last week's that some might not even realize the poll had changed, as it does every Friday. Last week we askedWhich Java SE 6 (Mustang) features appeal to you most?, and according to the results the winner of that poll was "Desktop Enhancements", by a huge margin. Not for nothing is the Swing team saying that Mustang is their biggest release since Java 1.2.

But that was last week, and came off of the announcement that Mustang had gone beta. This week, Java EE 5 has gone beta, so how can we not ask the same question of this major platform. So, the new java.net Poll asks "Which Java EE 5 feature appeals to you most?" Cast your vote on the front page, then visit the results page for results and discussion.


Joshua Marinacci offers My Mustang Beta Thoughts in today's Weblogs: "As a relatively new member of the Swing team I don't have much to add, but I will say that we've put a lot of improvements into the the Windows Look and Feel, including using the official XP themeing API (we used the XP themes before but not through the then undocumented API)."

In JDBC 4.0 Wrapper Interface, Lance Andersen writes: "JDBC 4.0 has introduced several new features which will be highlighted in blogs over the next few weeks. Today's focus is on the Wrapper Interface."

Kohsuke Kawaguchi announces a Hudson extreme makeover! "I just posted a new release of Hudson (a continuous build engine) with improved GUI."


In Projects and Communities, the Delta DOM project, a recent graduate from the Enterprise Community incubator, introduces a simple JavaScript API for component developers to use instead of traditional HTML form.submit() that will automatically manage the incremental update of the client-side DOM.

The NetBeans Board Elections are underway. Anyone with a NetBeans.org login can vote for up to three of the nine candidates, all of whom have online profiles. Balloting continues through March 8, with the new Governance Board announced on March 9.


In today's Forums,paulby has some fixes Re: LG3d and Java application as Graduation Project: "I've just integrated a few fixes to the toolkit code which should give you some idea of the level of Swing support you can expect from SwingNode in the short term. The toolkit is by no means complete but it may suffice for initial work. In particular buttons, check boxes etc work OK. TextField and TextArea work for text display and entry however the cursor is not rendered (but only on JDK 1.5, 1.6 is currently not working)."

dibyendumajumdar points out an interesting GlassFish problem in Re: Question about dependency injection: "Glassfish allows an interface to be annotated both as @Remote and @Local. I assumed therefore that this is legal, and also that there is some intelligence to decide which one is appropriate. However, what happened was that when the application client tried to lookup the EJB, it got an exception. Almost as if the Local interface had hidden or taken precedence over the Remote interface."


In Also in Java Today, this month's theme on the Sun Developer Network (SDN) Channel is "open communities", featuring a 15 minute video in which you can hear both Sun leaders and open-source innovators discuss "why Sun is opening source code across its product portfolio, and how you can reap the benefits for smart innovation." The page also links to Java-oriented blogs and podcasts, and major open-source projects like GlassFish.

A service-oriented architecture (SOA) approach should be built for flexibility, and that means it should be built to last. "SOA relies on successfully institutionalizing a culture of reuse. The building blocks of SOA are discrete, reusable services and architectural elements that can be combined to form composite applications and service infrastructure." In the dev2dev article Successfully Planning for SOA: Long-Term SOA Planning, David Groves looks at how to build not only the project, but also its organization and governance, to ensure success in the long run.


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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 verdict's in on SE 6, how about EE 5?  
kfarnham

Turn It On Again Blog

Posted by kfarnham Feb 23, 2006

Improving the appearance of Java animations

If you're old enough that you remember when the focus of Java was on end-user GUI apps instead of web apps, you might have learned some basic animation techniques like timer-driven repainting and double-buffering from early books like Teach Yourself Java in 21 Days or Graphic Java. Back in the applet days, there were lots of people working to improve the performance of their animations.

The thing is, it's not just about raw frames-per-second performance. Subjective factors come into play, and it's possible for a low-framerate animation to look far better than a high-framerate animation that flickers, tears, or has other obvious visual defects.

Chet Haase introduced some of these concepts in a recent blog,Make Your Animations Less Ch-Ch-Choppy. Today, he delivers the solutions in the Feature Article,Smooth Moves:

Are you interested in doing some animations in your Java applications, but find yourself plagued by results that seem stuttery and choppy? Want to figure out the problems and smooth out those animations to make them better and more seamless in your application? This article examines some of the factors that affect animation smoothness and things that you can do in your code to make your animations look better.


rbair offers a Swing Labs status update in today'sForums. In Mustang coming soon (and what happened to SwingLabs HQ?), he writes: "You've noticed, I'm sure, a recent decline in mail traffic from SwingLabs HQ. Lest the 'ole rumor mill get started, I wanted to leave a quick post and let you know where we are at. [...] Mustang freeze is coming up really soon. There's a lot of work to be done and I'll be spending a fair amount of time digging through Windows LAF issues with Josh and Karsten for the next few weeks. This release is a really big deal for us. Mustang may be a bigger deal for Swing than any since 1.2 or 1.4."

desilvam complains about deployment difficulties inRe: J2RE too big - who is in charge?!: "I am a shareware developer. I am planning on releasing a new version this year and am bundling it with JRE 1.4.2 instead of 1.3.1. 1.3 just does not cut it anymore (no network browsing in JChooser etc...) With jre 1.4, my installer size on windows has gone up from 10MB to 24 MB!! This is going to kill my business. I have already bought VS2005 and started translating my java programs to C#. Ofcourse, now I have to worry about the size of .NET runtime.."


David Herron pokes a few holes in a typical dynamic language rah-rah piece in today's Weblogs. In Bendy classes and dynamic programming, he writes: "Okaaaay... This is another of the articles in the meme that dynamic languages are great, and rigid languages are uncomfortable. I don't know if I got the analogy right this time, let me know please?"

Kirill Grouchnikov blogs about the Substance look-and-feel's Multi-colored buttons "You take the default Ocean pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the Java2D enhanced pill - you stay in Wonderland and I show you how deep the rabbit-hole goes."

In Getting to know GroupLayout, part 1, Tomas Pavek writes: GroupLayout is a new layout manager that was developed as a Swing Labs project in conjunction with Matisse, the new GUI builder in NetBeans 5.0. Though the layout manager was originally designed to suit the GUI builder needs, it is also quite handy for manual coding.


In Also in Java Today, the SDN article Introduction to the Java EE 5 Platform introduces the most significant changes in Java EE 5, including the elimination of much boilerplate code, the simplified EJB programming model, the Java Persistence API, JavaServer Faces technology, simple and broad web services support, and more.

Not sure what the big deal is about POJO's? In What is POJO Programming?, Christopher Richardson writes "Using POJOs future proofs your application's business logic by decoupling it from volatile, constantly evolving infrastructure frameworks. Upgrading to a new version or switching to a different framework becomes easier and less risky. POJOs also make testing easier, which simplifies and accelerates development. Your business logic will be clearer and simpler because it won't be tangled with the infrastructure code. And, as an added bonus, you can often deploy a POJO application using a simpler, Web container-only application server."


In Projects and Communities, the latest issue of the JavaTools Community Newsletter welcomes a number of projects to the community, celebrates two graduations (Webstarted installer and Dalma) and offers a tip on how to get started with JavaCard and mobiles by way of the SIMagine programming contest.

Next week's Ask the Experts page will feature members of the Java Deployment Team answering questions about Java Plug-In Technology. If you're working on getting your code to run in a browser, Sun staffers Dennis Gu, Danielle Pham, and Mike Lei will be taking your questions all week.


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Improving the appearance of Java animations  
kfarnham

Duke's Travels Blog

Posted by kfarnham Feb 22, 2006

Java EE 5 reaches beta

Please indulge us another theme day, because just a week after Java SE 6 went beta, Java EE 5 has joined the beta club. We're spotlighting this with a couple of blogs and other items today.

If you're interested -- and since most Java developers work in the enterprise, I suspect you are -- then check out the official Java EE 5 home page and download the SDK. You may also want to visit the GlassFish project, which is developing an open-source Java EE 5 application server.


In the Projects and Communities section, Graham Hamilton is Raving about Java EE 5: " I think Java EE 5 will be by far the biggest developer event of 2006. I love what we've accomplished in Tiger and Mustang, but Java EE 5 brings a much deeper and more important set of changes. [...] Java EE 5 looks like it is on track to be the really Big Winner."

The draft review is underway for JSR 259, Ad Hoc Networking API. "The purpose of this JSR is to define an API that enables communication between mobile devices in a bearer agnostic peer-to-peer ad-hoc network environment." This J2ME extension targets both CLDC and CDC. The review period for this spec ends on March 1.


Eduardo Pelegri-Llopart points out that Java EE 5 and GlassFish are Community Efforts in today's Weblogs: "This is a multi-release morning: the Beta for the SDK for Java EE 5 and the Technology Preview for NB 5.5 Enterprise Pack. A big step for the Java EE platform, GlassFish, the tools, and the communities that power them."

Presaging tomorrow's feature article with a little theory, Chet Haase blogs on how to Make Your Animations Less Ch-Ch-Choppy: "This is Part One of a two-part series. Part One examines some of the factors that contribute to choppy animations. Part Two (an upcoming article on java.net) examines some of the solutions to those problems."

Finally, David Herron shows off the Regression contest prizes: "Three weeks ago I launched the Mustang Regression Contest. The grand prizes are five Ultra 20 workstations, which are to be awarded for the "best" regressions submitted during the contest. The other day Ray Gans and I brought them from the a storeroom in the Menlo Park campus to one in the Santa Clara campus. So while moving them I thought to post a picture to show you guys what you're competing for."


In today's Forums,km105526 notes some deployment limitations in Re: How do I edit environment entries of web applications? "I don't think GlassFish Admin Console/Deployment has the capability of being able to edit the deployment descriptors of 'deployed' applications. The ways suggested in the thread is something that the users have thought on their own (it is an innovation). You have to redeploy the application after modifying the DD and repackaging it."

In Re: Performance of JEditorPane with unicode characters,leouser writes: "Wow, there is a huge difference in behavior between the java 5(update 4) and the Java 6 on my machine. By moving back to 5 Im able to experience this. Different runs produce different rough times. I've seen 30 - 60 seconds to see the text on the screen, resizing, etc... . This isn't what I was seeing on Java 6 earlier where I found myself wondering: what is he talking about?"


In Also in Java Today, the DevX article A Test-Driven Exploration of the Advanced Features of EJB 3.0 wraps up a three-part exploration of the current EJB 3.0 spec. "This third article will explore more advanced topics such as transaction management, callbacks, interceptors, and exceptions." It also adapts the series' example code, a music-store application, to use a test-driven approach, since "Enterprise Beans in EJB 3.0 are easier to test than EJBs written to prior versions of the specification. This is largely because in the 3.0 specification EJBs are simply POJOs annotated with specific EJB 3.0 annotations."

"Ant is the premier build tool for Java developers, and Eclipse is the premier integrated development environment (IDE) for Java programmers. Eclipse is great at visual development, and Ant is great for builds." So obviously, you don't want to have to drop out of the IDE and down to the command line to kick off each build. InIntegrating Ant with Eclipse, Part 1, the first installment of a two-part excerpt from "Ant: The Definitive Guide, 2nd Edition," Steve Holzner shows how to write and run your Ant build.xml files from inside Eclipse.


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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 EE 5 reaches beta  
kfarnham

Behind the Lines Blog

Posted by kfarnham Feb 21, 2006

Take all your Swing layout out of Java

Do we need to have the AWT/Swing layout gripe session again? Very well -- the layout managers you can read (GridLayout, BorderLayout,FlowLayout) generally aren't powerful enough even when nested, and the one that gets the job done,GridBagLayout, requires hundreds if not thousands of lines of code. Then let's also throw in some well-deserved plaudits for visual GUI builders, like NetBeans' Matisse; after coding a few GUI layouts by hand, it's extremely appealing to just drop menus, buttons, fields, and other widgets into place and have it just work.

One particularly popular idea is to migrate the GUI layout and event-wiring into XML code. In a sense, it's analogous to moving the HTML out of the servlet and into a JSP, leaving just a few well-understood points of contact between the GUI design the GUI functionality. Potentially, this allows GUI specialists to stay out of the Java code, and for the business logic programmer to not have to employ visual layout skills he or she doesn't necessarily have.

In our Featured Articles, Joshua Marinacci shows how to get started Building GUIs with SwiXml:

SwiXml is a small Java library created by Wolf Paulus in 2003 to produce Swing GUIs from a small XML language. SwiXml doesn't introduce any new layout managers or component classes. Instead, it directly operates on the Swing classes using reflection. This means that the XML syntax is easy to learn for anyone used to the Swing API. It also has the side benefit of keeping the library very small (under 60k, plus the JDOM .jar), which makes application deployment a pleasant experience.


In Projects and Communities, the Linux Java Community is taking note of A look at GCJ 4.1 by Mark Wielaard. "Version 4.0 of GCJ introduced a new deployment model that made is much easier for distributors to package traditional Java programs as native applications without requiring any source level changes. For version 4.1 of GCJ, this new binary compatibility (BC) ABI has also been used for parts of the core library."

While communication between portlets is due to be addressed by the next Portlet spec (JSR-286), enterprise portal vendors are rolling their own. In InterPortlet Communication API, Roy Russo describes the approach used by JBoss Portal 2.2, saying "we listened to our community and customers and have included an IPC API that is easy to understand and implement."


In today's Forums,howlerzz suggests enhancements to JavaOne Online Sessions: "I have been using the online presentations of past JavaOne conferences to catch up on sessions that I missed and to pass on information to other members of my team...I love the idea. The problem is that a majority of the sessions that I am interested in are in the Desktop track and they usually have in-depth demonstrations of what is being presented. The online sessions do not show these demos. I understand that doing video may be troublesome, but some screen captures presented as slides should be possible. "

skeating explains the state of spec compliance inRe: JBoss vs. GlassFish (Why Glassfish?) / ok but ...: "Development is currently focused on the implementation of the Java EE 5 specification and as such the regular builds, that are available today, reflect the state of the specification. In some cases the specifications have completed and are stable, while in others they are reaching final completion. Trailing the development effort are test case development completion. All current tests are run on an ongoing basis, with problems being addressed quickly and frequently."


Felipe Gaucho talks about Using OpenSource projects as classroom material in today's Weblogs. "Learning J2EE Patterns can be facilitated through an Open Source project. Cejug-Classifieds was designed to help students and teachers to understand the contents of the J2EE Core Patterns book."

Kirill Grouchnikov sarcastically says The world of ferret hunters is really thriving lately. Sort of: "'You have a shop that sells ferret-hunting equipment and a guy walks in. Chances are, he'll ask for the latest in ferret-hunting, right?' - does it remind you of anybody?"

In the update Roller 2.1 on GlassFish, Amy Roh says: "The Roller 2.1 switched its security system to the Acegi security framework and moved away from container managed authentication. This allows deploying the Roller on GlassFish without having to add a custom JDBC Realm."


In Also in Java Today, the Hibernate team has announced Seam 1.0 beta 2. The latest version of this framework based on EJB 3.0 and JSF adds two significant new features. "Workspace Management" is "like a Windows taskbar for web applications", allowing the user to view and switch between multiple Seam conversations in a single window. The other new feature is tighter integration with jBPM.

In the article Dependency injection in Apache Geronimo, Part 2: The next generation, Neal Ford promises you'll "get an overview of the Geronimo architecture, discover how DI impacts Geronimo, and learn how to use the DI features in Geronimo to change the way you write code. This article also covers how GBeans work and how Geronimo handles both constructor and setter injection."


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Take all your Swing layout out of Java  
kfarnham

Counting Out Time Blog

Posted by kfarnham Feb 20, 2006

Who says Java can't do continuation servers?

One of the major axes Bruce Tate grinds in Beyond Java is the emerging importance of the "continuation server", which is a style of server-side programming in which continuationsare used to save thread state for an indefinite time, even surviving a server restart if necessary. In an ONJava article, he sold the idea like this:

Continuation-based web frameworks generally make web development much easier by simulating a stateful application. The framework uses continuations to automatically save the state of an application when your application needs to get data from the user. The application can also reload a continuation if the user presses the Back button or goes back to an older page in the browser history.

Tate cites some examples of continuation servers in dynamic languages -- he likes Seaside, but it's implemented in the beloved-but-nichey Smalltalk.

Fortunately, Java implementations of continuations are coming on strong.

In this week's Spotlight, the Dalma Workflow Engineoffers a means of doing Java-based continuations. "While functional programming languages typically have a built-in support for continuation, procedural programming languages like Java usually doesn't. Because of this, the use of continuation has been largely limited to computer scientists... While continuation itself will likely to remain as one of the most difficult programming concepts to understand, there are many applications of it that are useful for general developer audience." One such use is illustrated in Kohsuke Kawaguchi's blog Dalma to automate java.net project approval process.

 

As for Bruce, he appears in the Also in Java Today section, in which he says Java/J2EE is facing dramatic change, and could be "dead like COBOL, not like Elvis" in an Integration Developer News Interview with Bruce Tate. Clarifying, he says that important ideas are emerging outside of the Java environment: "I'm not ready to say Java is on its way out as far as COBOL. There will always be demand for Java in [corporate IT]. But, I will say Java is entering a very critical time. They say there is a new language every 10 years, and if you count Java as being launched in 1996, we're just about there. So, for the next wave of ultra productive [technologies] I am looking outside Java, and mostly at Open Source technologies. "

"While you might usually end up stuck in a buzzword-compliance nightmare, with packets of WSDLs, BPELs, and SOAPs flying around left, right, and center, there are occasions where it may be possible to push through a REST-style, resource-centric approach; where there is no official strategic direction for SOA already in place, where there is a reasonable amount of flexibility and imagination on the part of the project owners, and perhaps with a bit of technical enlightening on the part of the technical lead(s)." Jason R. Briggs pulls off this two-for-one deal by using Jython to wrap SOAP's formalities around a REST-based SOA architecture in Playing Together Nicely: Getting REST and SOAP to Share Each Other's Toys.


In Projects and Communities, the Jini Community notes the recent 1.0 release of Thor, a project to "allow Jini services to retrieve runtime configuration information across the network, but allow that information to be administered in a central fashion." Version 1.0 "adds a few serviceUi tweaks and better cold-start loading using fallback to XML initialisation files."

The Javapediapage for JDBC defines it as "the part of the Java library which allows interaction with relational databases using SQL." The page also provides links to JDBC articles and related open-source projects, as well as open-source connection pools, and a note that JDBC is a trademarked term, not an acronym.


An opinion on why Java3d is not widespread kicks off today's Forums: "From what I see in west europe, Java3D is only 3D support for Java. Very useful scenegraph but good only for science and aero industry. Games in Java will either use the mobile API or JOGL, or Xith maybe, or the like. I see no future for aviatrix, very small for xith. Jmonkey has better chances. Java3D will be there for long and useful, but only for a couple people. Moreover, speed is of great concern for everyone so C++ direct low level code will always beat everyone."

The message Re: No unit tests? get to the whole point of unit tests: "They work at the individual class level, testing all methods of a class that are not private. The point of them is to pick up all the little changes that, while not part of the public API, still go to making up the running code. That's why unit tests should be part of the same codebase as the code it is testing. Having them as an independent project is not a workable situation."


Ed Burns summarizes New Drafts of Java EE Web Tier: JSF 1.2, JSP 2.1, Servlet 2.5in today's Weblogs, rolling it up as an "announcement of new drafts of Java EE Web Tier Specs".

In JDBC 4.0 keeps moving forward, Lance Andersen writes: "JDBC 4.0, JSR 221, has completed Public Draft, and we are working towards Proposed final draft. Here is a reminder of the functionality that is part of this release."

Dru Devore helps you "learn how to utilize a Maven repository from NetBeans 5.0 saving you from storing libs in CVS" in Maven Repository with NetBeans 5.0


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Who says Java can't do continuation servers?  
kfarnham

Crosseyed and Painless Blog

Posted by kfarnham Feb 17, 2006

Crosseyed and painless

Wrangling a J2SE 5.0 animation issue

Among the articles on the stack is a piece on animation from Sun engineer Chet Haase -- it will probably appear next week or the week thereafter -- and he includes a nice applet to show off techniques to improve the actual and perceived quality of the animation.

Only thing is, the applet uses J2SE 5.0, and I'm on a Mac. 5.0 is available for the Mac as an optional download, but it does not replace 1.4.2 as the default JVM. Instead, the two versions co-exist side-by-side. In fact, on PowerPC Macs, you'll still have a version of 1.3.1 hanging around/System/Library/Frameworks/JavaVM.framework. But I digress. The point is, browsers pick up the default version of Java and that's 1.4.2, so the applet didn't work for me.

So, just to make sure it worked, I navigated to 5.0's home directory and ran appletviewer from there. It worked, but it was still a disappointment not to have the surrounding page text that shows how to run the applet.

Well, wouldn't you know it, you can get 5.0 to be your browser... if you use the right browser. A set of release notes points out a "Java Preferences" app you can run to set J2SE 5.0 as your default JVM for applets. This preference is picked up by Safari, and apparently by other WebKit-based browsers (I use Shiira, and it worked without a hitch).

So, now I'm happy. I've got J2SE 5.0 in by browser. So what does Sun go and do this week? They release the Java SE 6 beta. Sigh, I'll never catch up...


In Projects and Communities, Roger Brinkley's Mustang Blog Carnival One Delight After Another rounds up 19 blogs that have been posted by JDK engineers talking about new features and improvements in Java SE 6, which just went beta. Topics include core Java, Desktop, XML, Tools, and Quality.

Daniel Brookshier has recently posted two JXTA-related interviews to his blog: one with Joan Esteve Riasol entitled Juxta-CAT: A JXTA project in Spain at Universitat Politecnica de Catalunya, and another with Edward Ribeiro titled An Interview with a P2P/JXTA Brazlillian.


The latest java.net poll asks "Which Java SE 6 (Mustang) features appeal to you most?" Cast your vote on the front page, then visit the results page for results and discussion.



 

Ed Burns announces New Drafts of Java EE Web Tier: JSF 1.2, JSP 2.1, Servlet 2.5in today's Weblogs: "I'm pleased to announce another revision of the Java EE Web Tier. This revision of the Java Web Tier is fully implemented in glassfish build 37, Sun's open source Java EE 5 Application Server, and the basis for the upcoming Java EE SDK."

Christopher Atlan kicks off his blog talking about his struggles with NetBeans and Java Web Start: "Web Start is my first choice for application deployment, but the JNLP files offers you many options, and it is hard to remember everything. The support for JNLP files in NetBeans had been bad; not even the standard xml editor features worked."

Alexander Potochkin wraps up his event-dispatch thread blogs with Debugging Swing, the final summary: "It's taken some time to study all possible ways of detecting Event Dispatch Thread rule violations, and now I feel I this topic is about to be closed."


In today's Forums,pauldb wants to combine Java3D with Video capture: "Hi, has anyone successfully created a video (AVI, MPEG etc) from Java3D. I know this topic comes up occassionally but all I see is that people are referred to the J3D.org page on capturing still frames from an offscreen canvas. For video, that page merely suggests using JMF."

In Re: Dolphin: play nice with non-java languages,jwenting dismisses some calls for the JVM to better support arbitrary languages. "And there's a LOT of languages that run fine on the JVM. Python and Ruby come to mind. All you need is a decent compiler to generate classfiles out of your sources. If one doesn't exist, don't go whining at Sun that the JVM doesn't understand your favourite language, go to the language owners and whine there for a compiler that generates Java classfiles (or better yet, write your own). It's not called the JAVA virtual machine for nothing."


In Also in Java Today, Micah Dubinko is marvelling over The Power of 'No'. in a feature article from XML.com. "XML itself is based on the Power of No: XML imposes a level of structure beyond plain text. The vast majority of random strings of characters won't qualify as XML. This ties in with basic definitions of information, uncertainty, and entropy." He goes on to consider how this philosophy of XML is seen in XML vocabularies and microformats, and how you should put it to work.

The new Java Architecture for XML Web Services (JAX-WS) will replace JAX-RPC in the upcoming Java EE 5 and Java 6 (codename: Mustang). In JAX-RPC Evolves into Simpler, More Powerful JAX-WS 2.0, John J. Yates introduces JAX-WS 2.0 and shows how to use it to transform a Java class into a Web service.


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Wrangling a J2SE 5.0 animation issue  
kfarnham

Pulled Up Blog

Posted by kfarnham Feb 16, 2006

Bringing up search results

So... back to the idea of being your own Google. Why? Maybe because you need to provide search on an intranet of internal documents. Maybe because you want your site to offer its own search (after all, not everyone has figured out site:example.com search-terms, and many expect sites to have their own search widget). Maybe because you'd like to understand the reasoning behind the search results, or have a system where by results aren't purchased by advertisers.

And that's why we're talking about Nutch.

In today's Feature Article,Introduction to Nutch, Part 2: Searching, Tom White writes:

In this article, we turn to searching. The Nutch search system uses the index and segments generated during the crawling process to answer users' search queries. We shall see how to get the Nutch search application up and running, and how to customize and extend it for integration into an existing website. We'll also look at how to re-crawl sites to keep your index up to date--a requirement of all real-world search engines.


The Sun bloggers turn out en masse in today's Weblogs to comment on the beta release of Java SE 6. Scott Violet kicks off with a look at Mustang: the little things: I'm taking a brief hiatus from my series of blogs on application architecture to join in the mustang blog carnival extravaganza. The bulk of the major features have already been covered, in this blog I'll explore some of the smaller bug fixs and RFEs we've done to make mustang that much more compelling.

Sean Mullan writes Mustang Beta is out! Here's what is new in Security

In From Monitoring to Diagnosing Memory Problem in Mustang, Mandy Chung writes: "Mustang Beta Release is available!! Mustang has several enhancements in the VM and the JDK tools to help identify the symptoms and diagnose memory problems from using jconsole to monitor the memory usage and garbage collection activities to using jconsole to take a snapshot of the heap or turn on more diagnostic or tracing such as verbose GC."


In Also in Java Today, the latest episode of O'Reilly Network's Distributing the Futurepodcast has a feature on Java Podcasters. Adapted from the ONJava article "The Java Podcasters" (parts 1 and 2), the podcast story contains excerpts from the Java Posse, ZDot, DrunkAndRetired.com, Swampcast, and the NetBeans Podcast, and is thus a quick way to sample these varied Java podcasts.

The coming year is bringing dramatic changes to the Web services landscape. For Java developers, these changes will include both new Web services frameworks and new layers of functionality built on top of Web services. In The Year Ahead in Web Services, Dennis Sosnoski looks at the coming changes and plots a course for readers.


In Projects and Communities, the latest JUG Community Profilefeatures the Atlanta Java User's Group. In JUG Profile: Atlanta Java Users Group, Eitan Suez interviews AJUG President Burr Sutter about his JUG's meetings, memberships and events, and the regional economics that support a large community of developers, authors, and open-source committers.

In the article New version of Java for mobile expected this year, InfoWorld reports on Sun's announcements at the 3GSM World Congress, saying that JCP work on a new version of Java ME should be completed by mid-year and that handsets with applications built on the new version should arrive late this year or early next.


In today's Forums,erajsri asks My first JXTA app : How do I reach out to the whole Internet, not just the LAN: "I'm new to JXTA and building my first ever P2P app ! Thus Im quite eager to get it up and running. However I have certain concerns over it's functionality. Could JXTA be used to reach peers on the whole Internet? I mean in usual file sharing P2P apps like BearShare, Limewire, Kazaa etc you could get your peer to connect to the whole wide Internet, not just the LAN pc's. How do they make such a discovery possible?"

A guest has some solutions Re: Matching real and virtual camera: "To get accurate pixel metrics, which are highly desirable for virtual and augmented reality applications, measure the dimensions of your actual image area on the physical display surface with a ruler and set the dimensions using the appropriate methods of Screen3D. For less accuracy just use the dimensions advertised by the display manufacturer."


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Bringing up search results  
kfarnham

This Must Be the Place Blog

Posted by kfarnham Feb 15, 2006

Mustang goes beta

It's been a long time getting here -- the Mustang snapshots started appearing here on java.net in late 2004, if I'm not mistaken -- but we're getting closer. Java SE 6 is now feature-complete and the first beta has been released.

Mark Reinhold discusses the milestone in his blog Mustang Beta Blog Carnival:

In contrast to the source and binary snapshots that we've been shipping for over a year, the formal beta release has been through many weeks of intensive testing--and a tiny little bit of last-minute bug-fixing--in order to produce a release that's somewhat more polished. If you've chosen to avoid the riskier snapshot builds then now is the perfect time to have a look at Mustang, make sure your existing code still compiles and runs, and try out the new features. Please do let us know what you think or--even better--get involved and help us make Mustang a great release for the entire community!


Also in today's Weblogs, Stephen Friedrich shows how to Spice up Text Components with Keyboard Shortcuts: "Have you ever been missing shortcuts like Shift-Insert for Paste and Ctrl-Backspace for Delete-to-Start-of-Word? Here's how to add them."

In The NetBeans look-and-feel competition winners are..., Kirill Grouchnikov writes: "Winners of NetBeans look-and-feel competition have been announced. Needless to say that I have been pleasantly surprised to see that 31 out of 33 winners have used the Substance module for NetBeans to create their entries."


In Also in Java Today, the dev2dev interview Kodo - Towards an Open-Source EJB 3.0 Persistence Engineeffectively breaks the news that BEA will open-source its Kodo EJB persistence product as "Open JPA". BEA Senior Directory Neelan Choksi says "Open JPA will include a significant portion of the Kodo code base that will be open sourced, specifically the Kodo kernel and the technical preview of the EJB 3 Persistence specification. Once the EJB 3 specification is approved, Open JPA will be an open source implementation of the EJB 3 Persistence standard under an Apache software license."

ONJava is featuring a second excerpt from Bruce Tate and Justin Gehtland's Spring: A Developer's Notebook. In a previous excerpt, they looked at iBATIS as one form of data persistence that could be integrated into a Spring application. In Using Spring with JDO and Hibernate, they move on to two popular O/R frameworks that further isolate your code from the underlying SQL, pointing out that "though it's nonstandard, you could say that behind EJB, Hibernate is the most popular persistence framework in the world."


The Projects and Communities section notes a recent addition to the Mac Java Community. The Quaqua Look and Feel is "a user interface library for Java applications which wish to closely adhere to the Apple Human Interface Guidelines for Mac OS X." It offers a nearly native user experience, adjusting its look to suit the version of Mac OS X (Tiger, Panther, or Jaguar) being run.

In today's Forums,spdenne notices a Mustang problem in [Regression] Very slow accessors: "I'm having some difficulty narrowing down a serious performance regression in Mustang that I've come across recently. I took a look at an implementation of Knuth's dancing links algorithm. [...] On my WinXP laptop, the algorithm finds roughly 90,000 solutions per second in Java 5, and about 45,000 solutions per second in Mustang b71."

In "proven" libraries and what's in there?,sebastiankirsch reports a curious surprise: "I just made some experiments with the hprof-feature of the JVM as we had some memory problems on our tomcat. There, I discovered a single object using 262152 bytes... after some analysis, I found this snippet of source code: private static final String[] PADDING = new String[Character.MAX_VALUE];I guess you find this as intriguing as I do. I don't want do discuss a solution or best practice here - my point is: this piece comes from StringUtils, from the well-known commons lang library (v2.1)."


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Mustang goes beta  
kfarnham

Big Business Blog

Posted by kfarnham Feb 14, 2006

The big picture behind BPEL

Today's Feature Articleoffers a somewhat different approach, in that it doesn't involve much code. In fact, while it introduces Business Process Execution Language (BPEL), you won't find a short "Hello World" style example. In this case, the author thought it was most important to focus on the ideas and motivations behind BPEL, not in walking through a simple example of its syntax.

In Separation of Concerns and BPEL, Stephen B. Morris lays out his approach as follows:

In this article, I'll review the idea and merits of separating software features from business processes in the context of BPEL. Along the way, we'll see how this leads neatly to the need for highly generic software.

This high-level, code-free overview is sort of an experiment. I'm interested to know what you think -- is a "big picture" article valuable to you, or does it come off as "marketing" if it doesn't get down to the code level? Post a comment here or on the article with your thoughts. Thanks.


Eamonn McManus answers the question What is an MXBean? in today's Weblogs: "One of the important new features of the JMX API in Mustang (Java SE 6) is the ability to create "MXBeans". MXBeans provide a convenient way to bundle related values together without requiring clients to be specially configured to handle the bundles. Here's the complete story about MXBeans."

Scott Oaks says "Recent experience using the NetBeans profiler has let me overcome my usual inertia toward new tools and fully embrace NetBeans." More reasons for his conversion can be found inThe NetBeans profiler -- change is good.

However, Malcolm Davis is going the other direction. In Why are you uninstalling NetBeans IDE?, he writes "I was redirected to a uninstall survey after removing NetBeans 5.0. This blog discusses some of the reasons why I uninstalled this latest version of NetBeans."


In today's Forums,soupdragon says Let's do some tidying up e.g. JDBC: "JDBC carries minor but oft-encountered irritants, for example. Like why on Earth does it not use java.util.Date for it's times and dates? Who decided we needed a java.sql.Date? (thus resulting in many classes which have to use two different classes called Date) Like the (lack of) proper BLOB/CLOB handling, the current system seems to have been written by someone who didn't quite grasp how LOBs work."

robilad questions supposed openness in Re: What do you think?: "The JCP, unfortunately, is not very useful in its current form for something that important, as it is fundamentally encumbered in NDAs, and has huge transparency problems, in particular wrt to J2SE and JVM specs. This has all been known since JCP 2.6, and two years have passed without any changes to it or a movement to fix it. That does not make me very confident about the future relevance of the JCP."


In Projects and Communities, the JavaDesktop Communitypage notes that the Ensode.net article JDK 1.6 (AKA Mustang) Swing GTK Look And Feel Screenshots "got lots ofdiggs over the weekend." Ensode is pleased with the L&F, noting "as can be seen in the screenshots, Mustang picks up the GNOME theme and renders Swing components appropriately."

Kohsuke Kawaguchi's blog entry Hudson 1.0.14 introduces and explains the Hudson project, which monitors executions of repeated jobs, such as software builds. cron jobs, etc. "Since I'm a lowly engineer and don't have a secretary, I made one by myself some time ago. It's called Hudson, and it handles some of the work I used to do myself."


In Also in Java Today, Integration Developer News reports on a "good news, bad news" scenario for developers in Dev Jobs Outlook Bright for 2006: "In 2006, salaries for software architects and devs may finally see their biggest up ticks since the bubble burst, according to CIO survey conducted by Robert Half Technology (RHT) a leading recruiter of IT talent worldwide. But, RHA adds, with higher salaries will come bigger workloads. Among the big winners: professionals who can bridge high-tech and business needs by using web-to-legacy integration, analytics, SOA and security."

Bruce Eckel wonders Does Groovy Matter? "The last time I paid any attention to Groovy was when Mike Spille blogged about it, and when the Bile Blog chimed in. Basically they wrote off the project (albeit giving lots of details about why). But recently the Java Posse talked about it in slightly different tones, so it made me start wondering."


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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 big picture behind BPEL  
kfarnham

Stay Up Late Blog

Posted by kfarnham Feb 13, 2006

Step up, put up, shut up... or wake up?

Your editor's three-year-old decided to be up from 2 to 5 this morning, and as a result, I'm barely thinking straight. So let's let the front page speak for itself today.


In Also in Java Today, Daniel Steinberg says it's Time for Java developers to put up or shut up: "Off the top of my head I can name dozens of really interesting projects and initiatives in Java right now and many of them are open source in some way or another. We've been looking for people involved in cool Java open source projects to submit session proposals for O'Reilly's Open Source Convention, OSCON, held in Portland, OR July 24-28." If you're involved with one of these projects, act quickly, because the OSCON call for participation closes tonight.

Guy Pardon is ready to throw out the application server for his enterprise applications. In J2EE Without the Application Server, he writes, "this article proposes a further simplification of J2EE, by showing a way to eliminate the overhead of the runtime platform: the application server. In particular, this article shows that many applications no longer need an application server to run." He says the results are apps that are easier to program, install, test, and run. In the article, he shows how to combine the Spring framework with separate JMS and JTA implementations to deliver an enterprise-class application.


In today's Forums,mpocock has a VM-level suggestion in Dolphin: play nice with non-java languages: "One of the major things I'd like to see from Dolphin is the ability to host a much wider range of languages with in the JVM, without effectively needing a VM within a VM. To support ML-style languages efficiently, it would realy help if methods could return tuples. At the moment, methods can have a return type that is void or a java type. This works by leaving any value on the top of an empty stack in the called method, and then popping the stack-frame and setting the top-of-stack index to the return value if there is one. Tuples could be directly supported by just setting the stack-frame to include n values from the invoked method's stack."

In Solving a puzzle using JAI, joshuax112 writes: "I am starting with JAI and I'd like to develop a program that is able to recognize if 2 outlines (shapings) of the puzzle parts fit together and in which way. The backgroundcolor is white and the part of the puzzle white. How should I start solving this problem? Is Hough-Transformation the right beginning? Is there already some java-code out there in the internet?"


Fernando Lozano wonders What happened to all my Eclipse plug-ins in today's Weblogs: "I must admit I'm having trouble figuring out the inner workings of the Eclipse ecosystem. Almost all main tool vendors participate in the project and you can find hundreds (if not thousands) open source plug-ins. In spite of that, Eclipse remains a difficult environment to start with, and it's not easy to identify a successful set of 'must-have' open source plug-ins."

Kohsuke Kawaguchi reports that he's been Neck-deep in JAX-WS: "For the past few months or so I've been working on rearchitecturing the JAX-WS RI. The goal is to bring the performance to the next level, to make it more pluggable in all respects, and to allow more infrastructure-level specifications to be implemented on top of it."

In the conclusion to his long-running series tracking a user-submitted Mustang fix, John O'Conner finds his fix integrated and released in Contributing to Mustang: Fixed in Release B70: "My bug fix actually showed up in build 70 of Mustang. The public test of the Mustang collaboration process is done. My conclusion... the process worked."


In Projects and Communities, the Robotics Community home page has announced two robotics-oriented birds-of-a-feather sessions have been accepted for JavaOne 2006: BOF-0503 ("Java Technology in An Intelligent Swarm of Heterogeneous Lego Robots") and BOF-0509 ("Hacking Vex Robotics by Adding a Smart Java Technology Brain"). Both are represented by java.net projects.

Tuning an application server, one that typically has dozens of components and hundreds of parameters, can be a difficult task. InSelf Management Framework in GlassFish, Sankara Rao looks at GlassFish's solution to this problem: "GlassFish has a built-in framework to incorporate self management intelligence into the appserver.


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Step up, put up, shut up... or wake up?  

Are your frameworks more ready for J2SE 5 than you?

The latest poll question comes to us from Eitan Suez, who suggested a question that deals with frameworks adopting J2SE 5 coding practices, such as enums, annotations, and generics.

This has been a key point in the forums and other discussions of J2SE 5 features and "language bloat" in general. Those opposed to these features argue for a conservative approach to adding new language features, because once they're in, all developers will eventually be responsible for them. Adoption of those features by frameworks is one of the key ways we get to that point -- even if you don't use generics, what happens when your framework does? What happens when method signatures change to require them?

On the other hand, what if you're ready, and frankly sick of waiting, to really use the new features? Annotations were introduced to increase flexibility and introduce new forms of meta-programming. For those who want to, say, wrap a method with a fire-and-forget thread via an annotation like @OneWay, why wait for everyone else to catch up? After all, they say, J2SE 5 has been out for over a year, and Mustang's just a few months off... why not start using some of this stuff already?

So, with thanks to Eitan, the latest java.net Poll asks "What recent version of Java do you want third-party frameworks to support?" Cast your vote on the front page, then visit the results page for results and discussion.


In Also in Java Today, the article Create iPod video content on the Java platform shares some practical (and potentially very popular) uses for mobile video, and then present two programs to get you started using the QuickTime for Java API to create video content for the iPod. These programs let you easily add captions to existing video files and convert legacy video files into an iPod-compatible format.

"A look at the list of Top Ten AJAX Applications shows that most of the currently discussed AJAX applications do break the Web's fundamental interaction style." But can you have your rich application and your refresh and back button too? In the dev2dev article Developing AJAX Applications That Preserve Standard Browser Functionality, Mark Schiefelbein says you can do both, and he shows how.


In today's Forums,grandall discusses GUI testability in Re: No unit tests? "What I really meant in my previous reply was: You *never ever* do unit tests in a separate project, because the tests are intimately compiled against the very classes in the main project. e.g. If you change a method signature in a class, you go and change the test to use the new signature (e.g. if you drop a superfluous argument). When you work in this way you don't even check in until all the tests compile and pass. After all, why would you? A test represents a piece of behaviour that a developer has specified should work, so a broken test means you've broken that behaviour."

mthornton discusses illusory memory bloat in Re: Releasing unused heap memory to OS: "The Mem Usage column in Windows task manager reports the current working set size. This is the amount of memory which your process currently has mapped to physical memory and can be quite different than the amount of memory you have allocated. Minimizing an application has a side effect of clearing the working set (there is an option to prevent this). Thus regardless of how much memory you have allocated, after minimizing the value reported by 'Mem Used' will be small."


David Herron offers An easy way to enter the Mustang Regression contest in today'sWeblogs: "Let me give you guys an interesting hint on entering the regression contest ... Suppose your application has a unit-test suite ... Simply run your test suite on a Tiger build (1.5 update 6 is the latest) and then on a Mustang build (JDK 6 build 70 is the latest) and compare the results."

Felipe Gaucho says The IDEs are driving us crazy: "If you are a member of a project in which every person could choose his own development environment, I'm sure you have painful experiences with the code-style, integration and even the project communication. It is so common I decided to register this situation here in my blog."

John Reynolds relates "A sad but pathetically true tale of 103 entries as a java.net blogger..." in Hello... My name is John, and I am a java.net blogger.


In Projects and Communities, the jai-imageio project, parent of all Java Advanced Imaging (JAI) Image I/O tools projects, has announced that as of this week, daily builds will now be available from their builds page. The parent project contains the sub-projects jai-imageio-core (the core API), and jai-imageio-demos(demonstration programs).

The Java Enterprise Community page is featuring Lance Andersen's blog Getting Started using Derby with Glassfish and SJSAS 8.2: "Glassfish and SJSAS 8.2 provide multiple ways to start the Derby Network Server as well as several useful scripts to help make your Derby use more productive"


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Are your frameworks more ready for J2SE 5 than you?  
kfarnham

So Far Away Blog

Posted by kfarnham Feb 9, 2006

Overcoming the browser upload problem

A long time ago, I actually wrote a servlet to parse a multipart http form request and handle a multi-megabyte file upload. It was miserable, because the multipart format isn't particularly well optimized to this -- if only each part had a content size, I wouldn't have had to scan the buffer every time for the end-of-part string.

It worked, but given that the browser would just sit there, not doing anything until the upload was finished, we threw it away and I wrote an FTP uplaod applet instead. That led to a whole host of new problems (applet security, versioning, plug-ins, etc.). This was a job that was just never going to make anyone happy.

In the intervening years, others have approached the problem and worked out some nice solutions that make life easier for developers with this need. The Apache Commons' File Uploadproject takes care of the parsing, so now all you need is a way to fix the user experience problem...

In today's Feature Article, Jacobus Steenkamp solves this side of the equation. In Better File Uploads with AJAX and JavaServer Faces, he shows how to "take a fresh approach and implement an AJAX-powered component that will not only upload the file to the server, but also monitor the actual progress of a file upload request in 'real time.'" There's some nice server-side stuff in this approach to catch calls from the AJAX side and return just a small amount of XML, which the JavaScript can use to repaint the progress bar.

If you're planning on letting users upload large files, take a look at this approach and see what you think.


In Projects and Communities, the Equinox project on jini.org is an effort to "develop a Jini-based container for the Spring framework. The container implementation will transparently leverage Jini's service discovery, transaction management and fault tolerance, and will facilitate the application's use of characteristic features like JavaSpaces."

The Java Communications Community is featuring the paper A SEA Change towards IP Convergence (PDF) by Rakesh Radhakrishnan, which attempts to align major industry standards Initiatives within the "Communications Media and Entertainment" (CME) industry: wireless, telco, cable, etc.


Michael Nascimento Santos says Tiger and dates don't get along in today's Weblogs: "I've been testing a large application we have written for one of customers in Tiger and I couldn't be more disappointed by how Java 5 broke support for dates in general. If you intend to upgrade your application to Tiger or if you are using it to manipulate dates, you should be aware of these issues."

Is JSF More Performant than Action Frameworks? Jacob Hookom writes: "Everyone assumes JSF adds overhead to application processing on the web versus something like Struts or WebWork. Reflecting on experience, I think JSF can actually be a lot faster than those solutions."

Kirill Grouchnikov relates "a story of how a commercial vendor has contributed one of its Swing components to the open-source community" in Breadcrumb bar - from closed source to open source.


In Also in Java Today, Ken Pugh's Prefactoring and Refactoring "hopes to clarify the issues" around "prefactoring", a concept that evolved from a BoF session with Pugh, Ron Jeffries, and Martin Fowler. The big difference is that "prefactoring guidelines emphasize things to think about before you start coding. Refactorings are code transformations performed after you have created code." Pugh argues this is not a matter of a "big design up front", but rather a set of guidelines to be applied before coding, in order to create better code.

As Mustang attempts to further narrow the gap between Java SE applications and native desktop applications, the SDN article Using the Desktop API in Java SE 6 (Mustang) "describes the new Desktop API, which allows Java applications to interact with the default applications associated with specific file types on the host platform. In order to describe the API more effectively, the article also features a simple application called DesktopDemo."


In today's Forums,jada responds to a question about JUnit and Java 3D inRe: No unit tests?: "We did, at one point, talk about developing JUnit tests for Java 3D but decided it might be a good community project. At present, we rely on combination of test suites and programs for regression testing, such as Java 3D TCK, an inhouse Java 3D functional test suite ( that does pixel level testing ), Java 3D example programs and community testing. A JUnit test suite for Java 3D will be a great addition to have."

prunge worries about unintended consequences in Re: Null check analysis: "If null check analysis is to be effective, all JDK classes will need to be annotated with them. Otherwise how does the compiler know that Map#get(K) can return null but Map#keySet() cannot. This is going to be a very large amount of work for the Sun people, even more than the addition of generics caused, since more classes use nulls than, say, collections. There have already been complaints that generics cause more code to be written..."


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Overcoming the browser upload problem  
kfarnham

Sultans of Swing Blog

Posted by kfarnham Feb 8, 2006

Why NetBeans is back on the radar

"Fan mail from some flounder", as Bullwinkle would say, this time from the commentson the latest java.net poll:

Java.net is slowly becoming less of a Java community and more of a sales barge for all things Sun. The coverage of Netbeans on this site gives one the mistaken impression that it has relevant market share, when in fact I know of only one poor sod I've ever met who uses it; and he has a binary clock.

Ohhhh kay...

Let me give you two reasons that you see NetBeans on the front page on a rather frequent basis. The first, and most important, is that they are one of the communities of java.net, and a key part of our editorial mission is to promote our communities. One day it's NetBeans, the next it's Jini, followed perhaps by Enterprise and WS-XML later in the week. It's a community site, and the reason we have an editorial side is help communicate what's happening in the communities, and to bring interesting content to the java.net community as a whole.

So, not a "sales barge for all things Sun" (how would we be selling something that's free?), but rather a "promotion barge" for all java.net communities.

The other reason you're seeing more NetBeans content on the page is, frankly, NetBeans has gotten a lot more interesting with version 5.0, and people are noticing. Completely out of the blue, Tim O'Reilly blogged on this Monday in What's Up With NetBeans? His analysis is based on a technologies futures market run with Yahoo! Research, in which you "buy" stock in a concept and its "share price" goes up and down based on Yahoo searches for the topic. Tim writes, "I was just browsing the buzz game, and discovered something that surprised me. While the futures market still has its money on Eclipse, in the past year Netbeans has passed Eclipse in actual Yahoo! search volume."

Stuff is up over at NetBeans, and we're not the only ones to notice.


Also tn Projects and Communities, the Scenic project has just releasedversion 0.9.0 of its scene-based, anti-aliased, hardware-accelerated graphics library. Major additions in 0.9.0 include square, radial and conical gradients, line dash patterns, support for multiple simultanious canvases, re-parenting of the Shape and Brush classes for added flexibility, and an enhanced demo.


Returning to the NetBeans theme, Joshua Marinacci shows how toEasily Use Custom Swing Components with Matisse in today's Weblogs: "I've recently begun using Matisse for all of my GUI building tasks and overall I'm pretty pleased. I can quickly whip up dialog boxes and basic layouts very easily. However, I often use custom components and it's not easy to integrate them with Matisse."

David Herron has "A little about java history and... the Mustang Regressions Contest." in Is Java 10 yrs old, or 15 yrs old?

In Service Oriented Architects, John Reynolds writes: "Service Oriented Architects need to focus on business processes and on business services. The SOA architect has to understand where a business process is likely to change, and where it probably won't. They need to understand factors that impact multiple process steps, and those that are specific to a single step."


Looking for more Java-oriented podcasts? Also in Java Today points to ONJava's The Java Podcasters, Part 2, which looks at some of the unique voices in the Java podcasting realm, including the voice-of-experience style of ZDot, the laid-back shooting-the-breeze musings of DrunkAndRetired.com, and a podcast that focuses entirely on NetBeans.

In the latest SDN "Meet the Engineer" article, Meet Kohsuke Kawaguchi, Staff Engineer and XML Schema Developer at Sun Microsystems, Kohsuke Kawaguchi discusses his work with XML schema languages, the cultural differences between Japan and the United States, the transition from C++ to the Java language, and more. Kohsuke is involved with many java.net projects, including JAXB, txw, com4j, Stapler, and more.


In today's Forums,kcr has a status update on the Java 3D 1.4.0 release: "We plan to release the 1.4.0-beta4 build tomorrow, if all goes well with our testing today. The beta4 build will include an InstallShield installer for Windows and self-extracting shell scripts (.bin file) for Unix. I have updated the Wiki to reflect the current plan: We plan a short (less than 2 weeks) testing period for beta4, so we would appreciate your help in testing the installer when we release it tomorrow."

tjquinn helps figure out a GlassFish / Java Web Start issue in Re: ACC Client's Permission: "Great question. There is a way to specify an alternate policy to use for a particular Java Web Start app client launch. Before I get to that, though... Does the client behave as you expect if you use the appclient command? In the second case you described in your post are you certain that the client is only getting property values and not trying to set any? Here's the background. An app client launched via the GlassFish Java Web Start feature should receive (by default) the same permissions as if it were run using the appclient command."


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Why NetBeans is back on the radar  
kfarnham

Your Latest Trick Blog

Posted by kfarnham Feb 7, 2006

Deeper into image effects

The mathematics of image effects comes to center stage again, as Jeff Friesen takes another look at image embossing in the final installment of "Java Tech". But there's more than just embossing in the Feature Article, Java Tech: Process Images with Imagician. The article unveils an image effects studio application, allowing you to take an image and add one effect after another. He also shows how to provide a status bar that is wired up to all the menus and menu items, showing a lengthier description of their action at the bottom of the window.


Romain Guy wants to help you Make Swing... er... Swing! in today's Weblogs: "A good looking GUI needs a bit more than just fancy graphics. It needs life, animation! Java SE provides everything you need to make your Swing apps swing, but there's an easier way."

Jody Garnett writes about Java involvement in the Open Source Geospatial Foundation: "The Java community response to the formation of a the new: Open Source Geospatial Foundation. Can AutoDesk, the Open Source C++ world and a the Java Spatial community get along? The real question is, the question is can they keep up."

In Javadoc: How Do We Improve It?, Kathy Walrath writes: "It's been ten days since the javadoc survey came out, and the majority of developers STILL haven't given us their feedback. Come on, you can do it."


In Also in Java Today, "The upcoming JDK 6.0 (Mustang) release does not approach the magnitude of enhancements in JDK 5.0, but does offer several interesting updates. Among these updates is the incorporation of JSR 223 Scripting for the JavaTM Platform. Essentially, this introduces a standard framework to allow scripting language programs to be executed from and have access to the Java platform. It provides many of the capabilities of BSF (Bean Scripting Framework)." In Scripting Support in Mustang, Paul Jensen looks at how Mustang implements scripting support and what it can do for you.

In Plugging Memory Leaks with Soft References, Brian Goetz looks at how certain tasks, like maintaining a cache, are ideal candidates for soft references. "Soft references, like weak references, can help applications prevent object loitering by enlisting the aid of the garbage collector in making cache eviction decisions. Soft references are suitable for use only if the application can tolerate the loss of the softly referenced object."


In Projects and Communities, the 70th JavaTools Community Newsletter welcomes three projects to the community and celebrates the graduation of FengGui from the incubator. It also has a tip on getting e-mail notification of changes to your project wiki, along with tool-related news from around the web.

The JavaPediapage for RSS collects links related to using the popular web syndication with your Java application, including the article Using RSS in JSP Pages and the ROME project, which supports RSS and Atom. Since JavaPedia is a wiki, you can edit the page yourself to add more resources.


In today's Forums, a guest user asks about a problem in showing default page on starting: "Can anyone let me know how I can show a web page on my help system when it is first loaded Actually when my Help System is started it shows a blank web page. But i want to show some starting HTML page on loading, like 'Welcome to Online Help' . Where should i make the entry of this html file and how?"

In JMX to manage JAX-WS 2.0 service using NetBeans 5.0,kohsuke writes: "Among a full set of exciting features, check the NetBeans Home Page, it brings a very very cool support for Web Services. If you have not already played with web services, you should start doing so. It is becoming much simpler with JAX-WS 2.0."


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Deeper into image effects  
kfarnham

Telegraph Road Blog

Posted by kfarnham Feb 6, 2006

Help light up java.net

I caught the last quarter of the Super Bowl yesterday -- having kids who know how to work the remote has cut deeply into my TV viewing -- and in a helicopter shot of my former hometown of Detroit, I could point out which towers of the Renaissance Center I'd worked in on summer jobs in high school and college, and how I'd drive down Jefferson Ave., under Cobo Hall, to get there.

I could also point out numerous towers just west of the financial district that were entirely dark. The fact remains that Detroit has lost so much population and so much economic vitality so fast, that there are full-blown towers on the city skyline that are completely vacant and abandoned. In fact, in its promotional effort to get the Super Bowl in Detroit for this year, organizers infamously photoshopped lights into these abandoned towers on skyline pictures, presumably hoping to make the city look more vital than it is.

I bring this up by way of analogy. I'd be ignoring a coal pile in a ballroom to say that we don't have a few vacancies of our own on java.net. There are some community pages that might as well be blank, given that they haven't been updated in ages. The thing is, are these really abandoned communities, or abandoned pages? Some of them have active projects that could probably benefit from some visibility.

So, instead of faking it, help us find the activity that's really out there. If you have a project you want featured on the front page's Projects and Communities or Spotlightsections, send me an e-mail (cadamson [at] oreilly.com), or visit the Publicize Your Project page. After all, it's more useful to shine a light than curse the darkness. Thanks.


In Projects and Communities, the Web Services and XML Community home page is featuring the latest "XML Annoyances" column from Micah Dubinko: The Power of No. "XML itself is based on the Power of No: XML imposes a level of structure beyond plain text. The vast majority of random strings of characters won't qualify as XML. This ties in with basic definitions of information, uncertainty, and entropy."

The research paper Class Loading Issues in Java RMI and Jini Network Technology takes an in-depth look at the advantages and hazards of class loading as it relates to distributed technologies like RMI and Jini. It notes that while providing code mobility over the network, the model also leads to "run-time errors and programmer confusion."


James Gosling praises NetBeans5 & Creator2 in today's Weblogs: "It's been an amazing week for the tools engineering teams. Creator 2 FCSed last week, and NetBeans 5 went out the door this morning. In my role as kibbitzer and tinkerer, I've had a lot of fun playing with both of them."

In GlassFish Tech Tips page and Q&A session, Carla Mott writes: "We're trying to make is easier for you to get detailed information about how to use the latest features in GlassFish."

 

Ben Galbraith says "After months of dormancy, I resurrect my Java.net blog", in Lazarus, Ajax, and San Francisco.


In this week's Spotlight, "Sun is seeking regression reports in the Mustang Regressions Challenge. Every verified regression submitted before March 31 wins a t-shirt, and the best five (as judged by Sun engineering and QA) win a new Ultra 20 workstation. There's more information in theFAQ, aforum for discussing the challenge, and a blog about its goals in Announcing the Mustang regressions challenge."


In today's Forums,grandall asks of Java3D Is there "software rendering", and with multiple viewers? "Q1: Is there a "software rendering" (to use the Quake 2 term) component that can be used with Java3d? Q2: Does the "normal" (hardware accelerated) Java3d cope with, say, 50 separate Viewers all rendering different views of the same scene graph? (Presumably software rendering would have no artificial restrictions.)"

An anonymous poster on the Java Desktop mailing lists asks for a[JAI] Roadmap: "Is there a roadmap for JAI somewhere? What I am looking for is information about when the different releases are expected to go final. Specifically I am looking into when the 1.1.3-beta is expected to go gold. Of course I am not looking for an exact date, but I was hoping there was some information about the release plan somewhere and some estimated dates."


In Also in Java Today, the Enterprise Java Tech Tip Developing Web Services Using JAX-WS introduces the Java API for XML Web Services (JAX-WS) 2.0 (JSR 224). This follow-on release to JAX-RPC, "simplifies the task of developing web services using Java technology... [by] providing support for multiple protocols such as SOAP 1.1, SOAP 1.2, XML, and by providing a facility for supporting additional protocols along with HTTP." The Tech Tip shows a simple example of building a JSR-224 web service and deploying it in GlassFish.

Sunil Patil digs more deeply into Portlet technology in What Is a Portlet, Part 2. In this installment, he introduces a new administrative GUI for portlets provided by the Apache Pluto portlet container, shows how to support EDIT mode in portlets, and moves the HTML from the Java code to a JSP. He also looks at the portlet life cycle, and wraps up with a quick overview of portlet tag libraries, persistent preferences support, and portlet caching.


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Help light up java.net  
kfarnham

Time Stand Still Blog

Posted by kfarnham Feb 3, 2006

Documenting the return of the waterfall process

Daniel Steinberg, our editor-in-chief and author of Extreme Software Engineering: A Hands-On Approach, sent me a link to the Waterfall 2006 conference yesterday. It took me about 30 seconds to get the joke -- the April 1 conference date should be a dead giveaway -- but I've since forwarded it on to others and they've been incredulous at the idea that waterfall thinking could be making a comeback, no less have its own conference.

For anyone still not getting it: it's a joke. And a very good one.

Some of the purported sessions are funny enough in their titles or concepts, like Ward Cunningham allegedly speaking on "FIT Testing In When You Can; Otherwise Skip It", or the too-true "User Interaction: It Was Hard to Build, It Should Be Hard to Use". Others have full-blown session descriptions, including one doozy of a misunderstanding of the mythical man-month, entitled If It Was Good Enough for Shakespeare: A Fresh Look at the Need for Talent in Software Engineering, which offers up this Douglas Adams-esque brick of illogic:

It's a well-known fact that Shakespeare's plays were actually written by a large group of monkeys with typewriters and they're some of the most critically acclaimed works of American literature ever written; so the question is not whether or not monkeys can write code, but simply how many monkeys you need.

That said, as much as the agile processes congratulate themselves, I've always wondered if they were the right solution to the wrong problem, that the embrace of change is as much a defense against inconsistent and plain bad management as anything else. I don't know that I'd know good tech management if I ever saw it -- and at this point I don't expect to -- but things like the idea of collecting user stories and estimating out their times on index cards seems like the management tasks of customer-handling and resource budgeting that software engineers feel compelled to take over because the boss cannot or will not do them in a realistic fashion.

Of course, he or she can always find more monkeys and more typewriters.


The other item in Also in Java Today regards portlets: with the appealing JSR-168 Portlet API, it can be easy to get ahead of yourself in building a portal out of constituent parts. Before you do so, take a look at the dev2dev article Designing a Successful Portal Deployment, in which Quinton Wall helps you think through the process of defining the portal's purpose, developing its community, and building it for maintainability.


In Projects and Communities, the JSR for the next major revision of the Portlet specification, JSR-286 is available for review. JSR-286 addresses topics omitted from the original Portlet spec, JSR-168, or that have emerged since then: portlet filters, inter-portlet communication as defined in WSRP 2.0, tag library enhancements, and more.

The latest JUG Community Profile features Mexico City's JavaUP. In JUG Profile: JavaUP, Eitan Suez interviews JavaUP Moderator-Owner Jorge Vargas about this student-oriented JUG, its activities, and its plans for 2006. He also talks about the current demand for Java developers in Mexico and how JavaUP hopes to help meet that demand.


The latest java.net Poll asks "Do you use NetBeans?" Cast your vote on the front page, then visit the results page for results and discussion.


Gregg Sporar discusses Sun's Developer Tools Strategy FAQ in today's Weblogs. "Now that NetBeans version 5 has been released, I decided to put some frequently asked questions to Bob Brewin, Sun's Chief Architect of developer tools. He provided some insight on the strategy and the roadmap."

In Grizzly part III: Asynchronous Request Processing (ARP), Jean-Francois Arcand writes: "The Grizzly HTTP Engine can be extended to support Asynchronous Request Processing(ARP). This time I will describe how to extend Grizzly to support ARP, and will conclude by describing a Google's Gmail Servlet that execute only when new emails are coming. With ARP, Grizzly can now have some sleep, waiting for work..."

"Asynchronous Services are a fact of life, and a key requirement for successful SOA solutions." John Reynolds explores this idea further in Can I call you back? - Asynchronous Web Services.


In today's Forums,bpb considers a gotcha in Re: Read and write EXIF tags from Jpeg: "One further comment on this. If you use the Image I/O libraries and do a read and write then you will suffer data loss during the JPEG decoding and re-encoding. So to insert the geolocation data you will likely have to write some special software. As mentioned, the read part can be done with the extant plug-ins."

mernst has an answer in Re: Whats CHA? "Class Hierarchy Analysis exploits (through knowledge of all classes currently loaded) whether a virtual method has only one implementation in the current universe. I.e. there is no subclass of StringTokenizer that overrides #hasMoreTokens, so any call to StringTokenizer#hasMoreTokens can potentially be inlined. Any optimization taken based on this knowledge may need to be invalidated when a new class is loaded into the VM. For example, when com.mortbay.Util.QuotedStringTokenizer gets loaded, resp. its first instance is created."


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



Documenting the return of the waterfall process  
kfarnham

Limelight Blog

Posted by kfarnham Feb 2, 2006

New releases from NetBeans and ROME

There are two significant releases on the front page, one of which has been a long time coming, and the other of which ties into today's feature article.

The ROME project aims to free developers from concerning themselves with the differences between the various web syndication standards, RSS and Atom, or the version incompatibilities between them. It takes the approach of supporting all of them, and wrapping them with a common API. Thanks to this isolation layer approach, the project can boast that "all feeds lead to ROME".

 

As Randy J. Ray writes in today's Feature Article,Taking a Tour of ROME:

The ROME in question is a Java library that provides a single interface to web syndication feeds while abstracting the differences between RSS and Atom. ROME version 0.8 contains many bug fixes and support for Atom 1.0. With it you can read, create, merge, filter, and otherwise mash up your favorite syndicated streams.

In the article, he shows how ROME can be used both on the client-side to receive RSS and ATOM feeds, and on the server side to create feeds.


Another release, and a particularly prominent one, kicks off Projects and Communities: the NetBeans Community is celebrating the release of NetBeans 5.0. Major 5.0 features include the Matisse GUI builder, improved support for CVS, Struts, and JSF, debugging enhancements, deployment to JBoss and WebLogic, simplified rich-client development, a profiler that works with unmodified JDK's, and more.

The webstarted-installerproject provides installation and startup services for applications that aren't Web Start-enabled. "The idea is that the webstarted-installer is a Java Web Start application that can be used to download and deploy another application that can then be started once the whole process of downloading has finished."


In Also in Java Today, the next SDN Ask The Experts session, running Feburary 6 through 10, looks at "What's New in Java Web Services Developer Pack 2.0". "The recently released Java Web Services Developer Pack (Java WSDP) 2.0 adds many new features including early access of the 'integrated stack' of technologies for easier,more efficient and more reliable deployment of web services. Got a question about Java WSDP 2.0? Submit your questions during the week of Feb. 6 and get answers from Java WSDP 2.0 lead engineer Ramesh Mandava, and Java WSDP developer Ana Lindstrom-Tamer."

java.about.com guide Kevin Taylor has updated his list of Top 8 Must-Read Software Development Books. He says, "this list of software development books comprises the absolute must-read books for all professional software developers. Whatever the language or domain in which you practice your craft, these tomes hold an essential body of hard-earned, collective wisdom and knowledge."


In today's Forums,linuxhippy asks Whats CHA? "In the past there have been some very interesting publications about hotspot (however since 2000 its unfourtunatly totally quiet ) and I found some papers which talk about the inlineing capabilities of hotspot.It mentions that most methods can be inlined thanks to CHA. But whats that? I guess its CH-Analysis but what's CH? Another interesting question for me is wether hotspot also inlines static methods, since all benchmark show that static method invocation is slower than a 'normal' one."

alexlamsl questions the discussion Re: Eliminate specifying maximum memory limit: "I don't think elimating Xmx is a good idea - it'll give Java applications the possibility to engulf enough memory would start to hinder other processes; this happens with non-Java applications, and is not a desirable behaviour as far as I'm concerned."


Mark Little asks When and why are interoperability fests useful? in today's Weblogs. "Interoperability fests/workshops have become very popular recently, particularly in the area of Web Services. However, they are more widely useful and should be an active part of a developer's testing arsenal whilst building relevant systems, rather than an afterthought as is often the case."

In Wicket + Swing == hmmm...interesting..., Tim Boudreau writes: "My grade-school friend Jonathan Locke, who is the creator of Wicket sent me a fascinating brainstorm the other day. Particularly in light of all of the hoo-hah around AJAX these days, I asked him for the OK to blog it. Here's what he had to say..."

Harold Carr checks in with some Notes from SDForum's Interoperability event: "The SDForum hosted an Interoperability Forum featuring Anne Thomas Manes, Graham Hamilton, Prateek Mishra, Kim Cameron and others. Here are my notes on the event. I particularly liked the discussion of the level at which one should program web service - the language level or the XML level."


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the java.net News RSS feed.


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.



New releases from NetBeans and ROME  
kfarnham

Presentation Blog

Posted by kfarnham Feb 1, 2006

The Java Desktop forums migrate

Do not panic if you don't see the forums on the front page for part of the day. We've needed to take them off the front page intermittently as we move the Java Desktop forums over to to the main java.net forums page.

But the upshot is that a wide variety of desktop-related discussions will be easier to find, and we'll be featuring them on the front page more often. The desktop realm is a lot bigger than a lot of people realize -- not just Swing and AWT, but Java2D, Java3D, JavaHelp, Web Start, JDIC, etc. -- and not necessarily just limited to the desktop. You could certainly use these API's to build a kiosk or set-top-box application, or use server-side Java2D as part of a web application (Joshua Marinacci did this a few years ago).


In today's Forums,rbair clarifies the situation Re: databinding tutorials? "This situation will change in the future, but first we need to have a final databinding API to write docs to. The best, most recent cut is on the binding branch of both the databinding.dev.java.net project and the swingx.dev.java.net project. However, it may see another revision before being declared as final. Hence, the current state of crappy documentation. The best Ihave to offer can be found here: www.jgui.com/databinding-demo.zip"

sse is looking for Java management of Office and OpenOffice components: "I tried to find libraries for Office document management (from java) and/or openOffice doc. I've come accross unfinished things, that really surprise me. I come from a small non-java framework and we had everything to manipulate COM objects. I find here opensource initiatives more or less active, more or less finished !! Is there existing support for manipulating COM objects from within Java env, and OpenOffice objects as well (more for linux platform in this case)."


Announced with a recent post in the Java Desktop forum, the Fuse project is a dependency-injection library meant for use in GUI development. This SwingLabs project introduces an @InjectedResource annotation to mark resources -- images, colors, fonts, file paths, etc. -- that are to be injected at runtime.

Also in Projects and Communities, the latest video Tech Talk from TheServerSide features Joe Walker on AJAX with DWR. The DWR project bills itself as "easy Ajax for Java", as it simplifies calling server-side Java code from JavaScript and "gets rid of almost all the boiler plate code between the web browser and your Java code."


Managing real-world Spring problems tops the In Also in Java Today section: "Spring beans, dependencies, and the services needed by beans are specified in configuration files, which are typically in an XML format. The XML configuration files, however, are verbose and unwieldy. They can become hard to read and manage when you are working on a large project where many Spring beans are defined." In Twelve Best Practices for Spring XML Configurations, Jason Zhicheng Li offers concrete steps you can take to rein in the chaos.

"The J2ME development world endeavors to keep up with the increasing capabilities in the electronic consumer device. Sun’s latest tool help for J2ME developers is the new version of the J2ME Wireless Toolkit (WTK), which has been renamed to the Java Wireless Toolkit." In Sun's New Wireless Toolkit Keeps Up with the Mobile Joneses, Jim White looks at the latest beta of WTK 2.3.


Doug Kohlert introduces Easier Web Service client development with JAX-WS in today's Weblogs: JAX-WS has simplified the development of Web Service clients when compared to JAX-RPC. Both technologies have a tool for importing a WSDL to generate client side artifacts. JAX-RPC's tool is wscompile, JAX-WS' tool is wsimport.

Filter Blog

By date: