Click to Rate and Give Feedback
MSDN
MSDN Library
Microsoft Dynamics
Technical Articles
 Development Tools for Microsoft Bus...
Small Business Financials Technical Articles
Development Tools for Microsoft Business Solutions Small Business Financials North America Edition
 

Publication Date: January 2005

Applies to:
   Microsoft Business Solutions Small Business Financials North America Edition (formerly Microsoft Small Business Manager)

Summary: Several development tools allow developers to create custom applications that integrate with Microsoft Business Solutions Small Business Financials. If you are a developer working for a Microsoft Business Solutions independent software vendor (ISV), you can use these tools to integrate an existing application with Small Business Financials or to develop customized applications for vertical markets. (19 printed pages)

Contents

Overview
    Introduction to Small Business Financials
    Intended Audience
    Architecture
Choosing a Tool
Understanding the Tools
    ODBC Drivers
    Dexterity
    Great Plains-Small Business Financials SDK
    Continuum API

Overview

This article briefly describes Microsoft Business Solutions Small Business Financials architecture, summarizes the features and benefits of each Small Business Financials development tool, and provides guidelines for choosing the right tools for various development tasks. The toolset for Small Business Financials may vary depending on your status as an independent software vendor (ISV) or customer; therefore, you might not have access to all of the tools discussed in this article.

Independent software vendors (ISVs) should typically build an application using Microsoft Visual Studio .NET and connect the application using ODBC and the Great Plains-Small Business Financials SDK. In certain circumstances, the other tools might be a better choice.

Several tools are available for developers to create custom applications that integrate with Small Business Financials. These tools include the following:

  • Open Database Connectivity (ODBC) Drivers
  • Great Plains-Small Business Financials Software Development Kit (SDK)
  • Continuum API
  • Dexterity

If you're an MSDN Universal subscriber, you can download these development tools from the MSDN subscriber downloads area. Dexterity and the Continuum API can be downloaded from the PartnerSource extranet. You must use .NET Passport authentication and your PartnerSource security ID to access the extranet.

Introduction to Small Business Financials

Small Business Financials is a flexible accounting and business management system. It supports business processes in the lower mid-market and scales up to meet the requirements of small and mid-sized organizations. It provides functionality for financial management, sales, purchasing, inventory, payroll, and reporting. To adapt to a company's changing needs, the program offers increased financial controls, reliable multi-user access, and substantial storage capacity for transactions and records. Small Business Financials includes Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) and is also compatible with Microsoft SQL Server.

Small Business Financials includes the following components:

  • Business Management Suite
    • Financial
    • Banking
    • Sales
    • Purchasing
    • Inventory
    • Foundation and Reporting
    • Integration
    • MSDE
  • Payroll Suite
    • U.S. Payroll
    • Direct Deposit
  • Add-on capabilities
    • Fixed Assets
    • FRx
    • Crystal Reports
    • Magnetic Media

For more information about the functionality of Small Business Financials, visit the Microsoft Business Solutions Web site.

Intended Audience

This technical article is for software engineers who develop applications that are designed to work with Small Business Financials. The topics in this article are useful for independent software vendors (ISVs) and other developers who might customize or integrate with Small Business Financials. Readers should have basic experience with programming for business applications and using data models.

Different tools require different skill sets. To perform simple integrations, such as importing data from a table or an Excel file, you need experience with Microsoft Office applications. For many types of customization, experience with automation, project management, and development significantly aids in project completion. For the most complex projects, you need advanced programming skills and knowledge of the networks and operating systems supported by Microsoft Business Solutions; you should be familiar with the business logic implementation of your application, Structured Query Language (SQL) programming and procedures, and scripting languages, such as Microsoft Visual Basic.

Architecture

Small Business Financials was designed with an open architecture, which means that there are a number of ways that the application can be customized and integrated. At a high level, the architecture can be broken down into four basic components: the database layer, the data dictionary layer, the business logic layer, and the user interface layer.

Integrating applications can interact with Small Business Financials at any of these four layers. Most integration should occur at the business logic layer, which ensures valid data and the best performance. Integrating to the database layer is complex and introduces the possibility that data will not be validated; modifying the user interface layer can reduce performance.

In the following diagram, the four layers of architecture are illustrated in the "Small Business Financials Architecture" column. Notice the close relationship between the business logic layer and the data dictionary layer; this is because the data dictionary defines the business logic rules. Pointing to each layer in the architecture are tools that you can use to integrate your external application with Small Business Financials or to customize Small Business Financials. These tools are described later in this article.

Click here for larger image

Figure 1. Small Business Financials architecture

Database Layer

Database-level integration allows direct access to the data and is supported by many development environments. However, this is the most difficult layer for integration because all the data must be validated. The developer must understand what tables need to be populated, what fields are required, and how to ensure that the data is error-free. Tools that can integrate at this layer include Dexterity and the Continuum API. Using the Great Plains-Small Business Financials SDK documentation as a reference, you also can use ODBC drivers for Microsoft SQL Server and MSDE to access the database layer directly.

Data Dictionary Layer

The data dictionary layer contains all of the resources used to define and create the Small Business Financials data model in Microsoft SQL Server. These resources are built within the Dexterity toolset and include data types, fields, and tables.

Small Business Financials resources are stored in the main data dictionary. Some Small Business Financials add-ons, such as Fixed Assets, are developed as integrating applications and have their own data dictionaries. Likewise, applications developed using Dexterity by ISVs are developed as separate integrating applications and have their own data dictionaries.

In a multidictionary environment, the run-time engine interprets the main dictionary and the integrating dictionaries at the same time. This capability allows multiple integrating dictionaries to function with the main dictionary, providing a seamless user experience.

The only tool that allows integration at the data dictionary layer is Dexterity. With Dexterity, you can read tables, create new tables, and add new or existing fields to those tables. ISVs cannot add fields to the existing tables within the Small Business Financials data model. This method ensures that each customer installing Small Business Financials starts with a clean database.

Business Logic Layer

The business logic layer allows you to take advantage of the internal code that is shipped with Small Business Financials, so you do not need to spend time developing code that already exists.

Two tools provide the primary means for accessing the business logic: Dexterity and the Continuum API. Dexterity gives you access to hundreds of procedures used by the application, such as General Ledger posting, in addition to all of the table definitions. The Continuum API uses Microsoft COM Automation, which allows non-Dexterity applications to call a Dexterity procedure.

User Interface Layer

The last level for integration is the user interface. Of course, data can be entered manually into the windows of Small Business Financials. You also can use the Continuum API or Dexterity to integrate at this level by automating the windows.

Choosing a Tool

If you're a developer who is customizing or developing integrating applications with Microsoft Business Solutions Small Business Financials, the following tools are available:

Integration   These tools allow you to transfer data from one source to another.

Development and Customization   These tools allow you to create new applications that are based on Small Business Financials or to customize existing applications to fit specific needs.

Documentation   These tools provide information about integrating with the Small Business Financials data model and typically are used in conjunction with other Small Business Financials development tools.

To help you determine which development tools to use, this section describes some common tasks that you may want to perform and defines the tools most appropriate for each task.

These tasks provide a summary of the types of modifications you can make to Small Business Financials. If you are adding to an existing application, you can skip to the topic that describes what you are trying to do. Each task includes references to the tools that you can use for the task. When multiple tools are listed for a task, the order that the tools are listed in is not a recommendation about the ranking of the tools for the task, except where noted.

The following topics are discussed:

For more information about each tool, see Understanding the Tools later in this article.

Developing a New Application

You can develop a new application that integrates with Small Business Financials to meet the needs of a particular industry or a vertical market. In this scenario, you are either starting to build a new application or rewriting an existing application.

Table 1.

For This Task Use This Tool
Build a new application or rewrite an existing application, and then perform real-time or batch integration to Small Business Financials. Visual Studio .NET to write the application, and then the Continuum API and the Great Plains-Small Business Financials SDK (SDK) for integration
Create a rich-client, seamless integration with Small Business Financials. Dexterity

Customizing Windows

You can modify the windows in the Small Business Financials application to meet the specific needs of an industry, vertical market, or individual end user.

Adding Fields

You can add new fields and store additional data in an existing Small Business Financials window. For example, you could track additional customer attributes in the Customer Maintenance window.

Table 2.

For This Task Use This Tool
Add these fields for any number of end users. Dexterity

Using Dexterity allows you to create custom lookups for the new fields.
Note   If the existing window or field resides in an integrating dictionary, Dexterity cannot be used to add fields.

Changing the Properties of a Field

You can change the default values of a field's properties. For example, you could make the field a required field or hide the field from view.

Table 3.

For This Task Use This Tool
Make these property changes, in addition to other changes to windows. Dexterity
Make only these property changes. Continuum API
Note   If the existing window or field resides in an integrating dictionary, Dexterity cannot be used to change the properties of a field.

Customizing the Business Logic

You have several options for adding business logic or exerting control over the business logic running in an existing window. You may simply want to insert default data into a field as the end user opens a window or presses the TAB key to move out of a field. In a more complex scenario, you might want to stop a business process, such as posting an accounts receivable transaction, based on a certain set of criteria.

Table 4.

For This Task Use This Tool
Make business logic changes, in addition to user-interface changes to existing windows. Dexterity
Make simple business logic changes using another COM-compliant development tool for all or most of the end users, but no user-interface changes to existing windows. Continuum API

Enabling Real-Time Integration

Some tools allow integrations in which data is written to and read from Small Business Financials in real time. This means that you can continually update the Small Business Financials databases while new data is entered into your systems.

Reading Existing Data from Small Business Financials (Real-Time Integration)

You can periodically update your application's database from the database that is used by Small Business Financials, or you can write code that will read from the database that is used by Small Business Financials from your own application. For example, you could query a list of items for a Web site every time the page opens, or you could write code in your application that queries the current list price for an item stored in the Small Business Financials database.

Table 5.

For This Task Use This Tool
Read the data for any application. Open Database Connectivity (ODBC) drivers

The Great Plains-Small Business Financials SDK identifies some of the tables that might be read by a developer's application.
Read data using native Dexterity commands, if Dexterity already is being used for other scenarios. Dexterity

Subscribing to Changes within Small Business Financials Data

You can update your application's database while the Small Business Financials end user makes changes within Small Business Financials. For example, the end user could add or change a customer in the Small Business Financials Customers window or delete an existing vendor from the Small Business Financials Vendors window. To keep your data synchronized with the data stored in Small Business Financials, you need to create code to update your application's database as these changes occur in Small Business Financials.

Table 6.

For This Task Use This Tool
Watch for changes to selected records by either watching for user activity in the windows or on the tables within Small Business Financials. Dexterity and Continuum API

Both of these tools will allow a user to place watch triggers to watch for either user interface activity or database activity and to cause other code to execute when these triggers are fired.

Note   It is possible to place SQL database triggers and access data through ODBC. However, this method is not recommended because you may need to make modifications for each product upgrade.

Writing Simple Data to Small Business Financials

You can update basic setup data within Small Business Financials.

Table 7.

For This Task Use This Tool
Write to the Small Business Financials SQL database, if the setup data is not complex and there is no need for intense data validation. ODBC drivers

Use the Great Plains-Small Business Financials SDK as a reference for more information about various tables and fields.

Write to the Small Business Financials SQL database from within a custom interface designed in Dexterity. Dexterity
Interact with a Small Business Financials window, rather than directly with the SQL database. Continuum API

Writing Transactions and Master Records to Small Business Financials (Real-Time Integration)

You can update data within Small Business Financials and ensure that the updated data is validated by the Small Business Financials business logic. For example, you could create new transactions within a Small Business Financials module, such as Receivables Management, or create new master records such as Customers, Vendors, Accounts, and Employees.

Table 8.

For This Task Use This Tool
Interact with a Small Business Financials window directly. Continuum API
Update the Small Business Financials SQL database using an interface created in Dexterity. Dexterity
Note   Using ODBC for this task is not recommended. However, if you need to write directly to the SQL tables through ODBC, information about common transaction and master records is available in the Great Plains-Small Business Financials SDK.

Writing and Validating System Data

You can update data within Small Business Financials at a system level that requires complex data validation. For example, you may want to access the next document number for a transaction record or update inventory allocations.

Table 9.

For This Task Use This Tool
Update data with complex validation if you are already using Dexterity for other tasks. Dexterity
Update data with complex validation if you are already using the Continuum API for other tasks. Continuum API
Note   It is possible to write directly to the SQL tables through ODBC. This method is not recommended because you may need to make modifications for each product upgrade.

Completing a Batch Integration

Batch integrations allow you to import or export large batches of data that is collected over a period of time. Whereas with real-time integrations data is updated continually and automatically on a regular schedule, batch integrations are completed manually as they are needed. Several tools allow integrations in which data is written to and read from Small Business Financials in batches.

Reading Existing Data from Small Business Financials (Batch Integration)

You can periodically update your application's database based on information within the database for Small Business Financials. This can be done on a schedule using a scheduling tool, or can be initiated by the user.

Table 10.

For This Task Use This Tool
Read the data for any application that needs the data. ODBC drivers

The Great Plains-Small Business Financials SDK identifies some of the tables that might be read by a developer's application.
Place SQL database triggers and store the data in temporary tables or in a text file until it is ready to be processed. Microsoft SQL Server

The Great Plains-Small Business Financials SDK identifies some of the tables that might be read by a developer's application.
Read data for Dexterity based applications. Dexterity
Watch for batch activity at the user interface level within Small Business Financials, such as posting or monthly reports. Continuum API

Writing Transactions and Master Records to Small Business Financials (Batch Integration)

A common scenario is to pass a large number of transactions and master records into Small Business Financials. First, your application needs to maintain a list of the records to be passed. Your application then publishes the list to one of the tools in the following table, and then the tool imports the data into Small Business Financials.

Table 11.

For This Task Use This Tool
Interact with a Small Business Financials window directly and automate the window through code. Continuum API
Write transactions and master records using a Dexterity based application. Dexterity
Note   Using ODBC for this task is not recommended. But if you need to write directly to the SQL tables through ODBC, information about common transaction and master records is available in the Great Plains-Small Business Financials SDK.

Understanding the Tools

Microsoft Business Solutions Small Business Financials tools support interconnected business solutions for the back office, front office, and e-business. Small Business Financials allows you to write integrated applications, move data from existing sources to your new applications, and modify each customer's application to meet specialized needs.

ODBC Drivers

Open database connectivity (ODBC) drivers are integration tools to connect client applications to ODBC-compliant databases. This allows applications to share data by using a common transfer protocol.

ODBC is an industry standard for accessing databases. Database sources may be from various manufacturers and have different data formats, but as long as the database implements ODBC, information can be imported or exported by other databases or applications. Each ODBC driver is specific to a particular database management system.

Use the Great Plains-Small Business Financials SDK documentation as a reference for more information about the various tables and fields in the Small Business Financials database.

Advantages of ODBC Drivers

The following table lists advantages that ODBC drivers provide as a foundation for transferring information between ODBC-compliant databases.

Table 12.

Benefit Description
Industry standard Because ODBC is an industry standard for exchanging information among databases, you don't need to learn new technologies or risk being locked into proprietary systems.
Data exchange Data from ODBC-compliant databases can be seamlessly imported or exported between applications. Many database manufacturers support this standard, ensuring that you can integrate with a wide range of systems.

Skills Required to Use ODBC Drivers

Developers who write applications that incorporate access to ODBC databases will require extensive knowledge of the database's table structure and have experience writing and maintaining databases. Developers must have an understanding of an ODBC driver interface and API functions.

Capabilities of ODBC Drivers

ODBC drivers control data import or export requests so that the information conforms to the formats and structures of the system that owns the data. Systems require one or more drivers to process ODBC requests. They are generally installed during the installation of the respective product and can be managed (for example, starting, stopping, or updating drivers) by the database or by the computer's operating system.

By default, Small Business Financials uses the ODBC drivers installed by Microsoft SQL Server or the Microsoft SQL Server Desktop Engine (MSDE) for desktop workstations. For other databases, each manufacturer's driver capabilities might vary.

The drivers read from and write to database tables. Of the data integration options that Small Business Financials provides, programming ODBC drivers is the most technically complex solution. Developers have direct low-level access to the database tables and must be experienced with database development.

Related Tasks

Dexterity

Dexterity is a development tool used to create or modify large-volume, transaction-based client/server applications that seamlessly integrate with Small Business Financials modules.

The Great Plains Integration Guide provides information about developing Dexterity applications that integrate with Small Business Financials. The Guide is included with Dexterity.

The Great Plains-Small Business Financials SDK documentation also includes information about the Dexterity-based procedures and functions that you can use to leverage the Small Business Financials business logic.

Advantages of Dexterity

The following table lists the advantages that Dexterity provides for custom application development.

Table 13.

Benefit Description
Common development environment Dexterity is the same language that Small Business Financials was developed in. It consists of a full development environment created with C++, which allows you to integrate your custom modules with the standard Small Business Financials modules.
Extensible modules With Dexterity, you can extend existing Small Business Financials modules. Dexterity implements changes by storing modifications in files separate from the system code. Individual users or user groups can change the application to suit their needs without interfering with other groups' customization requirements.
Easy creation of new vertical applications You can use Dexterity to create new forms and tables and easily integrate them into the Small Business Financials user interface.

Skills Needed to Use Dexterity

Extensive experience with software development is recommended. Dexterity is a complete development environment, and training is recommended. The following skills assist with development:

  • An understanding of an application development environment such as Visual Basic or Microsoft Visual Studio.
  • Knowledge of third-generation programming languages, such as C/C++ or Pascal.
  • Experience using a scripting language such as Microsoft Visual Basic Scripting Edition (VBScript). Customizations made with Dexterity require the use of SanScript, a plain English scripting language.
  • An understanding of network environments and client/server architecture.

The Great Plains-Small Business Financials SDK includes documentation and details about the integration points.

Capabilities of Dexterity

Dexterity is a development environment that provides you with the same complete set of components that were used to create Small Business Financials. It allows you access to all of the Small Business Financials resources such as screens, scripts, tables, and reports. These features combined include graphical interface technologies, multiple-document interface (MDI) support, platform-native controls, background processing, and inter-application communications capabilities.

The programming environment includes a graphical editor to construct and arrange system components such as windows and controls. If you have used the graphical editor in Visual Basic or Visual Studio, you will be comfortable with the Dexterity programming environment. Development components include a forms builder, a database manager, an embedded macro system, and a scripting language and debugger. Dexterity supports embedded technologies such as COM and VBA.

The Dexterity scripting language is named SanScript and is the basis for all business logic in Small Business Financials. SanScript is a plain English language. The scripted procedures not only define actions but also define triggers that initiate actions. The wide range of triggers include database events, focus events (such as entering or leaving a field), and opening or restarting a form.

Dexterity achieves a high level of customization through the use of dictionary files. The dictionary files store the compiled windows code, control code, and the SanScript script. These files can be distributed to your system's users. The Small Business Financials system can load and run a virtually unlimited number of these dictionary files, and the system will run all of the appropriate procedures when an event is triggered. This multi-dictionary environment allows applications to be easily deployed to multiple sites or multiple customers. Using dictionary files protects the integrity of Small Business Financials. Systems can have dictionary files added or removed to provide the needed customization, but the original Small Business Financials source is never modified.

Dexterity can be used to create new or large applications, or to significantly modify an existing application. Dexterity provides a powerful foundation for large applications. It has direct access to call (but not view) Small Business Financials procedures and functions, has access to use all predefined tables and fields, and you can use it to set up triggers for new business logic or for information captures. For these reasons, Dexterity allows the most extensive changes among the various Small Business Financials development tools.

Related Tasks

Great Plains-Small Business Financials SDK

The Great Plains-Small Business Financials software development kit (SDK) provides development documentation and detailed technical information about the Small Business Financials data formats. The resources in the SDK help you to produce products that integrate with Small Business Financials and to customize Small Business Financials components.

Advantages of the Great Plains-Small Business Financials SDK

The following table lists the advantages that the Great Plains-Small Business Financials SDK provides for custom application development.

Table 14.

Benefit Description
Consolidated source of information The information required to integrate with the Small Business Financials data model is available in the Great Plains-Small Business Financials SDK.
Documented data model changes The Great Plains-Small Business Financials SDK provides detailed information about database and procedural changes between product releases.

Skills Needed to Use the Great Plains-Small Business Financials SDK

The information in the Great Plains-Small Business Financials SDK is intended to assist developers who are creating applications that integrate with Small Business Financials or who are customizing implementations of Small Business Financials. The information is technically detailed, and developers require extensive software development experience, database knowledge, and familiarity with their product's systems and business requirements.

Capabilities of the Great Plains-Small Business Financials SDK

The Great Plains-Small Business Financials SDK describes tables, data modeling, data formats, the creation of master and transaction records, and transaction posting flows. It is useful to developers who use customization and integration tools such as the Continuum API, ODBC Drivers, and Dexterity. Users who are already familiar with the Small Business Financials development environment will find topics that describe changes from previous versions, including changes to the data model and to the Small Business Financials dictionary.

Some components will be useful only to Dexterity or Continuum API developers. These topics include documentation that describes changes in global procedures and functions, parameters for all procedures and functions, and changes to forms from various released versions. In those cases, that information is explicitly identified by notes such as "These topics are intended only for Dexterity developers."

Components of the Great Plains-Small Business Financials SDK

The SDK includes sections describing the following:

Table 15.

Topic Details Documented
Small Business Financials integration Procedures and functions, table integration, warning messages, and dictionary changes.
ERwin models, a graphical model of the database Provides ERwin models for the Small Business Financials modules.
Small Business Financials changes Includes documentation describing database and procedural changes within Small Business Financials.

Related Tasks

Continuum API

The Continuum API is the Component Object Model (COM) application programming interface that is available for Small Business Financials. Tools that support COM automation, such as Microsoft Visual Basic for Applications, can use the Continuum API to interact with Small Business Financials.

Advantages of the Continuum API

The following table lists the advantages that the Continuum API provides for custom application development.

Table 16.

Benefit Description
Widely-used standard Microsoft technology COM is an industry-standard technology. The Continuum API is a standard COM interface for the Small Business Financials application.
Extended integration If you're a developer creating or modifying an application using a COM-compliant language, you can write your application so that it can interact with Small Business Financials using the Continuum API.

Skills Needed to Use the Continuum API

Intermediate to advanced experience with software development is recommended. The following skills assist with development:

  • An understanding of the COM-capable application development environment that you will be using, such as Visual Basic.
  • An understanding of the Small Business Financials application and database structure.
  • Experience with SanScript, the scripting language used to develop Small Business Financials.

A supplement that describes the SanScript language is included with the Continuum API documentation. Complete documentation and samples for SanScript are included with the documentation that ships with Dexterity. The Great Plains-Small Business Financials SDK includes documentation about Small Business Financials integration points.

Capabilities of the Continuum API

The Continuum API allows any applications written in a COM-compliant development environment to interact with the Small Business Financials application. The Continuum API allows three types of integration: interface, database, and process.

  • Interface integrations: The integrating application interacts with or manipulates the user interface in Small Business Financials. Interface integrations are the simplest integrations to create.
  • Database integrations: The integrating application reads from or writes to the Small Business Financials database, and can monitor database changes triggered by Small Business Financials. A thorough understanding of the Small Business Financials database is necessary to create database integrations. The Continuum API provides limited support for database integrations, therefore other integration methods might be more appropriate.
  • Process integrations: The integrating application reacts to events from the Small Business Financials system, such as posting. Process integrations require a thorough understanding of the Small Business Financials application process that you are integrating with.

To create new or large applications or to significantly modify the Small Business Financials application, use Dexterity.

Components of the Continuum API

The Continuum API in Small Business Financials can be used with any COM-compliant development environment such as Visual Basic .NET. The Continuum API Guide provides detailed information about the API. Sample applications demonstrate how the Continuum API can be used for integrations.

Related Tasks

© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement | Site Feedback
Page view tracker