= !FrontController design = == Request/response database usage (pseudocode) == ||''Flow in time''||''Layer''||''Layer''||''Layer''||''Who''|| || ||'''Context'''||'''Session'''||'''Request'''|| || ||'''Once:'''||!DataSource(!ConnPool=100) or !EntityManagerFactory()|| || || FC init()|| ||'''Begin'''|| || ||<- !HttpRequest|| User|| ||..|| ||<- !CreateDatabase(Conn=1) or !CreateDatabase(!EntMan) || || FC|| ||..|| ||''Subsequent requests: getDatabase, reuse existing connectionless db'' || || FC|| ||..|| !GetConnection(1) or !GetEntityManager()|| || || FC|| ||..|| Open 1 connection, !ConnPool-1|| || || FC|| ||..|| new Database(connection) ->|| || || FC|| ||..|| ||Database (with credentials and 1 conn)|| || FC|| ||..|| || Response = Service.handleRequest() || || Application service|| ||..|| Close connection, !ConnPool+1|| || || FC|| ||..|| || Send response ->|| || FC|| ||'''End'''|| || || Get response || User||