Monday, 15 December 2008

Mish mash-ups

Everyone’s talking about mash-ups, even some people sitting near me in the pub the other day. And everyone has seen what clever things you can do with Google Earth and some other high-profile mash-up sites. But has anyone seen a mash-up using mainframe data? And would it add business value?

But what is a mash-up? That’s the first problem – actually defining the term because it’s been used for slightly different things. Some mash-ups simply display data in a different way, while others combine information or capabilities from two or more separate sources to deliver new functions and insights.

And how do you create a mash-up? Well that’s up to you. At the moment, there is no standard way to build mash-ups – everyone has choice and flexibility. However, they are typically built on a Web-oriented architectures like REST (REpresentational State Transfer) or SOAP (Simple Object Access Protocol), and leverage lightweight simple integration techniques like AJAX (Asynchronous JAvaScript and XML – itself and acronym for eXtended Mark-up Language), RSS (Really Simple Syndication), and JSON (JavaScript Object Notation). The result should be the fast creation of rich desktop-like Web applications.

Typically, "widgets" and "feeds" (probably) from independent sources are mashed together, but do not change when mashed. A Web feed is data formatted in XML and used to provide users with frequently-updated content. Content distributors syndicate a Web feed, thereby allowing users to subscribe to it. Making a collection of Web feeds accessible in one spot is known as aggregation, which is performed by an Internet aggregator (of course!).

A widget is a small program or piece of dynamic content that can be easily placed into a Web site. Widgets are given different names by different vendors, eg gadgets, blocks, flakes. Widgets can be written in any language (Java, .NET, PHP, etc) and can be as simple as an HTML fragment. Widgets can be non-visual, and often encapsulate an API. "Mashable" widgets pass events, so that they can be wired together to create something new.

IBM, of course, has mash-up software. This includes Lotus Mashup, Infosphere mashupHub, and WebSphere smash.

Going back to my original questions, mash-ups can include mainframe data, and can take data from that most efficient but complicated beast, IMS. It’s perfectly possible to convert an IMS asset into an IMS RESTful service, which has the ability to consume and be consumed by other Web 2.0 services. IMS customer could then remix and mash-up their data rapidly with IBM Info 2.0 tools to extend their business logic without the need to write a single line of code.

Alternatively, by publishing an IMS RESTful Service to the Web 2.0 community, this opens up the possibility of third parties generating creative mash-ups that could benefit both third-party developers as well as the original IMS service provider. The third-party developer would now have IMS assets available to them. While, the IMS service provider could benefit from new business opportunities and increased partnership on the Web. And this answers my second question – it would add business value.

Some of the information in this week’s blog was taken from a recent presentation given by Jenny Hung from IBM’s IMS Development Division to the Virtual IMS Connection ( virtual user group meeting. A copy of Jenny’s presentation is available for members to download from the Virtual IMS Connection Web site.

No comments: