Throughout this book, we'll discuss techniques for addressing scalability and performance in all phases of an application. Our discussion will range from the HTTP protocol to J2EE technologies, such as EJBs and Java servlets, to relational databases. Although some techniques will be relevant to only one type of technology, a few general scalability and performance strategies will permeate most, if not all, of them.
Many of these techniques were originally developed for the then-revolutionary distributed systems designed a couple of decades ago. However, they continue to be relevant today and will likely remain so for years to come. They include: