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

Refactor: Use state from akka-apps for bbb-web API requests #19440

Draft
wants to merge 21 commits into
base: develop
Choose a base branch
from

Conversation

paultrudel
Copy link
Collaborator

What does this PR do?

This PR makes it so that meeting state from akka-apps is used rather than the state from bbb-web to construct responses for isMeetingRunning, getMeetingInfo, and getMeetings API requests. gRPC has been used to facilitate communication between bbb-web and akka-apps.

The classes used for communication through gRPC are defined in the meeting-service.proto file found in bbb-common-message. Both bbb-web and akka-apps extract this definition from bbb-common-message and then generate the required Java and Scala class files. The class files are generated for bbb-web when run-dev.sh is run, but it is also possible to generate the files without running the application by running the gradlew file with the build task. For akka-apps the files are generated by sbt using the compile task.

Motivation

Removal of application state from bbb-web is part of the ongoing process to consolidate application state in akka-apps. Currently when responding to API requests for meeting information bbb-web gets the information from its own internal state when it should rely on akka-apps for this information.

This is the first step in the process of totally removing application state from bbb-web. The next step is to redesign the other APIs such as create and join to not store any state in bbb-web.

@prlanzarin
Copy link
Member

@paultrudel Tangential question, out of curiosity: do we plan to extend the gRPC/protobuf usage to the rest of the internal messages/objects defined in the bbb-common-* libraries down the road?
That'd be great.

@paultrudel
Copy link
Collaborator Author

@paultrudel Tangential question, out of curiosity: do we plan to extend the gRPC/protobuf usage to the rest of the internal messages/objects defined in the bbb-common-* libraries down the road? That'd be great.

The current plan is to just replace the internal messages used by the bbb-web APIs to communicate with akka-apps with gRPC, but it is certainly a possibility that, in the future, this can be further extended to the other internal messages as well.

@antobinary antobinary added this to the Release 3.1 milestone Jan 19, 2024
@paultrudel paultrudel marked this pull request as ready for review February 5, 2024 16:27
Copy link
Collaborator

@gustavotrott gustavotrott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few comments trying to clarify my understanding!

Copy link

sonarcloud bot commented Feb 13, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
E Reliability Rating on New Code (required ≥ A)

See analysis details on SonarCloud

idea Catch issues before they fail your Quality Gate with our IDE extension SonarLint SonarLint

Copy link

Automated tests Summary

All the CI tests have passed!

Copy link

This pull request has conflicts ☹
Please resolve those so we can review the pull request.
Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants