Business Network Definitions

Business Network Definition

The Business Network Definition is a key concept of the Hyperledger Composer programming model. They are represented by the BusinessNetworkDefinition class, defined in the composer-common module and exported by both composer-admin and composer-client.

Business Network Definitions Diagram

Business Network Definitions are composed of:

  • a set of model files
  • a set of JavaScript files
  • an Access Control file

The model files defined the business domain for a business network, while the JavaScript files contain transaction processor functions. The transaction processor functions run on a Hyperledger Fabric and have access to the asset registries that are stored in the world state of the Hyperledger Fabric blockchain.

The model files are typically created by business analysts, as they define the structure and relationships between model elements: assets, participants and transactions.

The JavaScript files are typically created by developers who are implementing business requirements provided by business analysts.

The Access Control file contains a set of access control rules that define the rights of the different participants in the business network.

Once defined, a Business Network Definition can be packaged into an archive using the composer command line interface. These archives can then be deployed, undeployed or updated on a Fabric, using the AdminConnection class from the composer-admin module.