Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Draft notes to be formed into a white paper

Define the problem:

  • Course-grained access to fine-grained resources (“chattiness”)

    • Network latency

  • Getting rid of composites

  • Alternate security protocols

Solution: create a specialized backend API, which sits “close” to the Ed-Fi API (for low network latency).

  • Central Aggregating Gateway: more generic design than a BFF, can support multiple user interfaces

  • “A central-purpose aggregating gateway sits between external user interfaces and downstream microservices and performs call filtering and aggregation for all user interfaces. Without aggregation, a user interface may have to make multiple calls to fetch required information, often throwing away data that was retrieved but not needed.”

Alternatives

  • GraphQL - why not? Well-defined need is easier to express and reason about. Create a simple single definition of an API.

Design

  • BEF app needs a key and secret to an ODS/API. Maybe to many of them.

  • Analyze your authorization strategy and needs.

  • Cache local data for higher performance.

    • Possible implication: ETL

  • Change Queries (ETL!)

    • Show basic interaction

    • Definitely(?) implies caching.

  • Storing multiple tenants' data? Decide on a multi-tenancy pattern for segregating the data in the caching layer.

  • Evolutionary diagrams:

    • FE to BFF to BEF to ODS/API

    • Add caching layer and ETL

  • Gateway Aggregation pattern

    • Resiliency patterns and more

  • No labels