SOA-enablement of spreadsheets - is it feasible?
SOA transformation is all very fine, but does is apply to all situations? For example, how do you apply SOA principles to organizations where the multitude of desktop users love the spreadsheet interface and swear by it? Perhaps a better question is, how should you apply SOA principles to environments where users are not looking to share information between desktops, where the ultimate flexibility of your own personal spreadsheet is inherently the differentiator between your product and your competition's, and where SOA is looked on as "Simply Over Ambitious?"
The finance world lives in spreadsheets. And, to give Microsoft due credit, they have marketed a whiz-bang product with Excel. A large percentage of financial models exist in spreadsheets, and they drive the financial products offered by multinational financial institutions. Sharing of information is primarily a matter of sharing a common repository of large files.
So where is the nail for which we have the SOA hammer? While the complex logic of modeling risk and other aspects of financial products is addressed by Excel, the volume of files is becoming an isurmountable problem. Plus, there is no real security for access. This was not a problem when the entire spreadsheet was handled by a small select team; but that is not applicable anymore. Errors and bugs are very hard to track. And cut and paste errors abound.
I faced this very situation at one of our financial clients. The client originally engaged another consulting firm to provide a solution to these problems. A grand SOA vision was drawn up. After about a year, the client lost patience, and were especially peeved when they saw the first deliverable about 12 months away. So they scaled back and asked for something small. That was when they engaged us.
SOA in the small? It is a kind of paradox. However, the real question to ask is, where is it truly applicable in this scenario? The answer is - "data management." Data from several disparate systems makes its way into the spreadsheets. This data needs to be standardized, cleansed, and integrated through common meshanisms. But wait a minute. Is this not an EAI problem? Where does SOA come in?
The very basic services under the SOA umbrella are foundation services. These basically include data gateways and the like to enable consumption and querying of data. Providing these services as a layer above the native integration with systems like Bloomberg allows the middle tier systems to make them available for consumption by spreadsheets. Once the services are built, they can be shared by trading systems that need the data for transactions.
This is definitely "SOA in the small." And it doesn't even go into the aspects of organizational governance. Nevertheless, it prepares the framework for departments to participate in the larger SOA initiatives that are already in inception across the whole organization.

Comments
Ajit
A really interesting view of "SOA in the small." Kind of "think strategic while acting tacticalally" ;-)
As you rightly summarized, an approach like this would prepare the framework for departments to participate in the larger SOA initiatives while going after the low-hanging fruits
Posted by: Mohan Babu K | June 5, 2008 02:09 PM
Right, Mohan. The only thing is that sometimes the applications that use the data services in the corporate level SOA may not be the spreadsheet applications. However, the very idea of getting the foundation services in place is to reuse them in several other areas. For example in this particular domain, they would be used in trading applications which use the same data
Posted by: Ajit Sagar | June 5, 2008 04:56 PM
Excel Spreadsheets and MS-Acces databases are the key tools of many analysts. The data in Excel spreadsheets and MS-Access databases, can be integrated into the enterprise by using Data Virtualization Products. The application logic in spreadsheets can be ported to a web application using a tool like "KDCalc".
Posted by: Kevin Apte | June 8, 2008 02:58 AM
Kevin, you are right in that data virtualization tools can be leveraged for integration. I think in these environments, the basic challenge is that the application logic is so convoluted and specific to the owner, that extracting it becomes a monumental task.
Posted by: Ajit Sagar | June 11, 2008 02:19 PM
I was listening to a talk of John Crupie, CTO of Jackbe in one of his talks a year back. He discusses this same idea and calls it as the long tail in enterprise applications.
These excel sheets with lot of business process and data are the long tail enterprise IT applications and he calls it as enterprise 1.0 The applications do access control through emails or file sharing etc. He was expecting these excel to mash-ups. This will be the next generation enterprise workforce who are used to building applications and collaborating using mash-ups. Email is too old for them!!!
His company and couple of other vendors are trying to create some solutions on this space. I found the same addressed differently!!
You can find the slides of the presentation at
http://www.sda-india.com/conferences/soaindia2007/SOA_India_Slides/John_crupi/CrupiSOAIndiaEnterpriseMashupsV1.pdf
Posted by: Tiju Titus John | August 25, 2008 09:46 AM