Got this link from someone's blog. Can't remember how. So I took their software for a spin. Basically it's an integration broker that has no central server. It uses multicast to discover peers and routes messages to the peers instead of through a single server. Every peer is in effect a server - peer to peer.
This model meets a requirement of mine perfectly. I need to have an event driven subsystem that runs as part of a web front end. I was looking at activeMQ, but could never rationalise the need to run a broker to realise my requirements. The future may allow me to upgrade my event system to a full JMS broker if I need to, but right now, everything can be in-process, but decoupled. You can use the JMS api for all broker interactions, using JMS as the facade layer.
These guys are building a complete integration broker. They have an Adapter Framework, which they call an "Activation Framework" and a "Data Maninpulation Framework" which is their transformation framework. So, in a sense, you have a full message based integration system. The adapter and transformation frameworks are quite immature. The transforms seem to be done in XSL and you only have Adapters for relational db's or web services.
All in all, pretty nice looking broker tool. Very low overhead to get it running in your app - with a clear upgrade to industrial JMS if you need it.
First Monday have restarted sending me emails when they publish. One in particular stood out this time titled "Six Degress of Reputation". It's an article about online reputation systems as evidenced in Amazon. It has some interesting parallels with people who blog to create an identity.
It's also quite an interesting insight into the amazon reviewing system. One which you've probably suspected was gamed by stakeholders, but now can be sure.
Agilists working in enterprises bemoan the fact that the enterprise just doesn't get Agile. We spend a lot of time talking about when agile applies or why the business just doesn't trust us. We talk about the personality types that might accept agile. We talk about values that need to be maintained for agile to work. Mostly we spend a lot of time talking about abstract concepts and trying to reach agreement amongst ourselves as to why our superior ideas aren't getting accepted. Come to think of it, we sound a lot like all those fuzzyCloud box&arrow architects we profess to dislike.
Perhaps, we should just get real? Here's a possible approach;
Adopt a data first approach to the current method. Doesn't matter which method your Enterprise is currently using. Discover the true costs of your current approach to software development. Until you have the data that says the company spent too much of it's development budget on writing/reviewing documents that nobody reads you won't be believed that there might be an issue. I once coursely calculated that writing one page of documentation cost the client $700 per page - good or bad? Other data that's worth knowing is; How much time did the team spend in meetings? What does the look like? How much technical debt have you accumulated? what is the projects risk profile like? Number of feature changes?
When you get all this data for your current process, then we can start introducing changes.
James McGovern summarises it as "The key to agility is learning what went wrong in the past so that one can address it in the future."
Before we can change the world, we need to know how it currently works. Yeahyeah, we know that it's broken, but people less than us need proof. Having been a failed change agent a number of times, the only way to convince people things will be better due to your improvements is to measure what's currently happening, highlight the risks, costs, and benefits of your change, and show them how you'll track the improvements. Then execute(and sell). Come to think of it, that the only way you can convince yourself that a change will be for the better. Whenever I see methodological improvements without a measurement(think feedback) backplane, I laugh. That's what attracted me to Agile in the firstplace, the data-oriented nature of the decision-making.
But how do you get all this data? I know of a couple of generalised workmanagement tools which you can use to track the actual work you do today. It doesn't come for free. Implementing these approaches isn't easy. It's mostly a cultural issue, but that's where us "architects" prove our metal as leaders. Then again, we could just draw boxes and arrows and arguepontificate amongst ourselves.
14000 seems excessive. I'm certainly not in that league. But I need a deeper analysis of my information habits. I want to know what I'm reading, what I'm ignoring, what dies, what the various posting habits are of various people. Does Ray Ozzie still post? I'm still subscribed to his weblog, but I don't know.
In that vein, I've done some research over the years, but no tool makes it easy for me to understand me. Looked at feelounge, but it didn't offer any deeper understanding over bloglines, so I stay.
I've played with omea which seemed promising, but I found the interace clunky and difficult to learn. I was bitterly dissapointed when they shortened the name from OmniMea [All about me] to Omea.
Prior to that, I tried to understand the haystack project, but that seemed to want me to understand rdf and semantic stuff. Tough. Though the conceptual model that it has seems close to what I want.
There's always the perennial Chandler which promises to be a platform for this kind of innovation, but it's forever in development.
I need to understand the shape of the forest I've created for myself. For the moment, it's all trees.