Sunday, October 05, 2008

Mashups - An overview

This post came about after a little chat I had with my boss on a 'thought leadership' paper submission. His thought was on a way in which enterprises (say power companies) can talk to each other over the Internet. As he was explaining, here's how my mind went: "Hmm standards, eh? Services on the Internet. SOA. Hmm why not have a website where the customer can pick and choose the company and why just electricity? Water too. Let's put together a map to find out the nearest office, and comments and maybe even YouTube videos. Yes YouTube. Spiderpig was hilarious. Should download the Simpsons. Sorry what were you saying?"

So here I was wondering about mashups and I still don't have a clue what to write for the paper. Anyway thought I'd post an overview of mashups before the Kronenberg kicks in.

Lets start with examples, shall we?

Example 1
Consider the PC. We have many applications that we use everyday like Word, Firefox and Winamp. Now spare a moment on the picture below. So at the bottom we have Windows as the OS and all these apps run 'on-top'. But we can obviously use other alternatives like Abiword, IE & foobar. Double click and voila! The seamless operation is because Windows provides something called APIs or Application Programming Interfaces. Interfaces are exactly what they - application use these are well defined requests to query information such as Date/Time, access to the graphics display, or even authenticating the user. Windows recognises the request, does the necessary work and provides the information.

The steps would be something like this
* App: Hey Windows what time is it? (of course it's all in some computer language;)
* Windows: I undesrtand your request. Let me check the system clock.
* Windows: The time is 12:00 pm

Now thanks to APIs, all applications have a consistent way of working with Windows ie. even when new versions of Windows is released or even if it's an Intel or an AMD processor or even if you have an NVIDIA or an ATI.

Now lets extend the concept to the Internet.
Example 2
For this example I'm taking my all time favourite company: Goggle :) We've all come across websites (apart from Google, of course!) that have a little search box that actually uses Google to search the website. And the recent one is where there is a bigger box with a map showing locations. Check out this cool website. http://todaysstory.googlepages.com/tokyo.htm

All this is possible because Google 'publishes' APIs that websites can use. Now the important thing to note here is that these websites do not hold Google code to do the search, rather they query Google. A more geeky way to describe this would be 'the website consumes services that have been published by Google'.

Finally Mashups
All this is fine, so what are mashups? Ah well lets extend example 2 further. Consider the picture below.

Now Google is not the only company that provides services, Yahoo! for example provides a lot of financial information. Now how about if there was a website that provides financial information for say, Nike and at the same time gave you an option to buy at eBay and also shows you the nearest store. Hows that for interesting! Well folks this is what a mashup is.

Quite simple if you think about it, bring in data and services from many places put them at one accessible place. Of course you can't just bring in anything and everything: the data & services need to be capable of understand user requests or in geek speak should be 'mashable'. The concept is nothing new, but i guess the tipping point was when Google launched it's Google Maps API (2006 I'm guessing, so you see mashups are not ver new!).

Mashups thus bring with them two very important things: standardisation and more importantly innovation.

Business/Enterprise Mashups
For businesses, mashups can be essential tools to reach out to the customer. An ecosystem ahs already developed companies offering mashable content, companies offering tools to mash content and even companies that offer ideas of how to mash them together!

Now lets take a peek inside the enterprise. IT has been focused on providing infrastructure, and usually has not been able to deliver what users want! Imagine a scenario where end users can actually create applications that take consume data from various application sources and create a soluions without asking too many people. This is business intelligence, this is self service IT, this is what enterprise mashups provide.

Enterprises no longer need to spend huge efforts in building applications that span the organisation. No more suite of products. Consider Acme Inc that has it's field force automation happening on SFDC, the HR running Peoplesoft and trouble ticketing on AmdocsCRM (my favourite!). A mashup can easily drive up productivity (and also drive down costs) by linking all three together.

Standards for data and interfaces are thus very very important. Enter SOA. I'll talk about that in another post.

Well my friends I hope that provided a quick overview of mashups. Time for me to hit the sack.

4 comments:

prav said...

Wow man... i just came across ur blog... a bit of it went over my head... but sure sounds interesting!

Mac said...

would be useful for enterprise segments.waiting for an easier CMS system( not Joomla pls!) so tht we could develop our own apps/info what we want instead of squandering across a million web pages :)

retarded said...

hoooh!! tht was an interesting read...
Why dont we provide amdocs CRM API on google home page for ticketing without letting Amdocs(c) know? :)

Guess you know our guys have created a .NET API on mobiles for clarify thinclient and named it Mobile CRM!!


keep writing... [[and submit the paper..]]

Abhilash said...

Heyy DJ.. its quite some time since I heard something from/about you.. got this link from ur facebook profile...

Well about this blog.. so simple a way of describing mashups.. you should start lecturing... :) I am serious!!

Good to see the geek in you is still alive... :) Keep writing...