Gregor's Ramblings
Home Patterns Ramblings Articles Talks Download Links Books Contact

Mashups Tools Market

August 18, 2007

ABOUT ME
Gregor Hohpe
Hi, I am Gregor Hohpe, co-author of the book Enterprise Integration Patterns. I like to work on and write about asynchronous messaging systems, service-oriented architectures, and all sorts of enterprise computing and architecture topics. I am also the Chief Architect at Allianz SE, one of the largest insurance companies in the world.
RAMBLINGS
Here I share my thoughts and ideas on a semi-regular basis. I call these notes "ramblings" because they are typically based on my personal opinions and observations as opposed to official "articles".

As I reported from Mashup Camp, an increasing number of vendors play in the mashup space. I am obviously not the only one who noticed. Dion Hincliffe recently discussed 17 different mashup tools. Maybe I have an MBA hidden inside me (or 10 years of consulting left some marks), but I was temped to conduct my own market segmentation. Gartner would be proud of me. Just be aware that my analysis is not meant to be comprehensive and all statements carry a 0.5 probability of being right :-)

Back-to-Front

Being an old EAI type, one classification that immediately sprung to my mind is the separation between adapters, transformation, and presentation. These terms might be a little dated but each segment still offers a critical piece of behavior. My "picture" of the market would look something like this:

MashUp Tools Market Segmentation

Mashups are all about data. So let's start with the data sources, i.e. the right hand side. Mashups like simple XML data sources, ideally RSS or Atom feeds. These are not yet too common in the enterprise, so making data sources available is step one. These tools might scrape information off HTML pages (e.g. Dapper or OpenKapow), or enable more traditional data sources like data bases or enterprise applications. In the mashup world these "adapters" either produce feeds or allow REST-like requests against their data entities.

Mashups are also about combining data in interesting ways, for example plotting meeting locations on a map, correlating neighborhoods with crimes, and the like. This is the domain of transformation and aggregation tools. These tools can enrich incoming data streams, extract data from XML documents, or perform more advanced functions such as geocoding. Yahoo! Pipes is probably the most prototypical implementation of the transformation layer.

Lastly, mashups are about rich user experiences on the client side. Another crop of tools makes this feasible without requiring you to know the ins and outs of JavaScript. This is where Google Mashup Editor and IBM's QEDWiki play. This segment blurs a little bit with "generic" AJAX tools, such as TIBCO's General Interface.

Of course the real world is not all black and white. A number of tools span more than a single layer. For example, Microsoft's Popfly seems to combine presentation and transformation (I don’t have an account yet). Pipes has a default presentation layer, which for example plots locations on a map. Snaplogic does both data sourcing and transformation.

You might have noticed that my picture does not include any service providers. These are the folks who provide data feeds or services and enable to Web to become a true platform. I omitted them because I wanted to focus on tools. Highlights in the provider / API space are Amazon, eBay, Google, Yahoo, AOL, and many more. Programmable Web listed 498 of them at last count...

Operational

With things running in the cloud, functionality is only one half of the equation. The (possibly even bigger) half is considered with operational aspects. Is it going to scale? Is it secure? Can it survive DDOS attacks? How do I manage a large set of these mashups? Such concerns run orthogonal to the division of functionality. The only company I have come across in this space is mashery. I am sure there are others (or at least there are going to be).

It slices, it dices

Of course there are many other ways to segment this market. For example, we see open source, free (closed source) software, and commercial vendors. We also see small players and the usual heavyweights (Microsoft, IBM, Yahoo, Google etc). We can also distinguish newcomers from "converts", i.e. companies that shifted their attention from EAI or ETL into mashups.

Mashup in a box?

In the Web services / SOA world, some of the operational considerations have led to the advent of integration and XML appliances (see my first rambling ever!). Should we expect to see mashup appliances? I think it would be great if I could run and manage Pipes on an appliance in my enterprise. The pitch would be analogous to the Google Search Appliance: run the service you love from the external cloud inside your enterprise, where you have full control, have access to your private data, and make sure your data never leaves your network. Anyone willing to fund me?

More tools

I have a day job, so I have limited time to play with mashup tools (my 20% project, perhaps?) High on my list is IBM's DAMIA. I heard the code name used to be "Mafia" (Mashup Fabric for Intranet Applications). No wonder that didn't make it past the corporate approval. Also, my Core J2EE Patterns friends now work at JackBe. I'll need to check out what they are up to -- they have mashup written all over them.

New Mashup Podcast

Lastly, my ramblings are a lot more fun if done with the proper accent, ja! My podcast on mashups in the enterprise is now live on the Google Code Blog. Enjoy!

MORE RAMBLINGS    Subscribe  SUBSCRIBE TO GREGOR'S RAMBLINGS


Gregor is the Chief IT Architect of Allianz SE. He is a frequent speaker on asynchronous messaging and service-oriented architectures and co-authored Enterprise Integration Patterns (Addison-Wesley). His mission is to make integration and distributed system development easier by harvesting common patterns and best practices from many different technologies.
www.eaipatterns.com