diff --git a/README.md b/README.md index 96a0f6e..0bbb70f 100644 --- a/README.md +++ b/README.md @@ -9,5 +9,16 @@ ## Motivation -Building process automation solutions require a careful design if the dependency +Business applications shoould be more or less technology independent, or at least the separation of the business logic from the technical integration code should be provided. Clean architecture promotes this separation. Port and adapter architecture (also sometimes called hexagonal) and onion architecture styles combined together allows to focus on pure business functionality inside of the domain code, focus on main behavioural elements (use cases) in the application layer and finally perform the entire integration inside the infrastructure layer, separated into the driving (primary) and driven (secondary) adapter parts. + +The application of the above mentioned principles in a process application has a major improvments to the readability and maintainability of the application. As applying it in several projects, it turned out that event the adapter layer (both dring and driven) used for integration with a process engine can be implemented in a reusable and verndor-independent way. This hides small differences of the API of different engines and allows for creation of business applications in which the choice of the engine can be done and reverted easily. + +## Purpose + +This library provides an example implmentation of a vendor-independent workflow engine abstractions allowing to execute service and user activites. In addition it provides some sample implementations (currently for the Camunda Platform 7 and Camunda Platform 8). + +## Ideas + +Main ideas were collected in a time span from October 2022 (CamundaCon 2022) till May 2023 (Camunda SUmmit 2023). +