| Excel Server in SharePoint 2007 |
| Oct. 23, 2006 |
Excel Services, a feature of the SharePoint Server 2007 Web portal and document management platform, will support server-side spreadsheet publishing and calculation and could help organizations that distribute Excel spreadsheets for reporting or analysis. Excel Services combines a spreadsheet calculation engine, components for rendering spreadsheets in Web browsers, and a Web services programming interface that allows developers to incorporate spreadsheet formulas and calculations in other applications. Excel Services could encourage upgrades to Office 2007, which is required for publishing spreadsheets. However, Excel Services is new and falls short in many scenarios. What Is Excel Services? Excel Services runs spreadsheets and performs calculations on a Web server, delivering results to users through a browser and to other applications through a Web services API. (For an overview of Excel Services' components and architecture, see the illustration "Excel Services Architecture".) For interactive spreadsheets that are regularly used by large audiences, Excel Services has advantages over sharing Excel files on file servers or distributing files by e-mail. Excel Services centralizes formulas and data, which makes it easier to keep the spreadsheet current and prevent unauthorized changes. In addition, Excel Services requires less software on clients. Users will not need to run the Excel client locally to access shared spreadsheets, although they need Excel 2007 to create them. This is particularly valuable for spreadsheets that access data from corporate data sources, such as "dashboard" spreadsheets that summarize business performance data from enterprise resource planning (ERP) systems. With Excel Services, users will not need to have locally installed drivers and connections to the data sources, which enhances security and reduces the cost of client administration. Excel Services also has several advantages over Microsoft's existing Office Web Controls (OWC), ActiveX controls that provide access to a subset of Excel functions in Internet Explorer (IE). For example, Excel Services does not require ActiveX support in the browser, a frequent source of security problems. Excel Services also has more options for protecting data in spreadsheets, such as the ability to hide specific worksheets, and it supports browsers other than IE. The Web services API of Excel Services could help developers exploit proprietary analysis methods (e.g., formulas for analyzing investments) or other kinds of business logic currently embedded in Excel spreadsheets. To use such logic in applications today, developers typically recode it in their applications. Excel Services' Web Services API will allow developers to access the logic programmatically, eliminating the need for them to build it into applications. For example, a Web application that performed some complex calculation could collect the required parameters from the user, send them to Excel Services running elsewhere on the network, and display the result, without requiring its own calculation logic. It could also simplify management of those applications—developers or analysts will be able to update analysis methods or calculations in Excel, without having to recompile and redeploy the applications that use those calculations. Excel Services is also designed to run efficiently on servers and to address technical problems that hamper running the current Excel desktop product on terminal servers: high per-user CPU and memory requirements and complex configuration (such as COM object registration). Publishing with Excel 2007 The Excel 2007 client application will serve as the primary tool for publishing Excel files to Excel Services and specifying how users will be able to work with the published files. Publishing an Excel file to SharePoint Server uploads the entire file to a SharePoint document library. However, in conjunction with the new "View Only" permission in SharePoint Server 2007, publishers can control which parts of the file will be visible to various users. For example, using the Excel 2007 client a publisher could specify that only a subset of an Excel file (for example, specific worksheets or named items, such as tables, PivotTables, named ranges, and charts) should be visible. Once this has been done, users with View Only permissions are restricted to parts of the spreadsheet marked for visibility, and those users cannot download a copy of the spreadsheet. Excel Services, however, does not support multiple visibility levels on Excel files—all users with View Only privilege have the same visibility. Finally, the Excel client lets publishers specify which cells can receive data from browser users (with some restrictions, described later). These interactive cells are referred to as parameters and can correspond only to single, named spreadsheet cells that do not contain formulas. Excel with a Browser Excel Services' most obvious user benefit is its ability to display Excel files in a Web browser with formatting largely intact. (For a screen shot of the Excel Services Web browser interface, see the illustration "Browsing Excel Spreadsheets".) Users will access an Excel Services spreadsheet through a SharePoint document library: those with View Only privilege can open the spreadsheet with a Web browser. Users with SharePoint's "Reader" privilege have the option of opening the spreadsheet in a browser or in the full Excel client (doing the latter, however, causes the spreadsheet to run on the client rather than the server). Excel Services' browser interface gives users a subset of the viewing and analysis capabilities of the full Excel client. For example, users can sort and filter tables via drop-down controls or menu options in the browser. Users can make changes to cells that were marked as parameters by the spreadsheet publisher. For example, analysts could change assumptions in a sales forecasting spreadsheet to facilitate "what-if" analysis. These changes are limited, however, to the user's current browser session—changes are not saved in the underlying Excel file. Also, changes are not entered into cells directly; instead, they are entered through a task pane in the browser. In combination with the new Data Connection Library feature in SharePoint Server 2007, Excel Services will provide organizations with manageable access to other important data sources, such as SQL Server Analysis Services, Microsoft's online analytical processing (OLAP) and data mining platform. Analysis Services is widely used to summarize transaction data, such as that recorded in an ERP application, to support decision making. Developers or OLAP-savvy analysts can define Excel PivotTables (interactive tables used to visualize and create reports based on multidimensional data) that connect to Analysis Services databases (called cubes) and make those PivotTables widely available using Excel Services. Furthermore, the new Data Connection Library (DCL) feature will offer a convenient way for developers or analysts to centrally and securely administer the connection information that Excel uses to access Analysis Services cubes. Calling Excel Services Excel Services will include a Web Services API that developers can use to access the contents of published Excel files, allowing applications to read and update data contained in the files and recalculate or refresh the files from data sources. Similar to Excel Services' browser interface, changes made to a spreadsheet by calling applications are local only—no changes are made to the underlying Excel file, nor does Excel Services provide a method for saving spreadsheets. However, developers can use the Excel Services API to read an entire spreadsheet into an application, make changes, and save it as they would any other file. For example, the developer could use SharePoint's programming interface to save a changed Excel file in a SharePoint document library. Limitations, Overlaps Could Stall Uptake Although Excel Services could help organizations distribute Excel-based information (such as PivotTables built on top of Analysis Services cubes) to large audiences, it has the earmarks of an immature technology. A variety of limitations could make it a subpar solution for its intended uses: Many Excel client features not supported. Excel Services will not work with many types of Excel files—for example, users cannot publish Excel files that contain code (VBA macros, for instance), links to other spreadsheets, or those containing pictures or clip art. For files that can be published, some features will not display in the browser—for example, split and freeze panes and certain Excel cell formatting features are not supported. Many other features simply are not available via the browser—users cannot add new worksheets or tables or create new charts or graphs. Other features get only limited support in Excel Services—for example, users cannot interact directly with a PivotChart (graphical charts based on PivotTables); to change a PivotChart, users must filter the PivotTable on which the chart is based. Furthermore, Excel Services does not allow users to drill through PivotTables to examine data in underlying sources, nor will it support Analysis Services actions, a SQL Server 2005 feature that associates supplemental information or activities (a link to a Web page containing a detailed report, for instance) with a cube. Compounding these limitations, the Excel client cannot check whether files it is working on are compatible with Excel Services—compatibility problems are identified only when the client attempts to publish an Excel file. No multiuser editing or authoring. Via the browser, users can only view and navigate spreadsheets and make local, temporary updates to spreadsheets using parameters. Users cannot make and save any permanent changes (inserting tables or worksheets, editing formulas, or defining names, for instance) to an Excel file via the browser. Thus, Excel Services is not for multiuser editing or authoring of spreadsheets—users need the full Excel client for that. Incompatibility. Excel Services is compatible only with the Excel 2007 client and its files. Users cannot use previous versions of Excel to publish spreadsheets and cannot publish spreadsheets in the file formats of previous Excel versions (although Excel 2007 will update old files to the new Excel file format). In addition, although the Excel Web Access Web part generates standard HTML, Excel Services will probably work better with IE than other popular browsers, such as Safari and Firefox. For example, in a beta version of Excel Services, the drop-down controls for sorting tables do not appear in Firefox. Finally, organizations using Excel Services might have to rewrite many user-defined functions (UDFs), which are custom functions that many organizations write to supplement Excel with complex scientific or math calculations. Excel Services will only run managed code UDFs, which are written in .NET Framework languages such as Visual Basic .NET and C#. UDFs written with the most popular language today, Visual Basic for Applications, will have to be rewritten or called from a .NET version of the UDF through the .NET Framework's interoperability layer. The most significant barrier to Excel Services adoption might not be its limitations but its overlap with other Microsoft products. For basic reporting, SQL Server 2005 Reporting Services provides many of the same general capabilities (browser access to data, data source management, central publishing and storage) that Excel Services advertises. Developers will likely prefer the considerably more powerful design and development environment provided by Reporting Services' Report Builder and Visual Studio development tools. For ad hoc, Excel-based business processes (scorecard reporting, budgeting, and financial reporting, for instance), Excel Services overlaps with Business Scorecard Manager and the forthcoming PerformancePoint Server 2007, a new performance management, financial reporting, and budgeting application planned for mid-2007. Many could find that these new Microsoft products better address the problems (data inconsistency and lack of modeling tools for business users, for example) inherent in using Excel to manage those processes. Finally, many developers of new applications might bypass Excel Services' APIs for performance and simplicity. Developers might find it easier to code simple calculations inline and use specialized libraries for advanced mathematical programming than to incorporate a heavyweight, general-purpose component like Excel Services into their applications. Excel Services could find a niche in companies that have large collections of proprietary Excel-based logic, in Web applications that involve relatively simple computation based on user input, such as risk assessment or forecasting, or as a client tool for complex data sources, such as Analysis Services cubes. However, broad adoption will probably not occur until Excel Services is a more complete product. Availability, Pricing, and Resources Excel Services will ship with SharePoint 2007, which is scheduled for the last quarter of 2006. However, organizations that want to use the feature must purchase SharePoint Enterprise Client Access Licenses (CALs) for all users. Pricing has not been announced, but the Enterprise CAL is likely to cost as much as a Standard SharePoint CAL, which will still be required as well. That CAL, when purchased with three years of upgrade rights, costs about US$100 or more, depending on the customer's volume discount level. The most recent public beta of SharePoint 2007 was made available in Sept. 2006. The Office 2007 Web site is www.microsoft.com/office/preview. More information about Excel Services is at msdn2.microsoft.com/en-us/library/ms517343.aspx. Download the SharePoint Server 2007 beta at www.microsoft.com/office/preview/beta/getthebeta.mspx. SQL Server 2005 Analysis Services and the rest of Microsoft's business intelligence platform are covered in the Sept. 2005 Research Report, "SQL Server 2005: Microsoft's Business Intelligence Platform." The Office Web Components and their pending retirement are described in "Office 2007 Retires Web Controls" on page 32 of the June 2006 Update. |