Web Application Technologies
Many different ways of writing server-side software for web applications have evolved over the years. Early on, the standard was CGI, which provided a way to service web browser requests with scripting language such as Perl. Various web servers also offered native-language APIs, such as modules for the Apache web server written in C and C++. The Java Servlet API, however, rapidly became the most popular architecture for building web-based applications because it offered portability, security, and high performance. Today, Java-based web services compete with similar services offered by Microsoft .NET and alternatives such as Ruby on Rails for building web application components. However, the overriding trend in web applications today is to focus less on the server technology and more on client-side technologies such as JavaScript and HTML5 in communication with server-side components and web services regardless of the implementation language. We’ll try to offer some perspective on this throughout this chapter.
Page-Oriented Versus “Single Page” Applications
For most of the lifetime of Java, web-based applications followed the same basic paradigm: the browser makes a request to a particular URL; the server generates a page of HTML in response; and actions by the user drive the browser to the next page. In this exchange, most or all of the work is done on the server side, which is seemingly logical given that that’s where data and services often reside. ...