May 2007 Archives

Shashank Tiwari

AddThis Social Bookmark Button

JSR 314 - JavaServerFaces 2.0 is in the JSR review ballot phase. Check out the details at http://jcp.org/en/jsr/detail?id=314. However, the news is not really that new as conversation about JSF 2.0 was initiated by Ed Burns quite a few months back. For those of you who read his blog, you would be familiar with the JSF 2.0 requirements scratchpad. More recently he summarized the discussions at the JSF EG kick off meeting during JavaOne. Its available online again at Ed’s blog.

All in all, the start looks very promising. By next year when the specification is ready for release we would see a lot of goodies in JSF, some of them being -
- better view decription technology - somewhat like facelets or maybe better.
- application modification and deployment at runtime
- tighter integration with Ajax. perhaps support for a small JavaScript library contract specification.
- better and maybe centralized error handling
- minimization of “xml hell”, use of annotations instead
- possibility of RESTful urls and use of GETs
- skinning and themeing
- reduction of effort required for creating custom components

More details can be obtained from the sources mentioned above.

So all this good. However, I thought it was perhaps also time when one needs to look at the following -
1. unification of the client-centric and server-centric UI models, especially when they pertain to the same programming language. There is no stopping somebody mashing up the JSF lifecycle with a Swing Client but it is ugly and non-standard. How about creating standard hooks?
2. merging managed beans jsr with this one. Somebody in the JCP needs to start merging the JSRs. Of late there is a proliferation of these and at the rate it is going I wouldn’t be surprised if somebody started a JSR to reduce JSRs
3. portal is passe, if not it surely will die sooner rather than later. The client centric webos/webdesktop is gathering momentum. How about jsf taking the lead to include portlets within the realm of components and containers.
4. jsf, like everything web development java on the server side is based on the servlet API, which itself needs some rehaul, considering that it is purely server centric and quite inadequate in a newly evolving peer-to-peer world. Shouldn’t servlets and jsf evolve concurrently so that we could avoid some retrofitting.
5. Last but not the least, what about applications without servers - which go under the name of mashups often. which java web technology is good for it?

AddThis Social Bookmark Button

How easy it was to get fairly complex server side validation working with Struts 2 by just using annotations. No XML whatsoever. Struts 2.0 comes with new set of Robust Validation Features. Most of the common Validation Activities related to a Web Application are taken care by the Framework itself which means that only less burden lies on the shoulders of a Developer. Shunmuga Raja writes about struts 2.0 validations here

Struts 2.0 Introduction and Validations using Annotations

Dejan Bosanac

AddThis Social Bookmark Button

If you ever tried to work with SSL Socket connections in Java, you probably know that Java, by default, supports its own JKS and PKCS12 certificate formats. For those who need to work with OpenSSL it is usually suggested to convert keys and certificates to PKCS12 and then import them in the keystore using the keytool command provided with the JDK.

While all this is not a big deal for most of the applications, there should be a better solution for projects that rely heavily on SSL. Not-yet-commons-ssl project, called liked this because it is still not the official Apache project, aims to simplify Java and SSL integration.

First of all, it supports OpenSSL and PKCS8 formats and provides handy classes for dealing with keys and certificates in that format (see PKCS8 examples).

Also, it provides mechanism for easy creation of SSL Sockets regardless of certificate format you are using (see examples). This mechanism also allows us to configure multiple ssl socket factories inside a single JVM.

Commons SSL is a really important toolkit for all that have above modest SSL requirements. The proper support from Apache and a better documentation could help this project become even more useful.

Tim O

AddThis Social Bookmark Button

First WYSIWYG JavaFX Tool

Think we have to wait a few years for good tool support in JavaFX? Think again, there’s a pretty capable tool from Reportmill Software. Reportmill released JFX Builder at the end of last week.

This week we started a new branch of our source, did some reading of the JavaFX materials, and started implementing a few customizations and extensions to support JavaFX. Posted here is our page layout application modified to generate a preview of basic illustrations with an integrated version of JavaFXPad.

I’ve taken it for a quick test drive and it is an impressive offering given that they’ve only had a few weeks to play around with the technology.

Nandini Ramani (Sun) clears up any confusion on the JavaFX user list

I would like to reiterate that it is perfectly fine to distribute your JavaFX applications, in fact we encourage it. I was just pointing out that it is not yet ready for commercial use. [Developers] are welcome to distribute their applications.

Unlike other proprietary companies, we at Sun really do believe in open source and community involvement. I am sorry we do not have a licensing model in place yet, but I assure you that we are working on it and I will keep you all posted as soon as we have one in place.

And, on the important question of what in JavaFX is going to be open sourced:

Q: Is the JavaFX Runtime the same thing as the JavaFX Script which is to be “open sourced” as per the FAQ?

Nandini R: Yes, it is and the runtime will be open sourced.

Alright, good to read the clarification that the runtime will be open sourced.

Dejan Bosanac

AddThis Social Bookmark Button

XStream 1.2.2 is released with JettisonMappedXmlDriver used for serialization and deserialization from JSON. It is the driver first presented in Java and JSON post. All modifications are submitted to Jettison and XStream projects respectfully and documented in an appropriate tutorial (http://xstream.codehaus.org/json-tutorial.html). From now on, XStream has a full support for JSON serialization. Enjoy.

Tim O

AddThis Social Bookmark Button

UPDATE (Memorial Day (US)): Nandini Ramani sent an update to the JavaFX Users group to clarify the licensing position. In this replyshe clears the air and states that Sun is actively encouraging distribution, read mroe on the update here.

Original Article Follows…

Wait a minute. There’s something wrong here, Sun isn’t even sure about the license for the JavaFX jars. This is definitely more fuel for the “JavaFX isn’t real” crowd. And, the only thing I’m taking away from this discussion is that it is illegal to do anything with JavaFX at the moment. That’s certainly what I take away from the user discussion. (Read the update this is no longer the case.)

Here is a message to users@openjfx.dev.java.net from Guillaume Pothier from May 22nd. The emphasis is mine, and it’s a question I’ve had myself…

Hi, I would like to know what is the current legal status of JavaFX.
In particular:
- Can I redistribute javafxrt.jar, Filters.jar and swing-layout.jar
with a GPL application? With a commercial application?

- Can I redistribute JavaFXPad?
- Can I distribute a modified version of JavaFXPad? Under which license?

Regards,
g

And the response from Nandini Ramani on users@openjfx.dev.java.net:

Guillaume,
The licensing terms for JavaFX are still under discussion. So, you
cannot redistribute JavaFXPad or any of the jars.
I will keep you posted
once we have something in place.

-Nandini

…you don’t introduce The Big Product at The Java Conference without figuring out what license the thing is going to be under. I’m trying to give this technology a chance, but this is insane. They’ve created this “open source community” which isn’t really open or transparent in the least sense of the word. The fact that Sun can’t just tell us what the licensing and redistribution terms for JavaFX are right off the bat should give us some pause.

Add to this the fact that all of the source code has the following header:

/*
* $Id$
*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/

Great, so what are those “license terms” again? I’m thinking GPLv2 + Classpath extension. Anyone else have any suggestions for Sun?

Shashank Tiwari

AddThis Social Bookmark Button

With Sun announcing JavaFX, Microsoft putting their strength behind Silverlight and Flex/Apollo going strong in the RIA space, the wars for UI domination has just begun. Perhaps I should say begun yet again! From Applets to *ServerPages to Ajax/RIA we have seen the user interface go through rapid evolution in the last 10 years or so. In the last couple of years the Ajax/RIA story has been the most prominent one and one technology that has suffered the most has been Java, with one and sundry blaming the poor interactivity of JSP, the complexity of JSF or the poor performance of the Applets. In fact there have been stories, articles and blogs about Hybridizing Java, about bringing in scripting languages into the JVM or about getting rid of our good old trusted friend altogether. However, with the introduction of JavaFX there is a completely new direction and a new set of questions. Is JavaFX a superior alternative to current Ajax/RIA technologies? Is it just a scripting face to the old options? Will it bring the desktop and web UI technologies closer? Will it address the next generation of UI requirements - video, svg, voice and more? Will it evolve rapidly with community participation, thus having implicit approval of the masses? Will it be Sun’s new recipe for success?

Tim O

AddThis Social Bookmark Button

Sun’s Bug Parade hasn’t changed in years. Just as Sun has moved away from Subversion to Mercurial for the JDK, it should be noted that Sun is not considering moving the BugParade to the existing customized Bugzilla that is a part of the java.net offering.

Read more, discussion from the openjdk mailing lists and a recommendation…

Chris Adamson

AddThis Social Bookmark Button

So, it’s been just over a week since my BoF on Java Media. But let’s start with some context about Desktop Java as a whole…

Mike Hendrickson

AddThis Social Bookmark Button

Boston Skyline-2

The first Ignite Boston will be on Thursday, May 31, from 6 to 10pm at Tommy Doyle’s in Harvard Square, Cambridge, MA. From 6-7pm, mingle and talk tech with your fellow FOOs, alpha geeks, and techies from the greater Boston area. Join a MAKE challenge team and participate in building bridges (how much weight can your bridge–made from less than 1K popsicle sticks–support?) After that, we’ll have a special keynote address from author Scott Berkun (The Myths of Innovation; The Art of Project Management) kicking off our Ignite night. Then, onto guest speakers who’ll catch you up on the cool, new, innovative stuff going on in technology today. Don’t blink or you’ll miss their lightning-fast, five-minute presentations. During intermissions, get a cold beer and chat with speakers, sponsors, and O’Reilly’s own editors. Join us Thursday, May 31, for a fun, energetic evening of talking, learning, making, collaborating (and drinking!).

Check out the events and activities of our Ignite events on the West Coast.

Presentation Guidelines

Ignite is a user-generated event. If you’re interested in speaking, then
submit a proposal for consideration.

Presentations must:

  • Be between 5 and 10 minutes
  • Be on an innovative topic (no sales pitches, please!)
  • Be viewable on a PC [a MacBook Pro with Powerpoint and Keynote, and PDF] with standard AV equipment


Technorati Tags: , ,

Shashank Tiwari

AddThis Social Bookmark Button

JavaOne 2007 was covered by bloggers (unofficial and official) on a day to day basis as the event was unfolding. Thus most readers already know of the event highlights and the key new new things to look out for. Also, some of you were present there (that’s how the numbers of 15,000+ participants was achieved) and had most of the information ahead of all the reporting. So what am I going to talk about here? Well ! as the topic suggests I am going to discuss about something I am choosing to call the “4Ps”. Without delay then let me introduce these 4Ps. Its Presentations, People, Participants and Paraphernalia.

So here we go….

Presentations

The big ideas - oops! I mean announcements :) were made in the general sessions. Of course! thats what general sessions are for! The first day started with Java technology saving the world and the keynotes (or general sessions) ended with the theme - “anything is possible with Java” (I don’t think Sun used this slogan but I guess that is what was implied). Doesn’t this sound familiar? I could almost feel the presence of the power and the faith.

Anyway, let us look at some of the technical presentations and the BOFs. Surely, we cannot discuss all of them. There were far too many of them - perhaps over a 100. (If anybody calculated the exact number of sessions then please do leave a comment behind on the same.)

1. F3 (Form Follows Function) reincarnated as JavaFX and was presented as the next savior of the mere mortal user interface arena. The camp was divided quickly, as with all things new and catchy, into two - the believers and the skeptics. The believers who turned into early evangelists quickly pronounced the alternative’s doom. The skeptics starting cursing Sun and its lame efforts. We have started seeing some viewpoints on this on our own site as well. In fact Tim took the effort to hack some code and put it up online. Thanks Tim.

Personally I think it is an interesting proposition and holds promise. What needs to be seen is how mature does it become quickly and how well is it adopted. I also think that the open sourcing of Java and the openjfx project in particular should add value in this area.

2. Java goes open source. Presentations on why and how and the future of this open sourcing did catch a lot of attention. It was old news but certainly still new enough for people to discuss and debate. The current issue of the LinuxJournal - free copies of which were being doled out at JavaOne - includes an interview with Simon Phipps and has an editorial analysis titled - “Is GPL Java Too Little, Too Late?”. The best thing about that editorial analysis is that the editor has decided not to miss the chance to proclaim that his predictions rarely go wrong and mentions that $5 Java hosting (like PHP) would be possible once Java is open source. Wondering who edits the editor’s work :)

3. Scripting and Java. Scripting is the flavor of the season and Java certainly wants to make friends with anything scripting. There is scripting on the server side - look up project phobos, support for dynamic languages (especially the talk of town Ruby and Groovy) - jsr 292, integration with PHP - Andy Gutmans of Zend had a good session this, inclusion of JavaScript for ajax and how can I forgot - scripting for UIs - JavaFX.

4. Talking about making friends, Java technologies have taken a step further with Microsoft - they have actually started dancing together. One of the sessions on Java and .Net interoparability was about taking the two to tango. Check out the project tango (WSIT).

5. Ajax is never enough. Ben Galbraith (and Dion Almaer) could well have asked for a $5 fee to attend the session and made enough money to buy themselves drinks for the rest of the year. The lines to the session twisted and turned a few times and then spilled over to the staircases. The interesting demos around inclusion of sound and typography were impressive.

6. JSF and JBoss Seam (in particular) created a lot of buzz in a show, that had a lot of client side eye-candy, and I thought that was commendable. Almost all JSF and Seam session were well attended and there were quite a few of those. The inclusion of ajax with jsf was certainly one of the areas developers were very attracted too. Not to forget the top selling book at the JavaOne bookstore was “Core Java Server Faces” by David Geary and Cay Horstmann. (Manning books on Groovy and GWT were in the second and third position as per the list through day 3.) The JBoss Seam book also featured in the top sellers list. (I think they had 15 in the list)

7. Java 3D and JOGL (Java Binding for Open GL) is growing up to become a serious choice for building really rich applications. Some of the demos were truly outstanding. Google for the “rotating globe with java 3d” and I can assure you that you will not be disappointed.

8. The grammarians. Joshua Bloch, Brian Goetz, Neal Gafter and Bill Pugh had some excellent sessions, as in the past, on the details of the language constructs. Most of the session were well attended and well received. However, I thought the session on testing concurrent applications did not have too many new ideas apart from the ones that many already know.

There were more presentation , especially the ones of NIO and the project grizzly, that may be worth talking about but I am going to stop here and pick the next topic - i.e. people.

People

Before I start talking about individuals let me mention that I am only going to say good things here and include those people who I thought were interesting in the context of JavaOne.

1. Romain Guy and Chet Hasse did not disappoint the participants when talking about - “filthy rich clients”. I understand the book by the same title is coming out later this year. I will surely like to get a copy of that one.

2. Joshua Bloch is by far my favorite Java grammarian. As always his Puzzlers were difficult, entertaining and educational.

3. Joshua Marinacci and Robert Cooper of the Glossitope team had a very nice BOF about their project. Yahoo widgets and Google Gadgets have created excitement in the adoption of widgets on the desktop. This project provides the infrastructure to build such desklets with java.

4. Andi Gutmens of Zend showed a lot of patience while presenting. There was for some reason blaring music in the background (from one of the adjacent rooms) that was overwhelming and his co-presenter from BEA (who later mentioned he was sick) was barely audible even with the microphone.

5. Mathew Bohm (who was a co-presenter with Craig McClanahan) at some time during his demo actually started dancing and jiving to the music, that played with the demo. It was quite something :) I havn’t seen presenters do this in conferences. The best part was that it didn’t seem that odd either.

Ok time to move on to the next topic - i.e. Participants

Participants

1. A lot of people from outside the United States showed up. Nothing unusual but always reassuring that JavaOne is indeed a big event that the world of Java cares for.

2. I think the free t-shirts at the booths were by far the biggest favorites. The Eclipse folks had a little treasure hunt to get a certain number of stamps from the Eclipse Foundation members to get a free t-shirt or a hat. You could suddenly see a lot of java developers of all types lining up at the otherwise fairly sparse SAP booth. I guess it pays to be an Eclipse Foundation member :)

3. IBM stands a chance against Starbucks. In its commitment to Java they took another great step at JavaOne - doled out free coffee to participants who could wait in lines to get it. A lot of participants did show interest.

4. Lines, lines and more lines. Thats what happens when you have so many turn up. The participants waited in lines to get into the sessions, get lunch, get drinks or the free t-shirts. However, the conference was very well organized and kudos to the patience of all the participants.

we finally come to the last of the four topics - Paraphernalia

Paraphernalia

1. The day 2 evening was the party day. There were parties organized by Adobe, JBoss, Google, IBM and some others. Plenty of drinks and good time to catch up with friends and folks. The lasting effect was the sparse attendance in the day 3 morning general session.

2. The after dark on the 3rd day was a random bag of entertainment programs. It included the grinder as a performer as well. The event just reconfirmed that technology in general and application development with Java technology in particular is a man’s world. Not to forget the battle bots champion was a bot named “subzero”.

Guess that may be all, as a quick summary of JavaOne 2007. Folks chime in if I missed something.

Tim O

AddThis Social Bookmark Button

Those of you familiar with Swing may have noticed an error in the last post. This is a correction to First Steps “Hello OnJava”.

On the JavaFX users mailing list Dean Iverson pointed out that the intermittent exceptions at startup where most likely due to the fact that I wasn’t using SwingUtilities.invokeLater(). Here’s the text of his reply:

When I see intermittent exceptions at startup, the first thing I think of is manipulating components off of the EDT. I see from your code that you are creating your frame, running your script, and setting the frame visible from the app’s main thread. The first thing I would try is to wrap that stuff in a Runnable and use SwingUtils.invokeLater.

Right, right, it’s been so long since I’ve picked up Swing I forgot about this. But, this makes perfect sense, part of the promise of JavaFX is that it is going to convince programmers like myself to reconsider Java GUI programming. Hopefully following the series will help others in the same situation.

Read more to see the modified Main.java from the previous post…

Tim O

AddThis Social Bookmark Button

This entry is just an attempt to start rolling something useful with JavaFX. I wanted to create a simple list of the most recent blog entries on OnJava using JavaFX. Starting simple, I wrote a very simple JavaFX application that parses the OnJava ATOM feed and just draws an array JavaFX Script Groups containing a Rect an two Text nodes.

Impressions after a few days

Pay attention to this technology. It’s at a very early stage, but, from what I see if could become very useful, very quickly with some minor improvements. It is very easy to dismiss JavaFX as hype, or to say that Sun will never compete with Adobe’s Flex, but I’m less interested in the horse race and more interested in the technology. While there are a few people out there blogging about initial experiences with JavaFX coding, the vast majority of commentary on JavaFX is being written by developers who haven’t bothered to use it. I’m not going to render judgement on this technology for another few weeks. In the meantime, I’m going to get involved, get my hands on the technology and use it.

  • A little buggy? Anyone else having issues running a JavaFX script via the ScriptEngine? I’m getting concurrent modification exceptions every other time I try to run this application from NetBeans 6. Either I’m doing something terribly wrong or the JavaFX runtime is an early stage alpha. Update: JavaFX isn’t buggy as I had previously suggested. Any exceptions that were being thrown were a problem in my Main class. I was trying to execute the FX script in the EDT. For an update to this post, read Correcting a Swing Mistake.
  • Not nearly as capable as Adobe Flex, but I can see the potential for easier integration with existing Java libraries.
First, a Disclaimer

JavaFX is so new there’s little documentation. (Actually that’s not fair, there’s a good deal of reference and some tutorials, but there is very little “here’s how you do X” documentation yet.) I’ve assembled a sample JavaFX application that includes a JavaFX component as a JComponent in a Swing application, but don’t view this application as a blueprint for your own application. There’s a good reason this isn’t an article - it is not a tutorial but my attempt to capture the first few hours of my experience with the technology. (Read: experimental)

Now on to the code…

AddThis Social Bookmark Button

An interceptor can be used to intercept the existing business functionality to provide extensible or add-on features. They provide pluggable architecture and are generally callback methods that will be called by the framework in response to a particular set of events/actions if properly registered and configured. They follow the standard Interceptor pattern and they have various advantages in an application design. They can be used to monitor the various parts of the input that are passed to an application to validate them. They even have the capability to overwrite the core functional logic of the module.

A Hibernate application can be structured in a way such that certain methods can be make to be invoked when a particular life-cycle event occurs. Not always the API in a software/product will completely satisfy the application needs and requirements. Hibernate is no more away from this. Therefore, Hibernate API is designed in such a way to provide pluggable framework through the notion of Interceptors.

As we can see, the maintenance of this logging information should happen whenever when an insert/update goes to the Database. Such a logger interceptor can be easily plugged into the application with minimal code change because of the flexible design of Hibernate. Shunmuga Raja writes about Inteceptors in Hibernate here.

Interceptors in Hibernate.
Introduction to Java Server Faces

Robert Cooper

AddThis Social Bookmark Button

To provide a little counterpoint to Tim’s post on JavaFX Script (Formerly F3), I still am not too excited.

JFX/F3 is pretty cool. It is something the Java world has needed for a long time. However, I am just not sure the whole JavaFX™ branding effort is really warranted here. While F3 is a great start, it doesn’t put Java(FX) anywhere in the neighborhood of Flex. First, while F3 is cool, there is still a great deal of engineering work left to be done. There isn’t a compiler. There isn’t a really application framework for it — though this seems to be a shortcoming of the UI guys in the Java world; how long did we wait for JSR-295..6? Most importantly, though, there is no tooling.

Flash hasn’t kicked Java’s butt for so long because it is sooo technically superior. Indeed, until just recently the Flash runtime itself was horrible, and it still has a long way to go, especially being sold as a real application runtime in Apollo. The reason Macromedia/Adobe have done so well is tooling, and there isn’t even the beginnings of this for Java FX. Until JavaFX has a tool that a graphic designer can use with somewhere approaching the fit and finish of the Adobe product suite, it just doesn’t matter. It won’t go anywhere.

The second big problem with offering up JavaFX as the savior of Java in the RIA space is the quality of the Java runtime. I know a lot of people talk about the DL size, and startup times. These are valid concerns. Until LiveConnect works right in every browser, it just doesn’t matter if there is an awesome declarative markup language on top of it. One of the more impressive tech demos this year is Iris, and while it works and looks cool, those guys did a yeoman’s job working around the problems with making Java talk to anything else in the browser. While it is still a relatively new thing, Flash’s ExternalInterface system introduced with Flash 8 works…. right… the same… in all 4 major browser engines.

I don’t mean to downplay what Oliver has built. I know he has spent about 3 years working on this, and it is a really great DSL for UIs. The problem is, that DSL doesn’t make a “platform” and certainly not an “environment”. The whole JavaFX hypecycle seems like it came a year early. If Sun manages to break the habit of hyping somethign then walking away from it, buckles down with some resources, and delivers a great tooling option for JFX, JavaOne 2008 might be something to get excited about.

Tim O

AddThis Social Bookmark Button

From Simon Phipps’ Liberating Java Talk:

“Apache Software Foundation has told me that they have looked back in the ten year industry and they haven’t seen any example of someone forking an Apache codebase and keeping going with it as a fork of the apache codebase without contributing code back in the end. Everyone either gives up or gives back, there isn’t a third way.”

Phipps has perfected the pitch for open source. You can tell he’s had to explain open source to a zillion executive types who have no idea what he is talking about. Here are some good quotes:

“…with more and more people deploying the software, improving it,developing it, fixing bugs in it, and ultmi contributing to the comm. Not because they want to give way stuff but because contributing back reduces your cost and allows you to benefit from the network effects of the community.”

More on the true cost savings of open source:

“It’s not about getting free stuff, it’s about getting control over what you pay for. That is what is really key for end-users about open source software. And, if you hear a CIO talking about thinking about how they are going to reduce their cost by not having to pay for software licenses anymore they are thinking wrong. Open source is about getting control over what you do pay for, what you hire for, and what you don’t pay for. And, that is a sustainable way of keeping costs under control as you are deploying software.”

On open source and the rapidly growing Asian markets…

“In China, four years ago, the Chinese economy was using 95 plus percent foreign source software. Last year the Chinese government was using 70% open source software. There is a profound transition happening in Asia in the rapidly developing economies that is using open source as a power house. And if we want to do business in those new markets…open source is just a basic hygenie factor, and you better have an answer ready when they ask. …In 2007, we’re in a world where open source style licensing in now a prerequisite for your presence in an environment. And that means that the time is now right for the Java platform to become free software. ”

On selecting the GPL…

“Using the GPLv2 was a controversial choice when we made that decision. The reason we used GPLv2 was primarily because that meant we could distribute on GNU/linux. That was the number one reason for using GPLv2. There were some other reasons for using GPLv2. One of the reasons for using GPLv2 is that it discourages people from creating proprietary forks. It does that by forcing forking behavior to be done in public. By bringing transparency and daylight into attempts to create a fork of the platform.”

Tim O

AddThis Social Bookmark Button

Date / Time API - JSR-310 - JODA

Stephen Colbourne and Michael Nascimento Santos’ Date Time API BOF was interesting for a few reasons. The number of people attending was impressive given the late 9:30 PM start… even more surprising was the intense discussion and level of interest. Stephen had to stay 45 minutes past the 10:45 PM session close to answer questions and listen to feedback about JODA - he showed some proposed Date Time APIs.

I hope JSR-310 is heavily influenced by JODA. JODA has a richer set of Date/Time concepts which are noticeably absent from the core Java platform. (Translation: I hope that JODA emerges from the JCP process relatively unmolested by the expert group.)

Struts 2

Ran into a number of people yesterday, Don Brown recently moved to Australia to work for Atlassian, and Ian Roughley. Discussed the Struts 2 / WebWork merger. (Just in case you missed it, Don wrote a History of Struts 2 last October.) Was checking out the Struts 2 site this morning, noticed the Plugin Registry.

Let’s hope the plugin registry takes off and is managed well….to me, the big draw of Ruby on Rails is the fact that I can talk to Michael Kovacs one day, learn about his sortable table plugin, and then rip it into my Rails application in two minutes. I don’t see any Java framework out there that leverages decentralized innovation in the way Rails has. (Did I really just type the word “leverage”? Did I just string together the words “leverages decentralized innovation”? I’m terribly sorry.)

Rife

I was able to meet a sizable portion of my RSS feeds at the ThirstyBear. Spoke to Geert Bevin about RIFE. Feels like everybody I speak to is interested in RIFE, but they’ve never taken the time to learn it. I feel like RIFE has been on my list for about two years, time to bump it up to the top of my queue and actually use it.

Shashank Tiwari

AddThis Social Bookmark Button

The BOF at Javaone titled “Meet the Java Posse” has so far been the most exciting and entertaining BOF session. The Java Posse folks have developed the brilliant habit of providing exhaustive information while keeping the humor going! If anybody has not heard them yet I think they need to tune in asap to their podcasts at www.javaposse.com. They know about all the jsr(s) and the version numbers of all Oracle products accurate to the sixth place of decimal :)

Robert Cooper

AddThis Social Bookmark Button

Person: “Wow! That is a really great toy!”

Vendor: “It isn’t a toy. It is completely programmable.”

Person: “It is a completely programmable toy.”

Tim O

AddThis Social Bookmark Button

Just got out of the JavaFX presentation by Chris Oliver. I entered the room somewhat skeptical of JavaFX as a viable product. IMO, Adobe Flex has the momentum, Microsoft has entered the market with Silverlight, and here’s Sun coming along in lagging the market with no tool support. I can’t say I’m entirely bought over, but JavaFX as a technology is incredibly compelling.

First, some personal observations about Chris Oliver - he’s soft spoken, not the best presenter in the world compared to some of the seasoned media veterans you see in the general sessions, but this is all very refreshing. At a conference like this, you get tired of the song and dance, the slick haired tech executive who hasn’t seen an IDE in a few years talking about ROI and TCO. Chris Oliver is close to the code, extremely opinionated, and impatient. He’s a developer. He looks the part.

Second, he had a Neo moment - “This is the matrix.” So he starts showing us some slides, he gets to slide four - an example of a bad Java swing application - a PDF reader. He explains that Swing applications all look bad because they are Swing, etc. etc. We’re all expecting the next slide to be an example of a slick looking JavaFX application, and he blew everyone’s mind by saying, “Now for the Flex application……you are looking at it” So, he proceeded to show us this slick looking JavaFX application, zoom animations, a fancy animated view of pages ala itunes albums. I mean it was impressive, and I’m a skeptic.

Another great thing about Oliver, he’s opinionated, that’s a good thing. He refused to answer questions that weren’t up to his standards. I like that.

Interesting Rails Applications::Sortable Table Plugin

Side note, tried to spend as little time in the press area as possible, the action is out in the sessions and the Pavillions. This evening, I decided to write this blog entry from the press room, ran into Michael Kovacs who showed me a demo of Pitchwire.com. Pitchwire, implemented in Ruby on Rails, is an interesting application targeted publicists and influencers and journalists. He showed me some of the code and a interesting Rails plugin Sortable Table Plug-in. Who would have thought that I’d find a relevant Ruby on Rails plug-in in the press room of JavaOne.

Tim O

AddThis Social Bookmark Button

JUG Summit

I’m sitting in the Java.net booth just trying to assemble some quotes from yesterday’s events. As I’m writing this, there is a summit of JUG leaders:Kevin Nilson, Michael Van Riper with the Silicon Valley JUG, Thibaut Regnier Club-Java (French JUG), Roman Strobl leader of the Czech JUG. Manfred Riem and Chris Maki from the Utah JUG. These people all seem really passionate and focused on cultivating user communities. I’m also struck by how global the JUG community is.

Michael wanted me to let Bay Area Java programmers know of the “JavaOne Retrospective by the Java Posse” on Tuesday, May 15th in Mountain View. Java Posse is going to record their weekly podcast before a live audience, primary topic will be JavaOne. Find out more @ Bay Area JUG

J2ME Cell Phone Benchmarks

Thibaut Regnier took some time to show me TastePhone - a midlet which acts as a benchmark for different mobile platforms. If you are interested in comparing the speeds of various handsets, this is the place to look. Currently the reigning champion is the Orange SPV2000, if you are interested in the full list, take a look at the leaderboard. The leaderboard was implemented in JSF version 1.0.

Interesting Quotes from Yesterday’s Press Briefing: Schwartz

In response to a question about Apache Harmony:

Schwartz: “There is nothing at all right now stopping Apache from shipping Harmony. Nothing, they are free to do so, the code is available they can distribute it wherever and whenever they want…We’re very, very, very focused right now on the GPL community. And, for a very good reason, across the world we’ve seen an overwhelming endorsement and an embrace from the governments, academic institutions, the developer community, the Linux community. And, we’re, in time, going to do whatever we can to embrace the broadest community possible. But, frankly, you know our objectives right now are to make sure that the code is available everyone can do with it what they see fit. We can get back to pursuing the objectives we defined which to make it the broadest and more affordable and accessible platform out there. And frankly with what we announced today I feel pretty good that we’re making a lot of progress.”

In response to a question about JavaFX and JavaFX Tools. Whether Sun was planning on charging for FX tools.

Schwartz: “The world is divided into two camps, those who can and will pay for technology because its expense is less than the inconvenience of not having a support contract and those who cannot and will not pay for software for whatever reason, economically, culturally or the business just doesn’t need it. Our economic motives are to go after the former camp, our technology objectives are to go after the latter camp. Because almost by definition given what Dr. Diallo(sp?) just said, they out number the former camp 50,000 to 1. So volume defines market opportunities for everybody, you need only look at the internet to have that proven to you. It’s up to us to figure out how to monetize those volume opportunities in and among the communities that are capable and interested in doing so.”

AddThis Social Bookmark Button

“Internetnews is reporting on Sun’s introduction of JavaFX at JavaOne today. Looks like a combination Applet, Flash, Javascript, and AJAX with a friendly programming interface. Does this really spell the end of AJAX? I sincerely hope so. Nothing built on Javascript will ever achieve the security, cross-platform reliability, and programmatic friendliness that Web 2.0 needs. Proprietary solutions and vendor lock-in are also dead ends. JavaFX has the potential to satisfy this opportunity even better than did Java over a decade ago. Along with AJAX, let’s hope JavaFX also puts paid to Microsoft’s viral Active-X and JScript, and, more importantly, that it really is a web scripting language that developers can grok.”
http://www.internetnews.com/dev-news/article.php/3676226
EJB 3.0 Articles
Integrating Struts With Spring

Tim O

AddThis Social Bookmark Button

Marc Hadley, Paul Sandoz, and Roderico Cruz gave a presentation on Sun’s JSR 311 initiative (JAX-RS). Despite my habit of ignoring every technology that has an acronym starting with JAX, I attended to see if this was anything to pay attention to. First off, I thought that Paul and Marc gave a great presentation, the API is interesting, but it does look like it needs to polishing - the Expert Committee was formed only six weeks ago. Quick summary is that the API drops reliance on an API in favor of using annotations to define the URI patterns and parameter bindings for a REST service.

The demo was painful. First it was all focused on NetBeans and, second, it was a dreadfully conceived application. All I can remember are the phrases “right-click in NetBeans” and “have NetBeans generate a Google Map Resource”. It didn’t help that before the demo either Marc or Paul set it up as a demo that would rival the initial setup and ease of Ruby on Rails (it didn’t). Instead it was a lot of GUI clicking to produce something that was more of a distraction to the REST API being discussed.

Strange questions about whether or not the REST API would support attachments or if there was a way to have a transaction span multiple requests. More people need to read Roy Fielding’s thesis. Even after sitting through the presentation, I think that people still didn’t get the whole REST != SOAP idea.

Tim O

AddThis Social Bookmark Button

Sat through Simon Phipp’s presentation on “Liberating Java”, it is very interesting to see Sun trying to market Open Source to conference attendees. Some observations, while the world has started to embrace open source, they might not really understand the motivations and benefits of Open Source. Phipps makes a very good case for open source in general and makes sure to emphasize that the key aspect of open source isn’t “free software” it is participation - the “virtuous cycle”. I’ll try to transcribe some of that recording later on…

He also makes the point that the embrace of open source is essential if Sun is going to compete in the Asian markets. I forget the exact statistic he referenced, but China in particular has embraced open source. Other interesting quotes, in Brazil using open source software is a matter of sovereignty.

Ray (?) stood up at the end of the session to answer a question about getting rid of the encumbered code in JSE. HIs answer was, essentially, well why don’t you help us?

The Crowds

Listen, the lines, the crowds. They are ridiculous. when I’m standing in some of these crowds, I’m half expecting a riot. After the Phipps presentation the waiting area for the Esplanade was a claustrophic nightmare. I guess this is a good sign - listen, despite the protest of sheik 26 yr old danes who’ve created ruby scripting frameworks….

Java is huge and here to stay.

Where’s JRuby? Where’s lunch? Ooops. I missed it.

Tim O

AddThis Social Bookmark Button

http://twitter.com/tobrien - twittering the conference

Everyone I speak to describes the same love/hate relationship with Maven. They use Maven for builds, it tends to work well when it works, but then *crashbang* when it sucks it sucks. I’m not making this up, everyone I speak to professes some frustration with Maven.

FX impressive, but I’m still on the fence

Disclaimer: I like and use Flex. Been using it with Rails applications, it has some limitations. Adobe
(Macromedia) never really got the programming side of Flash right (see Flash 8 IDE) and try writing anything of sufficient complexity to require more than 100 lines of Actionscript. It gets difficult fast.

I’m not ruling out a victory for Sun in the rich client space, and I’m sure Chris Adamson is happy that Sun is refreshing Java on the client-side. But, it is a busy space. I just sat through another FX presentation and, I’ll have to say it’s impressive the stuff that Sun (Chris Oliver) has implemented. Some of the applications are very interactive. Evidently you can download JavaFX now and start using an IDE called FX Pad, check it out.

Me == Hoping that Sun succeeds in this space.

I’m off to a session on Open Sourcing Sun.

No Harmony for Harmony

Quote from Schwartz this morning: “Right now there is nothing preventing Apache from shipping Harmony.” (from the press briefing) And in other news, Geir M. is handing out CDs with Eclipse and Harmony in the pavillion and is draped in the Brazillian flag.

Tim O

AddThis Social Bookmark Button

I’m twittering the conference (that’s ridiculous!): http://www.twitter.com/tobrien - but, be warned, I still think twitter is a little silly.

Just got out of the press briefing, sat next to two other contributors to O’Reilly Network. David Bock of O’Reilly and Steve Anglin of APress. Fun stuff, you know, sitting there watching two executives and the guest from the UN discuss Java it was interesting, but the questions were pointed. Two key facts about FX that I picked up on:

  • FX Script is a rebranding of Chris Oliver’s F3
  • Sun is trying to target graphic designers
  • As for the mobile product, they have no OEMs or Carriers
  • They are going to license a binary to carriers to avoid compatibility issues

My initial impression: this seems a little rushed. Oliver’s stuff looks very interesting, but to say this competes with Flex, Apollo, and Silverlight is jumping the gun. What makes Adobe so successful here is the presence of great tools - both Flash for graphic designers and Flex for programmers. Advantage Adobe. I wanted to ask when they were going to start marketing to graphics designers, but I didn’t get a chance.

It is about people

Several times Schwartz corrected himself - we are not developers and users we are PEOPLE.

Taking the temperature….Problems printing….

They have all of these kiosks set up for people to print out schedules, but people keep on having problems printing. And, laughably, there are Ricoh engineers manning each printer making sure that the printers print. I’m standing next to one know who appears to be helping someone remotely debug some servlet that is responsible for printing……..at the same time, there is a huge queue and someone is yelling at people about perforated lunch tickets.

Mike Hendrickson

AddThis Social Bookmark Button

So we all know that both Ajax and Adobe’s Flash/Appolo have been getting lots of attention in the web development space. The following trend line shows how many developers are buying books on Rich Web Interface programming topics. As you can see the trend is growing steadily upward, so the attention is well deserved. The timeframe is October 2005 through April 2007. Now SilverLight has burst on to the scene from Microsoft. Seems like everyone wants in the RIA space.

richInterfaces.jpg

Another familiar player is just about the jump into the space with a highly promising new approach to RIA development. You have probably heard rumors about Sun Microsystems’s releasing Java FX. Java FX is a new extension to the Java platform that gives developers a consistent experience for building rich web/desktop apps all the way down to to handheld device applications. Interactivity, animation and ease of use that rivals Ajax, Flash and Silverlight, are the features that Java FX deploys on the Java runtimes already installed on you local client. On the surface, it sounds more elegant and efficient.

But what is Java FX. It’s going to be a product family with Java FX Script being the tool for creating content for Web and Web 2.0-oriented applications.

FX Script is designed for content authoring of Web and network-facing applications. You will be able to access and use all your Java SE/ME applications and libraries. No need to kludge some bridge to your libraries, Java FX will handle that for you. There are features that make it more safe as well. Not having to rely on a constant connection, like Javascript in the Ajax model, Java FX will need only one new library to be installed along with the standard SE or ME runtime. Should be safe, should be slick. By having locally installed SE/ME files working with Java FX you could take your nifty Google apps offline and work on them. How nice would it be to see your Google Calendar offline?

So Sun’s Write Once, Run Anywhere could actually start to happen. We know that Java runs in both IE and Firefox, and that with ME you can get Java onto hardware devices like phones and PDAs.

Java FX’s promise: Create highly interactive and animated content running on computers, digital TVs, regular TVs and mobile devices, and have your content look the same across all platforms and behave the same way.

What do you think? Same old promise from Sun? Will Sun Legal cramp another promising technology with some arcane license or requirement on how you should document and write about it? Or, is this the real deal?

Tim O

AddThis Social Bookmark Button

JavaOne is likely the single largest developer-focused conference that exists, and it is conference week once again. I’ll be in San Francisco for three days this week tracking people down and asking your questions. Here are some of my own:

  • How is Sun doing under the leadership of Schwartz? Are the economics of Sun improving?
  • Last year, Sun tried to emphasize participation in the JCP? Did that emphasis pay off?
  • What does the GPL really mean for Java?
  • Obligatory questions about Apache Harmony and the TCK license.
  • What is this “Project Flair”? Supposedly it is Sun’s answer to Silverlight and Apollo? Is it hype or substance? Is there anything interesting behind F3?
  • Lastly, this is the first year I’m actually going to give NetBeans and Glassfish a chance.

Please take some time to list your questions for this years JavaOne, and I’ll do my best to track down some answers. Stay tuned to the O’Reilly Network and to java.net for ongoing coverage.

Disclaimer: I’m going to delete long comments (more than a paragraph or two). Not looking for essays in the comment threads.

Shashank Tiwari

AddThis Social Bookmark Button