-
Notifications
You must be signed in to change notification settings - Fork 6
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
Leveraging Clean Architecture for Migration to Camunda 8 #1
Draft
lwluc
wants to merge
12
commits into
main
Choose a base branch
from
camunda-8
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
lwluc
force-pushed
the
camunda-8
branch
3 times, most recently
from
June 2, 2022 04:50
b6332b5
to
fcf20bd
Compare
.../weinbrecht/luc/bpm/architecture/loan/agreement/adapter/in/process/ApproveLoanAgreement.java
Outdated
Show resolved
Hide resolved
Great example and blog post @lwluc - kudos! |
.../weinbrecht/luc/bpm/architecture/loan/agreement/adapter/in/process/ApproveLoanAgreement.java
Outdated
Show resolved
Hide resolved
...t/luc/bpm/architecture/loan/agreement/adapter/in/process/SendCrossSellingRecommendation.java
Outdated
Show resolved
Hide resolved
lwluc
force-pushed
the
camunda-8
branch
3 times, most recently
from
February 9, 2023 16:33
876e26f
to
160429e
Compare
lwluc
force-pushed
the
camunda-8
branch
3 times, most recently
from
March 31, 2023 12:33
386bfec
to
c29b470
Compare
lwluc
changed the title
Migrating to Camunda 8
Leveraging Clean Architecture for Migration to Camunda 8
May 12, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request shows of using clean architecture and DDD to keep you domain clean, so a migration, e.g. to Camunda 8 only effects your adapter layer.
Deep Dive 🤿
If you want to dive a bit deeper into the architecture have a look at the README or watch my talk at the CamundaCon2022.
What makes a migration difficult?
From time to time our framework usage, our interaction with the Camunda Platform, maybe spread over all layers (of a classical multi layer architecture e.g.). So maybe a bit of RuntimeService at the Controller, a bit of Task / History Service on the Service Layer and even some variable checking or update on our repository layer.
So for a migration we need to touch all layers, which would make a migration time consuming and stressful.
Because imagine you are standing in front of a chaotic, not sorted fruit counter and you have to pick out all the apples. Picking all the apples up will be stressful and time consuming and that metaphor reflect the difficulties of a migration perfectly.
But migration should not mean throwing away our old code base and doing it completely new.
Instead it should mean:
Let your architecture support you on your migration journey
What you want are local isolated changes in a predefined specific location of the application. Not changes all over the place.
And that is what this repository especially this pull request shows: How our code base could be migrated with less invasive changes using the help of clean architecture!
Spoiler: It only focuses on code-related migration.
It do not focus on migrating our deployment, operations or other changes which may be followed by a migration.