Excel Services Architecture

Excel Services is part of Microsoft Office SharePoint Server 2007. Excel Services is built on ASP.NET and Windows SharePoint Services 3.0 technologies. There are three core Excel Services components:

  • Excel Web Access

  • Excel Web Services

  • Excel Calculation Services

Excel Services handles communication among the three components and load-balances the requests made to Excel Calculation Services.

The Excel Web Access, Excel Services, and Excel Calculation Services components can be divided into two major groups: the components on a front-end server (also known as the "Web front end"), and the component on a back-end application server.

Excel Services architecture

Excel Web Access

Excel Web Access is an Excel Services Web Part in Office SharePoint Server 2007 that renders (in other words, creates the HTML for) live Excel workbooks on a Web page, and allows the user to interact with those workbooks and explore them. Excel Web Access is the visible Excel Services component for the user. You can use Excel Web Access like any other Web Part in Office SharePoint Server 2007. Excel Web Access does not require anything to be installed on the user's client computer.

The Excel Web Access Web Part properties are also customizable. For more information, see the Microsoft.Office.Excel.Server.WebUI namespace reference documentation.

Excel Web Services

Excel Web Services is the Excel Services component that provides programmatic access to its Web service. You can develop applications that call Excel Web Services to calculate, set, and extract values from workbooks, as well as refresh external data connections. Using Excel Web Services, you can incorporate server-side workbook logic into an application, automate the updating of Excel workbooks and create application-specific user interfaces around server-side Excel calculation.


When you make changes to a workbook—for example, by setting values to a range using Excel Web Services—the changes to the workbook are preserved only for that particular session. The changes are not saved or persisted back to the original workbook. When the current workbook session ends (for example, when you call the CloseWorkbook method, or the session times out), whatever changes you made will be lost. If you want to save changes you make to a workbook, you can use the GetWorkbook method and then save the workbook using the API of the destination file store. For more information, see How to: Get an Entire Workbook or a Snapshot and How to: Save a Workbook.

For more information about Excel Web Services, see Excel Services Development Roadmap and the Microsoft.Office.Excel.Server.Webservices and Microsoft.Office.Excel.Server namespaces reference documentation.

Excel Calculation Services

The role of Excel Calculation Services is to load workbooks, calculate them, call custom code (user-defined functions) and refresh external data. It also maintains the session state for interactivity. Excel Calculation Services maintains a session for the duration of interactions with the same workbook by a user or caller. A session is closed when the caller explicitly closes it or when the session times out on the server. Excel Services caches the opened Excel workbooks, calculation states, and external data query results, for improved performance when multiple users access the same set of workbooks.


In multiple-server configurations, Excel Services load-balances requests across multiple Excel Calculation Services occurrences in a farm configuration. If your installation includes multiple application servers, Excel Services will balance the load to ensure that no single application server is overloaded by requests.

Administrators can configure the load-balancing behavior.

Web Front-End and Back-End Application Servers

The Excel Web Access, Excel Services, and Excel Calculation Services components can be divided into components on the Web front-end server and those that live on a back-end application server. The Web front end includes Excel Web Access and Excel Web Services. The Excel Calculation Services component resides on the back-end application server, alongside any user-defined function assemblies that an administrator may have added.

In the simplest configuration—that is, a single computer running Microsoft Office SharePoint Server 2007 as a stand-alone installation, all three components will be installed on the same computer. However, in a typical enterprise environment with a large number of users, the components on the Web front-end server and the back-end application server would be on different computers in a farm configuration. It is possible to scale the Web front-end server out independently from the back-end application server. For example, you can have more Web front-end servers than back-end application servers, and vice versa, depending on your organizational needs.

For information about Excel Services topology, scalability, performance, and security, see the Office SharePoint Server 2007 TechCenter or Office Online (http://office.microsoft.com/en-us/default.aspx).

See Also


Walkthrough: Developing a Custom Application Using Excel Web Services


Excel Services Overview
Excel Services Development Roadmap
Unsupported Features in Excel Services