Blockchain in Enterprise Architecture
Blockchain in Enterprise Architecture
INTRODUCTION
Blockchain and related technologies such as distributed ledgers (DLT), consensus
algorithms, cryptography/hashing strategies, and smart contracts have the
potential to change the way many organizations share data and execute
business processes across a network of companies. With a blockchain solution,
one may be able to eliminate the need for third-party clearing houses and
increase auditability, security, reliability, timeliness, and automation of business
transactions and data.
Blockchain technology is promising, and the number of use cases continues to
grow regardless of vertical. Given this growing interest—and proliferating prototypes
and early deployments to increase experience—it’s important to understand
blockchain implications and its impact on overall enterprise architecture.
This whitepaper presents questions that should be asked when assessing
blockchain technology, as well as a reference architecture that includes key
capabilities required for ensuring a successful roll out. While it isn’t possible to
include all considerations and combinations of technologies in this whitepaper,
it is hoped that the capabilities presented will assist enterprise architects in their
evaluation and architectural refinement.
WHITEPAPER | 2
The answers to these types of questions will help determine if a blockchain (or
related technology) should be used and the features required. For example, if the
business network is small, or if the interactions only involve simple data passing,
then a blockchain may not be needed, and traditional B2B messaging protocols or
API-led integrations may be sufficient.
If it’s determined that a blockchain-related solution is a fit, additional components
will be necessary for a successful rollout. Just as a database is not the only
component in application architectures, a blockchain needs to be augmented with
capabilities that address questions such as those in the following diagram.
Can I provide
How do I How do I
How do I controlled,
How do I get extend smart analyze data
respond to managed, and
data in/out of contract logic contained
events from secure access
the blockchain? to my within the
my ledger? to blockchain
enterprise? ledger?
capabilities?
REFERENCE ARCHITECTURE
While many architectural views are possible, the diagram below depicts one
view that includes the components often necessary for a successful blockchain
implementation. Starting from the bottom of the diagram and working upwards, note
that the distributed ledger/blockchain, security components, blockchain APIs, and
smart contracts are capabilities typically offered by a blockchain technology stack.
Third-party vendors offer the other components.
WHITEPAPER | 3
Smart Contracts
Blockchain Proxy Layer
ChainCode, Solidity ...
Off-Chain Storage
Distributed Ledger
Blockchain
Security
On-Chain Execution and Storage
BLOCKCHAIN APIs
Blockchain APIs are the low-level programming interfaces offered to developers
for interacting with the blockchain. The APIs exposed will depend on the
technology selected, with options such as REST/HTTP, NodeJS (e.g. Hyperledger
Fabric Client SDK), or Javascript (e.g. Ethereum Web3.js) available.
SMART CONTRACTS
Smart contracts are programmable constructs often used to create the business
logic that will be executed as part of a blockchain-based business network. Typically
written in languages such as Java, Javascript (for example, Ethereum’s Solidity),
or Go (Hyperledger Fabric Chaincode), smart contract logic is deployed into the
network and executed to automate business transactions across participants. Smart
contracts may use underlying state stores to store information, and they may also
add transactions to the blockchain itself (which can later be queried).
WHITEPAPER | 4
EVENT HANDLERS
Event handlers are components configured to listen for changes to the blockchain
or the connected endpoints, and to automatically invoke appropriate enterprise
logic in response to these changes. For example, event handlers may receive
notification via a callback of a new transaction on the ledger, or they may receive
a message from a connected enterprise application via the data distribution
transport. Event handlers typically work in conjunction with the blockchain APIs
and data distribution transport, and may be bundled or created as microservices
within the enterprise architecture. Events handlers also facilitate creation of the
event-driven architecture discussed previously.
API MANAGEMENT
APIs are driving the ease with which applications can share information both inside
and outside the firewall. As blockchain capabilities are deployed within and across
enterprises, and as levels of abstraction are defined (e.g. via a proxy layer, event
handlers, or microservices/process automation), it will become important to control
and manage access to these business level APIs (which subsequently access the
system or low-level blockchain APIs). To do so, an API gateway or broader API
management platform may be used. This layer allows an enterprise to:
• Define security capabilities independent of the services themselves
• Expose APIs as products, for example, for use by third party developers
• Control API contracts
• Obtain visibility into the performance and use of the APIs
These APIs may also provide access to the data (transactions) within the
blockchain, again via well-defined interfaces and security controls.
WHITEPAPER | 5
ANALYTICS
As a blockchain is deployed across a business network, and as transactions are
added to the distributed ledger, the blockchain will soon contain (or reference) a
large amount of extremely valuable information.
• How can a business make use of this information (assuming appropriate
security and visibility) to improve business decisions?
• How can events (transactions) sent to/received from the blockchain be viewed
immediately (for example, in the case of attempted fraud), without waiting for
batch-style reports to be delivered?
• How can the results of automated business transactions and processes be
analyzed for identifying process improvements, detecting SLA violations, or
conforming to regulatory requirements?
The analytics layer in the proposed reference architecture may be used to answer
these types of questions. Within the strict security guidelines of the implemented
blockchain technology stack (and typically via secured APIs), users may access,
view, and analyze state and transaction data (both in batch and real time) to
identify threats or opportunities in the network.
Smart Contracts
Blockchain Proxy Layer
ChainCode, Solidity ...
TIBCO Hybrid Integration
TIBCO BusinessEvents
Off-Chain Storage
TIBCO® GraphDB
ActiveSpaces®
Distributed Ledger
Blockchain
Security
On-Chain Execution and Storage
WHITEPAPER | 6
Applied to the use case, and using a number of the TIBCO products outlined in
the previous table, a deployed solution may include:
• A core blockchain technology such as Hyperledger Fabric.
• Use of the TIBCO BusinessEvents contextual/stateful event processing engine
as a way of defining smart contract logic. This engine may be embedded in
the blockchain itself (for example, in a peer), or deployed separately for off-
chain execution.
• Use of the TIBCO eFTL environment (and included Javascript API) for interacting
with the Hyperledger Fabric Node.js Client SDK (HFC SDK). This messaging
technology event-enables the Node.js client (via the HFC SDK EventHub object
and the eFTL API) and allows for message-driven communications between the
data distribution transport and the rest of the architecture.
WHITEPAPER | 7
• TIBCO FTL as the data distribution transport. This messaging environment acts as
the decoupling layer between Hyperledger Fabric and other solution components.
• Use of TIBCO’s Hybrid Integration Platform (TIBCO® Cloud Integration and
TIBCO BusinessWorks™ Container Edition) to provide API contract definitions
(for example, defined via Swagger), API-led microservice creation/deployment
capabilities, and low-level system services (proxies). These components
may interact with Hyperledger Fabric in a decoupled manner, using either
synchronous (for example, for supporting ownership query requests) or
asynchronous (such as asset transaction submission) patterns.
Continuing the example, asset transactions could be submitted via the defined
REST interface (optionally managed by an API management layer such as
TIBCO Mashery) and choreographed by TIBCO Hybrid Integration Platform-
based microservices (running on a private or public cloud, within platforms
such as Docker or Cloud Foundry). The transaction could then be delivered
to a blockchain proxy layer via TIBCO FTL, and submitted to the blockchain
technology via TIBCO eFTL and the blockchain API. After any associated “smart
contracts” (implemented as native code or within TIBCO BusinessEvents) are
executed and the transaction is added to the blockchain, the event handlers
may detect the successful addition of the transaction and perform additional
enterprise processing. This example is depicted in the diagram below:
Hyperledger
REST/JSON TCP/IP WS Fabric
TIBCO eFTL API
HFC SDK (CA, Orderer,
Peer, CLI)
TIBCO BusinessEvents
TIBCO FTL TIBCO eFTL
Swagger UI TIBCO Engine
BusinessWorks
Container Edition
Land Ownership
ParcelIdentifier
BlockLot
Address
Owner
OwenershipType
LandValue
TransferDate
This same approach could be used with a number of blockchain use cases,
including those related to product provenance, IoT, consumer contract
automation (including insurance claim processing), energy/electricity distribution,
digital rights management, know your customer (KYC), health care, government,
and many others.
SUMMARY
Blockchain solutions will result in a substantial change in the way applications are
developed and deployed. However, as previously discussed, a blockchain is not
always the answer. Various factors must be taken into account to determine if it
is appropriate. It is also important to gain awareness through experimentation,
so that guidelines and best practices can be established early to help guide you
through your blockchain journey. Finally, as discussed, it is likely that these best
practices will include one or more components of the reference architecture
discussed in this whitepaper.
Global Headquarters TIBCO enables digital business solutions through smart technologies that interconnect everything and augment
3307 Hillview Avenue intelligence. This combination delivers faster answers, better decisions, and smarter actions. TIBCO provides
Palo Alto, CA 94304 a connected set of technologies and services, based on 20 years of innovation, to serve the needs of all parts
+1 650-846-1000 TEL of an organization—from business users to developers to data scientists. Thousands of customers around
+1 800-420-8450 the globe differentiate themselves by relying on TIBCO to power innovative business designs and compelling
+1 650-846-1005 FAX customer experiences. Learn how TIBCO makes digital smarter at www.tibco.com.
©2017, TIBCO Software Inc. All rights reserved. TIBCO, the TIBCO logo, ActiveMatrix, ActiveSpaces, BusinessWorks, Mashery, Spotfire, StreamBase, TIBCO
www.tibco.com BusinessEvents, TIBCO eFTL, and TIBCO FTL are trademarks or registered trademarks of TIBCO Software Inc. or its subsidiaries in the United States and/or
other countries. All other product and company names and marks in this document are the property of their respective owners and mentioned for identification
purposes only.
05/03/17