Mi a webes alkalmazás?
Egy mondatban így válaszolhatunk a kérdésre:
IIS alkalmazásnak nevezünk bármely, a webhely egy meghatározott könyvtárcsoportján belül végrehajtott fájlt.
A végrehajtást az operációs rendszer végzi az IIS felügyelete mellett. Mindkét tény kizárja, hogy más operációs rendszerek webes alkalmazásait áthozzuk Windows alá. Vannak ugyan platform független szkriptek, mely változtatás nélkül működhetnek akár Windows, akár Linux alatt.
Az IIS az ASP-, ISAPI-, CGI-, IDC- és SSI-alkalmazásokat támogatja. Az adott alkalmazás megoszthatja az információt a fájljai között: az ASP-alkalmazások közösen használják például az alkalmazás oldalain a környezetet, a munkamenet-állapotot és a változók beállításait.
Hol lehet konfigurálni?
Nyissuk meg az "Internet szolgáltatáskezelő" ("Internet Services Manager") felügyeleti konzolt. Bontsuk ki a faszerkezetet és lépjünk arra a webhelyre, amelyiknél alkalmazásokat akarunk futtatni. Kattintsunk rá a jobboldali egérgombbal és lépjünk a "Tulajdonságok" ("Properties") menüre, a megjelenő ablakban pedig a "Kezdőkönyvtár" ("Home Directory") oldalra. Az ablak alján az "Alkalmazásbeállítások" ("Application Settings") szekció. Nézzük sorban a beállításokat:
"Alkalmazás neve" ("Application name"):
Magáért beszél, itt adhatunk nevet az alkalmazásnak.
"Kiindulópont" ("Starting point"):
A webhely struktúrában ettől a ponttól lefelé találhatók az alkalmazáshoz tartozó fájlok.
"Végrehajtási engedélyek" ("Execute Permissions"):
Megvonhatjuk a végrehajtási engedélyt, ez esetben nem lehet futtatni sem parancsfájlokat (szkript), sem programokat (*.exe, stb.). Illetve beállítható, hogy csak a parancsfájlok futtatása legyen lehetséges vagy minden indítható állományé, beleértve a programokat is.
"Alkalmazásvédelem" ("Application Protection"):
Az IIS 5.0 három alkalmazásvédelmi szintet biztosít. Az alkalmazásvédelem utal arra a folyamatra, amelyben az alkalmazások futnak. Az IIS 4.0 esetében az alkalmazásokat a webszolgáltatásokkal azonos folyamatban (Inetinfo.exe) vagy azoktól eltérőben is (DLLHost.exe) lehetett futtatni. Az IIS 5.0 egy harmadik lehetőséget is kínál: az alkalmazások készletezett folyamatban is futhatnak (a DLLHost.exe másik példányában). Ezek a beállítási lehetőségek különböző védelmi szinteket biztosítanak azokban az esetekben, amelyekben a nem megfelelően működő alkalmazás leállhat, és hibát okozhat abban a folyamatban is, amelyben fut. A webszolgáltatások (Inetinfo.exe) alapértelmezés szerint a saját folyamatukban futnak, a többi alkalmazás pedig egy külön készletezett folyamatban (DLLHost.exe). Ezt követően a magas prioritású alkalmazásokat kijelölheti úgy, hogy elszigetelt folyamatokként fussanak (a DLLHost.exe egy másik példányában). A teljesítmény érdekében tíznél több elszigetelt alkalmazás futtatása nem javasolt.
Ez alapján három lehetőség közül választhatunk:
- "Alacsony (IIS-folyamat)" ("Low (IIS Process)")
- "Közepes (készletben lévő)" ("Medium (Pooled)")
- "Magas (elszigetelt)" ("High (Isolated)")
További beállítási lehetőségek a "Konfiguráció" ("Configuration") gombra kattintva érhetők el:
"Alkalmazások hozzárendelése" ("App Mappings"):
Webes alkalmazások számos program- és szkriptnyelven fejleszthetők. Az IIS a kért erőforrás fájlnév kiterjesztéseinek segítségével határozza meg, hogy melyik ISAPI vagy CGI programot futtassa a kérés feldolgozásához. Egy .asp kiterjesztésű fájlra vonatkozó kérés feldolgozásához a webkiszolgáló például az ASP programot (Asp.dll) fogja használni. A fájlnév kiterjesztések és az egyes ISAPI vagy CGI programok közötti megfeleltetést alkalmazás-hozzárendelésnek nevezik. Az IIS az általános alkalmazás-hozzárendelések támogatására van beállítva. Hozzárendeléseket az adott webhelyen található összes alkalmazáshoz, de akár egyes alkalmazásokhoz is meg lehet adni, illetve el lehet távolítani azokból.
"Alkalmazás beállításai" ("App Options"):
A "Kapcsolat időtúllépése" ("Session timeout") azt az inaktív időtartamot jelenti (percben), amely lejárta után az IIS bontja a kapcsolatot a felhasználó adott munkamenetével.
A komponensek betölthetők és a gyorsítótárba helyezhetők úgy, hogy a további kéréseket az alkalmazások ismételt hívása nélkül fel lehessen dolgozni. Ezt tudjuk ki- illetve bekapcsolni a "Pufferelés engedélyezése" ("Enable buffering") jelölőnégyzet segítségével.
Ezután bekapcsolhatjuk az alkalmazásban a szülőkönyvtárak elérési útvonalának engedélyezését, megadhatjuk az alapértelmezett szkriptnyelvet és az ASP parancsfájlok időtúllépését.
"Hibakeresés az alkalmazásokban" ("App Debugging"):
Az első két jelölőnégyzet segítségével az ASP parancsfájlok kiszolgáló- és ügyféloldali hibakeresését lehet engedélyezi. Utána arról kell dönteni, hogy az ügyfél részletes hibaüzenetet kapjon-e vagy az általunk megadottat. Utóbbi esetben aktivizáljuk a "Szöveges hibaüzenet küldése az ügyfélnek" ("Send text error message to client") rádiógombot és töltsük ki az alatta lévő mezőt.
A teljesítményről
Az alkalmazások teljesítménye és védelmi szintje között kompromisszumot kell kötni. A webszolgáltatások (Inetinfo.exe) folyamatban futó alkalmazások magasabb teljesítményre képesek, de annak veszélye is nagyobb, hogy egy nem megfelelően működő alkalmazás jóvoltából a webszolgáltatások elérhetetlenné válnak. Célszerű az Inetinfo.exe fájlt és a létfontosságú alkalmazásokat saját folyamatukban futtatni, a fennmaradókat pedig egy megosztott, készletezett folyamatban.