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

Re-thinking the architecture and bounded context design #43

Open
yuanminhui opened this issue Nov 21, 2023 · 0 comments
Open

Re-thinking the architecture and bounded context design #43

yuanminhui opened this issue Nov 21, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@yuanminhui
Copy link
Contributor

yuanminhui commented Nov 21, 2023

Is your feature request related to a problem? Please describe.
The Bio-OS is constructed around the workspace concept, which is nicely understood. The main capability provided right now can be recapped into 3 parts: storage, workflow execution, jupyter notebook. So it confuses me all the time that there are four domain entities in the workspace bounded context, with notebook server & submission in their own context. In my consideration, the submission entity/context is tightly coupled with the workflow entity since submissions and run history are clearly only attached to the workflow (from what I've observed).

I understand that this division is based on the tech and performance consideration, so the workflow execution part should be a subdomain and therefore a microservice (just like the notebook server), but static records such as run and submission can be moved into workflow subcontext or workspace, and in web interface/cli the run history should be wrapped inside workflow as a child command.

The core dev said that cromwell and jupyterhub is in the supporting subdomains, and the core subdomain contains three bounded contexts. What I think is one bounded context is enough and the workspace could be classed as the core subdomain, while notebook server and workflow server as the supporting subdomains, with jupyterhub/cromwell as infrastruture inside. Forgive my laziness to not draw a UML to illustrate. (Maybe sometimes later😂)

Describe the solution you'd like
Explanation and/or discussion in detail about the system design, and whether we can improve it.

@yuanminhui yuanminhui added the enhancement New feature or request label Nov 21, 2023
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

2 participants