Publish Models or Business Network Definitions for use by applications
Hyperledger Composer can optionally use the npm
package manager to publish both business networks, and models. By publishing business networks to npm
applications that need to reference the business networks (for example to introspect them, or deploy them) can declare a binary package dependency on the published npm
package. Using semantic versioning of the npm package for the business network also allows applications to specify their tolerance for accepting incompatible changes to the business network.
The npm
package manager is a powerful (Internet scale) mechanism to distribute any binaries, along with metadata expressed in a package.json
file.
Similarly, a set of Composer domain models (CTO files) may be packaged into an npm
package for publication. The ability to publish models allows the models to be reused across multiple business networks (by declaring a package.json
dependency), as well as ensures that semantic versioning can be used to control the evolution of the models themselves.
However, publication to npm
is not required to use Composer. You may bundle a business network inside an application, and simply manage its source files using version control software, such as git.
The easiest way to publish a model or business network definition for use by applications it to push the business network definition to the npm
package manager using the npm publish
command. This will allow the applications that would like to use the business network definition (for example to deploy it via API) to reference the business network definition as a dependency in their package.json
file.