Todd Kitta
Covenant Technology Partners Professional Windows Workflow Foundation
History of Office Development Explanation of OBAs Architecture of the Office System Development Experience OBA Patterns Demos
VBA! Office Add-ins Automation
A Composite Application Use Office to bring everything together Use existing LOB investments to handle the business
Integrating functionality into the Microsoft Office Outlook calendar that links an appointment with a customer to an LOB billing system. Integration with Outlook that associates a scheduled meeting with a sales opportunity recorded in a customer relationship management (CRM) application. Employees reporting vacation time to an LOB human resources system through time reserved in the Outlook calendar. Feedback on an interview with a prospective employee entered in Outlook that is automatically inserted in a human resources system. Hosting a centralized budgeting spreadsheet using Excel Services and Microsoft Office SharePoint Server Exposing customer data from a customer relationship management (CRM) system in a SharePoint site using the Business Data Catalog.
Familiar & ubiquitous UI Bringing LOB functionality to more people Making processes less ad-hoc outside LOBs Providing context to IWs Promoting collaboration around business processes
Business Documents Analysis Tools Presentation Tier Document Management Collaboration Productivity Tier Business Rules Workflow Application Tier Transactions Reporting & Analysis of Data Identity Data Tier
Workflow Business Data Catalog Search Fluent UI Open XML Website & Security Framework
Client – Word, Excel Server – SharePoint w/ Sites, Web Parts, etc. Presentation Tier Lists Document Libraries Form Libraries Productivity Tier LOB Systems Workflow Excel Services Application Tier Web Services BDC SQL & SSAS Data Tier
Open XML Fluent UI (i.e. the Ribbon) Outlook Custom Form Regions Custom Document Information Panels InfoPath
Develop at the document level… Document templates as well …or target the entire Office application Add-in (creates a DLL which must be installed on the client) Ribbon customizations
Form RegionDocument- level Actions Pane Ribbon UI Customization App-level Custom Task Pane ExcelXXX WordXXX OutlookXXX PowerPointXX InfoPathX
2008 Rocks! Multi-targeting Project templates (Office, WPF, WF, WCF) New language features A ton more… Office client project templates SharePoint Workflow project templates
Excel Services InfoPath Forms Server Workflow Web Parts Enterprise Search Content Management Business Data Catalog Business Intelligence
Learn how to do it the right way… Features Solutions Visual Studio Extensions for SharePoint 1.1 Released just a couple weeks ago Only for VS2005 at the moment! Project Templates Web Part, Team Site Definition, Blank Site Definition, List Definition, Empty SharePoint Project Item Templates Web Part, Custom Field, List Definition (with optional Event Receiver), Content Type (with optional Event Receiver), Module, List Instance, List Event Handler, Template SharePoint SDK
Develop on the server! Seriously, just develop on the server… No, really… do it.
OBA Apps as a Reach Channel Document Integration Composite User Interface Complementary Document Workflow Discovery Navigation Collaborative Site Application Generated Tasks and Notifications 2007 Microsoft Office System
Extending LOB functionality to more people Reducing duplication of effort Direct Integration Pattern Supplementing LOB functionality w/ code Mediated Integration Pattern Exposing functionality w/o code (e.g. BDC)
Only 30% of data lives in LOBs Can be done by… Batch creating documents Creating “intelligent” documents (using Add-ins) Merging of business data into documents (could use a custom task pane)
Handling document workflow outside the LOB The stuff that usually happens via LOB could publish documents to SharePoint library Workflow may act as a variant on the “intelligent” document pattern
Users search for entities and take action Enabled by Business Data Catalog (BDC)
Unstructured collaboration in SharePoint Document libraries Discussions Task lists Calendars Project management tools More…
Brings together multiple LOB processes into one “shell” Composite Client UI (Task Panes, Ribbon Customization) Composite Web UI (Web Parts) Analytics (BDC, Excel Services, PerformancePoint)
Tasks are generated in many systems – this is cumbersome Push vs. Pull model Synchronization is an issue Intelligent Tasks & Notifications s requesting vacation time – context is identified and user is able to act in Outlook Forms-based Tasks & Notification Utilizes InfoPath in or via Forms Server
.NET BDC InfoPath Open XML SharePoint Workflow WCF & web services
OBAs Office Development Client Server Patterns Call to action: an opportunity to specialize!
Office Business Applications Developer Portal us/office/aa aspx us/office/aa aspx OBA Central Visual Studio Extensions for SharePoint v1.1 amilyID=3e1dcccd-1cca-433a-bb4d- 97b96bf7ab63&displaylang=en amilyID=3e1dcccd-1cca-433a-bb4d- 97b96bf7ab63&displaylang=en No VS2008 support until ~June ‘08! SharePoint 2007 SDK amilyId=6D94E307-67D9-41AC-B2D D6286FA9&displaylang=en amilyId=6D94E307-67D9-41AC-B2D D6286FA9&displaylang=en