A blog by Clint Combs

Most people use RSS feeds for reading weblogs or downloading podcasts, but I'm experimenting with other uses. I've started integrating RSS feeds into a Java-based workflow application and the results look promising.

I develop and maintain a workflow application called OSCAR that tracks print and mail workflow for a major insurance company. The users of the application include machine operators, print job developers, print and mail managers, and other employees.

As jobs enter the print and mail workflow OSCAR begins tracking them and follows them through each step of their lifecycle. Most jobs go through print, insert, and sort steps before being mailed out the door. OSCAR helps organize jobs and alert employees when there is an issue with a job that requires attention. It also produces reports that summarize the job workflow over a given time period.

All this information is presented through a web interface built on IBM's WebSphere Java platform. The web provides an easy way to access the system and has served the users well. One issue with the current interface is sifting through the mountain of data that the users see. I've addressed this in various ways such as filtering jobs by name and job group and those efforts have paid off. It's now much easier to find jobs of interest, but there's always room for improvement.

This is where the RSS feeds come in. While using RSS readers like FeedDemon and RSSOwl I've noticed that they turn my daily routine into of a workflow. This matches up well with the purposes of OSCAR and motivated me to start my RSS experiment.

OSCAR has a feature call Job Notes that I decided to exploit for the experiment. A job note is simply a piece of free-form text that a user can attach to a job. The system captures the text and stores it with the user's name and a timestamp. The note appears on the web pages next to the corresponding job. Other users can view existing notes and add their own. The notes features provides a great way to record ad hoc info about a job and store it for posterity.

Job notes seem like a good fit for an RSS feed so I created a notes feed and deployed the feature with my latest release. I chose the Atom 0.8 format for my feed because the Atom spec is so well documented and gaining in popularity. Whenever a client requests the feed, OSCAR queries its database for the last 100 job notes and creates an Atom feed.

The feed is very simple. It consists of the usual feed header information such as a title and a link to the feed itself. The header also has the updated field containing the timestamp when the feed last changed and the author of the feed, OSCAR. The rest of the feed consists of a series of entry elements which is just a series of job notes.

Each entry contains a title identifying the job name, job number, and a timestamp when the note was added. There's a link back to the job in the web interface as well as a timestamp representing when the note was published and last updated. Users are not permitted to update a note so these two timestamps are always the same. The unique Atom ID for the entry is next. This ID is provided to make the job of tracking the entry easy for feed reading software. Finally, the feed contains the author of the note and the note text.

Since I rolled this out it's had a big impact on how I use the system. Every morning I fire up RSSOwl and leave it running throughout the day. I've configured RSSOwl to poll the feed once an hour. Whenever it finds a new job note in the feed it alerts me and displays the new notes with bold headers. While it's not an immediate sort of prompt (the system can also e-mail and page people) it does provide a great way to organize the ad-hoc data contained in the notes.

The reader shows every note and keeps track of the notes I have and haven't read. If the note requires more attention I simply click on the link to the job and RSSOwl displays the OSCAR job in a browser window. This sort of interaction draws my immediate attention to notes and lets me forget about them as soon as I'm finished dealing with them. This is exactly the kind of user experience that a workflow solution should provide.

This little personal experiment has been a great success and I'm looking to roll it out to other users and see how they like it. The biggest task remaining is to get RSS readers into the hands of end users. While RSSOwl has worked fine for me, the developer, it's probably not the best solution for enterprise office workers and print machine operators. I'm looking for a simpler solution.

As I create more feeds I look forward to the day when RSS readers are standard fare on the office desktop. Internet Explorer 7 is supposed to provide an RSS reader and is probably the first time we can expect widespread adoption of this technology in the enterprise. I'll continue building feeds and pushing other feed reading solutions in the mean time.


What about security concerns? RSS is a great tool to push pending content, but in real-world applications this would have major security implications.

Security was one of my biggest concerns when implementing this feature. That's why the feeds are currently only available within the company firewall. The only data elements that are included as part of the feed are those that don't compromise security. Other data is available via a link back into the secured application. I'll be pursuing other security mechanisms in the future.

<p>Clint Combs recently posted to his blog about his interesting experiment using RSS and Atom feed for Java&#45;based workflow application. OSCAR, the name of the application tracks print and mail workflow for a major insurance company. The information in the application is presented through a web interface built on IBM&apos;s WebSphere Java platform. A feature in OSCAR called Job Notes is a piece of free&#45;form text information that a user can attach to a job. Before experimenting with RSS and Atom&#8230; </p>