Monday Oct 08, 2012

WIP #6: Feed-based Integration

This is the sixth in my series of Web Integration Patterns. Check out the intro at this URL http://rollerweblogger.org/roller/entry/web_integration_patterns

Synopsys

This pattern is about integrating web sites and applications by using standard feed formats to convey timely information, updates, status messages, events and other things from one web application to another.

Motivations

  • Take advantage of the many tools and services that can produce, consume, aggregate and build work-flows around feeds as a way to integrate web applications.
  • Use a standards-based approach to ensure that that widest range of feed producers and consumers can be supported. Make it so everybody who needs can read your feeds.
[Read More]

Monday Mar 07, 2011

More than bloggy

I’ve been meaning to write on this topic for a some time and to explain how I’ve gone from being an advocate of RSS/Atom feeds, Atom Publishing Protocol and things bloggy to being a proponent of Linked Data (video), Semantic Web, RDF and other things that I previously considered to be nuisances. I've also got a new topic and blog series to announce, so here goes.

[Read More]

Saturday Feb 21, 2009

RSS and Atom part of the stimulus plan

Aaron Swartz: As chaunceyt pointed out, the new stimulus bill’s implementation instructions require that each government agency report the money it gives out in RSS:

For each of the near term reporting requirements (major communications, formula block grant allocations, weekly reports) agencies are required to provide a feed (preferred: Atom 1.0, acceptable: RSS) of the information so that content can be delivered via subscription.

Pretty amazing to see a government so tech-savvy.

Uncle Sam should contact Manning, who, I'm pretty sure, has stacks of RSS and Atom In Action available for a very good price.

Thursday Feb 19, 2009

Media Blogging for Roller

For the past five months I've had the pleasure of mentoring two San Jose State Univ. graduate students, Ganesh Mathrubootham and Tanuja Varkanthe, who are working on a project for classes CMP 295A and B. They picked one of the projects that I first proposed for Google Summer of Code and then for Glassfish's student outreach program, Media Blogging for Apache Roller. It's turned out to be a major project and the central new feature in the upcoming Roller 5.0 release. [Read More]

Wednesday Jan 07, 2009

ROME 1.0 RC2 on the way

Nick's Twitter icon

Good news for ROME fans. Nick Lothian picked up the puck and is galloping towards the finish line (sorry, I'm terrible at sports analogies).

Nick Lothian on ROME dev:

I've gone and built some preview jars for the upcoming ROME 1.0RC2, ROME Fetcher 1.0RC2 and Modules 0.3 release.

Those jars can be found here: https://rome.dev.java.net/servlets/ProjectDoc...

I've created source and javadoc jars as well as the normal jars - the idea being that I'll get them uploaded to some maven repository.

If you have some spare time, please take a look at these and test them and let me know of any problems. Assuming there are no big issues found I'd like to do a proper release in a couple of days.

Guess that means I should test Propono with RC2.

Monday Sep 22, 2008

re: delicious.com Blog Posting tool

Oh and by the way, I have not given up on that Delicious.com Blog Posting tool that I wrote about in August. I've got the feed fetching, entry composing parts done now and I'm currently working on the blog posting code. I hope to have something ready to blog about this week.

Wednesday Jul 09, 2008

Updating RSS and Atom in Action?

Check out Tim Bray's Atomic Monday post for a summary of recent developments in the world of AtomPub protocol and Atom format. With the uptick in interest in Atom and especially AtomPub protocol's usage in mainstream APIs from Google and Microsoft, I wonder if if would make sense to update RSS and Atom in Action.

Cover of RSS and Atom in Action

The bulk of the book is up-to-date, for what it covers. RSS and Atom haven't really changed and, though the book came out before the spec was finalized, the AtomPub material is basically sound. The ROME material is still current too.

What's missing are all of the new developments: a dozen or more new AtomPub based APIs from Google (GData and OpenSocial) and Microsoft (Live and Astoria) and new tools like Apache Abdera (incubating). Not to mention Windows RSS Platform 2.0 and ROME 1.0 (which is coming soon). Updating the book to cover all of those topics would be quite an endeavor and I'm not sure it's the right approach to covering AtomPub. What do you think?

Wednesday Jan 23, 2008

Yahoo Weather RSS module for ROME


Apparently, I spoke to soon about ROME being in maintenance mode. There's an all-new Yahoo Weather module for ROME from Robert "kerbernet" Cooper.

Tuesday Jan 22, 2008

ROME vs. Abdera

For Java developers starting out with RSS and Atom, here are some notes to help you figure out the differences between the Java.net ROME and Apache Abdera (incubating) projects.

ROME is a set of Java tools for parsing, fetching and generating all forms of RSS and Atom feeds. The core ROME library is relatively small and depends only on the somewhat creaky old JDOM XML parser. Available separately are modules to support various feed extensions such as OpenSearch, iTunes, GeoRSS, etc. ROME was originally developed and open sourced by Sun Portal dev team members in 2004.

ROME Propono is a subproject of ROME that supports publishing/editing entries and files to blog servers and AtomPub servers. Propono is made up of three parts: 1) a Blog Client library can publish via either the old lagacy MetaWeblog API or the shiny new AtomPub protocol, 2) an AtomPub client that publishes only via AtomPub and 3) a framework for creating AtomPub servers. Propono was developed by Ramesh Mandava and Dave Johnson, based on code from RSS and Atom in Action and open sourced as part of the Sun Web Developer Pack in 2007.

Abdera is a set of Java tools for working with Atom feeds and AtomPub protocol. This includes a parser, writers, an AtomPub client and a framework for creating AtomPub servers. Abdera's Atom feed parser uses STAX, so it uses less memory and is faster than ROME. Abdera's Atom feed support is more comprehensive than ROME's and it supports signatures, encryption, Atom to JSON, extensions for Threading, Paging, GeoRSS, OpenSearch, GoogleLogin, etc. etc. Abdera was developed by IBM and contribued to Apache in 2006.

Now let's compare frameworks. The pros and cons of ROME are:

  • Pro: complete RSS support, all of the dozen various flavors
  • Pro: it's generally simple and small, depending only one jar (JDOM)
  • Pro: easy to understand and use the AtomPub server framework
  • Pro: MetaWeblog API support
  • Con: Atom feed support not as comprehensive as Abdera
  • Con: parser uses lots of memory, slower, JDOM based
  • Con: community not as active, seems to be in maintenance mode (See also Ohloh stats)

The pros and cons of Abdera are:

  • Pro: comprehensive Atom feed support, lots more Atom extensions
  • Pro: faster more efficient parser
  • Pro: In the Apache Incubator with active and growing community (See also Ohloh stats)
  • Con: lots of dependencies
  • Con: AtomPub server framework poorly documented, overly complex (rewrite coming soon)
  • Con: no RSS support (there is something in Abdera contrib, but it's incomplete).

There you have it. ROME and Abdera folks: think that's a fair comparison? Are you a ROME or Abdera user? How would you like to see these frameworks move forward?

Wednesday Jan 09, 2008

The "all Dave" feed

Another thing I worked on over the winter break was an all-Dave feed, a single page and feed that combines all of the various things that I post to the web: blog entries, Flickr photos, del.icio.us links and Twitter activity. So far, this is what I've got: http://rollerweblogger.org/roller/page/feeds.

Tuesday Jan 01, 2008

Happy New Year 2008

Happy New Year to all the readers of this blog and all the folks who happen to have arrived here via one of the various planets, spam blogs and Google search result pages that include it. I hope you all have a prosperous and pleasant year ahead. I'm hoping for the same. It's nice to start the new year with some good news and I've got some; check this out:

RSS and Atom in Action book

RSS and Atom in Action has been out for over a year now and just as the phenomenal sales are starting to drop off, something wonderful has happened. The book has been nominated for the prestigious Stephen T. Colbert Award for Literary Excellence. As you can see in the photo above, at least one copy of the book is already carrying the Colbert nominee seal. Avoid the rush and buy your copy of RSS and Atom in Action now.

Those who have read Colbert's I Am America (And So Can You!) will understand the significance of this important award and understand the impact on future sales of the book. To learn more about the nomination process and criteria, buy yourself a copy of Colbert's book and then flip to page 214½. Cheers!

Tuesday Oct 16, 2007

RSS best practices doc published

RSS advistory board: The RSS Profile makes it easier for feed publishers and programmers to implement RSS 2.0, offering advice on issues that arise as you develop software that employs the format. For 18 months, the board worked with the RSS community on interoperability issues, receiving help from representatives at Bloglines, FeedBurner, Google, Microsoft, Netscape, Six Apart and Yahoo. The profile tackles the most frequently asked questions posed by developers:

  1. How many enclosures can an item contain?
  2. Are relative URLs OK in item descriptions?
  3. Is it OK to use HTML in elements other than an item's description?

For the answers, read the sections on enclosures, item descriptions and character data, respectively. Sam Ruby announced this morning that the Feed Validator now tests for conformance to the profile, offering 11 new checks for improving interoperability.

Kudos to the RSS Advistory Board. The RSS Profile is an excellent guide to publishing RSS. Plus, it's very nice to see the confusing parts of RSS clarified and to see those clarifications linked to from the RSS spec.

Windows Live Writer + AtomPub

Joe Cheng: I’m starting a (hopefully short) series of blog posts documenting the specifics of how the upcoming AtomPub-enabled release of Windows Live Writer will behave, and what AtomPub-enabled blog* servers can do to ensure the best interop with us. I also hope other blog client implementers can learn from our experience and consider using the same rules and behaviors we do when implementing their own AtomPub support.

Very nice. I'll be watching this one closely, looking for ways to improve Roller's and ROME's AtomPub support.

Monday Oct 15, 2007

Creating custom modules with ROME

Google Blog Search turned up this nice article on creating custom modules with ROME by Sujit Pal, and a nice mini-review of my book:

Sujit Pal: "However, Dave Johnson's book provides a lot of background information and a lot of nice examples in Java and C#. I would highly recommend it to anyone who needs to get up to speed quickly with ROME and RSS/Atom."

It's good to see people are still buying and finding the book useful. It's been out for over a year now, but I don't think it's really out of date at all. I've been keeping the examples up-to-date as part of the Blogapps project and even enhancing them: the example Atom protocol client code from the book is now part of the ROME Propono project.

Tuesday Oct 02, 2007

Blogapps 2.1 released

RSS and Atom in Action image The next releases that I'd like to announce are the Blogapps 2.1 Examples and the Blogapps 2.1 Server.

If you'd like to learn more about the Blogapps examples and server then read The Blogapps Project article at Java.net. Here's a quick summary:

The Blogapps project hosts a collection of useful RSS and Atom utilities and examples from RSS and Atom In Action by Dave Johnson. They're designed to be useful even if you haven't read the book and they're available under the Apache License 2.0 so you can use the code in your applications and you can modify and redistribute them as you wish.

What's changed since 2.0? The examples have been updated to include the latest version of ROME Propono, which means that most of them now support the final Atom protcol spec. The server has been updated to include Roller 4.0 RC5, which also includes Atom protocol support and JSPWiki 2.4. And of course, various bugs have been fixed. Here are the release files, installation instructions and release notes.

This blog entry was posted via Atom protocol and the MatisseBlogger blog-client, which you can see in the screen-shot below (which was also posted via Atom.

screenshot of MatisseBlogger

What's next? Not sure at this point, but I will do another Blogapps release once ROME 1.0 is released.

Monday Oct 01, 2007

ROME Propono 0.6 released

ROME logo

The first release to discuss is ROME Propono, which includes a ROME based Atom protocol client library, Atom protocol server framework and an Blog Client library abstraction that supports both Atom protocol and the MetaWeblog API.

I've been working on Propono 0.6 off-and-on since May, keeping it in sync with the latest version of the Atom protocol, testing it against Tim Bray's APE and adding various improvements needed in my other projects. Over the weekend I finally had enough time to get a release out. You can find the full-details at the link below but basically this release adds support for the final Atom Publishing Protocol specification and better support for relative URIs.

What's next? Once ROME 1.0 is released Real Soon Now, I'll get a another release out and I'll probably call it ROME Propono 1.0.

Wednesday May 16, 2007

What exactly is RSS anyway?

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.

Thursday May 10, 2007

TS-6029 - Beyond Blogging: Feeds in Action

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:

Monday Apr 23, 2007

Propono 0.5 released

ROME Propono 0.5 is a minor bug fix release of Propono. You can get the release files and updated Javadocs from the Propono 0.5 release page.

Tuesday Apr 10, 2007

ROME Propono 0.4 released

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
  http://wiki.java.net/bin/view/Javawsxml/RomePropono

Here's the Propono 0.4 release page:
  http://wiki.java.net/bin/view/Javawsxml/RomeProponoRelease04

And here's a link to the API docs, which include details, diagrams and code examples:
  https://rome.dev.java.net/apidocs/subprojects/propono/0.4/overview-summary.html

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.

Main | Next page »