vcell
vcell copied to clipboard
Epic: new vcell-rest with Quarkus
Motivation
The current vcell api (vcell-api service) is a hybrid REST/RPC service. The RPC methods require Java serialized objects (Java Object Serialization) which is Java specific and tied to having the same VCell source code being present on the client. A new vcell REST api service (vcell-rest) with OpenAPI support and supporting pluggable Auth and Observability frameworks would be better than trying to extend the current Restlet-based implementation. This replaces vcell-api (which has REST endpoints as well as an RPC endpoint, and doesn't support OpenAPI).
Completion Criteria
- create a new REST API service which features OpenAPI and OpenID Connect.
- generate API client libraries in Python, Java and Typescript.
Tasks
- [x] develop a Quarkus REST service which talks to Oracle and features OpenAPI
- [x] #748
- [x] #1030
- [ ] integrate Observability (logging and tracking) into vcell-rest
- [x] java openapi generated api client with CLI-friendly OIDC Authorization Code Flow with PKCE
- [x] python openapi generated api client with CLI-friendly OIDC Authorization Code Flow (with PKCE) and jupyter notebook
- [x] typescript openapi generated api client with OIDC Authorization Code Flow with PKCE
- [x] create small administrative webapp (angular or react) to exercise auth
- [x] implement dev/test OpenID Connect identity provider - Keycloak
- [x] implement dev OpenID Connect identity provider - Auth0.com
- [x] #1205
- [ ] implement Java Serialization-based RPC endpoints from vcell-api as REST API
- [ ] #1153
Companion Epics
- #1147