Although mashups started out in the consumer space, their success makes a migration into corporate IT environments inevitable. Firms exploring this new software development model may struggle at first to understand the importance of mashups from a corporate perspective. In the upcoming book, Mashup Patterns, author Michael Ogrinz provides a collection of use-case driven patterns intended to explain the value of enterprise mashups to both technical and non-technical readers. We recently interviewed Michael about the patterns and what he hoped to achieve with his book.
Q: Can you give us a bit of background on the origin of “Mashup Patterns”?
During my day job as an architect at a major financial services firm, I meet with a lot of vendors. About two years ago, the “mashup companies” came knocking at our door. At first, I dismissed them. They seemed too much like the brittle screen-scraping solutions of the past, or required us to Web Service-enable everything.
I started spending more and more time thinking about the underlying technology and how it could impact the problems a professional IT teams face on a daily basis. The list of potential uses suddenly exploded. But I still couldn’t get the traction I needed around the office, which I partly blamed on the confusion created by conflicting vendor marketing strategies. What the industry needed was an objective set of ideas for how mashups could add value, regardless of the particular tool. I realized that a lot of my thoughts could be distilled into generic patterns. Not quite the academic, Gang-of-Four kind, but something a little more rooted in practical use cases. And the material had to be approachable by non-developers – ‘power-users’ that could create their own solutions with the many new mashup tools popping up.”
Q: How have you organized the patterns in this book?
The core of the book is organized into a set of 34 patterns grouped into five main categories. This structure is intended to organize the patterns according the circumstances where they add the most value.
Harvest: Mine one or more resources for unique data
Enhance: Extended the capabilities of existing resources
Assemble: Remix existing data and interfaces to serve new purposes
Manage: Leverage the investment in existing assets more effectively
Testing: Verify the performance and reliability of applications
Q: How are these patterns presented?
Each pattern is presented as a problem/solution pairing, and with a Fragility rating. Since mashups can be more brittle than traditional coding solutions I think it’s important to understand where they might break so organizations approach them with reasonable expectations. The patterns are accompanied by several examples intended to show their value under a variety of different circumstances. On an academic note, there are probably only a few mashup ‘patterns’ in the more traditional sense of the word: Data Acquisition, Data Entry, Transformation, etc. But that wouldn’t really help the layperson see the value of mashups. So instead, I define these operations as ‘Core Abilities’, and each of the patterns above leverages one or more of them. This helps at tool-picking time, too. You identify the patterns you’ll use, and then choose the product that supports the core abilities required to implement them.
Q: Does the book include real-world case studies of some of these?
Yes, I was able to obtain a collection of case studies from a number of firms including The Associated Press, Audi, the Defense Intelligence Agency, SimplyHired, and Thompson Reuters. There were other companies that were unable to attach their names to the text due to legal restrictions but their experiences should nevertheless show that mashups are already an important component of many organizations’ IT departments.
As part of our goal to provide expanded coverage of Enterprise Mashups, we’ve invited Michael to join us in sharing his thoughts and experiences in future posts. We’ll review case studies from major corporations, look at the legality and governance challenges enterprise mashups face, plus we’ll begin comparing the commercial products and evaluating them by cost, capability, and usability.