Kategorier
Övrigt

WebApp Admin

Server

DataFlex Web Application Server är den Windows Service som driver alla applikationer på en server. I task manager ser ni denna som WebAppServer.exe. Enbart en sådan process på server körs.

För att konfigurera och underhålla denna tjänst använder vi programmet Web Application Server Administrator.

Applications

I en WebApplication Server kan x antal applikationer köras. En applikation pekar mot en specific databas. I vårt fall har vi en applikation för Web och en för Mobil mot varje databas.

Sessions

En session är när en användare gör något i sin webbläsare och programmet anropar servern. Sessionen lever från det att anropet kommer till servern, till dess att svaret har gått tillbaka till klienten (webbläsaren). Därefter avslutas sessionen.

En process (WebApp.exe) kan hantera EN session åt gången. Men en session skall optimalt enbart vara någon eller några sekunder lång.

Processes

En process är en WebApp.exe. Eftersom samma process kan hantera sessioner från ett obegränsat antal användare (sekventiellt, inte samtidigt), så ”kommer inte processen ihåg” något från föregående session. Varje session är unik. Detta kallas för att applikationen är Stateless.

Eftersom risken att två användare klickar på en knapp i sin PP7 i sin webbläsare samtidigt ökar med antalet användare, så ökar vi antalet processer ju fler användare som använder systemet.

Process Pooling

Om man tänker på ovan, att en session är ett anrop/svar mellan klient och server, och en process hanterar en session åt gången, så behöver vi många processer. Detta kallas för process pooling.

Vi kan specificera en Min pool och en Max pool.

  • Min: detta är det statiska antallet processer (webapp.exe) som alltid är igång på servern och tar emot anropt från klienter.
  • Max: detta är det ”flytande” antalet processer. Dvs  om belastningen är för stor för Min pool, så startas nya processer (dvs nya webapp.exe) upp för att tillgodese behovet. Detta görs upp till Max pool. När behovet minskar igen, så stängs dessa processer ned igen, så att vi är tillbaka på antalet i Min.

OBS! PP7Web är ett stort program som tar tid att starta upp. Så vi har hittills alltid satt Min och Max på samma. Anledningen är att när en ny process startas för att en användare behöver den, så tar uppstarten så lång tid så användaren upplever att webbläsaren/programmet har ”hängt”. I stället sätter vi Min och Max på samma värde så att inga nya processer startas ”on the fly”. Då måste så klart både Min och Max vara så stora att de kan tillgodose användarbasen.

Automatic reload

Man kan ställa in att WebApp Admin automatiskt dödar alla processer regelbundet, och sedan startar upp dem igen. Detta för att undvika eventuella hängningar i programmet, och andra problem som kan uppstå. Man kan ställa in att det görs en viss tidpunkt på dygnet, eller var 24 timma (hur detta räknas ut vet jag inte).

I DataFlex19.1 så stängs ALLA WebApp.exe för en applikation ned samtidigt vid en automatisk reload. Sedan startas de upp, en och en igen. Alltså är det bäst att schemalägga detta på kvällstid när kund inte är inloggad och jobbar.

I DataFlex20 är detta förbättrat så de stängs ned en i taget i stället.