\documentclass[10pt]{book} \usepackage{graphicx} \usepackage{wrapfig} \graphicspath{/home/barant/HTTPServer/images} \begin{document} \begin{titlepage} \begin{center} \vspace*{1cm} \textbf{JETServer Concepts} \vspace{1.5cm} \textbf{Bradford M. Arant Sr.} \vfill A whitepaper on an advanced microservices development environment\\ for the cloud \vspace{0.8cm} \end{center} \end{titlepage} \tableofcontents \chapter{Overview} JETServer provides a complete environment for developing very powerful and feature rich web content using standard browsers. It is intended to compete and replace the aging WordPress environments that comprise a huge number of websites. JETServer is designed with high performance in mind utilizing a combination of HTML5, CSS3 and Javascript. JETServer is designed to support a plugin environment, known as libraries, for extensibility of capabilities including frameworks, work flows, styles, databases, etc. \chapter{Basic Concepts} In this chapter we will cover the components that make up the JETServer environment. \chapter{Sessions} Sessions provide a congruent and flowing state management for a connected browser. The states of various elements are stored and kept as a part of the session information so a browser refresh will not disrupt the work flow intended by the application logic. The Session Id is maintained on the browser as a cookie. The cookie is issued to the browser on the very first response from the first request to the server. All API interactions are identified as being part of a session. A browser can only have one session per domain. Sessions can support multiple window instances and is basically the authorization token. The server can issue a new Session Id in a response to the browser at any time which will reset the cookie being created to maintin the Session Id. The session mechanism will attempt to maintain a \emph{state} of the interaction of the request objects present in the view port of the browser. Session variables also maintain a server based data environment for the session. Session variables are available to the views and microservice methods using the \$[:\emph{variable-name}] syntax. As requests are placed the request URI is saved to the http session. If needed, perhaps because of a refresh, the page state can be recreated from the saved URI list. Other data and state information can be stored to the session as well. \chapter{Views} Views are document sections that can be placed into the page. Views can be static or can contain dynamic data elements. Views can also contain other views in a nested fashion. Views are implemented as