-
Notifications
You must be signed in to change notification settings - Fork 207
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
Align Workflow support with Spring Boot idioms #1164
Comments
Some TODO List related to this proposal:
The first two tasks would make a difference on the current experience with Spring Boot, the last two will provide a solid programming model to align with other aspects on Spring Boot, such as managing and exposing Workflows via sync and async APIs. |
@jakesmolka I am curious about your feedback here.. I think I am will do the first two points and try to merge that into main so we can give it a try. |
Cool, this sounds great! Personally, what I was missing most was the ability to inject outer deps into the activity's business code. For instance, working with a shared internal context or client. But I stopped exploring workflows in the SDK further, when I found out it was not working yet. I'll watch this space and try to play around with your changes, once they are ready. |
Yes that makes total sense !
- Blog: http://salaboy.com <http://salaboy.wordpress.com>
- Github user: http://github.com/salaboy
- Twitter: http://twitter.com/salaboy
- Mauricio "Salaboy" Salatino -
…On Fri, 6 Dec 2024 at 15:37, Jake Smolka ***@***.***> wrote:
Cool, this sounds great! Personally, what I was missing most was the
ability to inject outer deps into the activity's business code. For
instance, working with a shared internal context or client. But I stopped
exploring workflows in the SDK further, when I found out it was not working
yet.
This seems to be covered by your third point.
I'll watch this space and try to play around with your changes, once they
are ready.
—
Reply to this email directly, view it on GitHub
<#1164 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACCMXQRNU556PYH72ZXKWT2EHACFAVCNFSM6AAAAABS3SSHROVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMRTGUYTIMRTGA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
@jakesmolka the PR now has the test with the beans checking with @RestTemplate |
Describe the proposal
We should enable a smooth Workflow authoring experience for Spring Boot developers.
Tools like Spring StateMachine, Temporal and Camunda Zeebe provide Spring Boot specific annotations for workflows/statemachines.
For reference:
In this proposal, I suggest creating a Workflow authoring and execution experience tailored to Spring Boot users. This should also be aligned with other SDKs like .Net and Go.
The main difference here, is that with Spring Boot we should aim for a higher level abstractions to provide an experience that is aligned with Spring Boot concepts and ways of working, which is not at the same level as the current Workflow APIs that provide access directly to Dapr Workflow features.
I would suggest going in a similar route as Temporal Spring Boot Integration where the workflow authoring experience provides the use the possibility to define their own business interfaces (as Spring Beans) that will be used by application developers to interact with workflow functionalities. For example:
This defines a Spring Bean that has business meaning. This can be injected in any Spring boot application and it defines semantically what the workflow will be doing. Inside
@WorkflowMethods
activities can be sequenced, hiding the complexity of workflow mechanisms.WorkflowActivities can be also masked, as this way of calling an activity:
Is very odd for a spring boot user.
What I would like to do as a spring boot user is the following:
The text was updated successfully, but these errors were encountered: