Last updated: Mar 25, 26 00:28 UTC | Permalink
4 - Design Patterns for Web Applications
Learning Objectives:
After this lecture, you will be able to:
- Explain the role of “client” and “server” in the context of web application programming
- Explain the role of HTTP endpoints and REST APIs versus WebSocket communication and event-driven messaging in a web application
- Describe the fundamental differences between the three layers of the controller, service, and repository layers in a C-S-R architecture
- Understand how the C-S-R architecture works in the context of a basic Express application
- Understand a couple of key terms:
- business logic
- statelessness
- horizontal and vertical scaling
- microservices
Important Dates:
- Individual Project 1 Due Wednesday, January 21 by 11am (EST)
Lecture Slides:
- Web Applications Slides PDF, PPT
Tutorials
Resources
- “What is a REST API?”
- “What’s the Difference Between RPC and REST?”
- Socket.io - a library for real-time web applications
- Content Delivery Networks on Wikipedia
- Netflix’s Microservices
- Martin Fowler’s Microservices Guide
- Podcast on Microservies: “Chris Richardson on Microservice Patterns” - SE Radio
- Counterpoint podcast on Monolith: “Roberta Arcoverde on Stack Overflow’s Monolith”
- Local-First Web Development