Scaling Agile with C/ALM
IBM Rational has just released a 64-page book on Collaborative Application Life-cycle Management (C/ALM) that explains in detail how Rational's Jazz-based tools fit together to support the full software development and delivery life-cycle.
You can get the book at InfoQ. Registration is required (and free):
Scaling Agile with C/ALM
by Carolyn Pampino, Erich Gamma and John Wiegand
I'm finding this book very useful because I'm still coming up to speed with Jazz and Jazz's notion of "Data integration via linked artifacts across repositories using RESTful interfaces." The book shows how Jazz works in practice with examples that illustrate how a requirement can be linked to work-items, source code change-sets and tests. Products covered are: Team Concert, Requirements Composer and Quality Manager.
Scaling Agile with C/ALM also explains how Open Services for Life-cycle Collaboration (OSLC) fits into the picture. The OSLC project is working to standardize the RESTful interfaces needed to integrate development tools. Once vendors adopt these interfaces, it will be much easier to mix and match For example, if Atlassian JIRA supported OSLC, you could use it instead of Team Concert's built-in issue tracking.
See also: Ask Jazz Technical Lead Erich Gamma.
BarCampRDU coming up soon, still needs sponsors

BarCampRDU 2009 is rapidly approaching (August 8, 2009) and the event is sold out with 250 registered attendees. Problem is, we're only about halfway to our funding goal. I guess it could be the economy or maybe it's event overload; doesn't it seem like we had a heckuva lot of tweetup-camp-athons around here lately?
Either way, we're not ready to give up yet. We're doing another call for sponsors and trying to open up as many sponsor opportunities as possible. Check out the BarCampRDU blog for more information.
re: Science for the Curious Photographer

To follow-up on my previous post on the topic: my father is starting to publish excerpts from his book Science for the Curious Photographer on Luminous Landscape.
His first piece is titled The Quest for Good Photographs and How the Brain Perceives Images and it's one of my favorite parts.
By the way, he's still trying to figure out the best way to publish the book.
Latest Links: OpenSocial and OSLC
- Stutzman on WUNC's the State of Things
Stutzman and others on the etiquette, the addiction and the future of Facebook - Is Twitter Really That Big?
40% of Twitter users haven't tweeted since 1st day, 25% not following anybody - YouTube - Towards Privacy-aware OpenSocial Applications
Talk by Kun Liu of IBM Research on privacy scoring and applications
- Google I/O video - Atlassian and OpenSocial
using OpenSocial to connect enterprise apps and power developer dashboards. - Atlassian - OpenSocial Videos
Atlassian has gone ga ga for Gadgets
- YouTube - What is New in Rational Team Concert 2.0 Web UI
from Dejan Glozic, Team Concert Web UI and Dashboards Lead - Mainsoft Document Collaboration for Rational Jazz
connects Rational Team Concert to your corporate collaboration infrastructure.
- The Open Services for Lifecycle Collaboration (OSLC) initiative
creating open interfaces for software development services: requirements, change requests, user stores, test cases and more. - dW podcasts: Abrams, Zetie and Kerston on OSLC
Interview with some of the folks behind OSLC.
Wisdom of Twitter: Wave's impact on enterprise collab
Wondering how Google Wave will impact the enterprise collaboration market? Look no further than the great collected wisdom of Twitter. Given that X equals Lotus Notes, Microsoft Sharepoint or Microsoft Exchange we have:
- #googlewave will be major competition for X
- #googlewave will drive positive change in X
- #googlewave is X 2.0
- #googlewave is X done right
- #googlewave is X for 2009
- #googlewave is X for 2010
- #googlewave looks like X on the web
- #googlewave is what X never became
- #googlewave is the final nail in the coffin of X
- #googlewave will destroy X
- #googlewave will kill X, death to X!
- #googlewave flatters X by imitation
- #googlewave is just hosted version of X
- #googlewave is a custom version of X, good for SEO
How can industry analysts survive with people giving away this stuff for free?
RSC 2009: connecting developers and community
I've attended every JavaOne since 2004, but this year I've got new job and a new conference to attend. This year I'll be traveling to Orlando, FL and attending the Rational Software Conference also known as #rsc2000 in the twit'o'sphere.
I'm not going to be giving a talk, but I will be manning a demo pedestal and showing some of what I've been working on in my first couple of months at IBM: working on getting Rational Team Concert and other Jazz-based products to work well with Lotus Connections, IBM's social software suite which includes communities, forums, blogs, bookmarking, social networking and wikis (coming soon in Connections 2.5).

Why would you want to use Team Concert with Connections? It's all about connecting developers to community, helping developers use social software tools to inform, share and collaborate with the wider community of people that support, manage, sell and use the software.

The tentative plan that we've outlined for all (registered users) to see on the Jazz.net is all about making it easy to setup and integrate community infrastructure for a new software project.
For example, wouldn't it be nice if, when you setup a new project in Team Concert you'd have the option of setting up an integrated Lotus Connections community complete with a project blog, discussion forum, wiki space and shared bookmarks? Shouldn't those blogs, forums and wikis be searched when you do a project search and shouldn't it be dead-simple to fire-off a blog entry or forum post to start a community conversation about a work-item or any other Team Concert artifact? We think so and we think that's just a start; there's lots more we can do.
If you're going to be at RSC 2009, please stop by and say hi. I'll be on duty from 5-8PM on Monday and most of the day Tuesday. Whether you're there or not, if you've got ideas about developer tool and social software integration, I'd love to hear from you.
First impressions
BarCamp RDU registration open and tickets going fast

Word went out this morning via Twitter and other places but I'm just now getting to it here on my blog. Sorry folks, but you're the last to know. Like I said, they're going fast. At this point there are about 50 spots left. More than enough for all of my readers! Here's the registration link:
SocialSite@Apache
I took a break from blogging during my first couple of weeks at IBM. My blog broke and it took me a while to find the time and motivation to fix it, but now it's time to return. I think. I have been doing some internal blogging at IBM, but so far it's been mostly boring stuff: status reports and the like.
What I want to talk about today is Project SocialSite. Since my last post, where I mentioned that Sun is willing to contribute SocialSite to Apache, I did some work to move things along. I wrote an Apache Incubator proposal, started a discussion and this week calling for a vote on the proposal. Here are the relevant links:
Discussion and vote thread on the Incubator General mailing list
Subscripton info for the Incubator mailing lists
If you want to support the project, and especially if you're on the Incubator's Project Management Committee, now's the time to do so.
The future of Project SocialSite: Apache?
Since January, the future of https://socialsite.dev.java.net">Project SocialSite has been in the hands of the SocialSite community. During that time, I continued working on the project almost because I think it's got great potential and I would really like to see it live on in some form. That's also why I continued to talk to Sun about the project.
Today, I'm very happy to announce that Sun Microsystems is willing to contribute Project SocialSite to the Apache Software Foundation. It's not clear whether SocialSite should be contributed into Shindig or as a new incubator project, but either way I think this is the best thing for the project and will give it the best possible chances for building a thriving community. I've started some discussions about this on Apache-private mailing lists and I'll let you know what happens next.
This post brings to an end my series of posts about Shindig for blogs and wikis. Here are links to the earlier posts:
- Upcoming: Shindig for Blogs and Wikis, ApacheCon EU
- Preparing for my Shindig talk next month
- OAuth everywhere!
- What is OAuth and why whould you care
- OAuth for AtomPub in Roller
- OAuth for ROME Propono
- SocialSite on rollerweblogger.org
- OAuth everywhere (continued)
OAuth everywhere (continued)
Socialsite on rollerweblogger.org
The value of Project SocialSite is that it allows you to add social networking features, including the ability to run OpenSocial gadgets, to existing web sites and have those sites all using the same "social graph" of data about people and relationships. To demonstrate this, I've deployed SocialSite to my site, http://rollerweblogger.org, and finally implemented those things I described in my August 2008 Social Roller post.
My site includes a blog and a wiki, Roller and JSPWiki, so it's a pretty good candidate for demonstrating how SocialSite. It's not perfect because it's got only a very small number of users, less than a dozen and because it's private; you have to login to see the social features. It'll have to do. In this post, I'll explain the steps you have to take to add SocialSite to a multi-application web site and I'll illustrate the steps with examples and screenshots from my work on this site.
[Read More]OAuth for ROME Propono
Yesterday I wrote about OAuth support in the upcoming Roller 5.0 release. Today I'm following up with a post about OAuth support in ROME Propono.
As you may remember, ROME Propono is a subproject of ROME, the Java-based RSS/Atom feed library. ROME Propono includes an AtomPub server library and an AtomPub client. I added OAuth support to the AtomPub client and in this post, I'll show how you can use it to post to the Roller 5.0-dev (i.e. the snapshot build that I made available yesterday).
ROME 1.0 and coming soon: ROME Propono 1.0
In case you haven't already heard, thanks to the recent hard work of Nick Lothian, ROME 1.0 is now available. You can find downloads at rome.dev.java.net and a list of changes in the Change Log there. To celebrate this momentous event, I'm planning on releasing ROME Propono 1.0 as well, and in preparation, I've made a release candidate available. The new Propono includes ROME 1.0 and support for OAuth. You can get it via the links below:
rome-propono-1.0RC1.tar.gz (2.0 mb)
rome-propono-1.0RC1.zip (3 mb)
Posting to Roller via AtomPub and OAuth
To use the Propono AtomPub client, you place the Propono jars in your Java VM classpath and then call the AtomClientFactory
to get started, as described in the ROME Propono 1.0 Javadocs.
Below is a Groovy example that shows how to post a blog entry to Roller via AtomPub and OAuth. You can get the consumer key, secret and URLs you need to call your instance of Roller from the OAuth Credentials page in the Roller admin interface.
import com.sun.syndication.propono.atom.client.* import com.sun.syndication.feed.atom.* def authStrategy = new OAuthStrategy( "roller", // username "55132608a2fb68816bcd3d1caeafc933", // consumer key "bb420783-fdea-4270-ab83-36445c18c307", // consumer secret "HMAC-SHA1", // key type "http://blogs.example.com/roller-services/oauth/requestToken", "http://blogs.example.com/roller-services/oauth/authorize", "http://blogs.example.com/roller-services/oauth/accessToken") // get the AtomPub service def appService = AtomClientFactory.getAtomService( "http://blogs.example.com/roller-services/app", authStrategy) // find workspace of my blog def blog = appService.findWorkspace("Blogging Roller") // find collecton that will accept entries def entries = blog.findCollection(null, "application/atom+xml;type=entry") // create and post an entry def entry = entries.createEntry() entry.title = "TestPost" def content = new Content() content.setValue("This is a test post. w00t!") entry.setContent([content]) entries.addEntry(entry)
If you have questions or feedback about ROME Propono 1.0 RC1, please post them to the ROME dev mail list and I'll do my best to respond there.
OAuth for AtomPub in Roller

Over the past month or so I've been adding OAuth support to just about every open source project that I can commit to. I added OAuth support to Roller so that you can now use OAuth to protect Roller's AtomPub server and other things. I also added OAuth support to ROME Propono's AtomPub client so you can now use Propono to post to Roller (more about that later). Here's a quick overview of how OAuth in Roller works.
NOTE that this post applies to Roller 5.0, which has not yet been officially released.
Setting up OAuth for AtomPub in Roller
If you want to use OAuth with AtomPub on your Roller site, go to the Server Admin page and find the Web Services section, enable AtomPub and specify 'oauth' as the authentication mechanism, like so:
<img src="http://rollerweblogger.org/roller/resource/rol_oauthconfig.jpg" alt="OAuth config in Roller 5.0-dev" />Getting your OAuth key, secret and URLs
Once you've done the setup, you'll find an OAuth Credentials link on the Roller Main Menu page, which will lead you a page like the one below showing your OAuth consumer key & secret and, if you are a site admin user, the site-wide key & secret. Currently, there's only one set of site-wide credentials; I plan to fix that.

Of course, those aren't my real keys. You'll want to keep your OAuth keys secret as they can enable anybody to access your Roller account via AtomPub.
Want to try it yourself?
I mentioned that Roller 5.0 has not yet been released and that's true. There's still a lot of work to be done on 5.0, but that doesn't mean you can't get your hands on the code and binaries now. To make it easy, I've made an unofficial snapshot version of Roller 5.0-dev available for testing purposes only. It's what I'm running on my site. You can get it here in two flavors:
apache-roller-5.0-dev-20090321-SNAPSHPOT.tar.gz (31 mb)
apache-roller-5.0-dev-20090321-SNAPSHPOT.zip (31 mb)
The instructions in the old Roller 4.0 installation guide should work fine, so follow them to install and configure the 5.0-dev SNAPSHOT. Please send questions and feedback to either the Roller dev mail list and I'll do my best to respond there.
You'll also need an OAuth capable AtomPub client. More on that topic tomorrow...
Sidebar: What is OAuth and why should you care?

I'm going to be following up my OAuth everywhere! post, with several more OAuth related posts this week. So, just in case you are wondering "why is Dave going off on this cockamamie OAuth tangent?", I'll take some time now to explain a little about OAuth to help you understand.
OAuth is a emerging protocol that one web site can use to access your data on another website without asking you to reveal your username and password. For example, when the sinister BuddyNet9000(TM) Social Network site wants to access your GMail account so it can spam your "friends" on your behalf, you can use OAuth to give it access without telling it your username and password. Why risk your GMail security when all you want to do is spam some people? There are less snarky examples, but that one makes the point well, I think.
There's a good end-user oriented introduction on OAuth.net titled Beginner's Guide to OAuth: Protocol Workflow. OAuth is not that widely deployed yet, and is not perfect, but it is emerging and going the IETF standards route.
I'm interested in OAuth because it's part of the OpenSocial spec, used to authorize access to the OpenSocial REST API and to enable OpenSocial Gadgets to call out to OAuth protected resources. Also, because it's used to protect AtomPub-based services, including the Google Data APIs. I needed to learn about it for my Roller and SocialSite work and if you're going to be doing much OpenSocial work, you'll need to learn about it too.
ApacheCon EU 2009!
I'm off to ApacheCon EU 2009> tomorrow in Amsterdam to speak on the topic of Shindig for Blogs and Wikis. I'm really looking forward to catching up with my Apache friends and colleagues. That's the conference venue in the photo on the right, the Movenpick hotel (in the background behind the music hall).
I'm staying a couple of extra days, so I hope to have time for bicycling around the city as I've done in the past (see also: Flickr photo sets for 2007 and 2008). Unfortunately, the weather forecast stinks. There's a 60% chance of rain every day that I'm in town. Oh well; guess I'll have plenty of time for blogging.
Speaking of blogging.This week, I'll be posting some blog entries to highlight the work that I've done in preparation for my talk. Here's what I plan to cover:
* Monday: OAuth for AtomPub in Roller
* Tuesday: OAuth for ROME Propono
* Wednesday: SocialSite on rollerweblogger.org
* Thursday: OAuth everywhere (continued)
* Friday: the future of Project SocialSite
If you plan to attend my talk, at 4:30PM on Friday March 27, then you should follow along. Pay special attention to the SocialSite on rollerweblogger.org and OAuth everywhere (continued) posts, which will include detailed background info. I'm looking forward to seeing you there.
Latest Links - Roller, SocialSite, etc.
- How I ended up with Apache Roller
"I definitely recommend Roller for everyone that wants to have a powerful, stable and fast blog server." - Sitemaps XML template for Roller 4.x
"Roller makes it very easy by using the Velocity templating engine and exposing a lot of data via model objects - Apache Roller 4.0 theme upgrade from 3.1
"One of the reasons to select Apache Roller as my preferred blogging software was the excellent and free selection of themes from rollerthemes.com"
- The Aquarium: SocialSite and Apache
"I'm finally catching up with Dave's post from last Friday... My very best wishes to SocialSite. " - Ya todo est inventado: Socialsite, an opensource social network.
"I am doing implementations of SS for the first time. This software is new, I've been working with this since very early releases." - Collaborative Thinking: Musings on Oracle/Sun re: social networking
On SocialSite "Oracle would clearly benefit by leveraging a distributed model for enabling other web systems with social widgets."
- HTTP/1.1 status code activity diagram
An activity diagram to describe the resolution of HTTP response status codes, given various headers - SAS to build $70 million cloud computing facility
"the facility will be built to Leadership in Energy and Environmental Design (LEED) standards for water and energy conservation." - Business Tech - CNET News: Google uncloaks once-secret server
"Google has an obsessive focus on energy efficiency and now is sharing more of its experience with the world."
Latest Links: Sun and clouds
- Forbes.com: A Rorschach Test for IBM and Sun
"Even as Sun has stiffened into a slow-moving, self-entangled behemoth over the past decade, IBM has gradually shifted into the nimble mode of a start-up." - IBM's bid to acquire Sun might cost jobs - The Denver Post
"Sun is known for having a lot of cool technology but not much recognition in the market for it." - ZDNet.com - IBM's potential purchase of Sun: Here's why it makes sense
"One problem: There's a lot of software overlap here. In databases, IBM has DB2 and Sun has MySQL" - Javalobby - IBM in Talks to Buy Sun?
(in the comments) "Sun's energy would have been much better spent investing in writing proper Eclipse plugins for things such as Python/Groovy/Matisse/JavaFX/etc. instead of pushing their own IDE" - SAS to build $70 million cloud computing facility
"the facility will be built to Leadership in Energy and Environmental Design (LEED) standards for water and energy conservation" - Atlassian Developer Blog - Customizing your cloud
"we've released support for running builds in the cloud with the Elastic Bamboo feature" - Tim Bray The Sun Cloud
"We're going to be rolling out a Sun Cloud offering later this year"
Slides for my COMP 380 talk: Social Software at work
I was invited to talk to the class COMP 380: Computers and Society at the University of North Carolina on the topic of Social Software at work, so I spent some time working up a presentation and set of slides. I gave the talk last night to three sections of the class and it seemed to go over pretty well. There was some booing at the start when I mentioned my alma mater N.C. State, but nobody threw anything and I think I put only one student to sleep. I definitely enjoyed the experience.
For the benefit of the class and anybody else who is interested, I just uploaded my slides to Slideshare. You can find them here: Social Software at work.
Latest Links #42
- Bad Times Spur Entrepreneurship, But There's a Catch - Boing Boing
"The day we have national health care is the day that we unleash a wave of entrepreneurship the likes of which we've never seen before." - Ben Hyde - The Misery of Opportunity: Barry Schwartz on Paradox of Choice
"those who maximize a job choice did in fact capture significantly more income, but at a cost." - Jon Stewart creams Jim Cramer on the Daily Show
"I wonder if Rick Santelli will show his face on Stewart's set? Highly unlikely" - Unit Structures: NY Times Botches SNS Privacy
"The conclusion that Stross draws - that adults are now going to massively change their disclosure behavior because of young people - is as flawed as his 'privacy as anachronism' point." - Rich Bowen: More twitter blah blah blah
"To tell me that I need to define a goal for Twitter is somewhat like telling someone: you need to define a goal for conversation, and then every conversation you have needs to be working towards that goal." - Geir's Blog - Dalibor's "Nanny State" Argument?
"I hope I'm just misunderstanding what Dalibor is trying to say" - PC Pro blog: I'm sorry but Dreamweaver is dying
"Web 2.0 isn't an empty slogan, it marks a fundamental break with the past and Dreamweaver lies on the wrong side of it."
« Previous page | Main | Next page »