Microsoft Access Workflow Designer: Tips for Optimizing Team Solution Performance

Microsoft Office Developer Product Team
Microsoft Corporation

September 1, 1999

Summary: This article provides tips for improving performance of a team solution created using the Microsoft® Access Workflow Designer for SQL Server™, a tool provided by Microsoft Office Developer. (7 printed pages)

Introduction

Microsoft Office Developer includes a new component, Microsoft Access Workflow Designer for Microsoft SQL Server, which contains a number of tools designed to build integrated Web- and SQL Server-based solutions that automate business processes easily for teams of knowledge workers.

Because team solutions created using Access Workflow Designer are dependent upon a number of external components, such as Microsoft Windows NT®, SQL Server, and data access pages, there are many options for improving performance in your solution.

Performance issues should be considered throughout the development cycle—not at the end when the system is implemented. Many performance issues that result in significant improvements are achieved by careful design from the outset. To most effectively optimize solution performance, you must identify the areas that will yield the largest performance increases over the widest variety of situations and focus analysis on those areas.

For information about: See:
Schema design and database options available for improving solution database performance. Database Tips
Workflow features that can be disabled to improve performance. Workflow Process Tips
Recommendations for making offline publications and replication run more efficiently. Offline Replication Tips
Web page design that will make your page load faster and work more efficiently. Data Access Page Tips
Where to find additional information about the Access Workflow Designer. For More Information

For additional tips for optimizing performance, consult the Windows NT, SQL Server, Access 2000, and Microsoft FrontPage® Server Extensions documentation.

Database Tips

It is important to correctly design the database to model your business requirements and to take advantage of hardware and software features early in the development cycle of a database application, because it is difficult to make changes to these components later.

When designing your database and your solution, there are several things you can do to optimize database performance and make your solution work more efficiently. For additional information about optimizing database performance, consult the Access and SQL Server online documentation.

Optimizing the SQL Server Database

The following are general guidelines for optimizing SQL Server database performance:

Processing Data on the Server

To process data on the server, you can use stored procedures and triggers, and you can sort data on the server before retrieving it.

Workflow Process Tips

You can disable specific Microsoft Office Developer workflow features to improve solution performance. Depending on the requirements of your solution, there are three features that can be turned off to improve transaction performance: row-level permissions; running workflow in a separate process; and making deleted rows available to script.

Row-level Permissions

In Access Workflow Designer, security is designed around the main table and detail table base views. When row-level permissions are enabled, these views perform a join to the modPermissions table to determine which rows to return. Based on the number of rows on which you have set permissions and the number of roles for which you have set permissions on that row, performance can be impacted.

If you are not using row-level permissions in your solution, it is best to disable this feature by finding the table in the Access Workflow Designer Object list and clearing the Enable row permissions option.

Security issues can arise if you disable row-level permissions and have no workflow process defined for a table. Be aware that, for data access pages to work correctly, Select permissions on the primary-key columns, as well as full Insert and Delete permissions, are granted to the Public role during table registration. If you do not have a workflow process enabled or row-level permissions defined, anyone with Public access to your database could run an insert or delete query against the main table with success.

Running Workflow in a Separate Process

By default, workflow is run in a process separate from your SQL Server. If you must have further performance increases, you can define workflow to run in the same process as SQL Server by clearing the Run workflow in a separate process option, found on the General tab of the Workflow Process pane.

You can expect a 20- to 30-percent increase in performance. Be cautious, however, because workflow scripting problems can cause your server to hang, or even crash, if workflow is not run in a separate process. It is recommended you run out of process and fully test your workflow scripts before disabling this option.

Making Deleted Rows Available

Workflow scripting has a method that may be useful in certain situations—the Session.OriginalItem method. This method makes it possible for you to evaluate the previous values in a record before the current values (Session.Item) are set. This method is not available by default.

To make this method available, you select the Make deleted rows available to script option, found on the General tab of the Workflow Process pane.

Be aware that after you make this change, during trigger execution, the values are made available to script by copying the original values to a temporary table. Thus a performance hit is taken when you use this feature. Unless you absolutely must have OriginalItem in scripting, leave this option cleared to increase performance.

Offline Replication Tips

Implementing replication requires careful planning to minimize the demands on network resources and maximize data consistency. While you plan your offline publications, it is important to remember both the size and the number of publications included in your solution can impact performance.

In addition to the database tips provided in an earlier section, there are several design issues that can affect the success of replication. Before implementing replication, you should consider the following design guidelines:

As a general rule, create a minimal number of publications, and include only the tables, objects, and filtered data required for the solution to work offline. Offline publications impact performance in a few ways—when the original publication is created, during creation of the solution from a template, when the user takes a publication offline, and when a user synchronizes the offline database.

The more publications your solution has and the larger the publications, the longer creation of the solution will take.

Use the Replication Monitor

Replication Monitor is a component of SQL Server Enterprise Manager designed for viewing the status of replication agents and troubleshooting potential problems at a Distributor. You can use Replication Monitor in SQL Server Enterprise Manager to:

After replication has been set up, you can use the Microsoft Windows NT Event Viewer to view SQL Server messages. For information about Event Viewer, see Windows NT Help.

If you are running Server on a Microsoft Windows NT platform, you can use Windows NT Performance Monitor to monitor the rate at which various replication processes take place. See the SQL Server Books Online for more details.

Data Access Page Tips

In general when you design your Web page, determine the data and functionality required, and delay asking the server for this data and functionality until the user requests the information. For example, create a page that does not require data to be retrieved from the server while the page is loading. Instead, you can add a command button to the page to load data on request.

Provide fields that take a long time to retrieve data from the server, such as text and image fields, only when requested. You can use the following techniques:

There are several things you can do to make your data access pages load faster in Page view or in Microsoft Internet Explorer 5:

For More Information

For the latest information about Microsoft Access Workflow Designer for SQL Server, see the Microsoft Office Developer Web site at http://msdn.microsoft.com/OfficeDev/.

To access Knowledge Base information, consult the Product Support section of the Microsoft Office Developer Web site.

For information about developing team solutions, consult the Access Workflow Designer Developer’s Guide online documentation.