vcell icon indicating copy to clipboard operation
vcell copied to clipboard

Epic: new vcell-rest with Quarkus

Open jcschaff opened this issue 2 years ago • 0 comments

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

jcschaff avatar Nov 14 '23 06:11 jcschaff