Architecture for Blockchain Applications
- 5h 48m
- Ingo Weber, Mark Staples, Xiwei Xu
- Springer
- 2019
This book addresses what software architects and developers need to know in order to build applications based on blockchain technology, by offering an architectural view of software systems that make beneficial use of blockchains. It provides guidance on assessing the suitability of blockchain, on the roles blockchain can play in an architecture, on designing blockchain applications, and on assessing different architecture designs and tradeoffs. It also serves as a reference on blockchain design patterns and design analysis, and refers to practical examples of blockchain-based applications.
The book is divided into four parts: Part I provides a general introduction to the topic and to existing blockchain platforms including Bitcoin, Ethereum, and Hyperledger Fabric, and offers examples of blockchain-based applications. Part II focuses on the functional aspects of software architecture, describing the main roles blockchain can play in an architecture, as well as its potential suitability and design process. It includes a catalogue of 15 design patterns and details how to use model-driven engineering to build blockchain-based applications. Part III covers the non-functional aspects of blockchain applications, which are cross-cutting concerns including cost, performance, security, and availability. Part IV then presents three detailed real-world use cases, offering additional insights from a practical perspective. An epilogue summarizes the book and speculates on the role blockchain and its applications can play in the future.
This book focusses on the bigger picture for blockchain, covering the concepts and technical considerations in the design of blockchain-based applications. The use of mathematical formulas is limited to where they are critical. This book is primarily intended for developers, software architects and chief information officers who need to understand the basic technology, tools and methodologies to build blockchain applications. It also provides students and researchers new to this field an introduction to this hot topic.
About the Authors
Xiwei (Sherry) Xu is a Research Scientist in the Architecture & Analytics Platforms (AAP) team at Data61, CSIRO in Sydney, and a Conjoint Lecturer at the School of Computer Science and Engineering (CSE) of the University of New South Wales (UNSW). Her main research interests are software architecture, service computing, business processes, cloud computing and dependability. She has done research on blockchain from a software architecture perspective, including trade-off analysis, decision making and evaluation frameworks since 2015.
Ingo Weber is a Principal Research Scientist & Team Leader of the Architecture & Analytics Platforms (AAP) team at Data61, CSIRO in Sydney. In addition, he is a Conjoint Associate Professor at the University of New South Wales (UNSW) and an Adjunct Associate Professor at Swinburne University. He has published around 100 refereed papers and two books, and contributed to establishing blockchain as a research topic in several research communities. He and his team have conducted numerous blockchain projects for industry and government organizations.
Mark Staples is a Senior Principal Research Scientist at Data61, CSIRO in Sydney, and a Conjoint Associate Professor in the School of Computer Science and Engineering at the University of New South Wales (UNSW). His research interests are in blockchain technology, software architecture, software engineering, and the philosophy of engineering. He has many years’ industrial experience in software and systems engineering management. He is also a member of Australia's standardization committee on blockchain and DLT (IT-041), under Australia's leadership of the Secretariat of the International Technical Committee for Blockchain Standards (ISO/TC 307).
In this Book
-
Introduction
-
Existing Blockchain Platforms
-
Varieties of Blockchains
-
Example Use Cases
-
Blockchain in Software Architecture
-
Design Process for Applications on Blockchain
-
Blockchain Patterns
-
Model-Driven Engineering for Blockchain Applications
-
Cost
-
Performance
-
Dependability and Security
-
Case Study: AgriDigital—Blockchain Technology in the Trade and Finance of Agriculture Supply Chains
-
Case Study: SecureVote—Taking a Dapp from MVP to Production
-
Case Study: OriginChain—A Blockchain-Based Food Traceability System