Microsoft Office Tutorials and References
In Depth Information
Sample Solution Designs
You can consider a dual-usage farm, in which, for example, the resources are used during the day for
normal end-user scenarios and during the night for offloading calculations. In addition, you should
use 64-bit machines for such scenarios, because the additional memory capacity can help you scale
Yet another element that you should take into account is the load-balancing scheme used by Excel Services.
The default load-balancing scheme sends all requests for any specific workbook to the same ECS machine.
If you have only one workbook that gets calculated repeatedly with a large number of parameters, or you
have a very small number of workbooks, and you have more than one ECS machine, consider using the
round-robin load-balancing scheme instead of the default.
Sample Solution Designs
There are many different scenarios and solutions that take advantage of offloading the workbook
calculation to the server. Because there is no out-of-the-box functionality, these are, by definition, custom solutions
that you need to develop. As such, you can fit them to your specific needs and use cases. To start you off,
here are a couple of different solutions you can build. The solutions are described in broad terms and are
meant to give you a starting point on which to develop the designs further.
The first solution is the most straightforward one. Workbook authors can submit workbooks to be
calculated on the server. When the workbooks are calculated, the end users are notified and they can retrieve
the updated workbook. There are a number of ways you can build this solution. Chapter 14 presents a
very simple program that watches a specified file folder for any updated workbooks. Each time a new or
updated workbook is placed in the folder, Excel Services is used to open the workbook, calculate it, and
save an updated copy of the workbook to a second location. You can imagine extending this solution to
include notification to the user when the updated workbook is made available, or perhaps send specific
calculated result cells, ranges, or sheets from the workbook back.
A similar solution can be implemented using a custom workflow deployed to Office SharePoint Server.
Workflows can already be triggered based on a document changing. All you need to develop is a custom
workflow that opens the workbook, calculates it, and saves it back (either to the same or a different
location). You can then leverage the Office SharePoint Server alerting or RSS functionality to notify the user
when the workbook calculation is complete.
You can also add a scheduling component. This allows users to use Excel or a browser-based UI to
submit a workbook to be calculated on a schedule, either as a one-time calculation or as a recurring event.
For example, a workbook that includes complex modeling based on plant inventory could be scheduled
to calculate every morning prior to the start of the workday. That way, plant managers can have the latest
reports available to them without needing to first open the workbook on their desktops and then wait the
many minutes or hours it takes to update and calculate the workbook.
Extending even further from simple workbook submission and scheduling, you could design a system
that supports iterating through a workbook or set of workbooks with a set of input parameters. Such a
solution could perform a parametric sweep against a model and collect the results. To do this, you can
have one part of the solution generate the parameters based on user input, or require users to submit
two files, one with the parameters and one with the model. The application then iterates calculating the