Abstract

Ensuring a production-ready state of the application under development is the imminent feature of the Continuous Delivery (CD) approach. In a blockchain network, nodes communicate and store data in a distributed manner. Each node executes the same business application but operates in a distinct execution environment. The literature lacks research focusing on continuous practices for blockchain and Distributed Ledger Technology (DLT). Specifically, it lacks such works with support for both design and deployment. The author has proposed a solution that takes into account the continuous delivery of a business application to diverse deployment environments in the DLT network. As a result, two continuous delivery pipelines have been implemented using the Jenkins automation server. The first pipeline prepares a business application whereas the second one generates complete node deployment packages. As a result, the framework ensures the deployment package in the actual version of the business application with the node-specific up-to-date version of deployment configuration files. The Smart Contract Design Pattern has been used when building a business application. The modeling aspect of blockchain network installation has required using Unified Modeling Language (UML) and the UML Profile for Distributed Ledger Deployment. The refined model-to-code transformation generates deployment configurations for nodes. Both the business application and deployment configurations are stored in the GitHub repositories. For the sake of verification, tests have been conducted for the electricity consumption and supply management system designed for prosumers of renewable energy.

Highlights

  • Academic Editor: MarimuthuThe fundamental principle of the Agile Manifesto underlines the importance of early and continuous delivery of software that meets the needs of the customer [1]

  • This work focuses on the Continuous Delivery practice, blockchain technology, Unified Modeling Language (UML), and the Model-Driven Development (MDD) methodology

  • The study shows that the UML class diagram is commonly used for data structure modeling (85%) and UML deployment diagram is applied to physical structure modeling (71%) and functional to physical components mapping (53%)

Read more

Summary

Introduction

The fundamental principle of the Agile Manifesto underlines the importance of early and continuous delivery of software that meets the needs of the customer [1]. They have found the following important topics: reducing build and test time, automation of tests, raising the scalability of deployment pipelines, and elevating of the deployment process reliability They have enumerated essential elements in implementing continuous approaches and underlined suitable infrastructure, testing, highly skilled programmers, and proven design patterns. In addition to ensuring the proper functioning of the business application, we are dealing with a variety of deployment configurations for the distributed ledger network nodes. Deployment pipelines have been designed that automate the release process for the distributed application and node deployment configuration scripts.

Related Work
The BinCD Framework Design
UML Profile for DLT Deployment
UML2Deployment Transformation Design
Deployment Pipelines
Build Node Deployment Package Pipeline
Build Cordapps Jar Files Pipeline
Visualization of the Pipeline Execution
The Solution Validation
Findings
Discussion and Limitations
Conclusions and Future Work
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call