Jude provide a human readable syntax to execute an access request. An access request can be expressed like this:
Who is able to do what on something given some context?
Who: The subject of the action, for example your End-User.
Able: The effect which can be either "allow" or "deny".
What: An action the subject attemps to perform.
Something: An object the subject attemps to target.
Context: The context containing information about the environment such as the IP Address, request date, the resource owner name or any other information you want to pass along.
Google gRPC is built on top of HTTP/2. HTTP/2 come with many performance improvements:
binary instead of textual with HTTP/1
fully multiplexed, instead of ordered and blocking with HTTP/1
header compression to reduce overhead
HTTP/2 tends to be the new default standard in the web's ecosystem.
Google gRPC implements official support of 11 programming languages (less maintenance for SDKs). Easy extendable (authentication, load balancing, etc.) and distribuable (low latency, etc.). By using Google gRPC Judge API is by design built in for polyglot distributed system.
TODO: explain storage solution
many database alrady solve the distributable issue.
judge interface optimised storage type (now only k/v database).
inject the storage you want and be free about query optimization.