The recent round of discussion of enterprise mashups has been a good one, led primarily by a stellar write-up recently by Galen Gruman, and highlights a phenomenon that is nigh upon us. As part of tracking this, I've been spending the better part of the last couple of months searching high and low for good quality tools that let anyone build enterprise-quality mashups, and I can safely report here that there are only a few.
But why are enterprise mashups important?
I've had discussions with a number of enterprise architects currently working in the industry about this and I do see a common theme in many of the IT requests they get these days. There seems to be considerable pent-up demand for smaller, custom applications in large numbers. The solution space around large enterprise apps is increasingly well-bounded; almost all enterprises today already have their mainline IT systems well developed and evolved. The remaining IT projects are often the ones in which the investment for traditional tools and processes would not justify the return. And based on these anecdotal discussions, there seems to be a sort of Long Tail of IT software demand, something both Rod Boothby and I have been discussing this year. If true, it is just possible that there is a vast amount of untapped value left in IT yet. We just need tools to access it.
The main attraction of mashups is that they have the potential for self-service in that end-users can theoretically create them. They also perform integration in the browser. This provides a sort of safe "sandbox" where users can experiment safely with powerful tools without affecting the traditional IT development, deployment, and support processes. And presumably, enterprise mashups tools would provide automatic versioning, security, and other needed enterprise software qualities.
All of this potentially drops the cost of development enormously because an end-user -- or two or three -- could just get together and create, test, and share an enterprise mashup in a few hours, instead of the laborious and time-consuming cost of spec'ing, budgeting, architecting, designing, project managing, testing, and maintaining the software using the elite and expensive skills of the IT department.
Tasks difficult to automate with general solutions: Complex, collaborative problem-solving
Another major attraction of enterprise mashups is known as the automation dilemma. In today's knowledge worker intensive businesses, rote processes are not the norm and are increasingly automated through various mechanisms today. I've cited here how the respected McKinsey & Company identifies something called 'tacit interactions' as the last significant automation-resistant bastion of daily business work that remains to be well-solved. I would counter that most workers today use self-service tools today, such as spreadsheets, Access databases, and e-mail to collaborate and share information. Of course, these tools today offer very limited power, flexibility, or deep social and collaborative possibilities. If only there were tools that truly enabled the kind of bustling collaboration and sharing that we see out on the Web everyday, such as the blogosphere and social networking sites like Facebook.
Readers of this blog are already familiar with many of these arguments and I won't belabor them too much. At this point, however, we need tools that actually enable this way of working; end-user guided creation of software, IT policies that encourage the exposure of corporate information in RSS and XML feeds, and good mashup development tools that literally require no training to use. Also, the Global SOA is becoming larger each and every day, providing all of us, consumers and businesses both, with a powerful inventory of unique services and data to weave into our mashups, if only we had a suitable "loom".
A Web Widget is a portable software application, or module, that can be installed and executed within one, or more separate browser-based application platforms by an End User without requiring additional compilation.
Where are all the good enterprise mashup tools? Here's one...
In my search for great enterprise mashup tools, I've so far had limited success. There are many excellent products that come very close in many ways to the ideal. But usually they fall short by not being open enough, requiring an installed PC software application to build applications, being too complex for end-users, not being Web-based, and so on. However, I've recently come across one product that clearly shows almost the full potential of enterprise mashups in a single package, despite a few rough edges.
I recently came across Applibase's impressive DataMashups.com site, and more than any other product I've seen so far, it clearly demonstrates the possibilities and potential of enterprise mashups guided by end-users and shared amongst co-workers. The site has an excellent service preview that lets you quickly start assembling mashups visually, right online, using a rich palette of pre-existing widgets, feeds, data from local and remote SQL databases, and much more. I encourage you to try it.
And though the functionality is clearly the deepest I've seen for a purely online application, and sometimes runs the risk of being too complex for end-users, DataMashups.com is as well-built proof-of-concept of enterprise mashups as I've yet seen. And a proof-of-concept it is. DataMashups is not yet released and at this time, though the power of the sample version alone is compelilng enough, it's not yet available for enterprise use. However, if this is an early indication of what's to come, it's increasingly apparent we're at the very beginning of the mashup revolution and the rise of situational enterprise applications.
Brief Update: DataMashups.com will go into beta next month according to Applibase, though you can continue to use their preview sandbox (link above) to build and run mashups today.
Not sure about any of this? IBM has clearly identified mashups as a key enterprise trend as well.