Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Baselined Foreign Exchange Demo App in SAP CAP #34

Open
fleischr opened this issue Dec 12, 2022 · 4 comments
Open

Baselined Foreign Exchange Demo App in SAP CAP #34

fleischr opened this issue Dec 12, 2022 · 4 comments
Labels
Example / Implementation BLIP is an example or implementation New BLIP is open / new Project Idea
Projects

Comments

@fleischr
Copy link

Baselined Foreign Exchange Demo App in SAP CAP

Author(s)

Ryan Fleischmann, @fleischr

Description

  • Create a standalone application that maintains foreign exchange and digital asset currency rates to be used to demonstrate a business use case and a technical how-to guide of developing with the Baseline Pattern
  • The app shall retain and display data of currency price pairs. It would emphasize price pairs of fiat currencies (e.g USD to Canadian dollar, Japanese Yen, Euro etc). Digital asset prices such as ETH or BTC could be referenced as well. Enterprise systems like SAP tend to build financial systems with this data retained into a database table rather than a constant stream of API/smart contract calls each time price is used.
  • Initial skeleton of the app to be delivered without any specific Baseline implementation using the SAP Cloud Application Model (CAP). CAP can be easily used in node.js, Java, or other common open-source languages. Several tutorials on how to develop using CAP are available. Unlike SAP ABAP, CAP applications can easily be run locally or deployed to the cloud. Defining the database schema, creating test data, and handling business logic can be easily achieved in typescript/Javascript and CSV files. Some examples for reference are available here: https://developers.sap.com/tutorials/cp-apm-nodejs-create-service.html, https://github.com/SAP-samples/cap-sflight. Several more examples can be found on the web; I can share other firsthand experience using CAP if needed as well.
  • Create a step-by-step Baseline Implementation developer guide that walks through the SDKs and other resources that can be used to Baseline this data. We would initially use BRI-1-based APIs and SDKs to achieve this. Assuming a javascript-based integration, it could use provide-js as a Baseline SDK with the ident.provide.services, baseline.provide.services, and nchain.provide.services playing the necessary API host roles. Use of other tools like the PRVD CLI or Shuttle in the setup will be documented as well.
  • a 'Non-baselined' starter/ template copy of the repo shall be available for other BRIs (ex: BRI-3/SRI) to use the same example to demonstrate their APIs/SDKs in the similar way as described above.
  • 2 running instances of this app could be used to Baseline with each other. It could also be synchronized to data used in the Chainlink Price Feed Integration to SAP with proUBC https://github.com/provideplatform/proubc-chainlink-fall-hackathon-2022
  • Application could be extended or forked later on to represent other related business processes and use cases (treasury, invoices/settlements, material pricing, supply chain etc)
  • Think of this as a 'Simple Reference Application' that achieves some similar goals to the SRI in terms of business and developer community education. Complementing the SRI towards the goals of heightened Baseline understanding!

Motivation

  • Provides an easy to understand yet highly relevant business scenario that demonstrates Baseline's usefulness in boosting business productivity. Every business in international trade has to use foreign exchange data, but can encounter business problems if their foreign exchange data is out of sync with their international business partners.
  • Design choice + Bounty for SAP CAP would motivate new SAP developers and practioners to engage with Baseline.
  • Technical approach to building the app will be easy to follow for other Baseline core devs/maintainers - while also aligning to a SAP standard
  • Demonstrates use of Baseline relative to another Oasis standard: oData. SAP CAP apps use oData standard to create webservices.
  • Helps Baseline create a highly engaging deliverable for our sponsor SAP
  • Aids all Baseline reference implementations with an easy-to-use reference application.

Other categories for details to include in your BLIP can be found in additional-blip-headers.md located in ISSUE_TEMPLATE folder


Grant Work

BLIPs that are related to an approved grant project require updates by the 1st of each month.
This should be provided through a comment on the issue with progress, roadblocks, and any comments.


Copyright and related rights waived via CC0-Universal.

@GoldenBit0
Copy link
Member

1/9/23 Core Devs:

  • Discussed in call, see notes/recordings

@GoldenBit0 GoldenBit0 moved this from New to In progress in BLIPs Jan 23, 2023
@GoldenBit0 GoldenBit0 moved this from In progress to New in BLIPs Jan 23, 2023
@GoldenBit0
Copy link
Member

1/23/23 Core Devs:

  • Will be dependent on if interop is on roadmap with funding, can then mention BLIP in that grant.
  • Is exciting to use as demonstration that's publicly available with actual numbers that becomes an actual data oracle
  • Greater use than originally intended
  • TSC will discuss further
  • Will mold or reference in future BLIP, will be worked on across Core Devs

@fleischr
Copy link
Author

fleischr commented Feb 8, 2023

Seeking an update here. Would love to have it prioritized soon! @GoldenBit0

@GoldenBit0
Copy link
Member

@fleischr Hi, we won't have an update until the roadmap & grant funding effort wraps up

@samratkishor, @Therecanbeonlyone1969

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Example / Implementation BLIP is an example or implementation New BLIP is open / new Project Idea
Projects
Development

No branches or pull requests

2 participants