Business Operations. End-User Capabilities
End users can access Business Operations via the application interface.
To start a context-dependent BO, the user should specify a particular business object or several objects in the corresponding View (List or Detail) that contains context objects. Context-dependent BO are displayed within the Actions category of the toolbar.
Simple (non-context) Business Operations are displayed within a separate List View (BusinessOperationsTreeNode_ListView).
TreeListBusinessOperations_ListView displays a two-level hierarchy. BO are grouped into categories. Any BO can belong to several categories. There are two ways to organize this hierarchy:
- customizing the Xafari|BusinessOperations node in the Application Model,
- decorating the BO class with BusinessOperationCategoryAttribute.
The developer can create a category and assign it to a Business Operation. All controls that run the BO are implemented in the BOExecViewController.
A BO may have an arbitrary set of input parameters. The developer declares the parameters when implementing a BO. When the user runs the BO, the Detail View for entering the input parameters is generated automatically:
It is also possible to call Business Operations directly in the application code.
By default, all BO started by the user in the UI are executed as Managed (extended) Operations. There are two ways of execution: synchronous and asynchronous.
It is not possible to execute other actions in the client application while a Synchronous Managed Operation runs. To continue working with the app, the user has to wait until the launched operation finishes. Asynchronous BO execute in the background mode. The synchronous or asynchronous execution mode of a specific BO can be either determined by ExecutionWayAttribute or specified in the Application Model.
If a BO is executed asynchronously, the user can monitor the process in a special Detail View.
The developer can implement a BO rollback: