1. Setting up BAM
  • 06 Nov 2020
  • 6 Minutes to read
  • Dark
    Light
  • PDF

1. Setting up BAM

  • Dark
    Light
  • PDF

Article Summary

The first step in configuring the business process is to identify the logical grouping of transactions. You may decide to keep all transactions specific to a business unit such as Finance, Supply Chain in their respective business processes or at a more granular level. Once you arrive at a strategy on how to group the transactions, you will start with defining the business process, related transactions and stages in the Serverless360 portal.

Associate Storage Account and SQL Database

Before configuring the Business process, user should associate SQL Database and Storage Account to store the BAM related data. To associate both the resources to Serverless360 BAM, user must provide the credentials mentioned below:

SQL Database: Connection string must be provided
Storage Account: Either Connection string or Service principal can be provided

associate-storage

It is possible to view the details of the associated SQL Database and Storage Accounts by clicking on BAM Storage details

Note

To allow Serverless360 BAM API to access the Customer configured Azure SQL Database, Allow Azure services and resources to access this server in the firewall setting of the Database should be turned on.

Configure Business Process

Follow the steps below to create a Business Process and a Transaction:

  1. Go to the Business Process page in Serverless360 portal
    add-business-process-1
  2. Click on the Add Business Process button to create a new business process, give it a meaningfull name and click Save.
    add-business-process-2
  3. Reopen the Business Process name and click Add Transaction to configure the transaction
    add-transaction(1)
  4. Specify the Transaction name and select the Direction to indicate the message flow direction. You can also configure Default Reprocess Stage and Purging policy
  5. Click Save and repeat the above steps to specify one transaction at a time and configure the stages for it, before adding another transaction

Configure Transaction

The next step in configuring the business process is to specify the milestones that occur in a specific transaction. These milestones are defined as Stages. You may add one or more Stages to each of the selected transactions.

  1. Click on Edit Transaction Configuration to depict the Transaction in the graphical designer
  2. Click the Add Stage button and provide Stage Name, Stage executed at, Reprocess Settings(Stage to which the Business process needs to be resubmitted) and Properties(Custom Properties that need to be tracked)
    stage-configuration(1)

During stage configuration few of the following default features can be enabled

  • Is Condtional Stage - Enabing this feature will make the stage look like a decision making box in the transaction diagram

  • Mark transaction instance as complete - Enabling this option in a stage will make the transaction completed whenever that stage gets executed, irrespective of the IsTransactionComplete parameter passed to the stage. This setting will be applied only when the 'IsTransactionComplete' parameter is not enabled in the checkpoint connector
    marktransactioncomplete

  • Mark transaction instance as failed - Enabling this option in a stage will make the transaction failed whenever that stage gets executed. This setting will be applied only when the 'StageStatus' parameter is not enabled in the checkpoint connector
    marktransactionfailed

  • Autocomplete this stage - Enabling this option will make the stage as complete in the transaction instance when any of its directly connected successor nodes get executed.
    conditional

  1. Click Add to add the stage into the graphical designer. After adding all the required stages into the Graphical Designer, Connect them as per the transaction flow
    transaction configuration

  2. Click Save to save the Transaction

Below is the illustration to configure stages in a Transaction:

config-stage

Global Properties

Global properties are properties that can be configured to the stages in different transactions across multiple business processes. Global properties can be created, updated and deleted from the Global Properties section of the business process page. These properties can be mapped while configuring the properties of stages.

Any changes made in the global properties will be reflected to all the stages where these properties are mapped.

gloablproperty

User can easily modify the names and data types of the global properties as mentioned in the below illustration:

edit-global

Configure Properties

In this step, you must provide the values of interest in business as properties. You can specify as many properties to be tracked . For example:

  • Message Id
  • Sender Id
  • Receiver Id
  • Correlation Id
  • Batch Id
  • Message Type

There are 2 different kind of properties BAM supports. Global properties are used on a transaction level. They will become visible in the grid, you can update them during execution of a single business process instance, use them cross different business processes, for example SenderID and ReceiverID.

Stage properties are use on a stage level and more used in a specific scenario for a specific transaction / stage, they will become visible in the Message flow details, they will be stored on every different stage again when used .
If you send an XML message, you can use the Xpath as Property Source and Json Path for a Json message.

configure-properties

Below is the illustration to configure a property in a Stage:

config-global

Import and Export Business processes

Consider when there are various enviroments like Dev, Staging and Production where the business process with transactions and stages would be similar. Creating a business process from scratch would be a overhead and repetative. With the help of Import/Export capability, user can easily export the business process and import it into another instance.
To Import/Export a Business process:

  1. Business processes can be exported into json file by selecting the required business processes and clicking on the export button.
  2. You can enter the file name with which the business processes will be downloaded
  3. You can import the business processes by selecting the required business processes

If there is another business process with the same name already, selected business process will be imported with a random name appended to it

import-export

Clone Business Transaction

It is also possible to clone a business transaction within a business process. By cloning a business transaction, an exact copy of the business transaction with all the stage configurations will be recreated within the business process with the defined name. This will reduce the development time in recreating a business transaction with similar configuration of an existing transaction.

clone-bt

Active Queue length

Active queue length of BAM events will be visible whenever a transaction get executed. From this user can get to know wheather the BAM events are getting processed or not.

queue-length

Enable and Disable Message Archival at Business Process Level

Message archival at a stage can be enabled by passing the SL360-ArchiveMessage header as true while instrumenting either Azure Logic Apps, Functions or Custom Applications integrated with BAM. Whereas, when there is a need to enable or disable Message Archival at the Business process level which is possible with Override runtime BAM configuration settings along with Message archival in Business process settings.

enable-message-archival

Following are some of the scenarios when message will be archived in a stage.

  • When Override Runtime BAM Configuration is enabled and Archive messages is enabled
  • When Override Runtime BAM Configuration is disabled and SL360-ArchiveMessage header is passed as true in Logic App custom connector action or while checkpointing a stage using .Net Library.

Following are some of the scenarios when message will not be archived in a stage.

  • When Override Runtime BAM Configuration is enabled and Archive messages is disabled
  • When Override Runtime BAM Configuration is disabled and SL360-ArchiveMessage header is passed as false or not passed in Logic App custom connector action or while checkpointing a stage using .Net Library.

Whats Next?

The next step is you now need to start instrumenting your technical solution to tell BAM when checkpoints occur in your transactions. To learn more about how to do this checkout the following page:

We'd love to hear your thoughts
Please visit our feedback system to suggest new Features or Enhancements. You can also take a look at our Roadmap

Was this article helpful?