Top Banner
Evolving with Camunda: Architecture, UI and Orchestration Yuvraj Keenoo
32

Evolving with Camunda: Architecture, UI and Orchestration

Oct 30, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Evolving with Camunda: Architecture, UI and Orchestration

Evolving with Camunda: Architecture, UI and OrchestrationYuvraj Keenoo

Page 2: Evolving with Camunda: Architecture, UI and Orchestration

2

About Me

Yuvraj KeenooSenior Software Engineer at MCB

11+ years experience in IT

Lives in Mauritius

Master degree in Software Engineering Projects and

Management

Part-time Tutor at Open University of Mauritius

Page 3: Evolving with Camunda: Architecture, UI and Orchestration

3

Agenda

Migration

Architecture

User Interface

Service Collaboration

Resource Optimization

Take Away

Page 4: Evolving with Camunda: Architecture, UI and Orchestration

4

What’s in it for you?

• Share experiences around migration from legacy system to Camunda BPM

• Benefit from our lessons learnt

Page 5: Evolving with Camunda: Architecture, UI and Orchestration

5

Migration

Page 6: Evolving with Camunda: Architecture, UI and Orchestration

6

Legacy system

• Bought in 2012

• Monolithic system• Application deployed in one server

• One database

• Less scalable and configurable

• Closed-source (black box components)

• No use of BPMN standards

• Deployment takes time

Page 7: Evolving with Camunda: Architecture, UI and Orchestration

7

How it started with Camunda BPM?

Sep-2018

Experimentation at Digital Factory Lab

& attended CamundaCon

Feb-2019

Implemented Camunda BPM

Community version

Aug-2021

Coarse-grained services

(SOA)

Jun-2020

Rollout the Camunda BPM

Enterprise version

Jan-2022

Fine-grained services

(Microservice)

Page 8: Evolving with Camunda: Architecture, UI and Orchestration

8

Legacy vs Modern apps

Legacy apps Modern apps

No in-built support for mobile app

Cross platform

Fixed user interfaces Themable / Branded UX

Limited integration capabilities Designed for integration and mashups

Static fields and relationships Extensible fields and dynamic relationships

Page 9: Evolving with Camunda: Architecture, UI and Orchestration

9

Migration strategies

• Depending on the nature of the process, we have adopted different combination of migration strategies such as: 1. Big bang

• old process was stopped on the core banking system

2. Phased• progressively adding features to the application deployed for all business unites

3. Pilot + phased• deployed to some business units and new features were added progressively to the

application

Page 10: Evolving with Camunda: Architecture, UI and Orchestration

10

Migration

Architecture

Page 11: Evolving with Camunda: Architecture, UI and Orchestration

11

Why to review architecture as and when needed?

• Point out places where architecture fails to meet requirements and show alternative designs that would work better

• Determine where finer-grain depictions of architecture are needed

• Ensure consistency across entire system

• Disseminate ideas on what constitutes a good architecture to align with industry standards and best practices

http://lhcb-comp.web.cern.ch/Reviews/Gaudi-1998/goals_of_the_architecture_review.htm

Page 12: Evolving with Camunda: Architecture, UI and Orchestration

12

Architecture - Version 1.0

• 1 frontend and 1 backend layer

Backend Layer

Application layer

Page 13: Evolving with Camunda: Architecture, UI and Orchestration

13

Architecture - Version 2.0

• 1 frontend and 3 backend layers

• Coarse-grained services

Service Layer

Engine Layer

Application layer Service Extension

Layer

Processes:1. Card PIN request2. Customer onboarding3. Document classification

Page 14: Evolving with Camunda: Architecture, UI and Orchestration

14

Architecture - Version 3.0

• Isolated processes

• Fine-grained servicesCard PIN request service

Document classification service

Customer onboarding service

Page 15: Evolving with Camunda: Architecture, UI and Orchestration

15

Target Microservice Architecture

Simplified version

Page 16: Evolving with Camunda: Architecture, UI and Orchestration

16

Technology Stack

Page 17: Evolving with Camunda: Architecture, UI and Orchestration

17

Migration

Architecture

User Interface

Page 18: Evolving with Camunda: Architecture, UI and Orchestration

18

Having a good UI/UX makes users feel more comfortable and are able to get things done more quickly.

Page 19: Evolving with Camunda: Architecture, UI and Orchestration

19

Benefits of Angular

• Business benefits• Cross-platform

• High quality of the application• User friendliness

• Improved speed and performance (SPAs – lazy loading)

• Technical benefits• Faster development process (Ivy compiler engine)

• Unit and E2E test cases

• More lightweight web applications

• Codes reusability

• Availability of excellent material design library

Angular is an application design JavaScript framework and development platform for creating efficient and sophisticated single-page apps (SPAs).

Page 20: Evolving with Camunda: Architecture, UI and Orchestration

20

Achievements with Angular

• Can design complex screens: PDF viewer, reactive forms, etc.

• Angular material design: pagination, dialog box, etc.

• MCB branded UI/UX – Custom Angular library

• Code reusability: components, custom directives and pipes

• Custom to-do list: assigned, unassigned and team tasks

• Authentication and interceptor

• Encryption and decryption (using CryptoJs)

Page 21: Evolving with Camunda: Architecture, UI and Orchestration

21

Migration

Architecture

User Interface

Service Collaboration

Page 22: Evolving with Camunda: Architecture, UI and Orchestration

22

Service Collaboration

• Data ingestion from the Core Banking System to the Omni-channel system

Core Banking System

Omni-Channel System

Camunda Engine

Events table

Page 23: Evolving with Camunda: Architecture, UI and Orchestration

23

Service Collaboration

• Customer onboarding process (simplified version)

Page 24: Evolving with Camunda: Architecture, UI and Orchestration

24

Migration

Architecture

User Interface

Service Collaboration

Resource Optimization

Page 25: Evolving with Camunda: Architecture, UI and Orchestration

25

Optimize your Spring Boot apps

• Segregate your application data• Frontend and backend

• Actuator metrics

• Prometheus

• Shedlock

• Stable dependencies and open-source resources

• GraphQL

• API Health Check

Page 26: Evolving with Camunda: Architecture, UI and Orchestration

26

Migration

Architecture

User Interface

Service Collaboration

Resource Optimization

Take Away

Page 27: Evolving with Camunda: Architecture, UI and Orchestration

27

Take Away

• Orchestration (synchronous) vs choreography (asynchronous)

• Implement event-driven microservice by Chris Richardson• Microservice + Events + Docker = The Perfect Trio

• Loose coupling and distributed

• Think services not objects

• Git branching model• Branch early, branch often

• Strictly adhere to the BPMN standards

• Timeout user session (monitor user activity using host listener) and renewing JWT

Page 28: Evolving with Camunda: Architecture, UI and Orchestration

28

Take Away

• Use SOLID principles in Java• Single Responsibility Principle

• Open-Closed Principle

• Liskov Substitution Principle

• Interface Segregation Principle

• Dependency Inversion Principle

• Code smell with SonarQube

• Database: entity relationships, indexes, audit fields, write procedures and functions inside packages

• Collect everything (logs, metrics, pings and traces) • Can use Kibana and Elasticsearch to visualize logs

Page 29: Evolving with Camunda: Architecture, UI and Orchestration

29

Recap

Migration

Architecture

User Interface

Service Collaboration

Resource Optimization

Take Away

Page 30: Evolving with Camunda: Architecture, UI and Orchestration

30

Roadmap

02Microservice

January 2022Omni-channel integrationJune 202203

01 November 2021

Upgrade Camunda BPM

Distributed event streaming

…04

** Some dates can change

Page 31: Evolving with Camunda: Architecture, UI and Orchestration

#CAMUNDACON

Thank You

Page 32: Evolving with Camunda: Architecture, UI and Orchestration

Questions?