Roadmap

The roadmap represents coming features lined up for the future of Resgate and its ecosystem. Its purpose is to give insight into the major features that will be implemented in the near future.

This is a living document where priorities may be re-evaluated based on the valuable input from the Resgate community. Please contact us through the forum with any questions, comments, or requests.

2020 - Q3

  • .NET service library database interface 1
  • RES protocol resource reset event 2
  • RES protocol stream resource type 3

2020 - Q4

  • Resgate syslog support 4
  • Resgate monitoring feature 5
  • .NET service library inter-service communication 6
  • Go service package inter-service communication 7

2021 - Q1

  • RES protocol collection replace/move events 8
  • RES protocol token duration 9
  • Go client package 10
  • RES protocol document resource type 11

2021 - Q2

  • Javascript (Node.js) service module 12
  • Resgate file cache support 13
  • Inter-service conflict resolution and synchronization service 14

  1. Extend .NET RES Service library with an IStore and IQueryStore interface, and implementations that can utilize them, for easy database integration. ↩︎

  2. Extend the RES Service Protocol with a resource reset event, which will invalidate the gateway’s cache for that particular resource. ↩︎

  3. Extend the RES Protocol with a stream resource type. The new type would be used to reliably stream values to the client. Each value would be paired with a unique identifier, which the gateway or the client may use to replay the stream from, in case of a reset or a temporary lost connection. ↩︎

  4. Extend Resgate with option to log output to syslog. ↩︎

  5. Extend Resgate to enable monitoring services to connect and read state information such as number of connected clients, cached resources, throughput, etc. ↩︎

  6. Extend .NET RES Service library to support calling methods, getting resources, and subscribing to events owned by other services connected to NATS server. ↩︎

  7. Extend go-res service package to support calling methods, getting resources, and subscribing to events owned by other services connected to NATS server. ↩︎

  8. Extend the RES Protocol with replace and move collection events. The new events would allow for client UI to make better transitions, in comparison to the equivalent remove + add combination currently required. ↩︎

  9. Extend the RES Service Protocol to allow an optional duration property to be included in the connection token event. Once the duration has expired, the gateway will clear the connection token and send reaccess requests for any current subscription held by the client. ↩︎

  10. Create a Go client package to enable connecting to a RES API, using WebSocket, from Go based applications. ↩︎

  11. Extend the RES Protocol with a document resource type. The new type would be used for larger texts where updates are sent as diff patches instead of replacements for the entire text. ↩︎

  12. Create a Javascript (Node.js) service module with similar functionality as found in the go-res package. ↩︎

  13. Extend Resgate with option to write cached resources to file storage to limit the memory usage. ↩︎

  14. Create a synchronization service and protocol used for synchronization and conflict resolution between multiple instances of replicated resource services. ↩︎