Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DevDay: Managing a Distributed Network on a Common Infra, NTT Data

435 views

Published on

Martin Horozon and Federico Melani from NTT Data present on DevDay at CordaCon 2019. View the presentation.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

DevDay: Managing a Distributed Network on a Common Infra, NTT Data

  1. 1. © 2019 NTT DATA Corporation Information Type: Company Name: NTT DATA Italia S.p.A Information Owner: Taming a Production-Bound Corda Application 23/10/2019 Martin Horozov, Federico Melani Public Blockchain
  2. 2. © 2019 NTT DATA Corporation 2 SPUNTA STAKEHOLDERS Regulation & association Corda Network & Infrastructure Development Spunta as-is process Constraints and advantages from each role Italian banks
  3. 3. © 2019 NTT DATA Corporation 3 Reconciliation • Niche process • Old regulation • Bilateral agreements • Not standardized Banking industry • Data format cannot be changed • Records are batched daily Back office users • Different knowledge • Too specific vs too generic SPUNTA AS-IS PROCESS
  4. 4. © 2019 NTT DATA Corporation 4 DESIGN CHOICES • Multiple applications • Internal process • Internal data format • Internal and customized rules • Single distributed application • Standardized process • Standardized data format • Common rules Dapp standardization PoC phase: try to use only corda Prod phase: on ledger vs off ledger Compliance
  5. 5. © 2019 NTT DATA Corporation 5 • UX • AngularJS DESIGN CHOICES Batch Loading Ansible Complete end-to-end application • Two-party flows • No AnonymousParty • No CashState • No third party contracts • No exchange of value • No oracles • Propose & accept • Configuration • Broadcast • Regulatory rules • Tx batching Corda usage • CorDapp• Swagger • Spring Boot
  6. 6. © 2019 NTT DATA Corporation 6 • Massive amount of data (Millions of states & Transactions) • Can’t fit in a single tx • Split the commit in multiple txs • Massive amount of checkpoints • Solution: keep data in off-ledger table instead of flow PERFORMANCE
  7. 7. © 2019 NTT DATA Corporation 7 During the testing phase one of the main challenges was to create a test suite that can test our CordApp once for all the different Corda interfaces: 1. Unit Tests with Mock Network 2. DriverBasedRun use Node Driver 3. RealNodeRun Control and debug nodes in IDE For example one frequent activity is DB population. TESTING APPROACH
  8. 8. © 2019 NTT DATA Corporation 8 CORDAPP SERVICES
  9. 9. © 2019 NTT DATA Corporation 9 CORDAPP FACADE
  10. 10. © 2019 NTT DATA Corporation 10 DAO QUERY INTERFACE
  11. 11. © 2019 NTT DATA Corporation 11 DAO FACADE AND BRIDGE
  12. 12. © 2019 NTT DATA Corporation 12 CASHDAO VAULT QUERY
  13. 13. © 2019 NTT DATA Corporation 13 CASHDAO NATIVE QUERY
  14. 14. © 2019 NTT DATA Corporation 14 FLOW FACADE
  15. 15. © 2019 NTT DATA Corporation 15 FLOW BRIDGE RPC
  16. 16. © 2019 NTT DATA Corporation 16 CASH ISSUE FLOW ADAPTER
  17. 17. © 2019 NTT DATA Corporation 17 UNIT TESTS
  18. 18. © 2019 NTT DATA Corporation 18 EXAMPLES
  19. 19. © 2019 NTT DATA Corporation 19 • Production CorDapps needs to reuse the code as much as possible to garantee a good level of mantainance • Frameworks like the one we presented can help • Performance has to consider off-ledger data • Adapting an old process to a DLT process requires a big effort on requirements analysis and design Conclusions
  20. 20. © 2019 NTT DATA Corporation

×