Business Process Logic

A BusinessProcessSpec is used to reference the .NET class. The ProcessorComponent tag references the assembly name and a fully qualified class name that contains the processing logic. The fully qualified class name consists of the class name (InventoryProcessBusinessProcess) appended to the assembly name (Blackbaud.CustomFx.FoodBank.Catalog). 

Figure: Sample BusinessProcessSpec

Your business process processing occurs within a .NET class that inherits from Blackbaud's AppCatalog.AppBusinessProcess class. Overriding the Validate() sub within this class enables you to retrieve the parameter set values for the instance. Overriding the StartFunctionBusinessProcess() function enables you to write code that processes the data and produces the output. StartFunctionBusinessProcess() sends back an object of type Blackbaud.AppFx.Server.AppCatalog.AppBusinessProcessResult, which provides the Infinity platform with the number of record successfully processed and the number of exceptions, if any.

Figure: Sample business process code

This class is located within your catalog assembly along with your Catalog Items/specs. The assembly runs within the web service layer. For custom catalog assemblies built by Blackbaud Professional Services, customers, and other third-party development staff, the assemblies should be deployed to the vroot\bin\custom subfolder for your Infinity web application on the web server.