SlideShare a Scribd company logo
1 of 31
Download to read offline
1Page© 2017 IBM Corporation© 2017 IBM Corporation
Blockchain Rule-based
Smart Contracts
With IBM Operational Decision Manager
November 2017
Stephane Mery
Distinguished Engineer, IBM ODM Chief Architect
2Page© 2017 IBM Corporation
Introduction
• Some of that logic is actually Business Logic
• Encode the Business Rules that apply to the transactions
Smart Contract is the Blockchain mechanism to automate transaction processing logic.
• On the market for more than 15 years
• Used by ~1,000 Customers Worldwide for critical business operations – Finance, Insurance, Retail, Supply Chain,
Transportation…
• Provides Enterprise-class capabilities to author, execute and manage decision logic
IBM Operational Decision Manager (ODM) is the market-leading Business Rules
Management System
3Page© 2017 IBM Corporation
Smart Contracts – Challenges and Opportunities
Code in Smart Contract is often Business Logic
• Implementing the clauses of contract & agreement between transacting parties
• Making transactions compliant to the regulation
• Code is essentially “business rules” encoded in Go, Java or JavaScript.
• -- quickly becomes complex to implement and manage without a rule engine
• è need to be more accessible to Business Stakeholders, a high-level business-friendly language would be better
Business Logic might change frequently
• Need proper governance around change
• è need extensive tooling to govern Smart Contracts life-cycle
Semantic of the Smart Contract should be well defined
• Expressivity should be limited to early detect inconsistencies, ambiguities and contradictions
• We should be able to verify, test and simulate Smart Contracts
• è A Rule Engine provides a safer environment, trading expressivity for safety
4Page© 2017 IBM Corporation
Smart Contracts – Use Case – Blockchain for Music
Digital Rights dispatch to Artists
- Current solutions spoil artists
- Intermediaries capture a lot of the value
- Smart Contracts to store artist rights
encoded as rules
- Smart Contract to encode payment split
depending on when/where a song is
broadcast, for instance
- …
Example derived from Sacem/PRS/Ascap general use-case. Not representative of real Customer use-case
5Page© 2017 IBM Corporation
Rule-based Smart Contracts with IBM ODM
6Page© 2017 IBM Corporation
Smart Contracts leveraging IBM Operational Decision Manager
è Externalizing Smart Contract business logic in ODM
- Business decisions involved in Smart Contracts are delegated to the ODM rule engine
- eXecution Object Model generated from HyperLedger Composer Data Model
- Business stakeholders are maintaining the logic in ODM tools, like Decision Center
è Integrating ODM Rule Execution Server with Hyperledger Fabric
- Deploying Rule Execution Server in Blockchain peer nodes
- Calling Decision Services REST API from Hyperledger Composer Smart Contracts
- Deploying Ruleset through Blockchain transactions
7Page© 2017 IBM Corporation
Smart Contracts – Running ODM rules in-chain
- ODM rule engine part of the
Blockchain Peer Nodes
validating transactions
- Deployed as a Docker
image
- Transaction processing logic expressed
as Business Rules with ODM
- Ruleset stored in the Blockchain and
deployed through a Blockchain
transaction
- Out-process REST call from Composer
Transaction Processor
Leveraging ODM Business-friendly tooling to author, test, simulate and govern Smart Contract rules
8Page© 2017 IBM Corporation
• Decision Services are implemented in ODM
- eXecution Object Model and BOM are generated from HyperLedger Composer domain model
- Business Vocabulary created in ODM
- Decisions are implemented as Business Rules & Decision Tables using ODM tooling
• Decision Services exposed as REST/JSON API
- Signature based on the BOM
- Called from the Smart Contract
Invoking Decision Services
9Page© 2017 IBM Corporation
Invoking Decision Services
• HyperLedger Composer Transaction Processors calling-out to Decision Service REST API
- Transaction data and assets are serialized in JSON and passed to the POST API
- Decision result data come back as JSON object, used in the Java Script Transaction Processor code
HyperLedger Composer Transaction Processor
Using Composer ‘post’ API passing the transaction
and related assets referenced by the transaction
Transaction Processor code decodes the decision
service response and takes the appropriate action
10Page© 2017 IBM Corporation
Business Rules life-cycle
• New version of the Ruleset are submitted to the Blockchain as Transactions
- Specific RuleAppUpdated Transaction type specified in Composer
- Specific Transaction Processor in Composer to handle the transaction and deploy the ruleset
- Ruleset deployed to the RES associated to the peer through a facade to the RES exposed as a REST API
• Most current Ruleset version is stored in the Blockchain
- Ruleset are stored in the Blockchain for reference
- The most current version number is written in an asset and used when calling out Decision Services
- If deployment transaction fails, transaction is rolled-back and most current version is unchanged
• XOM changes are deployed the same way
- All logic execution support secured by the Blockchain
11Page© 2017 IBM Corporation
Smart Contracts – Business Rules Lifecycle Management
1 Business Users update rules in
Decision Center following proper
Governance workflow
2
When Business Rules are agreed and
properly validated, they are pushed to
the Ledger as a Transaction and
dispatched to all Nodes
Composer
Chaincode
Specific Transaction Processor
ODM Rule Execution Server
RES Deploy REST API
Blockchain World State
& Ledger
Ruleset Deployment Tx
3
Ruleset is stored in
the Ledger as well
as the current
version
4 Ruleset is deployed to the RES
5
When Deployment
Tx will be validated
on all nodes, the
new version of the
rules is available
Ruleset
Blockchain Peer Node
Blockchain
12Page© 2017 IBM Corporation
Wrap-up
• Smart Contract is a key concept in Blockchain. The logic applied to transactions is likely to be
Business-related.
• IBM ODM, as the Market-leading Decision Management platform, provides Enterprise-class
capabilities to define and manage Business-logic and make it accessible to the Business.
• The combination of Blockchain/Smart Contract and ODM is a way to go beyond technology and
include Business stakeholders in the value chain.
13Page© 2017 IBM Corporation
http://ibm.biz/odm-blockchain
https://github.com/ODMDev/sample-blockchain-vehicle-lifecycle
Article
Sample
References
14Page© 2017 IBM Corporation
Vehicle Lifecycle Blockchain Application
• Developed with Hyperledger Composer and run on Hyperledger Fabric
• Manage the overall lifecycle of a Vehicle from Order to Recycling through registration and
various ownership transfer
• Detect suspicious ownership transfer using Business Rules externalized in ODM
https://www.youtube.com/watch?v=IgNfoQQ5Reg
15Page© 2017 IBM Corporation
Vehicle Lifecycle Data Model
16Page© 2017 IBM Corporation
Vehicle Lifecycle Data Model in Composer
Participants, Assets and Transactions are defined in HyperLedger Composer
17Page© 2017 IBM Corporation
Vehicle Lifecycle Data Model in ODM
• The same model is designed in ODM as a Java Execution Model (XOM) and a Business Object Model (BOM).
• Could be generated from Composer
• A Business Vocabulary is created in ODM using the business terminology
18Page© 2017 IBM Corporation
Vehicle Lifecycle Data Model in ODM
Based on the Decision Service signature, ODM generates a REST API
19Page© 2017 IBM Corporation
Decision: is this transaction suspicious?
Is the ownership transfer of this Vehicle from this Seller to this Buyer suspicious?
20Page© 2017 IBM Corporation
Demo – 11 Steps Demo
21Page© 2017 IBM Corporation
• HyperLedger Fabric and Composer deployed as a set of Docker Containers
Step1 – Start Hyperledger Fabric and Composer
Please refer to https://hyperledger.github.io/composer/installing/development-tools.html to install and run
HyperLedger Fabric and Composer.
22Page© 2017 IBM Corporation
• Start the ODM Rule Execution Server Docker Container
Step 2 – Start ODM RES Docker Container
In odm-runtime directory , invoke docker-compose up command
23Page© 2017 IBM Corporation
• Start the Deployment Service facade
Step 3 – Start ODM Deployment Service
In odm-deployer directory , invoke docker-compose up command
24Page© 2017 IBM Corporation
• Use Rule Designer to build the XOM and the Ruleapp
it packages the XOM jar and the Ruleapp in the ‘output’ directory
Step 4 – Build the XOM and the RuleApp
Launch IBM ODM Rule Designer on a workspace and import projects from vehicle-lifecycle-xom
and vehicle-lifecycle-decision-service
25Page© 2017 IBM Corporation
• Using Composer API to build and deploy vehicle-lifecycle@1.0.0.bna
Step 5 – Deploy the Vehicle Lifecycle Business Network to Blockchain
Go to vehicle-lifecycle directory , invoke npm run deploy command
26Page© 2017 IBM Corporation
• XOM is built from Rule Designer and deployed to the RES through a Blockchain
transaction
Step 6 – Deploy the XOM to the RES
In vehicle-lifecycle-cli directory, invoke npm run deployXom command (*)
(*) the first time you have to invoke npm install to
initialize the command line
27Page© 2017 IBM Corporation
Step 7 – Deploy the RuleApp to the RES
• The Ruleapp is built from Rule Designer and deployed to the RES through a Blockchain
transaction
In vehicle-lifecycle-cli directory, invoke npm run deployRuleapp command
28Page© 2017 IBM Corporation
• Send specific PrivateVehicleTransfer transactions that are detected as suspicious by
ODM. The decision service returns the suspicion message related to the vehicle
Step 8 – Submit suspicious transactions
In vehicle-lifecycle-cli directory, invoke npm run demo command
29Page© 2017 IBM Corporation
• Use ODM Tooling to change the Business Rules. Increment the version number of the
Ruleset and generate the new Ruleapp archive
Step 9 – Updating the business logic
30Page© 2017 IBM Corporation
• Submit a RuleUpdated transaction with the new ruleapp
Npm run list (in vehicle-lifecycle directory) >
Step 10 – Deploy the new version of the RuleApp
In vehicle-lifecycle-cli directory, invoke the following node command
31Page© 2017 IBM Corporation
• Submit a suspicious transfer again
Step 11 – See impact of business logic change

More Related Content

What's hot

2449 rapid prototyping of innovative io t solutions
2449   rapid prototyping of innovative io t solutions2449   rapid prototyping of innovative io t solutions
2449 rapid prototyping of innovative io t solutionsEric Cattoir
 
Seriously Open Cloud Native Java Microservices
Seriously Open Cloud Native Java MicroservicesSeriously Open Cloud Native Java Microservices
Seriously Open Cloud Native Java MicroservicesJamie Coleman
 
Welcome to Hybrid Cloud Innovation Tour 2016
Welcome to Hybrid Cloud Innovation Tour 2016Welcome to Hybrid Cloud Innovation Tour 2016
Welcome to Hybrid Cloud Innovation Tour 2016LaurenWendler
 
IBM Blockchain Labs Explained v1.0
IBM Blockchain Labs Explained v1.0IBM Blockchain Labs Explained v1.0
IBM Blockchain Labs Explained v1.0Matt Lucas
 
NRB - BE MAINFRAME DAY 2017 - Case Study
NRB - BE MAINFRAME DAY 2017 - Case StudyNRB - BE MAINFRAME DAY 2017 - Case Study
NRB - BE MAINFRAME DAY 2017 - Case StudyNRB
 
What's New In Blockchain For Business Technology (October 2019)
What's New In Blockchain For Business Technology (October 2019)What's New In Blockchain For Business Technology (October 2019)
What's New In Blockchain For Business Technology (October 2019)Matt Lucas
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoTFrancesco Rago
 
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger WorkshopIBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger WorkshopIBM France Lab
 
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and MicroservicesCase Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and MicroservicesKai Wähner
 
Serverless architectures built on an open source platform
Serverless architectures built on an open source platformServerless architectures built on an open source platform
Serverless architectures built on an open source platformDaniel Krook
 
IBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical Strategy
IBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical StrategyIBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical Strategy
IBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical StrategyOpenWhisk
 
IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote
IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: KeynoteIBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote
IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: KeynoteOpenWhisk
 
Deploying and Managing Global Blockchain Networks
Deploying and Managing Global Blockchain Networks Deploying and Managing Global Blockchain Networks
Deploying and Managing Global Blockchain Networks Duncan Johnston-Watt
 
Apache OpenWhisk - KRnet 2017
Apache OpenWhisk - KRnet 2017Apache OpenWhisk - KRnet 2017
Apache OpenWhisk - KRnet 2017Jin Gi Kong
 
Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect
Bluemix 로 접근하는 DevOps - Cognitive Cloud ConnectBluemix 로 접근하는 DevOps - Cognitive Cloud Connect
Bluemix 로 접근하는 DevOps - Cognitive Cloud ConnectJin Gi Kong
 
IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote IBM
 

What's hot (20)

Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
2449 rapid prototyping of innovative io t solutions
2449   rapid prototyping of innovative io t solutions2449   rapid prototyping of innovative io t solutions
2449 rapid prototyping of innovative io t solutions
 
Seriously Open Cloud Native Java Microservices
Seriously Open Cloud Native Java MicroservicesSeriously Open Cloud Native Java Microservices
Seriously Open Cloud Native Java Microservices
 
IBM Blockchain Overview
IBM Blockchain OverviewIBM Blockchain Overview
IBM Blockchain Overview
 
Welcome to Hybrid Cloud Innovation Tour 2016
Welcome to Hybrid Cloud Innovation Tour 2016Welcome to Hybrid Cloud Innovation Tour 2016
Welcome to Hybrid Cloud Innovation Tour 2016
 
IBM Blockchain 101
IBM Blockchain 101IBM Blockchain 101
IBM Blockchain 101
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 
IBM Blockchain Labs Explained v1.0
IBM Blockchain Labs Explained v1.0IBM Blockchain Labs Explained v1.0
IBM Blockchain Labs Explained v1.0
 
NRB - BE MAINFRAME DAY 2017 - Case Study
NRB - BE MAINFRAME DAY 2017 - Case StudyNRB - BE MAINFRAME DAY 2017 - Case Study
NRB - BE MAINFRAME DAY 2017 - Case Study
 
What's New In Blockchain For Business Technology (October 2019)
What's New In Blockchain For Business Technology (October 2019)What's New In Blockchain For Business Technology (October 2019)
What's New In Blockchain For Business Technology (October 2019)
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoT
 
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger WorkshopIBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
 
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and MicroservicesCase Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
 
Serverless architectures built on an open source platform
Serverless architectures built on an open source platformServerless architectures built on an open source platform
Serverless architectures built on an open source platform
 
IBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical Strategy
IBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical StrategyIBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical Strategy
IBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical Strategy
 
IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote
IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: KeynoteIBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote
IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote
 
Deploying and Managing Global Blockchain Networks
Deploying and Managing Global Blockchain Networks Deploying and Managing Global Blockchain Networks
Deploying and Managing Global Blockchain Networks
 
Apache OpenWhisk - KRnet 2017
Apache OpenWhisk - KRnet 2017Apache OpenWhisk - KRnet 2017
Apache OpenWhisk - KRnet 2017
 
Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect
Bluemix 로 접근하는 DevOps - Cognitive Cloud ConnectBluemix 로 접근하는 DevOps - Cognitive Cloud Connect
Bluemix 로 접근하는 DevOps - Cognitive Cloud Connect
 
IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote
 

Similar to Blockchain Smart Contracts with IBM ODM

Fabric Composer - Construct 2017
Fabric Composer - Construct 2017Fabric Composer - Construct 2017
Fabric Composer - Construct 2017Simon Stone
 
Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18TelecomValley
 
Fabric Composer - London Hyperledger Meetup - March 2017
Fabric Composer - London Hyperledger Meetup - March 2017Fabric Composer - London Hyperledger Meetup - March 2017
Fabric Composer - London Hyperledger Meetup - March 2017Simon Stone
 
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...IBM France Lab
 
Introduction to Hyperledger Composer
Introduction to Hyperledger ComposerIntroduction to Hyperledger Composer
Introduction to Hyperledger ComposerSimon Stone
 
Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05Dan Selman
 
IBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & Composer
IBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & ComposerIBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & Composer
IBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & ComposerIBM France Lab
 
CWIN17 New-York / Transforming enterprises with blockchain
CWIN17 New-York / Transforming enterprises with blockchainCWIN17 New-York / Transforming enterprises with blockchain
CWIN17 New-York / Transforming enterprises with blockchainCapgemini
 
Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...
Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...
Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...DevOps for Enterprise Systems
 
Blockchain session @ 2nd Bluemix Meetup
Blockchain session @  2nd Bluemix MeetupBlockchain session @  2nd Bluemix Meetup
Blockchain session @ 2nd Bluemix MeetupAlberto Miyazaki
 
Integration (Application?) Modernization with IBM Garage
Integration (Application?) Modernization with IBM GarageIntegration (Application?) Modernization with IBM Garage
Integration (Application?) Modernization with IBM GarageAndrew Ferrier
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook Diego Alberto Tamayo
 
Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...
Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...
Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...ideaport
 
IBM Blockchain Platform Technical Introduction v1.1
IBM Blockchain Platform Technical Introduction v1.1IBM Blockchain Platform Technical Introduction v1.1
IBM Blockchain Platform Technical Introduction v1.1Matt Lucas
 
Making blockchain works for business
Making blockchain works for businessMaking blockchain works for business
Making blockchain works for businessPatrick Yong
 
Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02Matt Lucas
 
Gartner EA Architecting for DevOps and Hybrid Cloud
Gartner EA Architecting for DevOps and Hybrid CloudGartner EA Architecting for DevOps and Hybrid Cloud
Gartner EA Architecting for DevOps and Hybrid CloudRosalind Radcliffe
 
Gcf blockchain meetup frankfurt final
Gcf blockchain meetup frankfurt finalGcf blockchain meetup frankfurt final
Gcf blockchain meetup frankfurt finalMatthias Reiss
 

Similar to Blockchain Smart Contracts with IBM ODM (20)

Fabric Composer - Construct 2017
Fabric Composer - Construct 2017Fabric Composer - Construct 2017
Fabric Composer - Construct 2017
 
Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18
 
Fabric Composer - London Hyperledger Meetup - March 2017
Fabric Composer - London Hyperledger Meetup - March 2017Fabric Composer - London Hyperledger Meetup - March 2017
Fabric Composer - London Hyperledger Meetup - March 2017
 
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
 
Introduction to Hyperledger Composer
Introduction to Hyperledger ComposerIntroduction to Hyperledger Composer
Introduction to Hyperledger Composer
 
Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05
 
Introduction to Fabric Composer
Introduction to Fabric ComposerIntroduction to Fabric Composer
Introduction to Fabric Composer
 
IBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & Composer
IBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & ComposerIBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & Composer
IBM Bluemix Nice Meetup - 20171120 - Hyperledger Fabric & Composer
 
CWIN17 New-York / Transforming enterprises with blockchain
CWIN17 New-York / Transforming enterprises with blockchainCWIN17 New-York / Transforming enterprises with blockchain
CWIN17 New-York / Transforming enterprises with blockchain
 
Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...
Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...
Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...
 
Blockchain session @ 2nd Bluemix Meetup
Blockchain session @  2nd Bluemix MeetupBlockchain session @  2nd Bluemix Meetup
Blockchain session @ 2nd Bluemix Meetup
 
Integration (Application?) Modernization with IBM Garage
Integration (Application?) Modernization with IBM GarageIntegration (Application?) Modernization with IBM Garage
Integration (Application?) Modernization with IBM Garage
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook
 
Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...
Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...
Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...
 
IBM Blockchain Platform Technical Introduction v1.1
IBM Blockchain Platform Technical Introduction v1.1IBM Blockchain Platform Technical Introduction v1.1
IBM Blockchain Platform Technical Introduction v1.1
 
Cloud Customer Architecture for Blockchain
Cloud Customer Architecture for BlockchainCloud Customer Architecture for Blockchain
Cloud Customer Architecture for Blockchain
 
Making blockchain works for business
Making blockchain works for businessMaking blockchain works for business
Making blockchain works for business
 
Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02
 
Gartner EA Architecting for DevOps and Hybrid Cloud
Gartner EA Architecting for DevOps and Hybrid CloudGartner EA Architecting for DevOps and Hybrid Cloud
Gartner EA Architecting for DevOps and Hybrid Cloud
 
Gcf blockchain meetup frankfurt final
Gcf blockchain meetup frankfurt finalGcf blockchain meetup frankfurt final
Gcf blockchain meetup frankfurt final
 

More from IBM France Lab

20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive KubernetesIBM France Lab
 
20200114 - IBM Cloud Paris Meetup - DevOps
20200114 - IBM Cloud Paris Meetup - DevOps20200114 - IBM Cloud Paris Meetup - DevOps
20200114 - IBM Cloud Paris Meetup - DevOpsIBM France Lab
 
20200128 - Meetup Nice Côte d'Azur - Agile Mindset
20200128 - Meetup Nice Côte d'Azur - Agile Mindset20200128 - Meetup Nice Côte d'Azur - Agile Mindset
20200128 - Meetup Nice Côte d'Azur - Agile MindsetIBM France Lab
 
Défis de l'IA : droits, devoirs, enjeux économiques et éthiques
Défis de l'IA : droits, devoirs, enjeux économiques et éthiquesDéfis de l'IA : droits, devoirs, enjeux économiques et éthiques
Défis de l'IA : droits, devoirs, enjeux économiques et éthiquesIBM France Lab
 
Meetup ibm abakus banque postale
Meetup ibm abakus banque postaleMeetup ibm abakus banque postale
Meetup ibm abakus banque postaleIBM France Lab
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"IBM France Lab
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"IBM France Lab
 
IBM Watson IOT - Acoustic or Visual Insights
IBM Watson IOT - Acoustic or Visual InsightsIBM Watson IOT - Acoustic or Visual Insights
IBM Watson IOT - Acoustic or Visual InsightsIBM France Lab
 
Retour expérience Track & Trace - IBM using Sigfox.
Retour expérience Track & Trace - IBM using Sigfox.Retour expérience Track & Trace - IBM using Sigfox.
Retour expérience Track & Trace - IBM using Sigfox.IBM France Lab
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis GroupIBM France Lab
 
IBM Cloud Paris Meetup - 20190520 - IA & Power
IBM Cloud Paris Meetup - 20190520 - IA & PowerIBM Cloud Paris Meetup - 20190520 - IA & Power
IBM Cloud Paris Meetup - 20190520 - IA & PowerIBM France Lab
 
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM France Lab
 
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM France Lab
 
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software FactoryIBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software FactoryIBM France Lab
 
IBM Cloud Paris Meetup - 20190129 - Assima
IBM Cloud Paris Meetup - 20190129 - AssimaIBM Cloud Paris Meetup - 20190129 - Assima
IBM Cloud Paris Meetup - 20190129 - AssimaIBM France Lab
 
IBM Cloud Paris Meetup - 20190129 - Myrtea
IBM Cloud Paris Meetup - 20190129 - MyrteaIBM Cloud Paris Meetup - 20190129 - Myrtea
IBM Cloud Paris Meetup - 20190129 - MyrteaIBM France Lab
 
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelleIBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelleIBM France Lab
 
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public AdministrationIBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public AdministrationIBM France Lab
 
IBM Cloud Paris Meetup - 20180911 - Smart Citizen Bot
IBM Cloud Paris Meetup - 20180911 - Smart Citizen BotIBM Cloud Paris Meetup - 20180911 - Smart Citizen Bot
IBM Cloud Paris Meetup - 20180911 - Smart Citizen BotIBM France Lab
 
IBM Cloud Paris Meetup - 20180911 - Goal Driven Automation
IBM Cloud Paris Meetup - 20180911 - Goal Driven AutomationIBM Cloud Paris Meetup - 20180911 - Goal Driven Automation
IBM Cloud Paris Meetup - 20180911 - Goal Driven AutomationIBM France Lab
 

More from IBM France Lab (20)

20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
 
20200114 - IBM Cloud Paris Meetup - DevOps
20200114 - IBM Cloud Paris Meetup - DevOps20200114 - IBM Cloud Paris Meetup - DevOps
20200114 - IBM Cloud Paris Meetup - DevOps
 
20200128 - Meetup Nice Côte d'Azur - Agile Mindset
20200128 - Meetup Nice Côte d'Azur - Agile Mindset20200128 - Meetup Nice Côte d'Azur - Agile Mindset
20200128 - Meetup Nice Côte d'Azur - Agile Mindset
 
Défis de l'IA : droits, devoirs, enjeux économiques et éthiques
Défis de l'IA : droits, devoirs, enjeux économiques et éthiquesDéfis de l'IA : droits, devoirs, enjeux économiques et éthiques
Défis de l'IA : droits, devoirs, enjeux économiques et éthiques
 
Meetup ibm abakus banque postale
Meetup ibm abakus banque postaleMeetup ibm abakus banque postale
Meetup ibm abakus banque postale
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
 
IBM Watson IOT - Acoustic or Visual Insights
IBM Watson IOT - Acoustic or Visual InsightsIBM Watson IOT - Acoustic or Visual Insights
IBM Watson IOT - Acoustic or Visual Insights
 
Retour expérience Track & Trace - IBM using Sigfox.
Retour expérience Track & Trace - IBM using Sigfox.Retour expérience Track & Trace - IBM using Sigfox.
Retour expérience Track & Trace - IBM using Sigfox.
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
 
IBM Cloud Paris Meetup - 20190520 - IA & Power
IBM Cloud Paris Meetup - 20190520 - IA & PowerIBM Cloud Paris Meetup - 20190520 - IA & Power
IBM Cloud Paris Meetup - 20190520 - IA & Power
 
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
 
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
 
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software FactoryIBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
 
IBM Cloud Paris Meetup - 20190129 - Assima
IBM Cloud Paris Meetup - 20190129 - AssimaIBM Cloud Paris Meetup - 20190129 - Assima
IBM Cloud Paris Meetup - 20190129 - Assima
 
IBM Cloud Paris Meetup - 20190129 - Myrtea
IBM Cloud Paris Meetup - 20190129 - MyrteaIBM Cloud Paris Meetup - 20190129 - Myrtea
IBM Cloud Paris Meetup - 20190129 - Myrtea
 
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelleIBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
 
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public AdministrationIBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
 
IBM Cloud Paris Meetup - 20180911 - Smart Citizen Bot
IBM Cloud Paris Meetup - 20180911 - Smart Citizen BotIBM Cloud Paris Meetup - 20180911 - Smart Citizen Bot
IBM Cloud Paris Meetup - 20180911 - Smart Citizen Bot
 
IBM Cloud Paris Meetup - 20180911 - Goal Driven Automation
IBM Cloud Paris Meetup - 20180911 - Goal Driven AutomationIBM Cloud Paris Meetup - 20180911 - Goal Driven Automation
IBM Cloud Paris Meetup - 20180911 - Goal Driven Automation
 

Recently uploaded

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Blockchain Smart Contracts with IBM ODM

  • 1. 1Page© 2017 IBM Corporation© 2017 IBM Corporation Blockchain Rule-based Smart Contracts With IBM Operational Decision Manager November 2017 Stephane Mery Distinguished Engineer, IBM ODM Chief Architect
  • 2. 2Page© 2017 IBM Corporation Introduction • Some of that logic is actually Business Logic • Encode the Business Rules that apply to the transactions Smart Contract is the Blockchain mechanism to automate transaction processing logic. • On the market for more than 15 years • Used by ~1,000 Customers Worldwide for critical business operations – Finance, Insurance, Retail, Supply Chain, Transportation… • Provides Enterprise-class capabilities to author, execute and manage decision logic IBM Operational Decision Manager (ODM) is the market-leading Business Rules Management System
  • 3. 3Page© 2017 IBM Corporation Smart Contracts – Challenges and Opportunities Code in Smart Contract is often Business Logic • Implementing the clauses of contract & agreement between transacting parties • Making transactions compliant to the regulation • Code is essentially “business rules” encoded in Go, Java or JavaScript. • -- quickly becomes complex to implement and manage without a rule engine • è need to be more accessible to Business Stakeholders, a high-level business-friendly language would be better Business Logic might change frequently • Need proper governance around change • è need extensive tooling to govern Smart Contracts life-cycle Semantic of the Smart Contract should be well defined • Expressivity should be limited to early detect inconsistencies, ambiguities and contradictions • We should be able to verify, test and simulate Smart Contracts • è A Rule Engine provides a safer environment, trading expressivity for safety
  • 4. 4Page© 2017 IBM Corporation Smart Contracts – Use Case – Blockchain for Music Digital Rights dispatch to Artists - Current solutions spoil artists - Intermediaries capture a lot of the value - Smart Contracts to store artist rights encoded as rules - Smart Contract to encode payment split depending on when/where a song is broadcast, for instance - … Example derived from Sacem/PRS/Ascap general use-case. Not representative of real Customer use-case
  • 5. 5Page© 2017 IBM Corporation Rule-based Smart Contracts with IBM ODM
  • 6. 6Page© 2017 IBM Corporation Smart Contracts leveraging IBM Operational Decision Manager è Externalizing Smart Contract business logic in ODM - Business decisions involved in Smart Contracts are delegated to the ODM rule engine - eXecution Object Model generated from HyperLedger Composer Data Model - Business stakeholders are maintaining the logic in ODM tools, like Decision Center è Integrating ODM Rule Execution Server with Hyperledger Fabric - Deploying Rule Execution Server in Blockchain peer nodes - Calling Decision Services REST API from Hyperledger Composer Smart Contracts - Deploying Ruleset through Blockchain transactions
  • 7. 7Page© 2017 IBM Corporation Smart Contracts – Running ODM rules in-chain - ODM rule engine part of the Blockchain Peer Nodes validating transactions - Deployed as a Docker image - Transaction processing logic expressed as Business Rules with ODM - Ruleset stored in the Blockchain and deployed through a Blockchain transaction - Out-process REST call from Composer Transaction Processor Leveraging ODM Business-friendly tooling to author, test, simulate and govern Smart Contract rules
  • 8. 8Page© 2017 IBM Corporation • Decision Services are implemented in ODM - eXecution Object Model and BOM are generated from HyperLedger Composer domain model - Business Vocabulary created in ODM - Decisions are implemented as Business Rules & Decision Tables using ODM tooling • Decision Services exposed as REST/JSON API - Signature based on the BOM - Called from the Smart Contract Invoking Decision Services
  • 9. 9Page© 2017 IBM Corporation Invoking Decision Services • HyperLedger Composer Transaction Processors calling-out to Decision Service REST API - Transaction data and assets are serialized in JSON and passed to the POST API - Decision result data come back as JSON object, used in the Java Script Transaction Processor code HyperLedger Composer Transaction Processor Using Composer ‘post’ API passing the transaction and related assets referenced by the transaction Transaction Processor code decodes the decision service response and takes the appropriate action
  • 10. 10Page© 2017 IBM Corporation Business Rules life-cycle • New version of the Ruleset are submitted to the Blockchain as Transactions - Specific RuleAppUpdated Transaction type specified in Composer - Specific Transaction Processor in Composer to handle the transaction and deploy the ruleset - Ruleset deployed to the RES associated to the peer through a facade to the RES exposed as a REST API • Most current Ruleset version is stored in the Blockchain - Ruleset are stored in the Blockchain for reference - The most current version number is written in an asset and used when calling out Decision Services - If deployment transaction fails, transaction is rolled-back and most current version is unchanged • XOM changes are deployed the same way - All logic execution support secured by the Blockchain
  • 11. 11Page© 2017 IBM Corporation Smart Contracts – Business Rules Lifecycle Management 1 Business Users update rules in Decision Center following proper Governance workflow 2 When Business Rules are agreed and properly validated, they are pushed to the Ledger as a Transaction and dispatched to all Nodes Composer Chaincode Specific Transaction Processor ODM Rule Execution Server RES Deploy REST API Blockchain World State & Ledger Ruleset Deployment Tx 3 Ruleset is stored in the Ledger as well as the current version 4 Ruleset is deployed to the RES 5 When Deployment Tx will be validated on all nodes, the new version of the rules is available Ruleset Blockchain Peer Node Blockchain
  • 12. 12Page© 2017 IBM Corporation Wrap-up • Smart Contract is a key concept in Blockchain. The logic applied to transactions is likely to be Business-related. • IBM ODM, as the Market-leading Decision Management platform, provides Enterprise-class capabilities to define and manage Business-logic and make it accessible to the Business. • The combination of Blockchain/Smart Contract and ODM is a way to go beyond technology and include Business stakeholders in the value chain.
  • 13. 13Page© 2017 IBM Corporation http://ibm.biz/odm-blockchain https://github.com/ODMDev/sample-blockchain-vehicle-lifecycle Article Sample References
  • 14. 14Page© 2017 IBM Corporation Vehicle Lifecycle Blockchain Application • Developed with Hyperledger Composer and run on Hyperledger Fabric • Manage the overall lifecycle of a Vehicle from Order to Recycling through registration and various ownership transfer • Detect suspicious ownership transfer using Business Rules externalized in ODM https://www.youtube.com/watch?v=IgNfoQQ5Reg
  • 15. 15Page© 2017 IBM Corporation Vehicle Lifecycle Data Model
  • 16. 16Page© 2017 IBM Corporation Vehicle Lifecycle Data Model in Composer Participants, Assets and Transactions are defined in HyperLedger Composer
  • 17. 17Page© 2017 IBM Corporation Vehicle Lifecycle Data Model in ODM • The same model is designed in ODM as a Java Execution Model (XOM) and a Business Object Model (BOM). • Could be generated from Composer • A Business Vocabulary is created in ODM using the business terminology
  • 18. 18Page© 2017 IBM Corporation Vehicle Lifecycle Data Model in ODM Based on the Decision Service signature, ODM generates a REST API
  • 19. 19Page© 2017 IBM Corporation Decision: is this transaction suspicious? Is the ownership transfer of this Vehicle from this Seller to this Buyer suspicious?
  • 20. 20Page© 2017 IBM Corporation Demo – 11 Steps Demo
  • 21. 21Page© 2017 IBM Corporation • HyperLedger Fabric and Composer deployed as a set of Docker Containers Step1 – Start Hyperledger Fabric and Composer Please refer to https://hyperledger.github.io/composer/installing/development-tools.html to install and run HyperLedger Fabric and Composer.
  • 22. 22Page© 2017 IBM Corporation • Start the ODM Rule Execution Server Docker Container Step 2 – Start ODM RES Docker Container In odm-runtime directory , invoke docker-compose up command
  • 23. 23Page© 2017 IBM Corporation • Start the Deployment Service facade Step 3 – Start ODM Deployment Service In odm-deployer directory , invoke docker-compose up command
  • 24. 24Page© 2017 IBM Corporation • Use Rule Designer to build the XOM and the Ruleapp it packages the XOM jar and the Ruleapp in the ‘output’ directory Step 4 – Build the XOM and the RuleApp Launch IBM ODM Rule Designer on a workspace and import projects from vehicle-lifecycle-xom and vehicle-lifecycle-decision-service
  • 25. 25Page© 2017 IBM Corporation • Using Composer API to build and deploy vehicle-lifecycle@1.0.0.bna Step 5 – Deploy the Vehicle Lifecycle Business Network to Blockchain Go to vehicle-lifecycle directory , invoke npm run deploy command
  • 26. 26Page© 2017 IBM Corporation • XOM is built from Rule Designer and deployed to the RES through a Blockchain transaction Step 6 – Deploy the XOM to the RES In vehicle-lifecycle-cli directory, invoke npm run deployXom command (*) (*) the first time you have to invoke npm install to initialize the command line
  • 27. 27Page© 2017 IBM Corporation Step 7 – Deploy the RuleApp to the RES • The Ruleapp is built from Rule Designer and deployed to the RES through a Blockchain transaction In vehicle-lifecycle-cli directory, invoke npm run deployRuleapp command
  • 28. 28Page© 2017 IBM Corporation • Send specific PrivateVehicleTransfer transactions that are detected as suspicious by ODM. The decision service returns the suspicion message related to the vehicle Step 8 – Submit suspicious transactions In vehicle-lifecycle-cli directory, invoke npm run demo command
  • 29. 29Page© 2017 IBM Corporation • Use ODM Tooling to change the Business Rules. Increment the version number of the Ruleset and generate the new Ruleapp archive Step 9 – Updating the business logic
  • 30. 30Page© 2017 IBM Corporation • Submit a RuleUpdated transaction with the new ruleapp Npm run list (in vehicle-lifecycle directory) > Step 10 – Deploy the new version of the RuleApp In vehicle-lifecycle-cli directory, invoke the following node command
  • 31. 31Page© 2017 IBM Corporation • Submit a suspicious transfer again Step 11 – See impact of business logic change