inset
VSTO Anchors Push for Office-Based Development
Nov. 19, 2007

With Visual Studio 2008, Microsoft is finally signaling to developers that Visual Studio Tools for Office (VSTO) is the winner among many competing and overlapping technologies it has promoted for development of Office-based clients over the past six years. The latest version of VSTO improves support for Office 2007 and enhances developers' ability to build Office-based front ends to enterprise resource planning (ERP) systems and other mission-critical applications. However, IT managers will need to weigh the benefits of VSTO-based clients against the costs of deployment, software licenses, and development expenses they impose.

The Winning Platform for OBA Clients

VSTO is a development environment for Office Business Applications (OBAs)—applications that use parts of the Office System (which includes the Office suite as well as server products such as SharePoint Server) as the user interface for access to business data. For example, an Outlook add-in for an OBA might enable consultants to enter and review billable hours in an ERP system from their Outlook calendars.

For customers, OBAs could improve efficiency by enabling employees to directly access business data contained in ERP and other line-of-business systems rather than going through a specialist, and OBAs could help employees make better decisions by speeding access to data. OBAs could benefit vendors of line-of-business applications by letting them sell licenses to more workers in an organization, or offer higher-cost licenses for accessing their applications through Office-based clients rather than a Web browser. For Microsoft, OBAs could increase deployments of newer versions of Office, make Office harder to replace with lower-cost alternatives such as Open Office, and increase sales of the additional Client Access Licenses (CALs) for infrastructure products (such as SharePoint Server) that support OBAs. For these reasons, Microsoft and SAP have jointly developed an OBA called Duet for access to mySAP ERP. (See "Duet Roadmap Tweaked Again".)

Microsoft has cleared away one obstacle to OBA development by clarifying its technical roadmap. Convincing corporate developers to use Office as a front end for critical business applications has been a holy grail for Microsoft, but the company offered many competing Office application platforms, including Visual Basic for Applications, Visual Studio Tools for Office (VSTO), and the Information Bridge Framework (IBF). As a result, corporate developers have hesitated to embrace OBAs, because a bad OBA technology choice could leave a developer stranded on a platform that Microsoft later abandons. Microsoft is now steering developers to two primary OBA technologies:

  • VSTO for OBA clients and SharePoint workflows
  • The SharePoint Business Data Catalog for server integration with back-end business applications.

Both technologies will continue to be developed with new features added. Competing technologies, such as the IBF, will be phased out.

VSTO in VS 2008

VS 2008 brings a number of improvements to VSTO, including the following:

Office 2007 UI. For end users, the most obvious change in the Office 2007 suite is the introduction of a redesigned UI. The new UI abandons the fixed structure of menus arranged in a menu bar. Instead, it features the Ribbon, an enlarged toolbar that shows labeled command icons. The commands on the Ribbon change dynamically as the user works, presenting commands relevant to the user's current activity. VS 2008 provides a graphical tool that lets developers create and edit their own ribbons, instead of having to edit an XML file manually as was required in the previous version of VSTO. (For a screen shot of the Ribbon editor, see "Office 2007 Support in VSTO".)

Document editing in VS. Custom Office applications typically have a document or template associated with them. For example, a custom expense-reporting application would typically have a spreadsheet for the user to enter expenses and would include code to look up account numbers or expense codes from a corporate ERP system. With VS 2005 and Office 2003, developers were able to create a custom spreadsheet directly from within VS, but with Office 2007, developers had to edit the underlying document template separately from the custom code. VS 2008 allows developers to edit Office 2007 templates directly, making it easier to create custom Office applications.

Easier workflow debugging. VS 2008 makes it easier for developers to create workflows for the Windows Workflow Foundation (WF), specifically for workflows running in SharePoint Server. In previous versions, deploying and debugging custom workflows was complicated and required developers to know the name of a specific OS process to use with the debugger. With VS 2008, developers can create a workflow and then launch and debug it from VS, making it much simpler to find and fix problems.

Outlook form regions. Outlook form regions, introduced in Outlook 2007, allow developers to extend standard forms, such as the Outlook form used to create a new calendar item or contact entry. For example, an organization might want to link calendar items with a billing system to track billable hours. With previous versions of VSTO, developers had to use Outlook to create a custom form region and then use VS to attach the code, but VS 2008 includes tools that allow developers to create the form regions graphically from within VS, simplifying the process.

Easier deployment. Deploying OBAs has historically been one of the most difficult parts of the Office development process. In response to viruses that propagated through macros, Office has become increasingly stringent in its requirements for running custom code. With VS 2008, Microsoft has extended ClickOnce—its framework for securely deploying and updating .NET Framework—based desktop applications via an intranet—to support VSTO applications. Rather than packing their solutions for use with the Windows Installer, developers use a new Publishing Wizard in VS 2008 to create the necessary files for ClickOnce deployment. The files can then be copied to a Web or file server and installed by clicking a link. (Note: ClickOnce helps install the files required for a particular solution, but certain common prerequisites, such as the .NET Framework 3.5 and the VSTO runtime, must be installed before any VSTO solution can be executed, and these prerequisites must be installed using the Windows Installer.)

Included in More Editions

VS 2008 makes Office development simpler by including VSTO features in the Professional Edition of VS 2008.

With VS 2005, VSTO was licensed separately: the Professional Edition lacked the ability to build Office applications. Developers who wanted the VSTO features as well as all the features of the Professional Edition (such as support for the C++ language and building applications for mobile devices) either had to license Visual Studio Team System, which cost considerably more than other editions of VS, or license both VSTO and VS Professional. Consequently, including VSTO features in VS Professional should make Office development available to more developers.

Weighing the Benefits

Developers have many options for building the user interface for business applications, including Office-based clients, custom desktop applications, and browser-based front-ends.

Office-based clients build on an interface that users are already comfortable using. However, Office-based clients require more development time than browser-based applications, and require organizations to deploy and manage them on desktop PCs, which raises costs. In addition, many of the new features require the latest versions of the Office desktop applications and SharePoint Server. So, organizations that are on older versions must also factor in the costs of upgrading their software licenses and CALs.

Resources

The previous edition of VSTO is explained in "Tools Updated for Office 2007" on page 27 of the Feb. 2007 Update.

ClickOnce is described in "ClickOnce Aims to Ease Installation" on page 24 of the Apr. 2004 Update.

The VSTO home page is msdn2.microsoft.com/en-us/office/aa905533.aspx.