Course Synopsis
This course focuses on meeting key challenges of developing
network-based microservices that support large numbers of clients. The
course content covers the software lifecycle from design,
implementation, testing, and deployment and will also emphasize
microservice architectures, concurrent and parallel reactive
programming, and annotation-based persistence using Spring WebMVC and
WebFlux, Project Reactor, and RSocket.
Design and implementation based on patterns and frameworks are central
themes to enable the construction of reusable, extensible, efficient,
maintainable, and scalable microservices. In addition, abstraction
based on patterns and object-oriented techniques (such as separation
of interface from implementation) will be the central concepts and
principles throughout the course. These concepts and principles will
enable you to construct reusable, extensible, efficient, maintainable,
and scalable microservices.
Patterns will be taught so that you will have good role models for
structuring their own designs, as well as to clearly articulate the
tradeoffs of alternative methods for designing systems.
Object-oriented, functional, and reactive techniques will be taught so
that you will learn by example how to build highly decentralized
distributed system software architectures that decouple
inter-dependencies between components.
Back to CS *891 home page.