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

Combine Knowledge API with Evaluation Engine #49

Open
mdfalkow opened this issue May 23, 2021 · 1 comment
Open

Combine Knowledge API with Evaluation Engine #49

mdfalkow opened this issue May 23, 2021 · 1 comment
Labels
enhancement New feature or request

Comments

@mdfalkow
Copy link
Contributor

Currently the APIs for knowledge querying and evaluation are separate (adapt-api and adapt-reasoner), as shown in the architecture diagram below:

adapt-architecture-v5-2

The current layout has two separate services requesting from the same data layer, which is an antipattern that was unintended when I originally was designing the system (I had not considered that the reasoner would interface with TWKS directly).

ADAPT could be streamlined by combining Knowledge API and Evaluation Engine into a single Java-based API. This approach would remove the potential bottlenecks, and reduce container size.

@mdfalkow mdfalkow added the enhancement New feature or request label May 23, 2021
@mdfalkow
Copy link
Contributor Author

If TWKS implements a browser-based Javascript client (see tetherless-world/twks#73) then there is possibility for aggregation of system logic in the front-end (which is less desirable for scaling reasons, but still an option nonetheless).

In that scenario evaluation engine logic would still remain in a separate service, as there is no JavaScript-based implementation of the HermiT reasoner (as far as I know). Hence we would have 3 services instead of 4; however, the resulting system would be the same diamond-shaped antipattern as the current system.

This gives more reason to moving to a Java-based API.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant