Friday, July 17, 2009

Lessons from The Golden Hammer and The Mule

'I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail.' (Abraham Maslow, The Psychology of Science, 1966). Most college freshmen learn about the hammer. And we certainly know all about the hammer in the IT industry. By 1998 this worst-practice had become so common in IT circles, in fact, that the book 'AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis' immortalized this anti-pattern with the happy title of 'the golden hammer'.

Recently, Ross Mason, the CTO of open-source SOA tools creator MuleSource, wrote a great blog about the golden hammer problem in the world of the ESB. We feel his pain. As an emerging technology vendor ourselves, we are very eager to understand and share the best uses of enterprise mashup technology.

You have a fairly good use-case for enterprise mashups if you have a dynamic information environment that requires the real-time assembly of disparate data silos in a user-specific context for critical decision-making. But that's a bit of a mouthful. So what do enterprise mashups mean in business terms? I like the answer I got from a CTO at BlueCross BlueShield, the medical insurance giant: mashups '...create valuable and actionable information'. Recent examples we've seen include solutions for Situational Awareness, budget analysis, Recovery and Reinvestment Act reporting, clinical research, data packaging, and executive KPI dashboards.

Interestingly, we are also occasionally asked why can't an ESB can't do the job of an Enterprise Mashup Platform. ESBs and Enterprise Mashup Platform ('EMP', for short) have some similar qualities but they differ in one fundamental way: ESBs are decidely 'A-to-A' (application-to-application) and EMPs are 'A-to-U' (application-to-user).

ESBs emphasize features and qualities that support robust application-to-application integration and just don't have any true user-facing, collaborative capabilities. And I think Ross agrees: 'Mule and other ESBs offer real value in scenarios where there are at least a few integration points or at least 3 applications to integrate. They are also well suited to scenarios where loose coupling, scalability and robustness are required.'

In contrast, enterprise mashups are as much about viewing, rating, personalizing and sharing as they are about data assembly. Here at JackBe we think about mashlets, porlets, spreadsheets, and iPhone apps as much as we think about data-source virtualization, mashup transformations and standardized mashup interfaces. To paraphrase one of my favorite Gartner analysts, an enterprise mashup platform without meaningful capabilities to deliver the mashups to consuming users is simply not an enterprise mashup platform.

What this really means is that ESBs like MuleSource and EMPs like JackBe's Presto compliment each other very well. #5 on Ross's 'ESB Selection Criteria' list even says 'Do you need to publish services for consumption by other applications? This is a good fit for Mule as it provides a robust and scalable service container...'. And that's exactly where an EMP comes in! One of JackBe's best customers uses ESB-based web services instrumented with Web Services Notification to send data a number consuming applications, including Presto. Presto mashes the inbound data and delivers the mashup via mashlet to a user-facing portal in real-time.

As my 9th-grade shop-class teacher used to say: 'A good carpenter knows his tools'. Makes me wonder if Maslow was a friend of his.

1 comments:

SBL-Geomatics said...

Quite informative and interesting…Thanks for sharing .nice post..
regards
GIS data processing
GIS spatial analysis