Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Each of these use cases expects something more from each platform when we try to scale across other global partners.

The foundational code required to build extensions is provided by the Ripple SDK to easily help App Platform developers to easily build and test Extensions

Extensions offer that extra leverage to easily migrate and offer support for these platforms as they try to fully adopt to the Firebolt Architecture.

...

Why do we need a Ripple Contract?

Ripple SDK defines the contracts and deeply integrates them with the IEC(Inter Extension Communication) with the ExtnClient .  

Standardization: Similar to Ripple offering Firebolt capabilities contracts offer definition and control over the extensions. This provides a layer of abstraction that can be configured by each operator.

...

  1. Operator A can use a Mac address for a unique Device ID and Operator B can use a backend system to define a Device ID.
  2. Operator A can use the local device persistent storage and Operator B can use a cloud persistence to store the same data. 

Authorization: The extension manifest has a fulfills  field that lists the contracts expected to be fulfilled by the extension. Extensions do not even register a processor for which a contract is not expected to be fulfilled by the manifest.

Permissions: Manifests also has a uses  field for each extension which decides the permissions for each extension in terms of calling other contracts. Using Contracts thus provides added layers of security for a given App Platform developer to build a complex and secure extension-based ecosystem.

Mapping: Each extension contains a list of contracts that it is expected to fulfill these are clearly defined in the Extension Manifests. Main uses this mapping to redirect the incoming Extn requests to the right extension so they can be correctly processed.

Authorization: Each extension can only fulfill a listed contract in the manifest, this part is a critical component in making sure extensions do not even register a processor for which a contract is not expected to be fulfilled by the manifest.

Permissions: Manifests also has the uses  field for each extension which decides the permissions for each extension in terms of calling other contractsAbstraction: Using Extension Manifests operators can swap processors easily for eg let's say we have a backend service A which is getting deprecated and service B is its replacement.  The operator can create a new extension while using the same contract request and response structure defined in the SDK and switch easily to service B without impacting other sections of the platform.


HLA

Manifests

Ripple SDK

Ripple Main

IEC

Extensions

Bootstrap

...

ADRs

Links and Stuff

TBA