Dave Johnson on open web technologies, social software and Java
There was quite a flurry of blogging about the Atom Publishing Protocol (APP) over the weekend, all kicked off by Dare Obasanjo's criticisms of the protocol. Some of the posts were critical of Dare and his motives, but I'm thankful he started the conversation. Here's the dump from my del.icio.us account:
Atom and LDAP sitting in a tree. Trey Drake has released his OpenDS based Atom store as an open source project on Java.net at http://atom.dev.java.net. It's a directory server distributed as a Java web application that supports both Atom Publishing Protocol (APP) and Lightweight Directory Access Protocol (LDAP).
Signing, encrypting and decrypting Atom. On IBM developerWorks, Nicolas Chase explains how "digital signatures and encryption can easily mesh with Atom data using the Apache Abdera API."
Google GData: A Uniform Web API for All Google Services. Dare Obasanjo praises Google for creating a single uniform and RESTful web services API for eight of its key services, the APP based GData API. He writes "not only is it now possible to create a single library that knows how to talk to all of Google's existing and future Web
services since they all use GData. It is also a lot easier to provide 'tooling' for these services than it would be for Yahoo's family of Web
services given that they use a simple and uniform interface."
Generate code from your WADL REST API. Eduardo at The Aquarium links to Thomas Steiner who is making progress on a WADL editor and a generator, bringing WSDL-like code generation to RESTful web services.
Is it this http://cyber.law.harvard.edu/rss/rss.html, promoted by Dave Winer?
This http://www.rssboard.org/rss-specification, from the RSS advisory board?
Or one of the other dozen or so incompatible formats.
It doesn't really matter. There's only one Atom: RFC-4287.
Hat tip to Sam Ruby.
German Viscuso: Generally spoken GData provides a general interface to make information available even beyond a browser context by providing a single API that could be used to query, update, and index structured data anywhere on the web. Could GData become a simple and open replacement for all the proprietary communications protocols currently in use by database vendors?Interesting thoughts. I've heard about the Atom Publishing Protocol (APP) based Lucene Web Services API, but I hadn't heard about the Apache Lucene GData server project. Atom protocol is moving fast, especially considering the fact that it's not finished.
As usual, I'm enjoying JavaOne and meeting lots of new people and putting faces to names. I've also been practicing my talk daily so I can give you my best performance, so eat lunch a little early or a little late and come see how it goes. Here are the details:
Trey Drake: How do you demo a directory server? Build cool apps around it. To that end, we've built an Atom/APP server, a lightweight OpenID server, a blogging and "twitter" like app - all powered by OpenDS. Drop by our booth (Glassfish alley at CommunityONE and .org section of the pavilion during JavaONE). Ludo and I will introduce OpenDS and show off the demos in two talks; today at CommunityONE at 5PM and Wednesday at 1:30 in the CommunityCorner.
Very cool. I'm not going to be the only one talking about Atom protocol at JavaOne. I'll have to stop by the CommunityCorner, that sounds too good to miss.
Following up on the APP interop event last week, here are the ROME Propono APP client issues we found:
And here are the Roller APP server issues:
I plan on fixing the Roller issues for this summer's Roller 4.0 release. I won't have time to fix the Propono issues for the upcoming Propono 0.5 release (due this week), so they'll be in 0.6 sometime after JavaOne.
The Atom Publishing Protocol interop event is over and now I'm catching up on blogs and email in my hotel room in Mountain View, CA. In the end, I was able to run ROME Propono successfully against Blogger/GData, AOL Journals and Wordpress. I also found a dozen small problems in Propono and in the Roller APP server.
For more information on the event, check O'Reilly's Keith Fahlgren's summary of the event titled Atom Publishing Protocol a Success. Keith mentions that "big industry players like AOL, Google, IBM, Microsoft, Oracle, and Sun are working on APP clients and servers and sent people to the interop event with interesting code" and I agree that's definitely a good sign for the protocol.
I thought it was particularly interesting that database vendors IBM and Oracle showed up with DB2 and Oracle-backed Atom stores. If Google's half-dozen or so Atom protocol based services aren't enough make you stand up and take notice, surely that should get your attention.
Day one of the Atom Publishing Protocol (APP) interop event was a success, at least from my point-of-view. I was able to test the Propono client against Blogger.com/GData, AOL Journals and an implementation from Oracle. I found and fixed problems in Roller's APP implementation. Plus, it was great to meet all of the good folks implementing Atom and to get a close look at the Google campus. I'm getting ready to drive back to Google now so... gotta go.
Check out Tim Bray's blog for some photos of the event.
I'm happy to announce the first release of the ROME subproject Propono. Propono is a ROME-based Java class library that supports publishing protocols, specifically the Atom Publishing Protocol and the legacy MetaWeblog API. Propono includes an Atom client library, an Atom server framework and a Blog client that supports both Atom protocol and the MetaWeblog API.
Here's the project page
Here's the Propono 0.4 release page:
And here's a link to the API docs, which include details, diagrams and code examples:
I'll be testing Propono this week and next (at the Google-hosted APP interop meeting) so now is a great time to provide feedback and bug reports. I plan on releasing Propono 0.5 in the *very* near future.
We haven't released the standalone Roller-Planet application yet, but the .Sun Engineering team quietly deployed the latest bits at planet.sun.com a couple of weeks ago in response to requests from the Glassfish, SWDP and other teams for planet-style web sites. You can follow the links on the main page to find planets for Glassfish, SWDP, Sun India, Sun Alumni, Sun Java System Web Server, web services and globalization bloggers.
What's Roller-Planet? It's a community aggregation server, similar to Planet-Planet but with some key differences: it's got a web UI that enables groups of users to run their own planet sites, it's based on Java and it uses the ROME feed parser and fetcher. I've written about it before. We don't have a release plan yet for Roller-Planet so if you really want to try it you'll have to fetch and build it from the Apache Roller SVN repo.
I've heard the argument before that the REST approach to web services doesn't give you reliable messaging and that's the reason you need to stick with WS-*. Today Bill de hÃra disputes that notion with an interesting and somewhat provocative post that mentions a couple of specs for messaging via HTTP (HTTPLR and BTF) and argues that Atom protocol can serve as the basis for web-scale reliable messaging.
Bill de hÃra: There are a number of reasons to choose Atom Protocol as the substrate for web-scale reliable messaging. First, a ton of software will be written to target APP in the next few years, and there is plenty of scope for extending the protocol; this suggests openly available and flexible software stacks. Second, since all document collections in Atom Protocol are served as Atom Feeds, it has inherent support for systems management and end to end reconciliation. Third, Atom entries have identity and are natural envelopes, unlike SOAP, where identity and true enveloping requires further specification (essentially raw Atom presents a better basis for interoperation than raw SOAP). Fourth, Atom Protocol can support binary content transmission not just XML, and thus can transmit arbitrary payloads. Finally, because Atom Protocol respects media types and deployed HTTP infrastructure, independent proxy inspection and security check-pointing can be installed cleanly, also eliminating the need to rewrite 2 stack layers and buy XML appliances to support and secure SOAP backed web services. It seems to be a question of when, rather than if, this will get built out.
I would have blogged about this earlier today, but Bill's blog looked foobar and I didn't realize that today is CSS Naked Day. My blog doesn't look half bad naked.
NewsGator Go! for BlackBerry and NewsGator Go! for Java were developed in a technology partnership with FreeRange Communications, the leading developers of mobile publishing and mobile RSS solutions, and is available for BlackBerry, Sony Ericsson, Nokia, and most other MID-P 2.0 mobile phones, including Samsung, Sanyo and LG. NewsGator Go! is available for $29.95 or $14.95 if bought with any of NewsGatorâs desktop readers, including FeedDemon, NetNewsWire and Inbox.
Via Randy Morin.
I'm very happy to report that my talk was accepted for JavaOne 2007. I'll be giving a thoroughly revamped and updated version of my Beyond Blogging talk (aka Johnson on Feeds), which adds in-depth coverage of ROME and ROME Propono. I'm excited about going to JavaOne again, but I'm also feeling a bit frazzled. I'm swamped with work right now and I've got a stack of deadlines clustered around the March 20 due date for the slides.
I helped out with the session selection for the web-tier track this year so I can say with some confidence that at least one track is going to rock -- we've got a wonderful set of talks lined up, so don't miss it. The full session schedule isn't online yet, but registration is open.