Creating a Workflow engine for BPM Application through the use of the Microservices Architecture
1. Creating A Workflow Engine For A BPM Application
Through The Use Of Microservices Architecture
Tea TAVANXHIU, Kozeta SEVRANI, Shpresa Mehmeti BAJRAMI
2. Creating A Workflow Engine For A BPM
Application Through The Use Of Microservices
Architecture
Key words: SOA, BPMS, monitoring, Entity Mapping, Rules as a
Service, BAM
3. SOA
The main purpose of SOA is undoubtedly system
integration.
There are many technologies such as Email, HTTP, SOAP, binary
and proprietary protocols and many others. Each of them is
dedicated to a particular purpose and has its own pros and cons.
For interconnection of those components which are “speaking
different languages” we need some universal channel
7. Processe s as conductors of
services
We define a sequence of tasks that have to be done by our SOA
components to accomplish one business task. This is called Business
Process. That process is deployed to process engine and launched.
During runtime process calls services, invokes human tasks
and makes decisions according to business rules. The advantage of the
process oriented approach is that we can easily monitor the desired
processes and optimize them according to our needs
9. How can we do it: Entity Mapping
The Business Mappings and Conditions module
permits implementors to define high level configuration
options for the execution of the application.
Using different types of structured XML, JSON or direct
SQL, this module will define conditions, field mappings and
other advanced logic to modify the functionality of the
application without the need to get into programming
details.
10. Types of Mapping
Condition Query
Condition Expression
(Field) Mapping
Record Access Control
List Columns
Block Access
Import
Map fields
IOMap
Search and Update
Field Dependency
11. Business Actions
A PRIMITIVE: Standard scripts that create very
simple outcomes
Parameter based universal and replicable tools
i.e. Create entities based on mappings
Change statuses in workflows
Send emails
Move warehouses
Create pdf documents
Update entities
13. Creating a whole set of hooks
Need to implement a set of triggers and points
where to launch an Action based on the
mapping
GUI
• Buttons / widgets / links
• Massive Lauchers
Time based
• Cronjobs
• SLA / Queues
14. Creating a whole set of hooks
Need to implement a set of triggers and points
where to launch an Action based on the
mapping
EXTERNAL TRIGGERS
External webservices
External Queues
15. Microservices framework
BUSINESS RULES:
«human readable»
Validations
Mapping
query and back-porting
of informations
BUSINESS ACTIONS
Atomic script
alta manutenibilità
Parameters Modules
Settings
RuleSettings
Stock settings
AlertSettings
SEQUENCER
Concatenated actions
Possibility to define Rules of the Pipeline
«UNIVERSAL» HOOKS
QUEUES
Internal
External
Dynamic Mapping
XML syntax
Grafic Designer
INTERNAL GUI
Any Button
Blocks
Related Lists
Business Process modules
MASSIVE LAUNCHERS
Any Button
Blocks
Related Lists
CRONJOBS
System
Internal (SLA)
EXTERNAL WEBSERVICES
«INTERNAL» ESB
16. Putting it all together
BusinessMapping / Rules can be basedon atomic scripts that can
be maintainedin the typicaltechniqueused in
microservices
Exposing Mapping as a service
Benefits:
• Can scale very well
• Logical layer separated from operational layer
• Different teams can work on different concurrent services
• Polyglot
17. Putting it all together
BusinessMapping / Rules can be basedon atomic scripts that can
be maintainedin the typicaltechniqueused in
microservices
Microservices are not a free lunch!
Architecting a system based around Microservices even if the
individual services are simple, a lot of complexity exists at a higher
level, in terms of managing these services and orchestrating business
processes throughout them.
19. Putting it all together
BusinessMapping / Rules can be basedon atomic scripts that can
be maintainedin the typicaltechniqueused in
microservices
Enriching with a messaging layer?
AMQP protocol (rabbitmq)