The image shows the architecture for monetizing data by setting up a payment
framework on OCI. It comprises three elements:
- An on-premises location
- An OCI implementation
- The internet
The on-premises location shares an ERP service and a CRM service with the OCI
implementation.
The OCI location contains
- instances of the data products autonomouse data warehouse and Oracle Machine
Learning
- Two instances of Oracle Functions
- An API gateway
- An instance of Oracle's Identity and Access Management service.
A client application and a payment processor (for example, Stripe) reside on the
internet.
The components are interconnected by numbered arrows that describe this dataflow:
- The customer authenticates with identity provider.
- The customer access data product API through API Gateway, which will
later apply its own policies (eg. throttling) after authorising the request.
- The API Gateway invokes a function to authorise request.
- The function validates provided customer tokens with identity
provider
- The function checks customer’s access rights to data product in CRM
or other system, and also checks whether subscription or per-use payment
applies. If a subscription applies, the functions checks whether that
subscription is valid.
- Once authorised, the API Gateway forwards the request to a proxy
function.
- On a per-request basis, the proxy function charges for the access
to the data product. Note that this charging can also be done after a successful
access to the data product, avoiding the situation that customers are charged if
the access fails. Charging is done by either:
- Recording use in a ledger; and/or
- Executing an online payment through a payment provider.
- The proxy function accesses the monetized data on behalf of the customer.