Silverlight front end to Excel Services
Talbott CrowellThirdM.com
Rich Internet Application (RIA) platform .NET in the browser Compatible subset of the WPF UI Framework
features in the full .NET Framework Re-use skills, controls, code and content to
build both rich cross browser web applications, as well as rich desktop Windows applications
Why Silverlight?
Excel is a common “language” for business logic
Power users can update business logic◦ They often know it better than the programmers◦ Business logic? Anything but logical…
SharePoint is becoming more and more common
Why Excel Services?
Silverlight 1.0 (Sept 2007)◦ JavaScript based
Silverlight 2.0 (Oct 2008)◦ .NET based◦ Does not require .NET Framework on client
machine Silverlight 2.0 GDR 1 (Feb 2009)
Silverlight Versions
Silverlight 2.0 Support◦ IE 6 on Windows 2000/XP/2003/Mobile 6◦ IE 7/8 on Windows XP/2003/Vista/2008 ◦ Chrome on Windows XP/2003/Vista/2008◦ Firefox on Windows◦ Firefox on Mac OS 10.4/10.5 Intel
◦ Safari on Mac Intel and Windows Silverlight 1.0 Support
◦ Firefox on Linux via Mono “Moonlight”◦ Firefox on Mac OS 10.4/10.5 PowerPC ◦ Safari on Mac OS 10.4/10.5 PowerPC
Silverlight Platforms
Silverlight Development
Silverlight 2.0 Tools for Visual Studio 2008 SP1◦ Visual Studio 2008 SP1 or◦ Visual Web Developer Express with SP1 ◦ Supported OS: XP, Vista, or Server 2008
Optionally:◦ Expression Blend 2 with SP1◦ Deep Zoom Composer◦ Silverlight Toolkit
http://silverlight.net/GetStarted/
WPF UI Framework◦ powerful graphics and animation engine◦ compatible subset of the WPF UI Framework◦ re-use skills, controls, code and content for RIA and Windows applications
Rich Controls◦ form controls (TextBox, CheckBox, RadioButton, etc)◦ built-in layout management panels (StackPanel, Grid, Panel, etc)◦ common functionality controls (Slider, ScrollViewer, Calendar, DatePicker,
etc)◦ data manipulation controls (DataGrid, ListBox, etc)
Rich Networking Support◦ support for calling REST, WS*/SOAP, POX, RSS, and standard HTTP services.
Rich Base Class Library◦ collections, IO, generics, threading, globalization, XML, local storage, etc◦ HTML DOM/JavaScript integration with .NET code◦ LINQ and LINQ to XML library support
Silverlight 2
Silverlight UI
Silverlight DemoSilverlight UI and code walk through
ScottGu’s Blog◦ 8 Tutorials, First Look at Silverlight 2
http://silverlight.net/GetStarted/ Books
Silverlight Resources
Windows SharePoint Services 3.0◦ Free (as long as you pay for Windows Server 2003
or Windows Server 2008) Microsoft Office SharePoint Server 2007
◦ $$ Standard version◦ $$$ Enterprise version
Your enterprise (or customer’s enterprise) may already have license
Developer◦ MSDN Premium Subscription gives you dev copies
of all this
What is SharePoint
Excel Services
Microsoft Office SharePoint Server (MOSS)◦ Enterprise Edition
Excel Services Forms Services BDC
Development environment◦ VPC or Virtual Server ideal◦ Excel 2007 for publishing Excel sheets
Requirements
Limited version of Excel client◦ No VBA macros, instead use UDF (.NET Assembly)◦ Can’t edit cells directly, instead use a input panel
Don’t need Excel client to use or view workbook◦ Browser is all that is needed to view or run a
calculation◦ Do need Excel client to publish (can’t author Excel
workbook with Excel Services) Secure way to share workbook
◦ Without sharing your formulas Single version of the “truth”
What is Excel Services?
Excel Calculation Services ◦ The "heart" of Excel Services. ◦ Loads, calculates workbooks, refreshes external
data, and maintains session state Excel Web Access
◦ This SharePoint Web Part ◦ HTML renderings from the results returned by
Excel Calculation Services ◦ Browser based UI and interaction
Excel Web Services◦ Programmatic access to workbooks
Excel Services Architecture
Excel Services Architecture
One workbook many users Each user has a session instance of the
workbook The user can make temporary changes to
their own copy without affecting others
Excel Services Session
Web reference to: ◦ http://host/_vti_bin/ExcelService.asmx
Instantiate Proxy◦ service = new ExcelService()
Open workbook◦ sessionID = service.OpenWorkbook(url, culture…
Read cells◦ service.GetRangeA1(sessionID, sheetName,
rangeName… Update cells
◦ service.SetRangeA1(sessionID, sheetName, rangeName…
Excel Web Services
Excel Workbook as Business Logic
SQL Server
MOSS App Server
Excel Calculation
Service
Solution Architecture
Silv
erlig
ht 2
Browse
r
Mac, P
C, etc
…
MOSS WFEExcel Web Services
Cust
om
Web
Se
rvic
e
Silv
erlig
ht
Appl
icat
ion
Excel Services DemoExcel Services Session and code walk through
Excel Services Resources
MSDNExcel Services Development
Roadmap http://msdn.microsoft.com/en-us/library/ms546204.aspx
Books
Silverlight is a powerful platform for Rich Internet Applications (RIA) targeted to cross browsers
Excel Services can leverage business logic created by the business users
Excel Services allows business users to update business logic in a tool that is very familiar to them
Summary
Thank you.
Questions about Silverlight front end to Excel Services?
Talbott CrowellThirdM.com
http://talbottc.spaces.live.com