SlideShare a Scribd company logo
Hyperledger Composer
Architecture Deep Dive
Dan Selman
2017-07-25 (v0.10.0)
A day in the life of a Composer transaction…
Composer
Client
Fabric
Client
Composer
Chaincode
(Go)
Composer
Runtime (JS)
End-User
User
Code
(JS)
Fabric
Shim
(Go)
Duktape JS VM
Peer
Composer
REST
Server
Events
Business Network Definition
(Programming Model)
Connect and Deploy
• Load the BusinessNetworkDefinition
• BusinessNetworkDefinition.fromArchive or fromDirectory
• Deploy a business network
• AdminConnection.connect(connectionProfileName)
• Connection profiles are loaded from disk. They are JSON documents that include all the
information required to connect to a channel on a Fabric (or other runtimes)
• AdminConnection.deploy(businessNetworkDefinition, options)
• Options can include the endorsement policy
• Deployment is currently an install followed by an instantiate. We are breaking these
steps apart.
• Install Composer chaincode (Go), instantiate Composer chaincode (Go), send a HLF
transaction with the business network archive payload to the chaincode.
• BusinessNetworkDefinition archive is stored in the world-state on the blockchain
Submit Transaction
• Create a BusinessNetworkClient connection
• BusinessNetworkClient.connect(connectionProfileName)
• BusinessNetworkClient.submitTransaction(tx)
• TX is validated against the model
• TX is serialized to JSON
• Use Node-SDK to submit the JSON payload to the Composer system
chaincode
Handle Transaction (on peer)
• Validate the JSON for the transaction against the model
• Attempt to resolve the relationships in the transaction
• Call the Access Control Engine to determine whether the current participant has
permission to execute this transaction
• Find all Transaction Processor functions that are subscribed to the
type of the transaction
• For each:
• Invoke the function
• All access to assets, participants and transactions are filtered through the
declarative Access Control Engine
Composer “Current Participant”
• Fabric access is authenticated using the standard certificate based
authentication mechanism
• Composer system chaincode maps the fingerprint for certificate used
to submit the transaction to a Composer participant. A Participant is a
modelled entity in a business network, which could represent a
user/org/system, with arbitrarily complex metadata and relationships
• Composer includes APIs and CLIs to manage the mapping from a
certificate to a Participant instance.
• Issue identity, revoke, bind
• A single participant could have multiple identities (certificates)
Composer REST Server
• Based on Open Source LoopBack technology
• Connect to a Business Network
• Introspect the model (assets, participants, transaction, queries)
• System types: identities, ping etc
• Automatically generate strongly-typed REST routes based on the model for
the business network definition
• Uses the Open Source passport.js framework for authentication
• Supports 100+ authentication provides, Twitter, GitHub, LDAP, OAuth,IBM ID etc.
• Wallet REST APIs map from an external ID (e.g. GitHub) to a PKI certificate
• Wallet persistence is delegated to LoopBack (so supports 20+ relational and
non-relational back-ends
Hyperleger Composer Architecure Deep Dive
Hyperleger Composer Architecure Deep Dive

More Related Content

What's hot

Blockchain Hyperledger Lab
Blockchain Hyperledger LabBlockchain Hyperledger Lab
Blockchain Hyperledger Lab
Dev_Events
 
Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp}
Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp} Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp}
Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp}
Lviv Startup Club
 
Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and Hyperledger
Dev_Events
 
Hyperledger Composer
Hyperledger ComposerHyperledger Composer
Hyperledger Composer
Rihusoft
 
Hyperledger Composer overview - Hyperledger Budapest Meetup
Hyperledger Composer overview - Hyperledger Budapest MeetupHyperledger Composer overview - Hyperledger Budapest Meetup
Hyperledger Composer overview - Hyperledger Budapest Meetup
Imre Kocsis
 
Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05
Dan Selman
 
Hyperledger Fabric & Composer
Hyperledger Fabric & Composer Hyperledger Fabric & Composer
Hyperledger Fabric & Composer
Dr. Ketan Parmar
 
Hyperledger Fabric: A Custom Blockchain Solution for Corporate Use
Hyperledger Fabric: A Custom Blockchain Solution for Corporate UseHyperledger Fabric: A Custom Blockchain Solution for Corporate Use
Hyperledger Fabric: A Custom Blockchain Solution for Corporate Use
Robert Tochman-Szewc
 
Hyperledger
HyperledgerHyperledger
Hyperledger
Vinay Aitha
 
Excelian hyperledger walkthrough-feb17
Excelian hyperledger walkthrough-feb17Excelian hyperledger walkthrough-feb17
Excelian hyperledger walkthrough-feb17
Excelian | Luxoft Financial Services
 
Hyperledger Fabric EVM Integration Feb 20, 2018
Hyperledger Fabric EVM Integration Feb 20, 2018Hyperledger Fabric EVM Integration Feb 20, 2018
Hyperledger Fabric EVM Integration Feb 20, 2018
Arnaud Le Hors
 
Excelian hyperledger fabric-feb17
Excelian hyperledger fabric-feb17Excelian hyperledger fabric-feb17
Excelian hyperledger fabric-feb17
Excelian | Luxoft Financial Services
 
Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning Talk
Andrew Kennedy
 
Blockchain, 
Hyperledger fabric & Hyperledger cello
Blockchain, 
Hyperledger fabric & Hyperledger celloBlockchain, 
Hyperledger fabric & Hyperledger cello
Blockchain, 
Hyperledger fabric & Hyperledger cello
Sahdev Zala
 
Conoscerehyperledger
ConoscerehyperledgerConoscerehyperledger
Conoscerehyperledger
Daniela Zuppini
 
Introduction of Hyperledger Fabric & Composer
Introduction of Hyperledger Fabric & Composer Introduction of Hyperledger Fabric & Composer
Introduction of Hyperledger Fabric & Composer
Dr. Ketan Parmar
 
Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618
Arnaud Le Hors
 
Hyperledger community update 201805
Hyperledger community update 201805Hyperledger community update 201805
Hyperledger community update 201805
Arnaud Le Hors
 
Blockchain Explorer
Blockchain ExplorerBlockchain Explorer
Blockchain Explorer
Rihusoft
 
Introduction to Fabric Composer
Introduction to Fabric ComposerIntroduction to Fabric Composer
Introduction to Fabric Composer
Hyperleger Tokyo Meetup
 

What's hot (20)

Blockchain Hyperledger Lab
Blockchain Hyperledger LabBlockchain Hyperledger Lab
Blockchain Hyperledger Lab
 
Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp}
Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp} Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp}
Роман Кравченко “Blockchain-Powered Internet of Things” {R0boCamp}
 
Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and Hyperledger
 
Hyperledger Composer
Hyperledger ComposerHyperledger Composer
Hyperledger Composer
 
Hyperledger Composer overview - Hyperledger Budapest Meetup
Hyperledger Composer overview - Hyperledger Budapest MeetupHyperledger Composer overview - Hyperledger Budapest Meetup
Hyperledger Composer overview - Hyperledger Budapest Meetup
 
Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05
 
Hyperledger Fabric & Composer
Hyperledger Fabric & Composer Hyperledger Fabric & Composer
Hyperledger Fabric & Composer
 
Hyperledger Fabric: A Custom Blockchain Solution for Corporate Use
Hyperledger Fabric: A Custom Blockchain Solution for Corporate UseHyperledger Fabric: A Custom Blockchain Solution for Corporate Use
Hyperledger Fabric: A Custom Blockchain Solution for Corporate Use
 
Hyperledger
HyperledgerHyperledger
Hyperledger
 
Excelian hyperledger walkthrough-feb17
Excelian hyperledger walkthrough-feb17Excelian hyperledger walkthrough-feb17
Excelian hyperledger walkthrough-feb17
 
Hyperledger Fabric EVM Integration Feb 20, 2018
Hyperledger Fabric EVM Integration Feb 20, 2018Hyperledger Fabric EVM Integration Feb 20, 2018
Hyperledger Fabric EVM Integration Feb 20, 2018
 
Excelian hyperledger fabric-feb17
Excelian hyperledger fabric-feb17Excelian hyperledger fabric-feb17
Excelian hyperledger fabric-feb17
 
Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning Talk
 
Blockchain, 
Hyperledger fabric & Hyperledger cello
Blockchain, 
Hyperledger fabric & Hyperledger celloBlockchain, 
Hyperledger fabric & Hyperledger cello
Blockchain, 
Hyperledger fabric & Hyperledger cello
 
Conoscerehyperledger
ConoscerehyperledgerConoscerehyperledger
Conoscerehyperledger
 
Introduction of Hyperledger Fabric & Composer
Introduction of Hyperledger Fabric & Composer Introduction of Hyperledger Fabric & Composer
Introduction of Hyperledger Fabric & Composer
 
Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618
 
Hyperledger community update 201805
Hyperledger community update 201805Hyperledger community update 201805
Hyperledger community update 201805
 
Blockchain Explorer
Blockchain ExplorerBlockchain Explorer
Blockchain Explorer
 
Introduction to Fabric Composer
Introduction to Fabric ComposerIntroduction to Fabric Composer
Introduction to Fabric Composer
 

Similar to Hyperleger Composer Architecure Deep Dive

Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101
Arnaud Le Hors
 
ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2
Jaliya Udagedara
 
MongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDBMongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB
 
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
CodeMill digital skills
 
Windows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside worldWindows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside world
Prabhakaran Soundarapandian
 
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발 [Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
Yunho Maeng
 
Securing Microservices using Play and Akka HTTP
Securing Microservices using Play and Akka HTTPSecuring Microservices using Play and Akka HTTP
Securing Microservices using Play and Akka HTTP
Rafal Gancarz
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB
 
IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0
Matt Lucas
 
Automating Security in your IaC Pipeline
Automating Security in your IaC PipelineAutomating Security in your IaC Pipeline
Automating Security in your IaC Pipeline
Amazon Web Services
 
DEF CON 24 - workshop - Craig Young - brainwashing embedded systems
DEF CON 24 - workshop - Craig Young - brainwashing embedded systemsDEF CON 24 - workshop - Craig Young - brainwashing embedded systems
DEF CON 24 - workshop - Craig Young - brainwashing embedded systems
Felipe Prado
 
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
Andrew Ripka
 
Blockchin Architecture on Azure-Part-3
Blockchin Architecture on Azure-Part-3Blockchin Architecture on Azure-Part-3
Blockchin Architecture on Azure-Part-3
Mohammad Asif
 
Hyperledger Fabric and Tools
Hyperledger Fabric and ToolsHyperledger Fabric and Tools
Hyperledger Fabric and Tools
Rihusoft
 
(Don't) Go Tracing Server Calls
(Don't) Go Tracing Server Calls(Don't) Go Tracing Server Calls
(Don't) Go Tracing Server Calls
Brandon Hunter
 
Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0
Altoros
 
Training Webinar: Enterprise application performance with server push technol...
Training Webinar: Enterprise application performance with server push technol...Training Webinar: Enterprise application performance with server push technol...
Training Webinar: Enterprise application performance with server push technol...
OutSystems
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
Amazon Web Services
 

Similar to Hyperleger Composer Architecure Deep Dive (20)

Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101
 
ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2ASP.NET MVC 5 and SignalR 2
ASP.NET MVC 5 and SignalR 2
 
MongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDBMongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDB
 
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
 
Windows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside worldWindows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside world
 
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발 [Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
 
Securing Microservices using Play and Akka HTTP
Securing Microservices using Play and Akka HTTPSecuring Microservices using Play and Akka HTTP
Securing Microservices using Play and Akka HTTP
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
 
IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0
 
Automating Security in your IaC Pipeline
Automating Security in your IaC PipelineAutomating Security in your IaC Pipeline
Automating Security in your IaC Pipeline
 
DEF CON 24 - workshop - Craig Young - brainwashing embedded systems
DEF CON 24 - workshop - Craig Young - brainwashing embedded systemsDEF CON 24 - workshop - Craig Young - brainwashing embedded systems
DEF CON 24 - workshop - Craig Young - brainwashing embedded systems
 
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
 
Blockchin Architecture on Azure-Part-3
Blockchin Architecture on Azure-Part-3Blockchin Architecture on Azure-Part-3
Blockchin Architecture on Azure-Part-3
 
Hyperledger Fabric and Tools
Hyperledger Fabric and ToolsHyperledger Fabric and Tools
Hyperledger Fabric and Tools
 
Net Services
Net ServicesNet Services
Net Services
 
(Don't) Go Tracing Server Calls
(Don't) Go Tracing Server Calls(Don't) Go Tracing Server Calls
(Don't) Go Tracing Server Calls
 
Day6
Day6Day6
Day6
 
Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0
 
Training Webinar: Enterprise application performance with server push technol...
Training Webinar: Enterprise application performance with server push technol...Training Webinar: Enterprise application performance with server push technol...
Training Webinar: Enterprise application performance with server push technol...
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 

More from Dan Selman

Introduction to OSGi
Introduction to OSGiIntroduction to OSGi
Introduction to OSGi
Dan Selman
 
Rules SDK IBM WW BPM Forum March 2013
Rules SDK IBM WW BPM Forum March 2013Rules SDK IBM WW BPM Forum March 2013
Rules SDK IBM WW BPM Forum March 2013
Dan Selman
 
Paris Java User Group : Enabling Agile Business and IT Collaboration
Paris Java User Group : Enabling Agile Business  and IT CollaborationParis Java User Group : Enabling Agile Business  and IT Collaboration
Paris Java User Group : Enabling Agile Business and IT Collaboration
Dan Selman
 
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeriesIBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
Dan Selman
 
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
Dan Selman
 
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
Dan Selman
 
Service Oriented Architecture - Agility Rules!
Service Oriented Architecture - Agility Rules!Service Oriented Architecture - Agility Rules!
Service Oriented Architecture - Agility Rules!
Dan Selman
 
European Business Rules Conference 2005 : Rule Standards
European Business Rules Conference 2005 : Rule StandardsEuropean Business Rules Conference 2005 : Rule Standards
European Business Rules Conference 2005 : Rule Standards
Dan Selman
 
European Business Rules Conference 2004: The Business Rules Platform and Ente...
European Business Rules Conference 2004: The Business Rules Platform and Ente...European Business Rules Conference 2004: The Business Rules Platform and Ente...
European Business Rules Conference 2004: The Business Rules Platform and Ente...
Dan Selman
 
October Rules Fest 2008 - Distributed Data Processing with ILOG JRules
October Rules Fest 2008 - Distributed Data Processing with ILOG JRulesOctober Rules Fest 2008 - Distributed Data Processing with ILOG JRules
October Rules Fest 2008 - Distributed Data Processing with ILOG JRules
Dan Selman
 

More from Dan Selman (10)

Introduction to OSGi
Introduction to OSGiIntroduction to OSGi
Introduction to OSGi
 
Rules SDK IBM WW BPM Forum March 2013
Rules SDK IBM WW BPM Forum March 2013Rules SDK IBM WW BPM Forum March 2013
Rules SDK IBM WW BPM Forum March 2013
 
Paris Java User Group : Enabling Agile Business and IT Collaboration
Paris Java User Group : Enabling Agile Business  and IT CollaborationParis Java User Group : Enabling Agile Business  and IT Collaboration
Paris Java User Group : Enabling Agile Business and IT Collaboration
 
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeriesIBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
 
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
 
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
 
Service Oriented Architecture - Agility Rules!
Service Oriented Architecture - Agility Rules!Service Oriented Architecture - Agility Rules!
Service Oriented Architecture - Agility Rules!
 
European Business Rules Conference 2005 : Rule Standards
European Business Rules Conference 2005 : Rule StandardsEuropean Business Rules Conference 2005 : Rule Standards
European Business Rules Conference 2005 : Rule Standards
 
European Business Rules Conference 2004: The Business Rules Platform and Ente...
European Business Rules Conference 2004: The Business Rules Platform and Ente...European Business Rules Conference 2004: The Business Rules Platform and Ente...
European Business Rules Conference 2004: The Business Rules Platform and Ente...
 
October Rules Fest 2008 - Distributed Data Processing with ILOG JRules
October Rules Fest 2008 - Distributed Data Processing with ILOG JRulesOctober Rules Fest 2008 - Distributed Data Processing with ILOG JRules
October Rules Fest 2008 - Distributed Data Processing with ILOG JRules
 

Recently uploaded

APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 

Recently uploaded (20)

APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 

Hyperleger Composer Architecure Deep Dive

  • 1. Hyperledger Composer Architecture Deep Dive Dan Selman 2017-07-25 (v0.10.0)
  • 2.
  • 3. A day in the life of a Composer transaction… Composer Client Fabric Client Composer Chaincode (Go) Composer Runtime (JS) End-User User Code (JS) Fabric Shim (Go) Duktape JS VM Peer Composer REST Server Events
  • 5. Connect and Deploy • Load the BusinessNetworkDefinition • BusinessNetworkDefinition.fromArchive or fromDirectory • Deploy a business network • AdminConnection.connect(connectionProfileName) • Connection profiles are loaded from disk. They are JSON documents that include all the information required to connect to a channel on a Fabric (or other runtimes) • AdminConnection.deploy(businessNetworkDefinition, options) • Options can include the endorsement policy • Deployment is currently an install followed by an instantiate. We are breaking these steps apart. • Install Composer chaincode (Go), instantiate Composer chaincode (Go), send a HLF transaction with the business network archive payload to the chaincode. • BusinessNetworkDefinition archive is stored in the world-state on the blockchain
  • 6. Submit Transaction • Create a BusinessNetworkClient connection • BusinessNetworkClient.connect(connectionProfileName) • BusinessNetworkClient.submitTransaction(tx) • TX is validated against the model • TX is serialized to JSON • Use Node-SDK to submit the JSON payload to the Composer system chaincode
  • 7.
  • 8. Handle Transaction (on peer) • Validate the JSON for the transaction against the model • Attempt to resolve the relationships in the transaction • Call the Access Control Engine to determine whether the current participant has permission to execute this transaction • Find all Transaction Processor functions that are subscribed to the type of the transaction • For each: • Invoke the function • All access to assets, participants and transactions are filtered through the declarative Access Control Engine
  • 9.
  • 10.
  • 11. Composer “Current Participant” • Fabric access is authenticated using the standard certificate based authentication mechanism • Composer system chaincode maps the fingerprint for certificate used to submit the transaction to a Composer participant. A Participant is a modelled entity in a business network, which could represent a user/org/system, with arbitrarily complex metadata and relationships • Composer includes APIs and CLIs to manage the mapping from a certificate to a Participant instance. • Issue identity, revoke, bind • A single participant could have multiple identities (certificates)
  • 12. Composer REST Server • Based on Open Source LoopBack technology • Connect to a Business Network • Introspect the model (assets, participants, transaction, queries) • System types: identities, ping etc • Automatically generate strongly-typed REST routes based on the model for the business network definition • Uses the Open Source passport.js framework for authentication • Supports 100+ authentication provides, Twitter, GitHub, LDAP, OAuth,IBM ID etc. • Wallet REST APIs map from an external ID (e.g. GitHub) to a PKI certificate • Wallet persistence is delegated to LoopBack (so supports 20+ relational and non-relational back-ends