Skip navigation

My goodness it's late. JavaOne will do that to you. I can't let a conference day pass without writing at least something of the day.

Here's a testamonial to the power of having a large part of the Java community present at JavaOne. At Java Licensee Day I sat on a panel to be grilled by the licensees and Barry Coleman from ATG mentioned that payroll processing company ADP is using JSF for at least some of their revenue generating apps. Apparently ATG uses ADP for their payroll processing. Anyhow, I thought that was great and when someone (Doug) asked me about commercial JSF deployments at the smackdown today, I mentioned that ADP was a big commmercial user. It just so happens that one of the people that worked on it, Jon Cochran, was in the audience and introduced himself to me after the talk. Very cool!

Regarding the smackdown in general. First I want to say thanks to Kevin Osborn for moderating and to Jim Driscoll for recommending him. My main goal for this session was to entertain the audience and Kevin really made the session very fun. Also thanks to the panelists for being such good sports and playing along. I hope it was informative for people. I'd love to hear comments. I think it turned out pretty well, everyone defended their turf nicely, but I thought JSF came out on top (DING!) Seriously, though it was great to share with the audience some insight into the differences between the frameworks.

  Technorati Tags: edburns

You can see my trend line for blog entries is going down. No excuses. Here is a summary post of the rest of day two at JavaOne 2005. This was the most interesting day for me, with many Faces talks and meetings planned.

The morning was packed. After the Amazon talk, I went straight to the Wicket talk, where I ran into Howard. Here are the quick notes from Wicket.

Miko talks about meeting Jon Locke.

Wicket, why its cool.

Talked about how many web frameworks there are.

What to look for in a framework. Emphasizes fun, POJO centric, reuse, non-intrusive, safe, scalable, complete.

Sitting at this talk, I get the feeling there are two camps of web frameworks: 1: non-big-corporate, open source, but benign despot technologies, 2: big-corporate non-open-source, standard based community developed ones. Even though JSF is very open, I feel people still see it as closed. Not true!

Demos: I18N, sortable tables, hello world.

Show the RAW HTML. Uses span with an id to hook up an HTML element to a component. There is a heursitic that discovers the java class behind a page.

Need to declare and map the WicketServlet.

Is there an EL? Is there something like a managed-bean framework? Pluggable rendering? Conversion? Portlet? Integration wit Struts? Database integration?


Portals? Not yet. State management always in session (no client option) Eelco says they're working with JetSpeed.

Faces has external navigation. Wicket does not.

Martijn makes a bold statement that Wicket will blow Faces out of the sky for AJAX support. We'll see Martijn! Competition is good!

Debugging? No, but they have the IDE.

After Wicket, Howard and I went tried to grab a quick lunch but ended up chatting for a while about the difference between conferences like JavaOne and conferences like NoFluffJustStuff as analogous to the differences between big-corporate and non-big-corporate frameworks. Howard shared an analogy to the analogy regarding chaos theory. In the Mandlebrot set, all the interesting stuff happens at the interface between the really chaotic parts of the system, and the really stable parts of the system. That's where the fractal dragon appears. I like Howard, he's very agreeable, practical, and fun to hang out with.

After the unexpectedly long, and expectedly not so tasty lunch I was torn between Greg Murray and Tor Norbye's AJAX and Faces talk, and the FedEx Struts to Faces talk. Since I know Greg and Tor and actually contributed to some of the code they were using, I decided to go to the FedEx talk. I'm glad I did. The Yerba Buena theatre was packed. I think it's bigger than the Esplanade room. At today's morning keynote, John Gage mentioned some stats about the most attended session on Monday. I wonder which one it will be today? Kevin Hinners from FedEx laid out three strategies for migrating from Struts to Faces.

  1. Containment: Keep the Faces part of the app separate from the Struts part.

  2. Rewrite: obvious.

  3. Integration: using the Struts-Faces integration library.

The most important thing about this talk for me was to see Faces adoption inside large enterprises like FedEx. After the FedEx talk, I had some time to kill so I prepared for tomorrow's Web Framework Smackdown. I collected a list of features that web frameworks have that I eventualy want to compile into a tabular format for comparison with the frameworks on the panel.

Next up was the Portal Panel Discussion. I thought it would be important for me to be there, but it turned out to be a bit of a vendor pitch. The bright side was that I got some ideas on how Idon't want the smackdown to be. This one was boring! I fell asleep. For the smackdown, I want to keep it lively and fun. I hope we succeed.

To that end, we had the technical rehearsal for the panel discussion tonight, followed by an intimate beer and pizza session in one of the meeting rooms where the panelists and moderator got to know each other and practice responses to questions. At TSSJS, Floyd told me that panel discussions work better when the participants know eachother, and there are limited surprises. Or, if there are surprises, they're not "total" surprises. The funniest thing about this little meeting was how I had to use Jason's marketing schwag carabiner as a bottle opener. Not an easy task! David Geary said, "I guess that's why you were the spec lead!". I felt some tension between the panelists, which is remarkable, really. I mean, we're all trying to solve the same problem, but there is indeed a real sense of rivalry. We'll see if it comes through for the audience tomorrow.

Next up was the Web Tier State of the Union BOF. This was the start of this years night of a thousand web-tier bofs. Not as well attended as I would have liked, but Adam Winer suggested we should have named it the AJAX web tier state of the union and then people would have shown up. Thanks to everyone who attended and asked questions!

After that I stayed through Ben and Dion's AJAX BOF, which was indeed well atended. Those two are fun speakrs, Ben especially. I learned later that Ben is John Kenneth Galbraith's cousin.

Once again, I'm bushed and up too late.

  Technorati Tags: edburns

Amazon notes

Very similar to eBay's talk yesterday. You can join an amazon associate program and get money based on sales you send to Amazon. It would be interesting to compare the richness of the APIs at eBay and Amazon.

80% of their WS calls are REST, 20% SOAP.

These two talks make it clear that Web Services have passed the tipping point for adoption. Good thing there is such good support for it in Java.

Nifty demo app showing product search using their APIs. Hivezone Educational site to learn the APIs. Generates Java code to do the web service. I wonder of eBay has something like it?

Amazon queue service. A hosted queue data structure. This is the first instance I've seen of an internet hosted public data structure.

Alexa is a web crawl company owned by Amazon. Their 300 TB of crawl data is accessible using their WS APIs. Contact info, site speed, ranking, adult content flag, links. Good example of use of Alexa data.

Business Opportunities. Amazon Associates, Marketplace seller, software developer: way to tell the amazon value of a book. Amazon Products Feed.

Summary: amazon offers three web services. They're easy to use from Java, you can get started today.

The takeaway for me from this and the ebay talk is there are lots of ways to make money with a little bit of innovation. We have amazon, eBay, and paypal that have web service APIs from which you can make real money. What others are out there?

  Technorati Tags: edburns

John Gage mentions that all the badges are RFID tagged. Talked about some of the things that can be done with this data. Who went to the most sessions? What session had the most attendees?

Talked about SeeBeyond acquisition, which just transacted this morning. SeeBeyond is an integration company. Competes with TIBCO. I think this buy does give Sun a competitive position in integration for SOA.

More content about how far Java has come.

Touts the success of JCP. 912 members. Do people agree that JCP works? Being a spec lead myself, I think it does, and is getting better.

Java Card. Olivier Piou, Axalto.

Sharing. It would be interesting to measure the amount of wealth created by Sun vs other companies. Industries and markets created. Touts the sharing successes of Sun. Help drive TCP/IP adoption against Microsoft Lan Manager. NFS. Claiming JCP's responsibility for success of spread of Java.

Talks about the digital divide. I hope he explains why eliminating the digital divide makes money for Sun? Bono and UN held up as examples of the power of sharing.

Dimensions of digital divide. Healthcare. Slide showing labyrinth of nodes to get healthcare. Barriers in healthcare: rising costs, healthcare dollars wasted, shortage of providers. Then shows a slide cleaning up the labyrinth with NHIN.

Brazil video. Every Brazillian has full health care. Held up as an example of the benefits of a national ID system. They said very little about security and privacy aspects.

Fabiane Nardon CTO Brazillian National Health Care System. Makes the case for the real world benefits of the system.

Next dimension: Education. Another labyrinth slide. Teacher education, access to best content, technology obselence, broken funding model. "Not sure we need campuses other than for parents to get the kids out of the house when they're 17 or 18." But to his credit, he does mention the benefits of socialization of a real campus. Glad to see it. JEDI: Java Education and Development Initiative. Global Education Learning Community (GELC). A community. Open source curriculum. Using Java Community Process to develop text books. A great idea. Then mentions the student developer community.

Sharing through ART. Go bid on Java ART. Raise money for the East Palo Alto Education charity.

Duke's choice award.

  Technorati Tags: edburns

Show how to use Ebay to make money for yourself.

Ebay opportunity: more efficient way to buy/sell. Obvious value proposition you already know about.

Emphasis on making money makes it feel a bit like an amway pitch, but in the end they did show some code and how to use their APIs.

Ebay developers are a massive driver of innovation.

  • selling apps

  • category specific apps

    Motors, boating, trade-in

  • buying apps

    Bonfire media: notifications, alarms, wireless comparison shopping, buyout: cable system ebay tie-in.

  • affiliate apps.

    Didn't say much, but there was an apple logo

15 billion web services calls a year. A fun stat.

Ebay web services: started XML, SOAP, REST (just for get search results). SDK for windows and Java.

Resources: Forums:


Ebay community codebase: Place where eBay dev community can work together on software projects or contribute ccode. Projects released on an open source license.

Ebay will pay you for new users and bids. Sign up to be affiliate API tier member.

How it works: use the search web service, natural, paid or category. URL is redirected to commision junction. $0.10 per bid. Deliver a new user, get $25.

Finally seeing a way to get direct money for your technology without any employment contract. Micropayments have arrived.

Important API calls












  GetFeedback, LeaveFeedback

  GetItemShipping, GetShippingRates

  Search by ISBN



Idea: faces components that access the ebay java API.

Example: campusi.

Sample App, tuned in. Didn't take notes.


People want to know how you built the infrastructure. They were very vague. Back end solaris. Middle Tier websphere on Windows NT. front tier clustered.

Someone asked do they use EJB in the middle tier or a lightweight framework. They didn't know the answer.

  Technorati Tags: edburns

The most I'd heard of groovy is what Dion said at the 2005 Server Side Java Symposium. There he said it was a bit backwards to have a JSR for a scripting language before it was more fully fleshed out. Something about a cart and a horse. Anyway, after atttending this talk I can see things seem to be progressing nicely, and I don't know if I agree with Dion's assesment, though I can see where he's coming from.

It's all about less lines of code.

Most of the web tier is duct tape with pockets of business logic. Good point. Scripting languages are built for glueing things together.

Why another scripting language?

want binary compatability with Java. Want something similar to Java.

features of Ruby Python and Smalltalk.

J/Python, J/Ruby, Beanshell, all lacking.


    Dynamic and optional static typing.  

    Idea: write a component in groovy.

    Native syntax for lists, maps, arrays, etc.

    Closures: nested expressions.

    regex built in ==~

    Operator overloading, not a good example.  

    Semicolons are optional.

Groovy JDK, intercepts all calls and delegates to underlying class if
not implemented at the groovy level.  Can add new methods dynamically at
runtime.  Can use a "use" clause to pull it in.

Working with groovy and Java together.  Groovy classes can be called
directly from java.  Can also use with ant.  <script> tag.  or
<groovy> tag.

XML Generation


There are lots of MarkupBuilders in groovy.  This would be easy to build

XML Parsing


    GroovyTest.  Easier than JUnit.

    Thicky, Server side Groovy based rich client delivery via JSP.

    Unix scripts in groovy.

    ActiveX Proxy nice for being able to connect to MS apps that expose
    ActiveX APIs, such as XSL.  Can be used to drive IE.


    1.0 in September

    Development time, less than half of Java

    Performance: slow 20 - 90% of java

    Ready for small non-mission critical, experimental.

    appropriate to supplement ant, unit testing

  Technorati Tags: edburns

Live band, Magnetic Poetry, during the walk in stage. It was a great idea to have them play. Very slick opening video with hip looking actor talking about how great java is, 10 years, changing the face of the computer industry. Presonally, these hyper-slick videos are a bit offputting to me, but the point of what it was saying is true: java has done pretty well since its inception. I also disliked the cultish quality, including the use of the word disciples.

John Gage emphasizes the importance of interpersonal relations, at this conference: meeting people. I felt it was kinda like church. I felt like he was going to ask me to say "peace be with you" to my neighbor. Again, the point is true, this conference is all about high bandwidth communication and I'm lucky to be here.

Jonathan Schwartz. I've always loved attending his talks. He's a great speaker who gets the audience really fired up. His main point was to explain what he means by the "participation age". First killer app on the network: light. Thomas Edison wanted DC current, he patented the lightbulb, first example of vendor lock in. Ultimately AC won. Moral: Sharing important: monopolies fail.

I'm really glad he's emphasizing the social value of the network. The fruits of participation: MIT open sources its curriculum, ebay is its own economy, UN uses it to fight poverty, brazil uses it for social services, EA and other companies are using it for entertainment.

"The information age is over, long live the participation age." Participation age is about wealth building. Media, technology and social service are merging.

Yasushi Nishimura, Panasonic. Talked about Blu-ray disc. All Blu-ray devices will have Java. Menus and interactive menus will be done with Java. Now I have a vested interest in the DVD format war! Of course, Microsoft is putting its weight behind the other high def DVD format.

IBM has re-committed to Java. The big chill is over! IBM will have all of their software portfolio supported on OpenSolaris.

A hush comes over the crowd when the topic comes to open source. Most popular software products are free. Jonathan Repeats Stallman's credo that there is a social utility to free software.

Big announcement of glassfish. Sun's implementation of Server Side Java.

Johnny Loiacono hitting the same notes about the past. How much java there is, etc. Not as compelling as the future talk. Now, showing the perccentage increases in these areas of the past 12 months, that's compelling. Announces the CDDL of SJSAS9. Talks a bit about CDDL. Patent Protection and indemnification. Preserves compatability.

Tor gets up and shows the autocomplete demo. This didn't get as much crowd reaction as I would have hoped.

Charles Beckham shows JBI in Sun Studio Enterprise. Nice.

David Yach from Research in Motion (RIM). Shows how to develop and deploy RIM apps using their eclipse plugin.

Puts in a plug for dtrace. New: DTrace for Java.

$29.95 a month for three years for the new Ultra20. No risk for 90 days.

T-shirt hurling contest. Weak.

Birthday party for Java. Assembled the original Java team on stage. A nice gesture.

Graham Hamilton, java name change: drop the "2" and the decimal. Java SE 6 themes: Theme 1. quailty, theme 2 tracability monitoring, theme 3 XML and web services: client focused subset of the XML apis. Theme 4: Ease of development. Scripting language support, including Rhino, JSR-223. Javascript will be a part of the platform. JDBC 4.0, more Javadoc enhancements. Theme 5. Desktop! Full Longhorn support. Including Avalon lnf. LCD font rendering, windows system tray support, graphics pipeline support (openGL, DirectX)., weekly builds. You can fix the bugs you really care about!

JRL, JDL, and new internal use license: JIUL. Do compatability on the honor system. Don't have to run the TCK, just make best effort. Used if you need to fix a bug for an internal depolyment.

JavaSE 7, dolphin. features. Direct XML support. Method References (HAVE TO TALK TO WHO IS DOING THIS, talk about EL). Progamming in the large. sharing of private state between collaborative packages. JVM Bytecodes for dynamic languages. New IO APIs, virtual file systems, JAR packaging mechanism. Separate distribution caching and loading.

Bill Shannon. Java EE EOD. POJO based development got lots of applause. Resource injection and IOC also got a smattering of applause.

More detail on glassfish.

Mark Hapner on SOA. SOA is going to change the way we develop services on the java platform. Mark has a tough timeslot, being so late in the session. Different ways to implement a service: XSLT, EJB, BPEL, SQL, XQuery, etc.

  Technorati Tags: edburns

Attending Java Licensee Day is one of many benefits of being a full Java Licensee. Attendees get an advance peak at the Roadmap for Java Technology and access to the people helping to create it. My personal role in this last point was to participate in the Ask the Experts panel along with Rajiv Mordani, Ken Drachnick, Roberto Chinicci, Eduardo Pellegri-Llopart, Bill Shannon, Paul Sterk, and one other gentleman whom I didn't know whose name escapes me. I guess J2EE licensees aren't a chatty lot so during a dry-spell I took the opportunity to ask the assembled licensees, who pay some good dough to sport the J2EE brand, "are your customers clamoring for a light weight framework, like Spring"? Only Barry Coleman of ATG replied, and they said yes, but they feel their product entry in this space, which has been around much longer than Spring, is better. I was surprised at the lack of response to this question, given the buzz in the blogosphere about Spring.

At the reception, I met with Steve Montal and Sam Heisz of Caucho Technologies, maker of Resin. I explained one value add of JCP membership to them: the ability to shape the platform and demonstrate thought leadership to their customers. It says something to a customer when you can point to an important feature in Java and say, "See that feature? That's us." Learned they definately plan to implement JSP 2.1, but no plans for JSF. By way of persuading them to provide another clean-room JSF impl, I told them that if they implemented JSP 2.1, they'd have a good part of the battle for JSF 1.2 done. Their main concern with the design of JSF is their misunderstanding that you must use the session for state saving. I corrected this misunderstanding and said that they could take the Sun RI (which they're totally legally entitled to do as Java EE Licensees) and simply replace the state saving impl with their own.

Personal notes at my blog.

  Technorati Tags: edburns

While planning out my JavaOne 2005 attendence schedule I thought it would be a good idea to highlight the sessions that are relevant to JavaServer Faces. Here's a day-by-day breakdown. There are 20 such sessions!

Monday, 27 June 2005

  • JSF and Creator in John Loiacano's Keynote, 8:30am.

  • I'm at the JSF presentation at the booth in the JavaOne Pavillion, 2:30pm.

  • I'm in the booth at the "Ask the Experts" reception, BOF-9436, Moscone Hall A, 6:30pm - 8:30pm.

  • Kito Mann's JSF Ecosystem, BOF-9184, Marriott Hotel, Golden Gate room A2, 9:30pm - 10:20pm.

Tuesday, 28 June 2005

  • Greg Murray and Tor Norbye's JSF and AJAX talk, TS-7986, Esplanade 307 - 310, 11:00am - 12:00pm.

  • FedEx and Faces, TS-3364, Yerba Buena, 12:15pm - 1:15pm.

  • ICEsoft and Faces using mega-AJAX mojo, TS-5224, Esplanade 307 - 310, 12:15pm - 1:15pm.

  • JBoss and JSF Portlets, TS-3374, Yerba Buena, 2:45pm - 3:45pm.

  • Portals Panel, including using JSF and JSR-168, Yerba Buena, 4:00pm - 5:00pm.

  • Web-Tier state of the Union, BOF-9651, Moscone Hall E-133, 8:30pm - 9:30pm

  • JSF and VoiceXML, BOF-9258, Marriott Golden Gate A2, 10:30pm - 11:20pm

Wednesday, 29 June 2005

  • JSF Component Vendor Panel, TS-8290, Esplanade 307 - 310, 11:00am - 12:00pm. This session had the most attendance of any technical session at JavaOne 2004.

  • Shale, the next Struts (Shale's built on JSF, don't ya know?), TS-7397, Esplanade 307 - 310, 12:15pm - 1:15pm

  • Rod Johnson, Spring, JSF, any questions?, TS-5068, Esplanade 307 - 310, 2:45pm - 3:45pm.

  • The Web Framework Smackdown (this is my main session), TS-7642, Esplanade 307 - 310, 4:00pm - 5:00pm.

  • Quantitative Study of MVC Frameworks, including JSF, BOF-0535, Marriott Golden Gate B1, 7:30pm - 8:30pm.

  • Netbeans and WebApps, including JSF, BOF-9596, Marriott Golden Gate C1, 9:30pm - 10:20pm.

  • Meet the Spec Lead for JSR 273, Design Time Metadata for JavaBeans including JSF components, BOF-9296, Marriott Golden Gate C1, 10:30pm - 11:20pm. (too late!)

  • Serving Telnet Devices Using Java Connection Architecture and JSF Technology, BOF-9875. Also too late - Wednesday 10:30pm - 11:20pm

Thursday, 30 June 2005

  • Adam Winer's Extreme Reuse with JSF, TS-7853, Yerba Buena, 1:15pm - 2:15pm.

Technorati Tags: edburns

I'm pleased to report that we finally have annonced the terms of the Java Distribution License (JDL) as it applies to the Sun JavaServer Faces Reference Implementation, and to JavaServer Faces implementations at large. It is now possible to electronically accept the JavaServer Faces JDL and produce official, compliant implementations of JavaServer Faces technology. The JDL also covers fee-based access to the JavaServer Faces TCK. If you're seriously interested in paying for access to the TCK, contact me and I'll forward you to the proper party. It's rather expensive so serious inquiries only.

I have updated the FAQentry with links that allow you to accept either the JRL or the JDL.

Technorati Tags: edburns.

In case you need it, here's a jumpstart on using for your JSR. 1. get a id (duh) 2. Create a project called something like NAME-spec-public in the JSR community. We try to keep all the projects that correspond to JSRs in that project. For NAME, I recommend jsf-metadata. The -spec-public part is a practice we've been following thus far. Use this project's issue tracker as your main issue tracker. 3. Once your project is approved, create a private sub-project, called NAME-spec-eg This will hold the CVS repository and any other artifacts you don't want to share with the general public, as per JCP guidelines. We generally don't use the issue tracker on the private sub-project. 4. I recommend against using the mailing lists for EG correspondence. Their search engine is sucky compared to the one you get by using the mailing list. 5. Make all your EG members get ids, and add them as members to NAME-spec-eg. Generally, I hate attachments so I like to use the documents and files section of the NAME-spec-eg project as much as possible, sending URLs around instead. Technorati Tags: edburns

Filter Blog

By date: