Jonathan Marsh, WSO2 director of mashup technologies, spent part of his summer using a new wizard to mash up GPS...
data services with his photos in Flickr.
Building the summer photo app was his way of showing off the new capabilities of the WSO2 Mashup Server 1.5, the open source service-oriented architecture (SOA) vendor is releasing this week. With new wizard technology built into the user interface, the data services functionality in the application server can easily be used by database administrators mashing up data from a variety of sources, he explained.
As Marsh explains the fill-in-the-blanks style wizard: "The wizard says: 'Where would you like you data from?' You say I want to point to an Oracle database, or a MySQL database or an Excel spreadsheet. You can point to any one of them. You can then describe some queries, maybe some SQL queries against your SQL database, and map those to XML structures that turn into Web service operations. Then those Web services can be secured with rich metadata, the schema, the policies."
In enterprise IT, the mashup wizard was originally designed for database administrators, he said. But he also sees it being used by a new generation of Web 2.0 developers he calls "mashup authors," working with data from desktop spreadsheets, enterprise databases and downloads from mobile devices.
Illustrating how a mashup author would use the tool, Marsh draws on his own experience building an application to geo-tag his summer photo collection in Flickr, the Web 2.0 online photo management and sharing application.
The goal was to mash up location data from his GPS unit with the electronic date stamp on photos taken with his digital camera to create geo-tags for the photos in Flickr that would tell viewers when and where each photo was taken. It would automate a process that otherwise required him to enter the GPS data by hand.
"So I created a service where you plug in the GPS unit using a USB, run the service and it can query into the data files and give you back information," Marsh explained. "I was able to write a service where I basically give a time of day, like 7 p.m. on Monday. I put that in a service. It can go query the GPS, find the closest places in the track log to that, interpolate them and get back a location, the latitude and longitude of where I was at that time."
The application also rates the reliability of the GPS data for each photo.
"There's a little flag that says I'm pretty confident that this is right or we're starting to get outside of the dataset so it isn't as confident," Marsh said.
The next step was linking the GPS data with Flickr.
"So now I have a service that I can query into my GPS," Marsh says, outlining the development process. "My next step is to integrate that with Flickr, so I can say: Here's a Flickr set of images. Use the mashup to query the Flickr APIs to find out what the time of each photograph, correlate that with my GPS and automatically publish that information."
While this is more of a how-I-spent-my-summer-vacation application, it shows the potential for mashing up data services from a variety of sources.
"This isn't necessarily an enterprise example," Marsh said, "But it shows data services and mashups working together in a single application that doesn't require weeks of coding. It's easier to write this mashup than to go and manually geo-tag my photos in Flickr."
The growing SOA data mashup marketplace
WSO2 is not alone. As Web 2.0 data services mashups move into the enterprise, major vendors including IBM, Progress Software Corp. and BEA, which is now part of Oracle Corp., are offering mashup products for IT professionals, rather than consumer or business users.
Bradley F. Shimmin, principal analyst of application infrastructure at Current Analysis LLC., said the data services vendors fall into two categories, the consumer vendors for the popular Web 2.0 online communities and enterprise vendors. The major difference is the enterprise vendors are focusing on providing a data access layer, security and policy enforcement to protect privacy and confidentiality involved in business activities.
Mashup servers from Yahoo! and Google fall into the consumer category and offer a palette of pre-built components for applications such as photo tagging and sharing, he said. In the enterprise the issues are much more complex involving access to a wide range of sources from data warehouses to departmental spreadsheets. IT professionals need to sort through and apply policies before those data sources can be added to a palette that a business user can access through a portal.
Emerging tools for enterprise data services mashups provide a data access layer between the data sources and the business users accessing them, Shimmin said. As this technology is maturing for the enterprise, it not only provides a layer of abstraction but also adds governance capabilities required for business, as opposed to hobby applications, he said.
Progress Software is taking a business intelligence (BI) approach with its EasyAsk for Operational BI 11.0 product, Shimmin said.
"It creates a layer of abstraction between the user trying to gather and put information together, and the data sources," he said. With the abstraction layer the business user doesn't have to know SQL to access the databases.
IBM offers a tool that allows the user to select data sources and determine how they want to translate that into data services for business, Shimmin said.
Last year, prior to its acquisition by Oracle, BEA was working on a mashup server that had governance built into it, the analyst said. Having governance built in helps avoid the danger that a power user for a department might get hold of the mashup server and expose confidential business data.
XAware data integration focus
XAware Inc. is focusing on solving the data integration problems arising from the fact that in enterprises data from legacy systems is not always in XML.
Kirstan Vandersluis, founder and chief scientist for XAware, defines data services mashups this way: "You are taking data sets from multiple locations, combining it into a logical form, which for us means conforming to an XML schema, and then exposing that as a service."
At the MySQL conference earlier this year, he demonstrated how disparate data sources can be integrated into mashups using the XAware data integration environment, which he designed for building composite data services. The design environment is Eclipse-based. There is an engine that is a plug-in to a J2EE app server or servlet engine with a Java API for linking to applications.
To bring data from different sources together for a data mashup XAware provides adapters including ones for copybooks, text files, MQ, JMS, Excel, FTP and LDAP. The adapters convert the data into standard XML automatically applying the tags.
Mashup governance issues
Shimmin said it is unlikely that enterprise end users will create mashups themselves as IT will need to maintain control of the governance issues such as service level agreements (SLAs) for the Web services involved. Enterprise end users are more likely to access the mashups via portals where IT authorized data sources are presented to them on a palette.
"In an enterprise if you had a mashup server like WSO2's or IBM's and somebody in your IT department made it available to power users without putting controls around the data they could access, you could fall out of compliance right away," Shimmin said.
A careless business user with access to a mashup server could cause a lot of problems, including legal exposure, for an enterprise, the analyst said. In the medical industry patient data is subject to privacy laws, but business users might not realize that the data they are mashing up includes private patient records.
"You can't have that," Shimmin said explaining why he believes mashup servers will stay under the control of the IT department where governance can be enforced.
From the end user perspective, Shimmin said the growing trend is enterprise portals where the controls on the data available have been put in place by the IT department. In these enterprise portals data is componentized and ties to workflows such as order-to-cash, he said.
"Mashup servers came out of this very consumer-driven Web 2.0 world, emerged as standalone entities, but are being pulled into portals because that's where they do the most good in the enterprise," Shimmin said.
While it is early in the adoption curve for enterprise use of Web 2.0 technologies, the analyst predicts IT will be busy building data services mashup applications for business user portals.