Getting Started with Office Business Applications (Part 1 of 2)

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This article is an excerpt from 6 Microsoft® Office Business Applications for Office SharePoint® Server 2007, from Microsoft Press (ISBN 9780735622760, copyright Microsoft Press 2007, all rights reserved).

The members of the Microsoft Office SharePoint Server and Windows SharePoint Services teams help design, develop, and support SharePoint Products and Technologies.
Microsoft Most Valuable Professionals (MVPs) are exceptional technical community leaders from around the world who are awarded for voluntarily sharing their high-quality, real-world expertise in offline and online technical communities. Microsoft MVPs are a highly select group of experts that represents the technical community's best and brightest, and they share a deep commitment to community and a willingness to help others.

No part of this chapter may be reproduced, stored in a retrieval system, or transmitted in any form or by any means—electronic, electrostatic, mechanical, photocopying, recording, or otherwise—without the prior written permission of the publisher, except in the case of brief quotations embodied in critical articles or reviews.


  • Line-of-Business Systems

  • What Is an Office Business Application?

  • Platform Capabilities

  • OBA Services

  • Attributes of an Office Business Application

  • How OBAs Extend the Development Paradigm

  • Major Components of an Office Business Application

  • Client Tier Considerations

  • Middle Tier Considerations

  • Data Tier Considerations

  • Developer Tools

Go to Part 2 of this excerpt

Line-of-Business Systems

Over the past two decades, companies and organizations have spent billions of dollars buying, installing, deploying, and maintaining line-of-business (LOB) systems to manage customer data, inventory, billings, product lifecycles, and many other types of business information and processes. Modern businesses would not be competitive and thus be unable to survive without these applications. LOB systems, however, are often accessible only to a few elite power users who require expensive training in these applications’ proprietary and sometimes arcane user interfaces. Making information from LOB systems available to people who need it requires the information to be extracted from the systems, whose processes are designed to ensure its integrity and control.

At the same time, the personal computer and the software written for it have catalyzed a revolution in how people work and have ushered in the information economy. These technologies have profoundly affected the way people work and the way that companies are organized. Many people today would be challenged to envision a work environment that lacked e-mail, spreadsheets, word-processing documents, and a Web browser. These tools have become a given in the work environments for hundreds of millions of people and have had a tremendous impact on personal productivity. But while these tools help people garner insights, make decisions, take actions, and collaborate, their use has been largely constrained to local or personal information.

The activities that affect a business’s performance tend to be different from the transactional and transformational jobs that lend themselves to mechanization and automation—jobs on an assembly-line and those for data entry, for example. An established and growing class of employees work by exchanging information and making judgments about a variety of data that is gleaned from diverse interactions. People in this class are those called information workers. They are sales people, marketing managers, product designers, lawyers, engineers, and so on. They are usually among the highest-paid employees in an organization because they make the most significant contribution to a business. The significance of their contributions, however, often depends on how easily and consistently they have access to the information they need. It is this dependence on information access and integration that brings to light a new type of software application, called an Office Business Application.

What Is an Office Business Application?

Office Business Applications (OBAs) are a new breed of application that combines the productivity tools in the Microsoft Office system with information and processes defined in LOB systems. OBAs represent the best of both worlds, and they are being included in innovative solutions developed by some of the world’s largest software companies—including Microsoft with Dynamics Snap; Duet, a partnership of Microsoft and SAP; solutions from independent software vendors (ISVs) such as Open Text, Epicor, Business Objects, and KnowledgeLake; and by multinational corporations, including Chevron Corporation, Del Monte Corporation, The London Stock Exchange, and Elite Model Management.

But there needs to be better reasons to build an OBA than simply putting a pretty face on an established set of functionality. While OBAs provide value in a number of situations, four common cases include these:

  • Make aspects of application functionality available to a broader audience. The interfaces for LOB systems are often complex and require significant training to use effectively. These systems might also be effectively ignored by the majority of users because the value derived from using the application does not equal the effort required. By providing a capability that is better integrated with tools that most information workers use every day, the barrier to adoption can be drastically lowered. Examples of this include:

    • 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 2007.

    • Exposing customer data from a customer relationship management (CRM) system in a SharePoint site using the Business Data Catalog.

  • Gain control and insight into the interactions around processes managed by LOB systems. Today, many activities that affect business performance are interactions between information workers. These interactions are typically captured in documents and e-mail exchanges. The decisions that result from these interactions ultimately require an update of information within an LOB system, but the path that led to the decision and the documentation supporting the decision often remains ad-hoc, unmanaged, and opaque. By integrating and tracking the flow of these interactions more formally, businesses gain more realistic insights, extend elements of best practices into hitherto ad-hoc interactions, and ensure a level of tighter control and improved auditing, which helps meet corporate compliance requirements. Examples include proposal generation and deal negotiation solutions.

  • Provide information in context, inside the tools information workers use. Examples include offline access to sales opportunities, accounts, and customer data through Outlook for sales representatives; providing access to account information, purchase orders, and incident information in Microsoft Office Word for assembling information in documents; and providing options for acting on a particular piece of information embedded in a Word document or an e-mail message through recognition of the embedded content.

  • Create a collaborative context around an LOB activity. LOB applications can often be enhanced by sharing information between a collaboration site such as a Microsoft Office SharePoint Server team site and an LOB construct. For example, creating a team site around an incident or sales opportunity or creating a dashboard related to store performance.

To understand what technologies and capabilities make up the foundation of OBAs, in the next several sections we’ll describe the platform capabilities and supporting services.

Platform Capabilities

Figure 1-1 shows the platform capabilities and supporting technologies that form the framework for OBAs. We’ll review the platform capabilities in this section and then describe the supporting technologies in the section that follows.

Figure 1-1. OBAs are based on a combination of platform capabilities and supporting technologies.

Capabilities and technologies for OBAs

Enterprise Content Management (ECM)

Organizations can manage diverse content by having one topology for web, document, and records management, enabling a taxonomy of content types with metadata, policies, and workflow. Enterprise content management provides for searches across multiple repositories and LOB systems. Functionality from Microsoft Content Management Server 2002 (MCMS) has been incorporated into Microsoft Office SharePoint Server 2007. This functionality lets users take advantage of comprehensive Web content management features directly from the Office system platform. This integrated Web content management system provides controlled consistency by enabling content types that define certain documents or collections of information, master pages that can define the look and feel of an entire site, as well as page layouts and logos that allow for consistent branding and images for Web pages.

The single content management and collaborative system provided by SharePoint Server 2007 eliminates the need for the separate solutions offered by Microsoft SharePoint Portal Server 2003 and MCMS. Users can create Web sites that are dynamic, customized for team or individual need, and centered on the content the site manages.

Business Intelligence (BI)

SharePoint Server 2007 builds on traditional portal and dashboard solutions to provide users with interactive business intelligence portals that allow substantial data manipulation and analysis. Users can create some dashboards from multiple data sources without the need for code.  Key performance indicators (KPIs) can be defined from a variety of sources, including Excel Services, SharePoint lists, and SQL Server Analysis Services cubes. With information such as this hosted in SharePoint Server 2007, it can be included in other SharePoint services, such as search and workflows.

The business intelligence functionality allows you to:

  • Consolidate ETL, OLAP, data mining, and reporting capabilities.

  • Synthesize high volumes of line-of-business data into your data warehouse with XML, web services, and RSS sources.

  • Incorporate newer data sources with traditional LOB data.

  • Use Excel with SQL Server Analysis Services to make sense of large amounts of data

  • Tap into LOB data within spreadsheets and reports using the Business Data Catalog (BDC).

Unified Communication and Collaboration

In the new world of work, the focus is on the work, not on where the work occurs. Individuals come together to solve problems, develop plans, and embrace opportunities. But coming together no longer requires or even implies that individuals are sitting in the same room or even in the same country. The physical and logical barriers that once defined a team or workgroup are dissolving. The 2007 release of the Microsoft Office system is part of a broad Microsoft initiative to support communication and collaboration through pervasive contextual capabilities. Teams can collaborate by using workspaces that match when, how, and where they are working. These workspaces can be large and relatively centralized, supporting entire divisions of business units, or they can fit the needs of ad hoc workgroups that need a way to work together quickly.

OBA Services

Six services support the capabilities and OBA framework within the 2007 Microsoft Office system.

  • **Workflow   **The integration of the Windows Workflow Foundation (WWF) into SharePoint Server 2007 allows developers to create simple workflows and attach them to SharePoint Server 2007 document libraries. Microsoft Office SharePoint Designer can be used to create code-free custom workflows. For power users and developers, the Workflow object model is available in Visual Studio 2005.

  • **Search   **SharePoint Server 2007 Enterprise Search is a shared service that provides extensive and extensible content gathering, indexing, and querying and supports full-text and keyword searches. By coupling BDC data with Microsoft Office Forms Server 2007 and search, organizations can build searchable server-side applications that allow users to interact with previously siloed data within the context of the organization’s portal. Search is central to the Office 2007 platform’s efforts and provides multiple ways to integrate with and extend search, including:

    • Control the presentation of search results using XSLT transforms and custom Web Parts

    • Present LOB data in the search index using the BDC

    • Include custom content in the search index using protocol handlers and iFilters

    • Consume the search index from remote clients via web services

  • Business Data Catalog (BDC)   The BDC allows enterprise data to be exposed to Web Parts, Office Forms Server, and search. This capability enables developers to build applications that allow users to interact with LOB data in easy-to-use interfaces designed on the basis of substantial usability studies.

  • The Microsoft Office Fluent Interface   A major improvement in Office 2007 for developers is the work performed on the extensibility model to enable more platform power. In addition, Office 2007 offers more managed code support as well as improved security and management through a common application trust model.

  • Open XML File Format   The adoption of the Open XML file format across the 2007 Office system facilitates rich server-side document manipulation. By storing a document as XML, Microsoft is facilitating server-side document creation and manipulation without needing to instantiate the client applications on the server. Server advances, such as document property promotion, workflow, and search, are among the many new capabilities that are available to OBAs now that the underlying documents are consumable by server-side processes.

  • Website and Security Framework   The Website and Security Framework is a common site framework for all types of sites: intranet, extranet, and public facing. This framework integrates with ASP.NET 2.0, allowing support for ASP.NET master pages and native ASP.NET Web Parts.

A common role-based security model that integrates with Active Directory, the Website and Security Framework also exposes a greatly improved site template model. This allows solution creators to combine needed features into site templates that users can self-provision and then configure and customize.

Attributes of an Office Business Application

OBAs also have certain attributes that are enabled by the platform capabilities and the supporting technologies. When you build an OBA, the following attributes make your solution stronger and allow you to focus on solving the business problem.

  • Ease of Use   Information workers today often have no choice but to request LOB application experts to export useful business data from an LOB system into tools such as Excel, which provides the data in a disconnected fashion. OBAs bridge this gap by presenting business data in the user interface with which information workers are familiar . This enables information workers to analyze the data using tools they already know how to use, facilitating more rapid decision-making and actions.

  • Role-Based   OBAs formalize people-centric processes and tie them back to system-centric processes. They let workers perform a particular task from start to finish without having to shift context, pull data from various data sources manually, or perform analyses in disparate applications. OBAs are also built with a common identity and security system.

  • Collaborative   A great deal of the activity required to accomplish a business task happens outside enterprise systems. The OBA platform allows developers to capture all aspects of a business process within a Microsoft Office application. The ability to share and connect with others is built into the platform and supports both formal and informal processes (such as workflows), allowing for more complex applications.

  • Configurable   OBAs are self-serviceable, adaptive, and highly customizable by both IT developers and end users. Because the collaboration and business rules are not hard-coded into the presentation tier, end users have considerable control over configuring applications to their own needs. Power users can arrange their portals the way they like and set business rules for certain tasks using tools that they are already familiar with. As business needs change, IT developers can rebuild and redeploy the business tier components, thus maintaining their business applications relatively easily and with less code.

  • Contextual   OBAs focus on business interactions, analytics, and actions. They allow users to make decisions and take immediate action within the context of the business problems at hand. OBAs do not re-invent the wheel for functions like data access, data interactions, workflows, analysis, and reporting, but they do leverage these capabilities from the underlying platform. This allows business applications to build on the foundational capabilities of the Office system to provide agile and highly customizable business capabilities of their own.

How OBAs Extend the Development Paradigm

Having these common services in a single platform is a breakthrough for developers. With fewer platforms and tools to learn and with a common deployment model, developing OBAs in conjunction with .NET applications and Web services means faster development at a lower cost. As a developer, you can build on your knowledge of building multitier applications and extend it in the OBA platform.

Figure 1-2. Architecture of an Office Business Application.

Architecture of an Office Business Application

In Figure 1-2, the four major areas show how information is presented and consumed by end users, how information is processed, how information is collaborated on, and how information is stored. Information is made available through an Office SharePoint Server 2007 portal that has sites composed of pages and pages composed of Web Parts. A Web Part is the most basic building block of the portal. Solution providers can develop Web Parts and incorporate Web Parts that are provided out of the box, one of which provides Excel spreadsheets and charts and another the capability to view lists and tables. Web Parts are aggregated within pages. This aggregation can be assembled by users from the collection of Web Parts made available to them, or dashboard templates can be created from these pages. For example, developers can create standard dashboards for business functions involved in sales, inventory, or any other business data.

Developers can also create and package template sites along functional lines. An entire site can be deployed as part of an OBA solution. Users can also work with personalized My Sites in which they can create pages from scratch using the Web Parts made available to them or simply pull in links to standard dashboards that are appropriate for their role.

 Information is processed and worked on together through a number of services within the 2007 Office system. For example, documents live in document libraries, and forms live in forms libraries. Spreadsheet document libraries can be registered with Excel Services and can then be distributed through thin browser views of charts and tables. Also, business data can be presented in lists and tables in Office SharePoint Server 2007 through the BDC. Reports may also be created to show this information, either through a combination of Excel Web Parts and spreadsheets presented through Excel Services or through reports that have been designed and published through Microsoft Office Business Score Card Manager or OLAP cubes maintained in SQL Server Analysis Services.

Microsoft Visual Studio 2005 or Microsoft Office SharePoint Designer 2007 can be used to create workflows and then associate these workflows with document and forms libraries. You can specify to SharePoint Server 2007 which workflows to invoke on a document when it is modified or created. These workflows might be related to a business process (document approval, for example) or to document lifecycle management (for example, record expiration dates).

Finally, the information that lives in back-end systems can be accessed through the BDC or by workflows. This information can present itself through a Web service interface or through direct data connectivity. The BDC makes information available in lists and tables within Office SharePoint Server and allows the association of actions that can be taken on that data. These actions become available through a drop-down menu on the table and invoke specified URLs and pass in context. These URLs can correspond to a Web service or link to an Office document that is prepopulated by the context that is passed in from the BDC.

Major Components of an Office Business Application

As with any application platform, there are layers that should be included in every OBA. These layers are separated into three tiers for this discussion: client, middle (which includes both the application and productivity subtiers), and data.

Client Tier Considerations

Most solutions need to provide a way for users to interact with the application. The client tier contains the components that are required to enable user interaction with the application. When developing solutions based on Office 2007, there are several well-known UI elements available. The Office 2007 client UI has been redesigned for a more effective user experience, and it has also been exposed to developers for building custom solutions.  These solutions can be integrated both into the Ribbon and the new application-level task pane within the client, using the recognized UI framework that users are expecting and already familiar with. 

Forms Based (InfoPath)

InfoPath 2007, the forms designer of choice for Office SharePoint Server 2007, has several options for quickly creating forms. These options include the forms client, document information panels, and workflow forms.

  • Forms Client   Forms can be designed in the traditional InfoPath client or the new Visual Studio editor for complete control over form functionality as well as look and feel. 

  • Document Information Panels   A document information panel is a form that contains document metadata fields and is displayed in the client application. Users can use these panels to enter important metadata about a file while continuing to work in the Microsoft Office system client application. You can create document information panels in SharePoint Server or in InfoPath 2007.

  • Workflow Forms   InfoPath forms can also be used with workflows in SharePoint Server 2007, enabling user interaction with the workflow form from the Office client application instead of simply through a browser.

Outlook Custom Form Regions

Form regions add custom functionality to standard Outlook 2007 forms. Form regions provide a range of options for presenting a custom UI:

  • Customize the default page of any standard form.

  • Add up to thirty extra pages to any standard form.

  • Replace or enhance any standard form.

  • Display custom UI in the Reading pane in addition to the Document Inspector.

You can design the layout of a form region by using the Outlook 2007 Form Region Designer. (See Figure 1-3.) You can then import the form region into an application-level add-in project and use managed code to handle events in the form region. Before you can test the form region, you define form region properties and associate the form region with an Outlook message class.

Figure 1-3. An example of an Outlook 2007 form.

An example of an Outlook 2007 form

Web Parts

A Web Part is a modular unit of information that consists of a title bar, a frame, and content. A Web Part Page is a type of Web page that contains one or more Web Parts and consolidates data, such as lists and charts, and Web content, such as text and images, into a dynamic information portal built around a common task. By connecting Web Parts, you can present data from two Web Parts in alternate views, perform related calculations between two Web Parts, and filter a Web Part by using values from another Web Part—all on one Web Part Page. Web Parts are the basic building blocks of any Office SharePoint Server 2007 solution and are an important part of any Office Business Application as well. We can categorize the Web Parts that can be utilized in an OBA in two groups:

  • Built-in Web Parts   These are the Web Parts such as BDC Web Parts, Excel services Web Parts, and business intelligence Web Parts.

  • Custom Web Parts   These Web Parts are developed by you or a third parties. You can use custom Web Parts to extend the built-in capabilities and functionality of Office SharePoint Server and to provide customized behaviors. Custom Web Parts are based on ASP.NET and can be developed using Microsoft Visual Studio 2005 and Microsoft Visual Studio extensions for Windows SharePoint Services v3.

Ribbon Extensibility

The Ribbon, the new user interface metaphor, brings a unified customization model across many Office applications. This control provides a way to organize related commands (in the form of controls) so that they are easier to find. Controls are organized into groups along a horizontal strip at the top edge of an application window. Related groups are organized on tabs that help users performs tasks. Most of the features that were accessed by using menus and toolbars in previous versions of Microsoft Office can now be accessed by using the Ribbon. Developers can use the flexibility of adding or removing existing controls to provide a specific experience and specific functionality to users. This UI model also provides more consistency for developers by supplying the same ribbon and task pane model across the applications.

Middle Tier Considerations

For practicality, we can combine the application tier and the productivity tier, as illustrated earlier in Figure 1-2, as the middle tier. The middle tier has the dual responsibility of handling information processing and collaboration.

The core of your application is the business functionality it provides. An application performs a business process that consists of one or more tasks. Business logic will usually evolve and grow, providing higher-level operations and logic that encapsulate pre-existing logic. In many cases, you will need to compose pre-existing business functionality in order to perform the required business logic.

Deciding between Client Code and Server Code

While your application architecture depends on the specific solution requirements, it’s pretty safe to say that the business logic should be abstracted from the client tier. A good general rule is that the client should consume the services exposed by the middle tier, which provides the gateway to the underlying data.

The Open XML standard used in the Office 2007 system enables rich server-side document manipulation scenarios and allows developers to include custom data payloads on the client within a document. Several of the Office 2007 applications now save files by default in this open file format. Furthermore, patches have been released by Microsoft to allow down-level clients to read the new file formats. As mentioned earlier, by storing the document as XML, Microsoft is facilitating server-side document creation and manipulation without requiring the client applications to be instantiated on the server. Server advances, such as document property promotion, workflow, and search are among the many capabilities that are available to OBAs now that the underlying documents are consumable by server-side processes. These documents can be generated by the middle tier on the fly, or they can be consumed by the middle tier after being presented on the client tier.

Business Data Catalog

One of the main ways to connect to data is through the BDC, a business integration feature in Microsoft Office SharePoint Server 2007. The BDC is a shared service that enables Office SharePoint Server 2007 to present business data from back-end server applications without any coding.

The BDC, shown in Figure 1-4, is a metadata repository that allows you to define business entities like customers, invoices, and purchase orders. Once defined, those entities can be used throughout your Web sites and portals in ways such as the following:

  • In search results

  • In Web Parts and lists

  • As a filtering mechanism in dashboards

  • In document properties

  • These models for business entities will help maintain more consistency in data and reduce errors and rekeying.

Figure 1-4. The Business Data Catalog.

The Business Data Catalog

The BDC is the key infrastructural component around which the other business data features of Office SharePoint Server 2007 are built. The BDC provides built-in support for displaying data from databases and Web services. That is, you can use the BDC to display data from SAP, Siebel, or another LOB application through Web services or databases.

The BDC provides homogeneous access to the underlying data sources with a metadata model that provides a consistent and simplified client object model. Typically, metadata authors with skills equivalent to those of a database developer describe the API of business applications by using the metadata model. Administrators register business applications in the BDC, after which the data in the business application is immediately available on a portal site through other Office SharePoint Server 2007 business data features and its object model.

Data Connectivity

Business rules, data, and metadata are stored on the server in a typical application architecture. Exposing this content in an Office client workspace makes it more likely that information workers will enter and use relevant information in their work. This metadata can then be used directly and easily within elements of the presentation tier. The metadata is eventually saved on the server and then can be used to categorize and search for the content. For example, you can look for all purchase orders with the customer property equal to Contoso.

Data Connection Library

A data connection library is a new SharePoint document library in which organizations can publish connection files to provide a straightforward way for users to share, manage, and discover connections to external data repositories without requiring any knowledge of the technical details. Data connection files are easy to create and update, and solution designers can easily reuse them in Office client applications.


In addition to using data connection libraries, you can use the BizTalk Adapter Pack, a set of application adapters, to enable customers to bring LOB data into Microsoft Office client applications or any client that supports using Web services.

Excel Services

Excel Services, part of Office SharePoint Server 2007, extend the capabilities of Microsoft Office Excel 2007 by allowing broad sharing of spreadsheets, improved manageability and security, and the ability to re-use spreadsheet models using a scalable server-based calculation service and interactive Web-based user interface.

Figure 1-5. How Excel Services works.

How Excel Services works

There are three core Excel Services components, illustrated in Figure 1-5:

  • Excel Web Access

  • Excel Web Services

  • Excel Calculation Services

Excel Services handles communication among the three components and load-balances the requests made to Excel Calculation Services.

The Excel Web Access, Excel Services, and Excel Calculation Services components can be divided into components on the Web front-end server and those that live on a back-end application server. The Web front end includes Excel Web Services. The Excel Calculation Services component resides on the back-end application server, alongside any user-defined function assemblies that an administrator may have added.

Open XML

Open XML File Formats allow developers to program Office documents outside the application that generated them, allowing developers to focus on the lower levels of the application. This standards-based format is the primary data transport between applications and users in an OBA. A key benefit of the new format is substantially smaller file sizes.

The Office XML formats are based on XML and ZIP technologies, thereby making them universally accessible. The specification for the formats and schemas are published and made available under the same royalty-free license that exists today for the Microsoft Office 2003 Reference Schemas.

With Open XML at the core of the Office XML formats, exchanging data between Microsoft Office applications and enterprise business systems is greatly simplified. Without requiring access to the Office applications, solutions can alter information inside an Office document or create a document by using standard tools and technologies capable of manipulating XML and ZIP. The new formats enable the creation of document content repositories that can be accessed and manipulated without requiring Office applications. A simple example is Excel spreadsheet creation on the server without needing Excel.

The following highlights are some of the additional overall benefits of the Office XML formats:

  • **Easily integrate business information with documents   **Office XML Formats enable rapid creation of documents from disparate data sources, accelerating document assembly, data mining, and content reuse.

  • Open and royalty-free   The Office XML Formats are based on XML and ZIP technologies, so they are universally accessible.

  • Robust   The Office XML Formats are designed to be more robust than the binary formats, and, therefore, to help reduce the risk of lost information due to damaged or corrupted files.

  • Secure   The openness of the Office XML Formats translates to more secure and transparent files. You can share documents confidently because you can easily identify and remove personally identifiable information and business-sensitive information, such as user names, comments, and file paths.

  • Backward-compatible   The 2007 Microsoft Office system is backward-compatible with these earlier versions: Microsoft Office 2000, Microsoft Office XP, and Microsoft Office 2003. Users of these versions can adopt the new format with little effort and continue to gain maximum benefit from existing files.


A workflow can control almost any aspect of an item in Office SharePoint Server 2007. A simple workflow can require the approval of several users for a document such as a budget. A more complex workflow could require information to be gathered through forms and that the workflow branch out to perform different functions depending on the information gathered. Other complex workflow activities include creating a SharePoint task for a set of users, sending mail to the appropriate roles with the details of the task, and sending the data across the wire to a trading partner as an automatically generated acknowledgement.

Table 1-1 demonstrates a workflow analysis for a purchase order approval process.

Table 1-1. A workflow analysis.

PO Approval Process


Review current budget status

Collect feedback

Verify Inventory


Get manager's approval if over approval limit

Approval Review

Approve Purchase Order


Microsoft provides two development tools for authoring workflows for Windows SharePoint Services: the Visual Studio 2005 Designer for Windows Workflow Foundation, and Office SharePoint Designer 2007. In general, the largest differences between the two tools are the following:

  • Workflow authoring in the Visual Studio 2005 Designer for Windows Workflow Foundation is performed by a professional developer, who creates a workflow template that can be deployed across multiple sites and contains custom code and activities. The developer then passes the workflow template to a server administrator for actual deployment and association.

  • Workflow authoring in SharePoint Designer is likely done by someone other than a professional developer, such as a Web designer or information worker who wants to create a workflow for a specific list or document library. In this case, the designer is limited to the workflow activities on the Safe Controls List, and the workflow cannot include custom code. The workflow author deploys the workflow template directly to the list or document library as part of the workflow authoring process.

Data Tier Considerations

Almost all applications and services need to store and access some kind of data. Your application or service may have one or more data sources, and these data sources may be of different types. The logic used to access data in a data source needs to provide methods for querying and updating data. The data your application logic needs to work is related to entities that play a part in your business. Here are some considerations that will assist you in working with the data tier for an OBA.

Writing Data to LOB Systems

The XML file formats used in Office 2007 help facilitate a means to write to an LOB system by using document assembly and disassembly and content tagging with custom schemas. Document assembly and disassembly gives a developer the ability to quickly unpackage any Office document and retrieve the metadata holding the data that needs to be pushed to the LOB system. With the compression enhancements in .NET 2.0 and .NET 3.0 to the System.IO.Packaging library, the design of custom compression libraries or the use of third-party utilities is no longer required to complete this step. Developers are now provided with a more reliable solution.

Content tagging enables a document to store critical data needed for integration in a separate data file using a custom-defined schema that is based on the requirements of an LOB system. Processing the metadata by using the tagging approach leads to less overhead while the data is loaded and read, and it removes the need to navigate through the formatting elements used to present the document.

Maintaining Mapping of Data Between Systems

Data in a document that is used to modify an LOB system must be up-to-date to ensure data integrity. There are many different techniques a developer can use to confirm the currency of data, depending on the type of document being processed. One of these techniques can often be applied to all documents that use the Office XML file formats. Office XML file formats allow a user to define the metadata needed by attaching a custom XML file n the compressed file, holding the data needed to render the document as well as to push the data back to the LOB system. This data file can be defined with a custom-schema for setting the guidelines of the metadata, but this is not required.

When the user loads the document for editing, a server-side process is needed to populate the compressed document file with the metadata and deliver it to the user once populated. The document the user sees is rendered with the metadata embedded, and as the user modifies the document, Office 2007 will keep the metadata file in sync. Once all changes are made, the user will save the document to a server-side application, such as Office SharePoint Server, where this process will extract the metadata from the compressed file and render any changes back to the LOB data store or exposed service points. Inside Office SharePoint Server, this process can be designed using the new built-in workflow tools.

Developer Tools

Developers have several tools available to assist them in building Office Business Applications.

Visual Studio 2005 Tools for the 2007 Microsoft Office System Section Edition

Visual Studio 2005 Tools for the 2007 Microsoft Office System Second Edition (VSTO 2005 SE) is a fully supported free add-on to Visual Studio 2005 that gives developers the ability to build applications targeting Office 2007. VSTO 2005 SE includes the following functionality:

  • Application-level customizations and add-ins for the most popular Office applications, including for both the 2003 and 2007 versions of Word, Excel, Outlook, Visio, PowerPoint, and the 2007 version of InfoPath.  This is currently the number one most requested feature for VSTO 2005 SE: safe loading, unloading, and management of managed add-ins.

  • Programming model and runtime support for the Ribbon, custom task panes, and Outlook forms regions.  

  • Design-time support for InfoPath 2007 forms so you can build your forms form right inside Visual Studio IDE. 

  • Support for Visual Studio 2005 Professional

SharePoint Designer

Office SharePoint Designer 2007 is specifically designed to help you create and customize Web sites and workflows built with SharePoint Products and Technologies (Microsoft Windows SharePoint Services and Microsoft Office SharePoint Server 2007). It provides all the tools that IT professionals and solution creators need to develop SharePoint-based applications and workflow solutions that enhance organizational agility and business process automation.

With Office SharePoint Designer 2007, you can design SharePoint workflows and applications without having to use traditional procedural coding languages or techniques. Instead, SharePoint Designer provides you with easy-to-use tools that you can use to:

  • Build conditional views and forms with validation.

  • Read, write, and present data from a variety of data sources—such as XML files, SQL databases such as Microsoft SQL Server 2005, and Web Services.

  • Compile data from multiple sources to create flexible, customized views and reports.

  • Build Web Part pages and connect Web Parts to create business applications.

Go to Part 2 of this excerpt