# Modern Backend Systems

- Institution: CERN
- Department: Inverted CSC
- Speaker: Georgios Voulgarakis
- Year: 2018
- Language: English
- Subjects: Computer science
- Source: [CERN](https://videos.cern.ch/record/3007387)
- Licence: [CERN](http://copyright.web.cern.ch)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

There and there, we've all heard of terms like: Inversion of Control, Abstract Factory, Dependency Injection, Aspect programming, Event-driven Architecture, Reactive Streams, Model-View-Controller, RESTful webservices, Microservices…

In this lecture, we will intuitively discover what each of design patterns entails. Building on a simple example, we will strive to maintain codebase clarity, simplicity, separation of concerns – modularity, scalability, reliability and abstraction, "discovering" along the way the design patterns that help us transform a script to a backend system.

First, we will structure our business logic efficiently. Then we will move to the question of Persistency. Next, we will expose our business logic to the outside world as a Service. After this, we will see how non-core business logic concerns/functionalities can be added/weaved into our Service. Next, we will discuss a data-flow/stream programming approach as opposed to classical functional programming. At last, Microservices will be brought up, as a solution to breaking a complex, monolithic business logic into smaller, finer grains of simpler business logics..

0:00:00 Slide 1

0:00:26 Slide 2

0:00:33 Slide 3

0:00:43 Slide 4

0:00:53 Slide 5

0:01:05 Slide 6

0:01:16 Slide 7

0:01:41 Slide 8

0:01:51 Slide 9

0:02:08 Slide 10

0:02:40 Slide 11

0:03:29 Slide 12

0:03:56 Slide 13

0:04:30 Slide 14

0:04:35 Slide 15

0:04:42 Slide 16

0:04:49 Slide 17

0:05:03 Slide 18

0:05:10 Slide 19

0:05:20 Slide 20

0:05:29 Slide 21

0:06:16 Slide 22

0:06:35 Slide 23

0:07:11 Slide 24

0:07:28 Slide 25

0:07:48 Slide 26

0:07:54 Slide 27

0:08:26 Slide 28

0:08:33 Slide 29

0:08:43 Slide 30

0:08:56 Slide 31

0:09:05 Slide 32

0:09:29 Slide 33

0:09:48 Slide 34

0:10:01 Slide 35

0:10:25 Slide 36

0:10:35 Slide 37

0:10:45 Slide 38

0:11:02 Slide 39

0:11:09 Slide 40

0:11:22 Slide 41

0:11:26 Slide 42

0:11:34 Slide 43

0:11:38 Slide 44

0:11:54 Slide 45

0:12:22 Slide 46

0:12:30 Slide 47…

## Lectures

1. [Modern Backend Systems](https://invisiblenetwork.ai/learn/cern/3007387/b3bb4c1a1b24), 36 min (CERN's player)
