When we demo Serverless360 BAM feature to our potential customers, one of the frequently asked questions is "What is a Business process and how it relates to integration service components?". Answering this question is vital as pricing of Serverless360 depends on it and in this small writeup, we will try to address this question.
Lets start by considering the business view of BAM. The below diagram shows what the business terms used in BAM are.
We can summarise this with the following points:
- Business Process - A collection of 1 or more related business transactions
- Transaction - An operation of the business which represents a set of business activities
- Stage - An activity within the transaction. A transaction is made up of 1 or more stages
Nowadays we see different types of integration solutions.
On-premises solutions: These solutions make use of BizTalk server on-premises connecting to various applications and customers.
Azure only solutions: These solutions typically make use of Azure Integration Services such as logic apps, service bus queues, event grid, APIM, Event Grid
Hybrid integration solutions: These solutions make use of both Azure integration solutions and BizTalk server on premises.
Regardless of the type of the integration solutions or the technology behind, they are serving a key tool for the business process for an orgranization. Consider an example of a logistics company ShipAnyWhere, it will have many integrations with the carriers. These interactions can be Booking Request, Booking Confirmation, Shipping Instructions, Milestone Status etc. All these transactions come together and form a Logistics Business Process for ship Anywhere.
In Serverless360, the business process can be modeled exactly the way depicted in the picture above. Below are the topics that speaks about Transactions and Stages in the Business process. The simplest way to think about a Business Process is that it is a group of Business Transactions which are discussed in the next section.
When there is a Business process, It would involve several Transactions. A Transaction can be a series of actions or the stages. In the Logistics Scenario, There are mulitple transactions like Booking Request, Booking Confirmation, Shipping Instructions, Milestone Status etc.
In Serverless 360 we will implement the transaction like an activity diagram which will be a familiar view to your operator and business users.
Stage in a transaction can be a process or action that perform a business operation. Stages will perform an action with the given data and provides the Information accordingly. Let us take the Booking Confirmation Transaction in the Logistics scenario. This Transaction would have several stages like processing the booking, sending mail to the customer, storing the confirmation details into the database and more.
A checkpoint is where the technical view meets the business view. In your solution you would implement a checkpoint to tell BAM that an event related to a stage has happened.
As an example you might execute a checkpoint which will update a shape in the transaction to show that a stage has been executed, a stage is in progress or a stage has failed.
Using the Serverless360 connectors or API you could tell BAM that a checkpoint has occurred in a component such as a Logic App, a Flow in Power Automate, a Function and many other choices. This would update the associated instance of a transaction to indicate that the transaction has executed a stage and can progress to the next stage.
Frequently asked questions on Business Process
Can I onboard an unlimited number of customers on a single business process
Yes. You can onboard an unlimited number of customers or trading partners under same business process. The customer name or Trading partner name will just be one of the tracked field in those transactions.
I have multiple Logic Apps for each of the trading partner, but all of them process same business transaction. Can I bring all of them into same transaction
Yes, transaction defintion is mapped to its configuration by the transaction name which can span across multiple Logic Apps, functions or web applications into single transaction.
Can I bring different actions from different Logic Apps into same business process
Yes, Since its just the mapping between the names you configure, it is possible to bring processing elements from different Serverless applications.