Tuesday, 7 October 2008

Data Services

WSO2 has just launched our Data Services (DS) solution. WSO2 DS is a system aimed directly at the problem of exposing existing databases and data sources as services - securely, reliably and with as little bother as possible.

How does it work? Fundamentally there is an XML file that defines the mapping between either a SOAP interface or a REST resource-model and the underlying data. But rather than expect authors to write an XML file, we have a simple Web-based UI and Eclipse plug-in that creates these files.

This is actually technology that was previously available in WSO2 WSAS and won a SearchSOA Gold Award. So what is new? And why have we split it out from WSAS?

Well, firstly, our philosophy at WSO2 has always been to be language-neutral. We offer systems and libraries for PHP coders, C/C++ coders, JavaScript coders, Perl, Python, and more. So you can almost think of this solution as a system aimed at SQL coders: database admins, SQL programmers, data architects. If you can put together an SQL query or call a stored procedure then you can create a data service using our system.

So that explains why we split it from WSAS - effectively we wanted a system that didn't confuse Data with Java - you don't need to understand EJB, POJO, JPA, ORM, JAXWS, JSR181, or any other Java technology to create Data Services. (Of course you don't need to understand those to create Java Services with WSAS either - except just POJO).

But this isn't just a "split" from WSAS. In fact, this is a componentization. So the same Data Services component is now available standalone and will be available in the next WSAS.

Finally, what's new?

Three main items:
  • firstly, the Eclipse plugin.
  • Secondly, full REST support. Yes you can actually define a proper mapping between Resources (and the GET/PUT/POST/DELETE model) and the underlying database.
  • Finally, you can create services that use data from distinct data sources. Suppose you have an Excel spreadsheet that has some customer numbers in it, but you need to look up each customer in the Oracle DB, you can do that very simply.
I have to give hats off to Sumedha for this. He has turned this from a cool experiment into a serious competitor in the Data Services space. Kudos to the rest of the team as well, who worked incredibly hard on this release.

More reading:
Sumedha's articles on Oxygentank

No comments:

Post a Comment