Development Tools for Microsoft Dynamics SL
July 2004
Applies to:
Microsoft Dynamics SL
Summary: Developers can use various development tools to integrate and customize third-party applications with Microsoft Business Solutions–Solomon. 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 Solomon or to develop customized applications for vertical markets. (27 printed pages)
Contents
Overview
Introduction to Solomon
Intended Audience
Architecture
Choosing a Tool
Developing a New Application
Customizing Windows
Enabling a Real-Time Integration
Completing a Batch Integration
Understanding the Tools
Customization Manager with VBA
Solomon Tools for Visual Basic
Solomon Object Model
Transaction Import
ODBC Drivers
Business Portal SDK
Overview
This technical article briefly describes architecture, summarizes the features and benefits of each Solomon development tool, and provides guidelines for choosing the right tool for various development tasks. The tools that you can use to develop for Solomon may vary depending on your status as an independent software vendor (ISV) or customer; therefore, you may not have access to all of the tools discussed in this technical article.
Several tools are available for developers to integrate and customize Solomon with third-party applications. These tools include the following:
- Customization Manager with Microsoft Visual Basic for Applications (VBA)
- Solomon Object Model
- Solomon Tools for Visual Basic
- Transaction Import
- Open Database Connectivity (ODBC) drivers
- Microsoft Business Solutions–Solomon Business Portal Software Development Kit (SDK)
MSDN Universal subscribers can obtain these development tools from the Solomon CD or download them from the MSDN subscriber downloads area!.
Introduction to Solomon
Solomon, an edition of Microsoft Business Solutions, is a comprehensive accounting and business management system. Designed for small to mid-sized organizations, the Solomon business management solution meets most common business needs in the areas of finance, project management, payroll, service, distribution, manufacturing, customer relationships, and e-business. Based on Microsoft Windows XP and Microsoft SQL Server™, Solomon integrates with Microsoft Project and Microsoft Business Solutions for Retail Management.
The following list summarizes the business needs that Solomon is designed to meet:
- Project management
- Financials
- Payroll
- Inventory and order processing
- Field service
- Analytics and reporting
- E-commerce
- Manufacturing
- Human resource management
Using the tools described in this article, developers can customize Solomon modules for their customers or write applications that integrate with Solomon. For more information about the functionality of Solomon, visit the Microsoft Business Solutions Web site at http://www.microsoft.com/businesssolutions.
Intended Audience
This technical article is for software engineers developing applications that are designed to work with Solomon. The topics in this article are especially useful to independent software vendors (ISVs), although other developers may also find useful information here. Readers should have basic experience with programming for business applications and using data models.
Different tools require different skill sets. To complete simple integrations, such as importing data from a table or an Excel file, you need experience with Microsoft Office System applications, and experience with VBA is recommended. 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 and with extensible markup language (XML) coding, XML schemas, Structured Query Language (SQL) programming and procedures. You also should be familiar with scripting languages such as Microsoft Visual Basic Scripting Edition (VBScript).
Architecture
Solomon was designed with an open architecture, which means that there are a number of ways that its applications 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.
Third-party applications can interact with Solomon at any of these four layers. Most integration should occur at the business logic layer, which ensures valid data and the best performance. Integrating with 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 second column (Solomon Architecture). Pointing to each layer in the architecture are tools that you can use to integrate your external application with Solomon or to customize Solomon. These tools are described later in this article.
Figure 1. Solomon 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 of the data must be validated. The developer must understand what tables must be populated, what fields are required, and how to ensure that the data is error-free. Tools that can integrate at this layer are Solomon Tools for Visual Basic and Customization Manager with VBA. You also can use ODBC drivers for SQL Server.
Data Dictionary Layer
The data dictionary layer contains all of the resources used to define and create the Solomon data model in SQL Server. These resources are built into Solomon Tools for Visual Basic and include data types, fields, and tables.
Solomon Tools for Visual Basic and Customization Manager with VBA allow integration at the data dictionary layer. This integration is limited to creating new tables and adding new or existing fields to those tables. ISVs cannot add fields to existing tables within the Solomon data model. This method ensures that each customer installing Solomon begins with a clean database.
Business Logic Layer
You can use the business logic layer to take advantage of the internal code that is shipped with Solomon so that you don't need to spend time developing code that already exists.
You can use four tools to access the business logic layer:
- The Solomon Object Model allows applications that are written in a Component Object Model (COM)-compliant language to automate the Solomon system and applications at the business logic layer. All data is validated as if an end user had entered it.
- Solomon Tools for Visual Basic allows you to develop your own application and create your own business logic.
- Customization Manager with VBA allows you to add additional business logic to the standard Solomon application. The standard business logic is supplemented and not replaced.
- Transaction Import allows you to import data into the Solomon database while still enforcing the application's business logic.
User Interface Layer
The last layer for integration is the user interface. Of course, data can be entered manually into the windows of Solomon. But you can use Transaction Import to integrate data through the user interface and Customization Manager with VBA to customize the user interface. You also can use the Solomon Object Model to integrate at this level by automating the windows.
Integrating at this level enforces attributes like limits on data length, acceptable case for alphabetic characters, and certain formatting requirements.
Choosing a Tool
If you're a developer who is customizing or integrating third-party applications with Microsoft Business Solutions–Solomon, the following tools are available.
Development and Customization Use these tools to create new applications that are based on Solomon or to customize existing applications to fit specific needs.
Integration Use these to transfer data from one source to another. The Solomon business logic also can validate the data.
To help you determine which development tools to use, this section describes some common tasks that you may want to complete and defines the tools that are most appropriate for each task.
If you are developing a new application, be sure to read through all of the tasks in this section thoroughly. These tasks provide a summary of the modifications that you can make to Solomon. Each task includes references to the tools that you can use for the task.
For more information about each tool, see Understanding the Tools later in this article.
The following topics are discussed:
- Developing a New Application
- Customizing Windows
- Enabling Real-Time Integration
- Completing a Batch Integration
Developing a New Application
You can develop a new application that integrates with Solomon to meet the needs of a particular industry or 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 complete real-time or batch integration to Solomon. | Use Microsoft Visual Studio .NET to write the application, and then connect to Solomon using the Solomon Object Model. |
| Create a rich-client, seamless integration with Solomon. | Solomon Tools for Visual Basic |
| Create a new business component, query page, Web Part, or portal page for the Business Portal to integrate with Solomon. | Visual Studio .NET, Rational XDE and its code generator, the Entity Relational Map Generator, and the Entity Association Map Generator to write the application, and then the Business Portal Software Development Kit (SDK) for integration. |
Customizing Windows
You can modify the windows in Solomon to meet the specific needs of an industry, vertical market, or individual end user.
Rearranging Fields
You can rearrange the fields in an existing Solomon window, such as the Customer Maintenance window or the Invoice and Memo window. Fields can be rearranged to meet the needs of the customers who use your third-party application and Solomon within a certain industry or vertical market.
Table 2.
| For This Task | Use This Tool |
|---|---|
| Rearrange fields in windows. | Customization Manager with Microsoft Visual Basic® for Applications (VBA) |
Adding Fields
You can add new fields and store additional data using an existing Solomon window. For example, you might track additional customer attributes in the Customer Maintenance window.
Table 3.
| For This Task | Use This Tool |
|---|---|
| Add new fields. | Customization Manager with VBA |
| Create custom lookups for the new fields. | Customization Manager with VBA |
Changing the Properties of a Field
You can change the default values for the properties of a field. For example, you might make the field a required field or hide the field from view.
Table 4.
| For This Task | Use This Tool |
|---|---|
| Change the default value of a property. | Customization Manager with VBA |
Changing the Text Prompts
You can change the field labels on an existing Solomon window to meet the needs of a specific industry or customer. For example, in a medical setting you might change all occurrences of the term Customer to Patient.
Table 5.
| For This Task | Use This Tool |
|---|---|
| Make changes in each window. | Customization Manager with VBA |
Adding Business Logic
To insert default data into a field as the end user opens a Solomon window or uses the TAB key to move to another field, you can add business logic to that window. However, the business logic of existing Solomon windows cannot be modified.
Table 6.
| For This Task | Use This Tool |
|---|---|
| Make simple business logic additions. | Customization Manager with VBA |
Enabling Real-Time Integration
Several tools allow integrations in which data is written to and read from Solomon in real time. This means that you can continually update the Solomon databases, as new data is entered into your systems.
Reading Existing Data from Solomon
You manually can update your application's database from the Solomon database on a periodic basis, or you can write code in your application to automate reading from the Solomon database. For example, you might query a list of items for a Web site every time a Web page loads, or you might write code in your application that queries the current list price for an item that is stored in the Solomon database.
Table 7.
| For This Task | Use This Tool |
|---|---|
| Read the data for any application. | Open Database Connectivity (ODBC) drivers Schema Help in Solomon Help identifies the tables that may be read by an application. |
| Read the data for any application that can start Solomon, open windows, and read the contents of the windows. | Solomon Object Model |
| Read and display data in the Business Portal for any application. | Visual Studio .NET, Rational XDE and its code generator, the Query Web Service, result viewers, and the Business Portal Software Development Kit (SDK). |
Subscribing to Changes within Solomon Data
You can update your application's database as the Solomon end user makes changes within Solomon. For example, the end user might add or change a customer in the Customer Maintenance window or delete an existing vendor from the Vendor Maintenance window. To keep your data synchronized with the data stored in Solomon, you must create code to update your application's database as these changes occur in Solomon.
Table 8.
| For This Task | Use This Tool |
|---|---|
| Watch for changes to selected records by either watching for user activity in the windows within Solomon or by placing watch triggers on the tables within Solomon. | Customization Manager with VBA or Solomon Tools for Visual Basic Both of these tools allow you to place watch triggers to watch for user interface activity or database activity and to cause other code to run whenever these triggers are fired. |
Note It is possible to place Structured Query Language (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 Solomon
You can update basic setup data within Solomon.
Table 9.
| For This Task | Use This Tool |
|---|---|
| Write to the Solomon database if the setup data is not complex and there is no need for intense data validation. | ODBC drivers Schema Help in Solomon Help describes the tables that your application may write to. |
| Interact with a Solomon window and not directly with the database. | Solomon Object Model |
| Write data to the database that cannot be written using other tools. | Solomon Tools for Visual Basic |
Writing Transactions and Master Records to Solomon
You can update data within Solomon and validate the updated data using the Solomon business logic. For example, you might create new transactions within a Solomon module or you might create new master records such as Customers, Vendors, Accounts, or Employees.
Table 10.
| For This Task | Use This Tool |
|---|---|
| Access the Solomon business logic through a COM interface. | Solomon Object Model |
| Interface with a Solomon window directly. | Solomon Object Model |
| Create a new business component, query page, Web Part, or portal page for the Business Portal to integrate with Solomon. | Visual Studio .NET, Rational XDE and its code generator, the Entity Relational Map Generator, and the Entity Association Map Generator to write the application, and then the Business Portal Software Development Kit (SDK) for integration. |
Note Using ODBC for this task is not recommended. However, if you must write directly to the database tables using ODBC, information about common transaction and master records is available in Schema Help in Solomon Help.
Writing and Validating System Data
You can update data that requires complex data validation at a system level in Solomon. For example, you might want to access the next document number for a transaction record or update inventory allocations.
Table 11.
| For This Task | Use This Tool |
|---|---|
| Write and validate system data. | Solomon Object Model |
Note It is possible to write directly to the database tables using ODBC. However, this method is not recommended because you might 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 Solomon in batches.
Reading Existing Data from Solomon
You periodically can update your application's database based on information within the Solomon database. This can be done on a schedule using a scheduling tool, or can be initiated by the user.
Table 12.
| For This Task | Use This Tool |
|---|---|
| Read the data into any application. | ODBC drivers Schema Help in Solomon Help identifies the tables that may be read by your application. |
| Place database triggers, and store the data either in temporary tables or in a text file until it is ready to be processed. | SQL Server Schema Help in Solomon Help identifies the tables that may be read by your application. |
| Pull data through the business logic and user interface into a COM-compliant application. | Solomon Object Model |
| Watch for batch activity, such as posting or monthly reports, at the user interface level within Solomon. | Customization Manager with VBA |
| Write data to the database that cannot be written using other tools. | Solomon Tools for Visual Basic |
Writing Transactions and Master Records to Solomon
A common scenario is the need to pass a large number of transactions and master records to Solomon. To do this, your application must maintain a list of the records to be passed. Then your application must publish the list to a development tool. Finally, the tool must import the data into Solomon.
Table 13.
| For This Task | Use This Tool |
|---|---|
| Complete batch mode integration to write validated data. | Transaction Import This tool either can insert new transactions or master records, or can update existing master records. |
| Write validated data to Solomon in batch mode through a COM interface to the Solomon business logic. | Solomon Object Model |
| Write data to the database that cannot be written using other tools. | Solomon Tools for Visual Basic |
Note Using ODBC for this task is not recommended. But if you need to write directly to the SQL Server tables through ODBC, information about common transaction and master records is available in Schema Help in Solomon Help.
Understanding the Tools
Solomon tools support interconnected business solutions for the back office, front office, and e-business. Solomon allows you to write integrated applications, to move data from existing sources to your applications, and to modify each customer's application to meet specialized needs.
To validate the integrity of data from integrated applications, most of the tools can access Solomon business logic. The business logic restricts or qualifies data as it is transferred to the Solomon database. This ensures that only data that meets your criteria will be committed to the database. Customizing business logic allows you to map and transform data, to define events triggering functionality, to execute commands, to provide feedback to the user or error log, and to accept input from the user. Developers can call existing business logic, write new business logic, or modify existing business logic. Scripting in Microsoft Visual Basic for Applications (VBA) is used to define the logic. (Note that a scripting language called Basic Scripting Language was used instead of VBA in earlier versions of Solomon.)
Customization Manager with VBA
Customization Manager with VBA is a custom development tool to modify the appearance and functionality of existing Solomon applications and of applications that are based on Solomon.
Customization Manager with VBA supports a limited set of customizations. They include inserting, moving, hiding, or adding fields; changing the tab order of the controls in a window; adding or modifying business logic through a scripting language; and integrating with external systems or data.
Advantages of Customization Manager with VBA
The following table lists the advantages that Customization Manager with VBA provides for customizing Solomon applications.
Table 14.
| Benefit | Description |
|---|---|
| Security | Customization Manager with VBA provides two important security features. First, you grant users explicit levels of customization permissions. Users will not be able to change window elements that they do not have adequate permissions to change. Second, compiled and uncompiled code is stored in the Solomon database to restrict user access. |
| VBA and COM foundations | Customization Manager with VBA uses VBA and COM technologies. This foundation extends custom development, data sharing, and functionality to your other applications. |
| Flexible customization management | Customization Manager with VBA provides the ability to copy customizations from one system to another. You can manage libraries of customizations, control deployment, and create packaged customizations to distribute to other sites. |
Skills Needed to Use Customization Manager with VBA
Customization Manager with VBA is accessible to end users or people with limited development backgrounds. A graphical environment allows users to make simple changes. Developers who need to make extensive changes or add to the business logic require an intermediate or advanced understanding of the company's databases, scripting languages, and existing business logic.
Capabilities of Customization Manager with VBA
Customization Manager with VBA provides a graphical environment that allows you to modify windows. Customization Manager with VBA allows you to alter the appearance and behavior of an existing Solomon application in any of the following ways.
- Change cosmetic features such as the colors, fonts, text, the assignment of tool tips, and graphics displayed within a window. A property window lets you select and adjust characteristics of window elements through a graphical interface. You can see the original property values for all controls and which properties can be customized. Fields may be added, modified, moved, set to a default, deleted, or protected. Examples include displaying a report on the screen in the same format and font as the printer will use, and replacing a field name such as Client with something more appropriate for a specific industry, such as Patient. Power users who have less restrictive levels of permissions may add tables and windows.
- Automate a series of commonly combined or repetitive tasks. For example, with a single keystroke, the warehouse manager might confirm a shipment and recognize revenue. In this case, each function from separate windows would be combined into a single action.
- Extend functionality by adding features that are not available from a standard version of Solomon. For example, developers might add a wizard to the Customer Maintenance window to assist users in creating and setting up new customer accounts.
- Control other applications from Solomon. For example, using Microsoft Automation, the Solomon Budget Maintenance window might access the budgeting model of Microsoft Excel to create budget forecasts.
- Read data that is not stored in Solomon by exchanging data with remote databases and applications. For example, a customer account in the Solomon Customer window might be updated with data from a Microsoft Access database.
You might consider using Customization Manager with VBA if your Solomon application requires minor customizations. The customer also can use Customization Manager with VBA to further customize the Solomon application. To manage customizations that your customers complete, you can use Customization Manager with VBA to set access permissions for various types of customization.
Solomon allows multiple customizations on the same application but only one customization at each permission level. The following table summarizes the permission types:
Table 15.
| Permission Type | Description |
|---|---|
| Self | Only the user who created the customization can use the customization. |
| One User | Only one specified user can use the customization. That user may be the person who created the customization or another user. |
| All Users | All users of the system can use the customization. |
| Supplemental | Users cannot modify the customization after it has been deployed. |
In addition to VBA-based customizations, Customization Manager with VBA previously supported a scripting language called Basic Scripting Language (BSL). For new customizations, BSL is not recommended. For existing customizations, VBA customizations and BSL customizations may coexist in one application. However, each customization must be at a different permission level. For example, in a single Solomon application, you could have a BSL customization that allows One User access and a VBA customization that allows All Users access.
If you need to complete extensive customization, add new features, or make significant functional modifications, consider using Solomon Tools for Visual Basic.
Related Tasks
- Rearranging Fields
- Adding Fields
- Changing the Properties of a Field
- Changing the Text Prompts
- Adding Business Logic
- Subscribing to Changes within Solomon Data
- Reading Existing Data from Solomon (Batch Integration)
Solomon Tools for Visual Basic
Using the custom development tool Solomon Tools for Visual Basic, you can design and create 32-bit component-based applications that are compatible with Visual Basic and Solomon.
Advantages of Solomon Tools for Visual Basic
The following table lists the advantages that Solomon Tools for Visual Basic provides for creating new Solomon applications or for modifying existing Solomon applications.
Table 16.
| Benefit | Description |
|---|---|
| Familiar development environment | Solomon Tools for Visual Basic uses the Visual Basic development environment. Developers familiar with Visual Basic can take advantage of their existing development expertise. |
| VBA and COM foundations | Solomon Tools for Visual Basic uses VBA and COM technologies. This foundation extends custom development, data sharing, and functionality to your other applications. |
| Integrated access to SQL Server | Solomon Tools for Visual Basic includes components that provide an access layer to the SQL Server database application programming interfaces (APIs). |
| Customization Manager with VBA support | Any application that is created using Solomon Tools for Visual Basic can be modified using Customization Manager with VBA. This means that users can complete their own minor customizations without changing the source code. |
| Solomon Object Model support | Applications created using Solomon Tools for Visual Basic can be automated using the Solomon Object Model. |
| Security | Solomon Tools for Visual Basic provides two important security features. First, customers can change only specific window elements and their properties. Second, the business logic is protected. It is compiled into the application and is not public. |
Skills Needed to Use Solomon Tools for Visual Basic
Solomon Tools for Visual Basic supports complex integrations and requires intermediate or advanced development experience. A background with Solomon, database maintenance, Structured Query Language (SQL) commands, and a scripting language is helpful.
Capabilities of Solomon Tools for Visual Basic
Solomon Tools for Visual Basic allows application development in Visual Basic 6.0 Service Pack 5 or in Visual Basic 5.0 Service Pack 3. The resulting applications can have the same look and feel as Solomon. A fully documented API is available to assist with development. Solomon Tools for Visual Basic provides a set of add-ins, custom controls, type libraries, code and class modules, and a template project. Objects specific to Solomon appear on the tool palette along with the standard Visual Basic objects.
Applications developed using Solomon Tools for Visual Basic access the Solomon kernel, a dynamic-link library (DLL) that provides run-time services. The kernel services are referenced as a type library within Visual Basic. By providing access to the kernel, applications developed using Solomon Tools for Visual Basic can be modified (through customization tools including VBA and Customization Manager with VBA) without changing the underlying code source.
The specialized capabilities that Solomon Tools for Visual Basic provides include support for SQL Server database operations and for capabilities specific to Solomon development. Solomon window information automatically is bound to the SQL Server database object. Other utilities include the following:
- Dictionary Browse automatically sets many of the control's properties by retrieving defaults from the data dictionary. These smart defaults mean developers or users do not have to manually set or know the values ahead of time.
- Record Maintenance manages a database of SQL Server table names.
- Field Maintenance manages data field definitions for the tables listed in Record Maintenance.
- Generate Schema constructs table creation files that build SQL Server data tables and definition files for Visual Basic projects.
Developers can access Solomon API functions such as messaging functions, transaction commit and rollback, multicurrency management, and SQL Server database input/output (I/O). You can use the Transact SQL programming language of SQL Server for advanced operations that run exclusively on the Microsoft SQL Server™ 2000 Desktop Engine (MSDE 2000). You may develop your own SQL Server stored procedures. These procedures, along with any of the existing Solomon stored procedures, can be referenced in your applications. Other SQL Server capabilities that you can use in your customizations include forward and backward record navigation through the Solomon toolbar, field validation, and automated transaction rollback.
Keep in mind that Solomon Tools for Visual Basic is designed for significant customizations, adding new features, or making extensive functional modifications. If you or your users require only minor customization to your Solomon application, consider using Customization Manager with VBA instead.
Related Tasks
- Developing a New Application
- Writing Simple Data to Solomon (Real-Time Integration)
- Reading Existing Data from Solomon (Batch Integration)
- Writing Transactions and Master Records to Solomon (Batch Integration)
Solomon Object Model
The Solomon Object Model allows any Solomon window created with Solomon Tools for Visual Basic to be an object. Any COM-compliant application or programming tool may use the Solomon Object Model to integrate with any window in Solomon or to pass information to Solomon applications.
Advantages of the Solomon Object Model
The following table lists the advantages that the Solomon Object Model provides as a foundation for customizations and inter-application communications.
Table 17.
| Benefit | Description |
|---|---|
| Duplicates user's actions | Any action that the user can complete can be programmatically duplicated through the Solomon Object Model. |
| Accessible through multiple languages and development environments | You can access the Solomon Object Model through any COM-compliant programming language. Either use a Solomon development tool (such as Solomon Tools for Visual Basic), or develop code in a common language like C# or C++. With this flexibility, you can work within your existing development expertise. |
| VBA customization | Embedded VBA allows you to create customizations, such as accessing other applications, completing enhanced calculations, or completing table lookups. The Solomon Object Model supports Microsoft Automation from any internal or external COM-compliant tool. You can attach custom applications and specific business logic to any object in any window. |
Skills Needed to Use the Solomon Object Model
To use the Solomon Object Model, intermediate or expert developer experience with Visual Basic or VBA is required. It is also helpful for developers to have COM programming experience. Solomon documentation is oriented for Visual Basic developers, and developers familiar with other languages should be able to translate the documentation into terms and concepts applicable to their own expertise.
Capabilities of the Solomon Object Model
The Solomon Object Model provides flexible architecture, allowing Solomon to incorporate a larger overall solution that uses components from multiple applications. The Solomon Object Model is implemented within Solomon Tools for Visual Basic architecture. It is also built into Solomon itself.
The Solomon Object Model is a generalized capability, inherited by any application that is developed with Solomon Tools for Visual Basic. The Solomon Object Model is not data-centric and does not provide direct access to Solomon data structures. Instead, it allows any Solomon window or custom window to be automated from any COM-compliant programming language, including the languages in Microsoft Visual Studio or Visual Studio .NET. The Solomon Object Model allows other applications that support VBA, such as the Microsoft Office System, to access and be accessed by Solomon windows. In addition, your application can incorporate business logic that you create using Customization Manager with VBA.
The Solomon Object Model only supports the ability to use Microsoft Automation; it is not a customization tool or an end-user tool. The Solomon Object Model is designed to programmatically replicate user actions and to issue commands. In a sense, the client application of the Solomon Object Model is simply an automated user.
Developers who are familiar with Visual Basic and other standard programming languages will recognize the Solomon Object Model's compliance to industry standards. The Solomon Object Model is based on the Solomon user interface, and many developers with COM and Solomon experience may already be familiar with many aspects of the model.
In Visual Basic, the Solomon Application Browser provides development support that lists the names of specific controls and properties in Solomon. After you load the appropriate Solomon object references in Visual Studio, you may use Solomon objects and data types in a project. The Developer's Guide to the Solomon Object Model fully documents the Solomon Object Model.
Related Tasks
- Reading Existing Data from Solomon (Real-Time Integration)
- Writing Simple Data to Solomon (Real-Time Integration)
- Writing Transactions and Master Records to Solomon (Real-Time Integration)
- Writing and Validating System Data
- Reading Existing Data from Solomon (Batch Integration)
- Writing Transactions and Master Records to Solomon (Batch Integration)
Transaction Import
Transaction Import is an integration tool to transfer data and transactions from an external file into any Solomon window. Your company's existing business logic can validate imported data.
Advantages of Transaction Import
The following table lists the advantages that Transaction Import provides for importing data and transactions.
Table 18.
| Benefit | Description |
|---|---|
| Standard with all Solomon installations | Transaction Import is inherent to all Solomon applications and provided in the standard System Manager module. Both developers and customers have access to the tool. The standard graphical interface provides a consistent means of defining data transfers. |
| Transaction integrity | Transaction Import uses existing business logic rules to validate data. This provides transaction integrity because the same rules can be applied equally to all new data. |
Skills Needed to Use Transaction Import
Transaction Import is intended for end users or people with limited development backgrounds. The graphical interface simplifies transferring data.
Developers who need to modify the business logic require an intermediate or advanced understanding of the company's databases, scripting languages, and existing business logic.
Capabilities of Transaction Import
Transaction Import allows you to import transactions into any Solomon window from comma- or tab-delimited text files. A Transaction Import window provides the interface for users to define the transfer. Alternatively, repetitive transactions may be saved as templates and reused. The transfer reads each line of data from the source file, optionally validates the data, and then sends the data to the target Solomon window. After the target window successfully accepts the data, the Solomon database saves the transaction.
Business logic can validate the data, filter it or apply test criteria, before or during the import process. If you validate during the transfer, missing data may be filled in or transactions may be filtered. If you validate after the transfer, the business logic will check the data as if the data had been entered manually. An error log will track any data that violates a rule and list why the data is invalid and also the line number of the invalid data in the source file. By following existing rules, Transaction Import ensures conformity to all data requirements. These data requirements might include customizations that you or another user has implemented.
Transaction Import can be used in one of two ways:
- Transaction Import may be scheduled to run, or not to run, automatically using the Solomon Application Server. This method allows routine and automatic import processes, such as for overnight processing for customers in different time zones. The tool can be launched from a batch or system script file. You can create macros to incorporate the import automatically as part of another process.
- Transaction Import also may be launched explicitly as an independent application. This method allows you to import data on a one-time or infrequent basis. In this case, you might watch the database as it is updated. A log file will provide a list of errors encountered during the transfer.
Transaction Import is used either to convert information from a legacy system or to integrate Solomon with other line-of-business systems. Transaction Import is available in Solomon and in third-party applications that are developed using Solomon Tools for Visual Basic.
Related Tasks
ODBC Drivers
Open Database Connectivity (ODBC) drivers are integration tools used to connect client applications to ODBC-compliant databases. ODBC drivers allow applications to share data by using a common transfer protocol.
ODBC is an industry standard for accessing databases. Database sources may be from different manufacturers and have different data formats, but if the database implements ODBC, information can be imported or exported using other databases or applications. Specifically, ODBC drivers are libraries that implement ODBC API functions. Each driver is specific to a particular database management system.
Advantages of ODBC Drivers
The following table lists advantages that ODBC drivers provide as a foundation for transferring information between ODBC-compliant databases.
Table 19.
| Benefit | Description |
|---|---|
| Industry standard | ODBC is an industry standard for exchanging information among databases. By complying with these standards, you do not 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-compliant databases must have extensive knowledge of the table structure for the database. (Schema Help in Solomon Help defines the tables and fields of Solomon.) Developers should also have experience writing and maintaining databases. Developers must have an understanding of the 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 owning system's data formats and structures. Systems require one or more drivers to process ODBC requests. They are generally installed during the respective product's installation and can be managed by the database or by the computer's operating system.
By default, Solomon uses the ODBC drivers installed by SQL Server for desktop workstations. For other databases, each manufacturer's driver capabilities vary, so check the documentation for details.
The drivers read from and write to database tables. Of the data integration options that Solomon 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.
For a definition of tables and fields that you can access with ODBC, see Schema Help in Solomon Help. For other data conversion options, see Transaction Import.
Related Tasks
- Reading Existing Data from Solomon (Real-Time Integration)
- Reading Existing Data from Solomon (Batch Integration)
- Writing Simple Data to Solomon
Business Portal SDK
The Business Portal software development kit (SDK) provides development documentation and detailed technical information about the Business Portal business components, query pages, Web Parts, and portal pages. The resources in the SDK help you to produce products that integrate with the Business Portal and to customize Business Portal components. See MSDN Library for more information.
Advantages of the Business Portal SDK
The following table lists the advantages that the Business Portal SDK provides for custom application development.
Table 23.
| Benefit | Description |
|---|---|
| Consolidated source of information | The information required to integrate with the Business Portal business components, query pages, Web Parts, and portal pages is available in the Business Portal SDK. |
| Documented changes | The Business Portal SDK provides detailed information about changes between product releases. |
Skills Needed to Use the Business Portal SDK
The information in the Business Portal SDK is intended to assist developers who are creating applications that integrate with the Business Portal or who are customizing implementations of the Business Portal. The information is technically detailed, and developers require extensive software development experience, database knowledge, and familiarity with the systems and business requirements for their products.
Capabilities of the Business Portal SDK
The Business Portal SDK describes creating and using business entities, entity maps, entity associations, the Query Web Service, Web Parts, portal pages, and using security. The SDK is for developers who use Microsoft Visual Studio .NET, the C# programming language, Rational XDE and its code generator, the Entity Relational Map Generator, and the Entity Association Map Generator for customizations and integrations. Users who are already familiar with the Business Portal development environment will find topics that describe changes from previous versions.
Components of the Business Portal SDK
The SDK includes the following topics:
Table 24.
| Topic | Details Documented |
|---|---|
| Integration Basics | Contains basic information that you should know before you begin developing integrations for the Business Portal.
|
| Business Entities | Describes how to create entities within business components for your Business Portal integration.
|
| Entity Maps | Describes how to create and use entity maps in your integration.
|
| Entity Associations | Describes how the association information for entities is extracted from the UML models and used by the Business Portal.
|
| Security | Describes how security features should be implemented in your Business Portal integration.
|
| Query Web Service | Provides an overview of the Query Web Service and explains how it is used in the Business Portal.
|
| Result Viewers | Describes how to set up and display Query Web Services query results in a result viewer.
|
| Web Part Communication | Describes how Web Parts can communicate with each other inside the Business Portal.
|
| Portal Pages | Provides an overview of the various types of portal pages you can create for your integration.
|
| Web Parts | Provides an overview of several Web Parts that can be created and displayed inside the Business Portal.
|
| Distributing Integrations | Explains packaging Business Portal integrations for distribution so that they can be installed in other Business Portal installations.
|
| Online Help | Explains how to provide online help support for your integration.
|