Building an Office Business Application for TechReady 8

Building an Office Business Application for TechReady 8

  • Comments 19

The last week I've been working with a couple teammates on an Office Business Application (OBA) demonstration we wanted to put together for TechReady 8. TechReady is an internal conference we deliver to the field employees. It's my first one and so far it's been pretty fun. This morning Scott Hanselman hosted an "UnKeynote" that showcased a lot of the new stuff coming in Visual Studio 2010 that I can't talk about yet but believe me it was cool. ;-)

The application I helped build with Rachel and Mike on my team was a total blast. We wanted to demonstrate using Office as a client to Line-of-Business data as well as show some of the nifty features of SharePoint workflows. So we decided it was time to bring poor Northwind Traders into the 21st century. Here's what we came up with:

OBANorthwind

We needed a way to easily and securely expose our LOB data -- the Northwind database -- to the enterprise. So we created an entity data model against our SQL Server Northwind database and then exposed it using ADO.NET Data Services . The Northwind sales reps do all of their work in Outlook, communicating with our high-volume customers. So we built an Outlook Add-in that they can use to look up the customer order history from the database and easily work with purchase orders. The Add-in displays a form region with the customer order history in an adjoining area below when they open the email.

The orders are then submitted to a SharePoint document library as Word 2007 documents with XML data specified via content controls. A SharePoint Workflow then shreds this document data (using VB XML literals support and the Open XML SDK) and passes it to the ADO.NET data Service which persists the data in the database. This was written as a SharePoint sequential workflow.

We also built an Excel client for our shipping department to use that displays the orders that are ready to ship which allows them to update the ship date and save it back to through the data service. It also shows the products and quantities ordered in an Action Pane and does some data analysis using a pivot table and pie chart to show the breakdown of shipping cities and freight cost. We also used WPF user controls in the Outlook and Excel clients so that we could match the look-and-feel of Office.

Finally we created a web part for the SharePoint site that displays key performance indicators like oversold products and our top customer sales.

I have to say it was a very fun project to work on and I personally learned a lot about Excel and WPF as well as the OBA architecture. We spend about 3 days building this and I was pleasantly surprised how well the tools worked together. The pieces we built were predominantly in Visual Studio 2008 by Rachel and I and Mike handled the bleeding edge SharePoint parts.

In the next few blog posts I'll go into the details of building WPF user controls in the Excel and Outlook clients and how we exposed a simple, clean data model against the not-so-clean Northwind database. I'll also show the technique of how we easily stripped the order data out of the Word 2007 documents.

For now, some good links on OBA and VSTO development:

Until next time....

UPDATE - Here is the full set of articles and code: http://code.msdn.microsoft.com/OBANorthwind

Leave a Comment
  • Please add 8 and 5 and type the answer here:
  • Post
  • PingBack from http://www.clickandsolve.com/?p=3072

  • Beth, this is a great OBA sample and I think it could be interesting if, in a next series of posts, you explain how you've implemented this solution.

    Personally I'm interested also on how you stripped the data out from Word.

    Thanks in advance...

  • An interesting OBA scenario...

  • Will the source be available later?

  • Yep, I'll be writing a series of posts on how we built it and will show the code.

  • Last post I talked about the high-level architecture of our O ffice B usiness A pplication for the new

  • Hi Beth,

    I just visited LEAP were a similar example was presented! Very cool.

    I'm puzzled on one thing (i know it's a sample but...) why is the Excel sample there? Why not implement it in Sharepoint?!

  • Hi Sander,

    We're using Excel because we thought it would be easier to quickly edit the data rows in a tabular format as well as allow them to do any kind of additional anaylsis on the data. And yes, it's a sample so we wanted to show document-level customizations in Excel ;-).

    -B

  • In the last couple posts we've been talking about an Office Business Application (OBA) architecture for

  • In the last couple posts we've been talking about an Office Business Application (OBA) architecture

  • .entryviewheading { font-weight: 100; margin: 0 0 5px 0; font-size: 1.7em; line-height: 1.1em; letter-spacing:1px;

  • .entryviewheading { font-weight: 100; margin: 0 0 5px 0; font-size: 1.7em; line-height: 1.1em; letter-spacing:1px;

  • OBA Part 1 - Exposing Line-of-Business Data Published 03 February 09 02:23 PM Last post I talked about

  • OBA Part 1 - Exposing Line-of-Business Data Published 03 February 09 02:23 PM Last post I talked about

  • OBA Part 1 - Exposing Line-of-Business Data Published 03 February 09 02:23 PM Last post I talked about

Page 1 of 2 (19 items) 12