(URL, HTTP, and HTML), and have considerable evolution in the last two decades. Usability,
scalability, maintenance, portability, robustness, security, and integration with other systems
are the main challenges of this software category. This tutorial presents the history and
evolution of Web-based software architectures. We discuss current software architectural
styles, patterns, and development platforms based on client-side and server-side …