paulb@347 | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
paulb@436 | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head> |
paulb@348 | 3 | <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type" /> |
paulb@436 | 4 | |
paulb@436 | 5 | <title>Anatomy of a WebStack Application</title><meta name="generator" content="amaya 8.1a, see http://www.w3.org/Amaya/" /> |
paulb@436 | 6 | <link href="styles.css" rel="stylesheet" type="text/css" /></head> |
paulb@436 | 7 | |
paulb@327 | 8 | <body> |
paulb@347 | 9 | <h1>Anatomy |
paulb@347 | 10 | of a WebStack |
paulb@347 | 11 | Application</h1> |
paulb@347 | 12 | <p>The simplest way to think of a |
paulb@347 | 13 | Web application is as just some code which |
paulb@347 | 14 | sits on a server and is sent messages - specifically HTTP requests - to |
paulb@347 | 15 | which it must respond by writing out messages to send back - |
paulb@347 | 16 | specifically HTTP responses. When using WebStack, we think of the |
paulb@347 | 17 | situation in terms of the following components:</p> |
paulb@436 | 18 | <table style="text-align: left; margin-left: auto; margin-right: auto; width: 80%;" class="layers" border="0" cellpadding="5" cellspacing="0"> |
paulb@347 | 19 | <tbody> |
paulb@347 | 20 | <tr> |
paulb@348 | 21 | <td width="40%"></td> |
paulb@348 | 22 | <th style="text-align: center;">What |
paulb@348 | 23 | it does</th> |
paulb@348 | 24 | <th style="text-align: center;">How much work</th> |
paulb@348 | 25 | <th style="text-align: center;">Where |
paulb@348 | 26 | to look</th> |
paulb@347 | 27 | </tr> |
paulb@347 | 28 | <tr> |
paulb@436 | 29 | <th style="text-align: center; vertical-align: middle; background-color: rgb(193, 255, 102); border-top-style: solid; border-left-style: solid; border-right-style: solid; border-top-width: 1px; border-left-width: 1px; border-right-width: 1px;">Application |
paulb@348 | 30 | </th> |
paulb@348 | 31 | <td style="text-align: center;"><span class="explanation">This |
paulb@349 | 32 | defines what the user sees. </span></td> |
paulb@348 | 33 | <td align="center" valign="undefined">Most new code will be |
paulb@348 | 34 | written in the application.</td> |
paulb@349 | 35 | <td align="center" valign="undefined">Applications are |
paulb@436 | 36 | described in <a href="developing.html">"Developing a WebStack Application"</a>.</td> |
paulb@347 | 37 | </tr> |
paulb@347 | 38 | <tr> |
paulb@436 | 39 | <th style="border-width: 1px; text-align: center; vertical-align: middle; background-color: rgb(102, 203, 255); border-left-style: solid; border-right-style: solid; border-top-style: solid;">Adapter |
paulb@348 | 40 | </th> |
paulb@348 | 41 | <td style="text-align: center;"><span class="explanation">This |
paulb@348 | 42 | "glues" the application to the environment.</span></td> |
paulb@348 | 43 | <td align="center" valign="undefined">Mostly copying an existing |
paulb@348 | 44 | adapter or writing a short module.</td> |
paulb@436 | 45 | <td align="center" valign="undefined">Adapters are explained in <a href="deploying.html">"Deploying a WebStack Application"</a>. </td> |
paulb@348 | 46 | </tr> |
paulb@348 | 47 | <tr> |
paulb@436 | 48 | <th style="border-style: solid; border-width: 1px; text-align: center; vertical-align: middle; background-color: rgb(192, 192, 192);">Server |
paulb@348 | 49 | environment </th> |
paulb@348 | 50 | <td align="center" valign="undefined"><span class="explanation">This |
paulb@348 | 51 | is where the application runs.</span></td> |
paulb@348 | 52 | <td align="center" valign="undefined">Some configuration needed, |
paulb@348 | 53 | if any at all.</td> |
paulb@348 | 54 | <td align="center" valign="undefined">Server environments are |
paulb@348 | 55 | covered |
paulb@354 | 56 | in <a href="deploying.html">"Deploying a WebStack Application"</a>. |
paulb@354 | 57 | </td> |
paulb@347 | 58 | </tr> |
paulb@347 | 59 | </tbody> |
paulb@347 | 60 | </table> |
paulb@436 | 61 | </body></html> |