The Call for Code 2019 Global Challenge is now open for submissions. Learn more
Larissa Auberger, Matthias Kloppmann | Published January 1, 2017
Note: IBM Blockchain Platform now utilizes Hyperledger Fabric for end-to-end development. Users may use Hyperledger Composer at their choice, but IBM will not provide support for it.
Business process management streamlines business processes within an organization where participants normally trust each other. In contrast, blockchain enables the execution of business processes across multiple organizations and untrusted participants.
Have you ever considered combining these approaches to reach the next level of integration and automation of business processes? This series helps you do just that.
In Part 1, learn how a combination of business process management and blockchain technologies leads to smarter business processes. Then, discover blockchain services and implement service flows and a business process. You learn to work with blockchain assets in your business processes.
For more than a decade, business process management served as a framework for streamlining business processes in an organization, improving the overall transparency, efficiency, and the ability to execute consistently. IBM ® Business Process Manager (BPM) innovations in areas such as case management, event processing, business rules, and integration mechanisms help organizations to address strategic business goals by implementing new and continuously improving existing business processes.
To run efficiently, business processes rely on data from information systems. However, what happens when data is created and modified in information systems outside of an organization? A common procedure today is moving the data that processes need between fragmented information systems. This approach is complex and expensive and often results in outdated and inconsistent data. And more concerning, lack of transparency and trust is the consequence.
The following illustration shows six collaborating organizations that interact with vehicles, such as a manufacturer, a dealer, and a leasing company. Each organization maintains its own information system with a subset of asset data, for example, vehicle data. If vehicle data that is relevant to the dealer is updated in the information system of the manufacturer, it also needs to be updated in the information system of the dealer.
Blockchain technology can be an answer to interoperability, trust, and transparency issues in fragmented systems. At its core, blockchain is a distributed ledger of asset and transaction records. Smart contracts control the execution of transactions between untrusted parties and ensure that contractual conditions are met, and obligations are enforced. Permissioned blockchains ensure that all information and transactions on the blockchain are available only to network members with the right permission.
Early blockchain pilot projects across the industry are exploring ways to use a blockchain as a registry of assets – physical assets, such as cars, but also digital assets, such as music.
The following illustration shows the various parties in a network that use a shared ledger, instead of the fragmented systems in the previous illustration.
In business process management terms, the asset lifecycle is like a choreography that involves multiple participants, who all have their own business processes. These individual processes interact with one another through message-based interfaces that adhere to individual contracts between pairs of participants.
However, if the business network includes a distributed ledger that maintains a single version of the truth, the ledger provides the interface. Participants retrieve and update information on the ledger, and react to events when information is updated by others. By using a distributed ledger as the underlying system of records, all participants can achieve significant business process improvements.
If you’re not familiar with what blockchain can do, take a look at the IBM Blockchain car lease demo. The demo walks through the lifecycle of a car from its inception through to disposal and shows how each stage of the supply chain can be recorded on a blockchain.
In the initial step of the scenario, the government regulator creates the registration for the new vehicle and stores it on the blockchain. The regulator then transfers the ownership of the vehicle to the manufacturer by invoking a transaction on the blockchain. The manufacturer builds the vehicle and adds relevant vehicle details to the vehicle template on the blockchain. Next, the vehicle is sold to the dealership and then transferred to the leasing company. After the car is leased to the new owner, the blockchain is updated again with the owner’s details. Finally, at the end of the car’s life, the scrap merchant can update the blockchain to show that the vehicle has been disposed of.
Try blockchain for yourself by deploying the IBM Blockchain car lease demo to IBM Cloud. Get artifacts in GitHub at IBM-Blockchain/car-lease-demo.
Because the demo focuses on blockchain concepts, it does not take into account the internal business processes that run behind the scenes at each of the involved parties. To incorporate a business process management approach, consider what a business process at the dealership might look like.
The process might start with a customer walking into the dealership to buy a new car. She describes her ideal car to the sales person who then looks through the list of cars that are currently available. Luckily, there is a car that perfectly fits her needs, and she decides to buy it on the spot.
Instead of paying by cash, she chooses a leasing contract with a down payment. The sales person enters the customer’s details and requests an offer from the leasing company. The customer agrees to the offer and signs the contract. She makes the down payment, and the ownership of the car is transferred to the leasing company. The happy customer receives the car keys and drives off in her new car.
For the process to work smoothly, several interactions with the blockchain are needed, shown in orange in the following diagram: Get vehicles I own, Get data of the vehicle the customer wants, and Transfer vehicle ownership to Leasing Company.
You see that the process kicks off by retrieving a list of the cars that the dealer owns. The sales person uses the list to help the customer find a car.
The subsequent step queries the blockchain again for details of a particular vehicle. After the sale, the car ownership information is updated on the blockchain.
In practice, the process might also use business rules to support decisions, provide supporting documents where needed, and use external services and events to check for credit worthiness, incoming payments, or received documents.
You could make the process even smarter by including more interaction with the blockchain, such as reacting to events on the blockchain that indicate fraud or other incidents. These events could directly initiate new business processes and ensure that appropriate actions are taken by the right people. The following illustration shows events on the blockchain initiating a business process to resolve incidents.
This example shows how business process management and blockchain complement each other and how a combined solution clears the way for the next level of integration and automation of business processes.
The following sections show details for implementing an IBM BPM and IBM Blockchain solution. Learn how to query assets and invoke transactions from a business process.
Dive deeper into the implementation details and learn how processes can interact with blockchain data by querying data and initiating transactions on the blockchain.
The tutorial walks through the following steps in detail:
To see how to implement the scenario with IBM BPM, you can download a sample .twx file from GitHub at LarissaAuberger/bpm-blockchain.
The scenario in this tutorial requires IBM BPM V8.5.7 with cumulative fix 2017.03 and a blockchain business network built with Hyperledger Composer running on Hyperledger Fabric. Hyperledger is a Linux Foundation project. Hyperledger Fabric is an open source implementation of blockchain technology. Hyperledger Composer is a set of open-source development tools, which run on top of Hyperledger Fabric for rapidly developing blockchain business networks.
Consider the following prerequisites for this tutorial:
Then, get sample code from GitHub at LarissaAuberger/bpm-blockchain.
Understand the process that you implement in this tutorial. When the business process starts, it interacts with the digital property network to retrieve digital properties from the business network. At the end of the process, a transaction is performed on the digital property network to update the digital property. Between the start and the end of the process, there is a generic process that implements whatever is needed to work with the assets, as shown in the following illustration:
Note: You can use other Hyperledger Composer business networks to integrate with IBM BPM. All you need is the Swagger definition file that describes the REST interfaces of your chosen application, so that you can discover services and use the services as described in this tutorial.
Java, REST or Web Service
The generated external service points to a server. Now you need to specify the connection information for this server.
Now create the service flow to retrieve the available digital properties from the blockchain.
Now it’s your turn!
Walk through the following steps, based on the sample process app provided with the .twxfile.
Work with digital properties
In this first part of the series, you got an overview of how to combine business processes and blockchain. Then you learned how to make assets that are stored on a blockchain available in an IBM BPM process. To make blockchain assets available, you discovered a REST service using the Swagger definition for an example blockchain business network. You used the generated service in a service flow, queried the blockchain for data, and used the data in a human service, so that business users can work with the data.
As you have seen, blockchain and business process manager naturally complement each other. You use blockchain to manage assets by multiple participants through well-defined, publicly visible transactions. Participants in a business network can use business process management to implement their own private business processes, integrating them into the overall public process.
For your next blockchain project, consider IBM BPM to implement your private processes. As you saw in this tutorial, IBM BPM integrates easily with Hyperledger Fabric, and you can use it to implement entire business processes without any coding. In addition you can use other capabilities such as easy involvement of people in the process, document integration and case management, business rules and event processing, and monitoring, all which help you make your business processes on top of blockchain efficient and smart. Consider using IBM BPM on Cloud: register for a free trial.
Later this year, look for Part 2, about blockchain events and how they can influence business processes, and Part 3, about mastering security in the integrated solution.
We are eager to learn about your experiences and any additional requirements you might have for integrating IBM BPM and blockchain. Connect with us on Twitter, email, or add a comment at the bottom of this article.
Many thanks to Helen O’Shea and Claudia Zentner for the careful review of this article, constructive comments, and corrections.
We also would like to thank Dan Selman and Liam Grace for their continuous support in any kind of Hyperledger questions. We highly appreciate our close cooperation on process and blockchain topics.
April 16, 2019
When you are creating APIs that will interact with blockchain, you need to watch out for a flaw that could…
Get the Code »
Back to top