Silverlight as a Front End to Excel Services


Published on

Presented at SharePoint Saturday NYC 2009, this talk demonstrates using Silverlight 2 as a front end for Microsoft Office SharePoint Server 2007 (MOSS) Excel Services. Excel Services can host your business logic and your presentation layer can run on the user's browser using Rich Internet Application (RIA) techniques and web services to communicate back to the server. Because the business logic is written in Excel, the power users can modify the logic and underlying formulas and publish back to MOSS to update the application logic. Read more on my blog at

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Silverlight as a Front End to Excel Services

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