Cargando…

Modern Backend Systems

<!--HTML-->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 wh...

Descripción completa

Detalles Bibliográficos
Autor principal: Voulgarakis, Georgios
Lenguaje:eng
Publicado: 2018
Materias:
Acceso en línea:http://cds.cern.ch/record/2307401
Descripción
Sumario:<!--HTML-->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.