Tuesday, October 14, 2008

Mashups and SOA

The recent buzz in the IT industry apart from SOA is "Mashups". While SOA mainly focus on Web Services, Mashups deal with bringing data from various systems together.

Wikipedia defines Mashup as a web application that combines data from more than one source into a single integrated tool. RSS, Web Pages, Databases, Web Services, and even custom code can be sources for Mashups. Data can be made available using different protocols like Web Services (SOAP), REST, or RSS.

Based on the type of activities that are done with the mashups, mashups can be categorized as data mashups, consumer mashups, and business mashups, etc. While there is no clear separation among the mashups the underlying concepts or technologies are the same.

We can classify mahsups as next generation Portals as there are many similarities in the functionality and concepts. At present there are no specific standards (just for the mashups) like portals which have JSR 168, JSR 286 etc. but follow some of the XML, Web Services and REST standards.

Some of the aspects or focuses of SOA are governance and service reuse or service composition. With some of the commercial Mashup tools both of these things can be easily done and infact service composition is the goal of mashups. Lately Data Services are also focus of rapid development and SOA and these data services are focus of Mashups also.

Some of the known mashup tools in the market/industry are WSO2 Mashup Server (open source), JackBe Presto, Serena Business Mashups, Nexaweb Enterprise Web Suite, RSSBus, Apatar (open source), Kapow's Web Harvesting Tools, Backbase, etc. Most of these tools focus on bringing RIA usage to the users apart from mashups.

If properly used in SOA for the service composition and to feed the data for portals or to serve as portals these can be potential candidates for good ROI.