Office as a Web Service Platform


Charles Maxon from Office Zealot is speaking on using Office 2003, the XMLized version formerly known as Office 11, with Amazon Web services (AWS).

Charles claims that Office 2003 solves a number of issues that have kept developers from viewing it as a platform:

  • Distribution - Web services solve previous distribution difficulties
  • Security - Security issues have been solved. Really...we promise!!!
  • Captive data - XML make the data fungible. Its not trapped in proprietary formats.
  • Sophistication perception - XML and Web services are cooler to work on that macros.

Charles showed an example of giving Excel the URL of the AWS service for a search and an XML Schema and then getting a custom view of the data. Pretty simple to do and let's you work with the data using charting, sorting, pivot tables, etc. The data can be published from the Excel document to a web share for use by others.

He also demoed the research and reference library feature that allows AWS data to be brought into the Word task pane and then easily included in a Word document. The task pane essentially becomes a web browser, but its being driven by XML and formatted using XSL. This is not default behavior, but something that Charles wrote to include Amazon functionality into Word.

SmartDocs takes the task pane functionality even further allowing developers to create context sensitive controls and content that uses and modifies the XML in the Office document. The coding is done using a COM (.dll) add-in that is based on Smart Tags. The manifest contains this code, XSL stylesheets, Schemas, and so on. Charles demonstrated this using a task pane that had been customized for creating consulting services proposals.

Regardless of how its used with Amazon, I believe that this kind of functionality, built-into a program that almost all companies have already decided to buy for their employees represents a big opportunity for enterprises to roll-out Web services in ways that are inexpensive and affect the bottom-line. For example, one could easily imagine a travel application that has been built-in Word and customized for a particular company. The travel application grabs relevant data from company and travel agent Web services but looks like a Word document to the user. Publishing to the company's travel web share would then submit it. Of course, all they'd see is the XML-delimited data and they could suck that into whatever legacy application they use to manage travel now. After the trip, the user would use a smart expense report document that would grab the application to fill-in a lot of the data. Additionally, the expense report could use other services from the company's Web services to ensure that expense report rules are followed. Again, publishing to the travel web share would file it. That's one small application out of hundreds or thousands of small enterprise applications that could be built. Microsoft obviously understands the idea of platforms being more valuable than applications.