Open XML and OBA
Office Business Applications, or OBAs, encompass a wide variety of integrated architectures involving Line of Business (LOB) software. Essentially, LOBs or custom apps become part of a natural workflow that conforms to human function rather than system function. Key Microsoft technologies serve as the method and the means of creating and using OBAs, primarily Office SharePoint Server 2007, SQL Server 2007, and BizTalk Server 2006, among others, with 2007 Microsoft Office acting as the front-end. As a result, essential but not so user-friendly third-party technologies get a facelift—Office 2007 itself becomes the UI—while integrating thoroughly and efficiently into the organizational workflow.
Open XML plays a key role in OBAs. With custom Microsoft Office applications pulling in multiple data points into a familiar UI, the Microsoft Office document itself serves new functions in the process.
As an example, VBA coders have long been familiar with using Office Excel spreadsheets as a data entry tool. The concept looked something like this: you create a spreadsheet template with protected and unprotected cells (and lots of colored boxes and instructions). Users use these to create client spreadsheets, which they send in via email (or worse, floppy disk). Meanwhile, you create a master spreadsheet with macros for importing these new files. Ideally, the macro code locates each file, opens it in a new instance of Office Excel, finds the appropriate cells, then compiles it into your master spreadsheet, which then gets exported to csv format so it can be imported elsewhere—that's one way it's been done.
The new scenario plays out a bit differently. Perhaps the user gets an email request for a bid, which triggers a context-sensitive custom task pane in Office Outlook. Controls in the task pane allow the user to auto-generate an Office Excel spreadsheet. The controls (still in Office Outlook) programmatically cull data from multiple sources over the network in a variety of data formats to create a pre-populated .xlsx file. But the original user never opens this file.
Instead, the process continues along an Office SharePoint Workflow to the analyst down the hall, who gets the file and opens it in Office Excel. She does her magic, incidentally performing the task for which she's been trained and hired rather than combing through data archives manually, then saves the resulting analysis.
The workflow passes along the message that new figures are in place, triggering some server code that programmatically extracts just the new data, again without opening Office Excel, and populates an SAP database. Someone else gets an IM, checks his dashboard, and sees the new information being pulled directly from SAP using a Duet API.
This scenario includes several components of the OBA architecture. But you'll notice that Open XML plays a lead role. Being able to programmatically access Microsoft Office data enables a faster, more efficient, more automated flow of data through the enterprise.
This before-and-after picture is somewhat like comparing apples to diamonds. As a more direct comparison, instead of opening and reading a series of spreadsheets using VBA, you would write a few lines of Visual Studio .NET code to iterate through a directory or document list and append what you need to a data object, which can then feed whatever data store you're saving to: SAP, Microsoft SQL Server, another Office Excel file, etc.
Non-Microsoft Implementations of Open XML
Outside of Microsoft, other companies and individuals have been quick to build their own implementations of the Open XML standard, or support the standard in new product versions. Here are just some of the products already out or coming soon:
Where to Go From Here
Since the ratification of the Open XML standard, several community groups have flourished to take advantage of the open format. In addition, Microsoft has begun to offer training to help ISVs and partners better learn how to take advantage of the format in their organizations and product offerings. Be sure to check out the following resources:
* This article was commissioned by and prepared for Microsoft Corporation. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.