Web applications have a client GUI in an Internet browser and communicate with a web container through the HTTP protocol. Web applications have become a major form of software delivery with the rise of Internet and Intranet computing over the last 20 years. To a great extent they are replacing the traditional method of delivering software applications as installable binaries.
To be stable, maintainable, and extensible, complex systems must have a good architecture. Over the last 20 years a common system architecture has evolved that is at the basis of most modern web applications. There are a variety of system principles and design patterns that are involved in modern web applications. The most important architectural pattern in modern web applications is the Model-View-Controller (MVC) architecture for web applications.
This course focuses on the protocols, principles, design patterns, and architecture of web applications, and web development frameworks that embody such principles and architecture. The course also focuses on principles and patterns that are general across platforms and frameworks. However, to investigate these principles in depth the course will examine and work with at least one representative web framework in depth. The Java Server Faces (JSF) framework is a specification based framework supported by a consortium of industry groups, and incorporates principles and technologies from many widely used web application frameworks. (4 units) Prerequisite: CS 472 or consent of the department faculty. Video by Professor Keith Levi.