Top Banner
CHESS Replacement Project Connectivity & Integration Working Group 1 st May 2019
45

CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

Mar 18, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

CHESS Replacement Project

Connectivity & Integration Working Group

1st May 2019

Page 2: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

2 |

Important Information – Competition Law Policy

Working group members are reminded to have regard to their obligations under competition law. In particular, please note recent changes to the Competition and Consumer Act to prohibit a corporation from engaging with one or more persons in a concerted practice that has the purpose, effect or likely effect of substantially lessening competition.

ASX CHESS Replacement

Page 3: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

3 |

Agenda

CDE Updates

Digital Asset & DAML updates

Direct Connectivity – Ledger API

Questions

ASX CHESS Replacement

Page 4: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

CDE Update

Page 5: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

5 |

CDE Key Updates

• CDE1 is now available for connectivity and functional testing.

• ASX will be contacting all participants and vendors who have submitted Subscriber Technical Application and OrderForms within the next couple of days to configure their connectivity choice(s).

• Application forms available for those that wishing to apply via the Technical Documentation website.

• Technical Documentation has also been updated on the 30th April, key updates;

• Direct Ledger Connectivity

• Known issues / limitations

• Forward Release Plan

• For CDE1, ASX chosen not to implement TLS certificates;

• AMQP requires additional step of adding username/password

• Direct Connectivity requires install of a certificate (available via sFTP)

ASX CHESS Replacement

Page 6: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

6 |

CDE Function Availability

ASX CHESS Replacement

Function Drop 1 (April’19) Drop 2 (June’19) Drop 3 (Aug’19) Drop 4 (Oct’19)

Unilateral Demand Transfers x x X x

Bilateral Demand Transfers x x x x

Bilateral Demand Settlement Instructions x x x x

Settlement Locks x x x x

Payment Facilities x x x

Market Trade (Capture, Registration, Novation) x x x

Netting x x

CHESS to / from Issuer Sponsored Transfer x x

CHESS to / from Issuer Sponsored Conversion x X

Unilateral Settlement Instruction X

Bilateral Settlement Instruction X

Batch Settlement X

* Account opening - TBC

Page 7: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

Digital Asset and DAML Updates

Page 8: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

8 |

Digital Asset & DAML - Updates

ASX CHESS Replacement

DAML (Digital Asset Modelling Language) is the functional programming language designed specifically for use in multi-party business processes, and the language ASX CSP (Clearing and Settlement Platform is being developed in)

April 2019, Digital Asset announced DAML language, runtime and Software Development Kit (SDK) is now freely available under an Apache 2.0 open source license at https://daml.com

- DAML SDK contains two key components;

- DAML (the programming language to develop applications)

- Ledger API (used to connect to applications)

- The ASX CSP is being developed in DAML, participants or vendors are only required to use the Ledger API to connect to CSP (if they chose this connectivity option)

- ASX DLT Solutions allows organisations to develop and host their own applications in DAML independently of CSP.

Page 9: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

9 |

Digital Asset & DAML – Updates continued

ASX CHESS Replacement

- ISDA

Digital Asset also recently announced the release of the International Swaps and Derivatives Association’s (ISDA) Common Domain Model (CDM) in DAML. The ISDA CDM provides a hierarchical representation of workflows, events and portfolios, and allows for users to automate their processing.

- DAML multi-platform support

Digital Asset have also announced additional platform support for DAML, including VMWare and Hyperledger, providing a greater choice of technology options and interoperability.

Press releases available daml.com

Page 10: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

Direct ConnectivityOverview

Page 11: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

11 |

Direct Connectivity – Key Features

ASX CHESS Replacement

Direct Connectivity provides the following features:

• Provides the ability to transact and stream directly against the ledger

• Access to golden shared source data

• Data permissioned at a party level (UIC or BIC)

• Allows applications to connect to CSP solution without a messaging gateway

• Supports multiple concurrent connections

• Can be used as the only method to connect to CSP or in conjunction with to AMQP and/or SWIFTNet

• New non-Clearing and Settlement features may only accessible only via direct

• Workflow defined by ASX for day 1 but scope for participants to develop their own multi-party workflow post go-live.

Page 12: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

12 |

Multiple Connectivity options- Examples

ASX CHESS Replacement

Page 13: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

Direct ConnectivityTechnical

Page 14: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

14 |

Direct Connectivity - Key Terms

Ledger API (Session)

• Ledger provides an API to receive data from and send data to the ledger, called the Ledger API. The Ledger APIis defined using Google Protocol Buffers and gRPC

• Initial focus on JAVA to provide client tools/binding to abstract development in gRPC

• The Ledger API is structured into multiple services that cover various aspects of the ledger, e.g. submittingcommands or reading events

Command

• A command is the exercise of a choice on the participant’s Master Contract, e.g., a command to transfer stock.

ASX CHESS Replacement

Page 15: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

15 |

Direct Connectivity - Key Terms

Event

• An event is the resulting contract(s) creation(s)/archival(s) as a consequence of a command submission. All contracts from the time a party was on-boarded to CSP are streamed to the participant node. This ensures that the participant always has access to current state of the ledger.

Master Contract

• Provides choices for business workflows that the party is permissioned to participate in

Active Contracts

• View all entitled active contracts present on the ledger at the time of query. The participant can also apply appropriate filters to ensure they retrieve only contracts of interest

ASX CHESS Replacement

Page 16: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

16 |

Connect - Ledger API

ASX CHESS Replacement

Client Application

CommandService

Ledger Configuration

Service

Ledger Identity Service

Package ServiceCommand Submission

Service

Command Completion

Service

Application ServicesLayer

Transaction Service

Ledger ServicesLayer

Command Service

Active ContractService

Page 17: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

17 |

Ledger API - Services

• Ledger Services

ASX CHESS Replacement

Ledger Administration

Ledger Identity Service Retrieves the Ledger ID of the ledger the application is connected to.

Ledger Configuration Service Retrieves some dynamic properties of the ledger, like minimum and maximum TTL for commands.

Ledger Metadata Exchange

Package Service Queries the DAML packages deployed to the ledger.

Ledger Data Exchange

Command Submission Service Submits commands to the ledger.

Command Completion Service Tracks the status of submitted commands.

Transaction Service Retrieves transactions of events from the ledger.

• Application Services

Ledger Data Exchange

Command Service Combines command submission and command completion into a single service.

Active Contract Service

Bootstraps an application with active contracts. It eliminates the necessity to read from the beginning

of the ledger and to process create events for contracts that have already been archived.

Page 18: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

Building a Client Application

Page 19: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

19 |

Direct Connectivity - Getting Started

ASX CHESS Replacement

Key steps required to connect directly with CSP

1. Connecting to the Ledger

Client Application with a Ledger Client library to connect to the ASX CSP

2. Identify Master Ingress Contract

Entitled contracts on the ledger (Identify Master Ingress Contract)

3. Command Send commands and exercise choices on the Master Contract, using the Command Submission Service

4. Listen (Stream) Stream transactions, using the Transaction Service

Page 20: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

20 |

Connect to the Ledger - Ledger Client Library

ASX CHESS Replacement

- Apply for the DAML SDK (daml.com)

- Apply for direct connectivity via the order form (via IPSec or ASX Net)

- Download the JAVA Classes (ASX sFTP)

- Download the JAVA Bindings (DA bintray)

Page 21: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

21 |

Technical Documentation provides code snippets

ASX CHESS Replacement

Page 22: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

22 |

Ledger API Services Accessible

ASX CHESS Replacement

• ActiveContractsClient

• CommandClient

• CommandCompletionClient

• CommandSubmissionClient

• LedgerIdentityClient

• LedgerConfigurationClient

• PackageClient

• TransactionsClient

• TimeClient

Page 23: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

23 |

Connect to the Ledger

ASX CHESS Replacement

Page 24: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

24 |

Direct Connectivity - Getting Started

ASX CHESS Replacement

4 steps required to connect directly with CSP

1. Connecting to the Ledger Client Application with a Ledger Client library to connect to the ASX CSP

2. Identify Master IngressContract

Entitled contracts on the ledger (Identify Master Ingress Contract)

3. Command Send commands and exercise choices on the Master Contract, using the Command Submission Service

4. Listen (Stream) Stream transactions, using the Transaction Service

Page 25: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

25 |

Direct Connectivity - Getting Started

ASX CHESS Replacement

Identifying the Master Ingress contract

1. Identify the package (and Template ID) that contains the Master contract (using the Package

Service)

DA.ASX.Main.Integration.BMW.Ingress.BmwIngressMaster

2

Page 26: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

26 |

Direct Connectivity - Getting Started

ASX CHESS Replacement

Identifying the Master Ingress contract

2. Identify the Master Ingress contract (using the Active Contract Set)

Page 27: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

27 |

Direct Connectivity - Getting Started

ASX CHESS Replacement

4 steps required to connect directly with CSP

1. Connecting to the Ledger Client Application with a Ledger Client library to connect to the ASX CSP

2. Identify Master Ingress Contract

Entitled contracts on the ledger (Identify Master Ingress Contract)

3. Command Send commands and exercise choices on the Master Contract, using the Command Submission Service

4. Listen (Stream) Stream transactions, using the Transaction Service

Page 28: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

28 |

Building a command – Usage Guideline

ASX CHESS Replacement

Page 29: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

29 |

Building a command - XSD

ASX CHESS Replacement

Page 30: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

30 |

Example

ASX CHESS Replacement

Page 31: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

31 | ASX CHESS Replacement

Type equation here.

Page 32: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

32 |

Building the command

ASX CHESS Replacement

Page 33: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

33 |

Command - Source Applications

A Source Application is an application that submits commands.

There are two ways to submit a command:

1. Command Submission Service is instantaneous, but you must keep track of the submission and wait for the completion on the Completion Service

2. Command Service waits for the completion on the server. It is easier to use, but the submission result is received only after the command has been processed by the Ledger

ASX CHESS Replacement

Page 34: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

34 |

Command Service

ASX CHESS Replacement

Page 35: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

35 |

Command - Result of a command submission

ASX CHESS Replacement

• OK (when returned by the Command Service)Client can be sure that the command was successful.

• OK, INTERNAL, UNKNOWN (when returned by the Command Submission Service)Client should assume that the command was accepted, and wait for the resulting completion or a timeoutfrom the Command Completion Service.

• ABORTEDThe Ledger failed to record the result of the command due to a transient server side error or a time constraintviolation. The client is free to retry the submission with updated Ledger Effective Time (LET) and MaximumRecord Time (MRT) values.

• INVALID_ARGUMENTThe submission failed because of a client error. The Ledger will definitely reject resubmissions of the samecommand even with updated LET and MRT values.

• INTERNAL, UNKNOWN (when returned by the Command Service)Client should resubmit the command with the same command_id.

Page 36: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

36 |

Direct Connectivity - Getting Started

ASX CHESS Replacement

4 steps required to connect directly with CSP

1. Connecting to the Ledger Client Application with a Ledger Client library to connect to the ASX CSP

2. Identify Master Ingress Contract

Entitled contracts on the ledger (Identify Master Ingress Contract)

3. Command Send commands and exercise choices on the Master Contract, using the Command Submission Service

4. Listen (Stream) Stream transactions, using the Transaction Service

Page 37: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

37 |

Streaming Response - Transaction Service

ASX CHESS Replacement

Page 38: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

38 |

Streaming Response - Transaction Services

ASX CHESS Replacement

Page 39: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

Summary

Page 40: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

40 |

Summary

• Direct Connectivity available now.

• To use the Ledger API directly, read both the documentation within the DAML SDK documentation and

ASX Technical document to understand what is a valid message for the server.

• Ledger Bindings and JAVA classes to provide support for using the Ledger API

• Start with connectivity testing and then a base message with command service.

• Applications can submit Ingress instructions and receive Egress events. State changes contracts will be

visible in CDE1 and we will cover these more in a subsequent session.

• Give consideration to your application, streaming, event based, message gateway etc.

ASX CHESS Replacement

Page 41: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

Q&A

Page 42: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

ASX AnnualCustomer Survey

Page 43: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

43 |

Annual Customer Survey

• ASX’s Annual Customer Survey closes today

• We would appreciate your feedback to better understand your experiences and identify areas we can

improve

• If you would like to participate, please look for an email reminder from [email protected] on

Monday 29th April

ASX CHESS Replacement

Page 44: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

Thank you.

Page 45: CHESS Replacement Project · ASX CHESS Replacement 4 steps required to connect directly with CSP 1. Connecting to the Ledger Client Application with a Ledger Client library to connect

45 |

Disclaimer

This document provides general information only and reflects matters put forward for discussion at a point in time. You should obtain independence advice before making any decisions. ASX Limited (ABN 98 008 624 691) and its related bodies corporate (“ASX”) makes no representation or warranty with respect to the accuracy, reliability or completeness of the information. To the extent permitted by law, ASX and its employees, officers and contractors shall not be liable for any loss or damage arising in any way (including by way of negligence) from or in connection with any information provided or omitted or from anyone acting or refraining to act in reliance on this information. © Copyright 2019 ASX Operations Pty Limited ABN 42 004 523 782. All rights reserved.

ASX CHESS Replacement