A Novell ZENworks Application Virtualization (ZAV) programja képes ezt összehozni úgy, hogy telepített programjainkból önállóan futtatható, saját korábbi beállításaikat megőrző, ?hordozható" alkalmazásokat készít. Az így készült programcsomagot aztán már úgy futtathatjuk, hogy az nem módosítja a Registryt, nem pakol szanaszét konfigurációs állományokat stb. Minden a csomagba kerül, azaz az alkalmazás a hozzá tartozó Registry-értékeket, konfigurációs fájlokat és egyéb szükséges komponenseket egy helyen tárolja, minden más programtól és a Windows rendszertől is elszigetelve. Így lehetséges, hogy mondjuk MS Office-unkból két példány is legyen ugyanazon Windows alatt: az eredeti és a tőle független, virtualizált társa.
Hordozható, hordozhatóbb...
A ZAV háromféle programcsomagot tud létrehozni. Alapértelmezése szerint egy hordozható EXE állományba csomagol össze mindent, ezt indítva éled fel a belé csomagolt, virtualizált program. Második lehetőségként Windows telepítőállományt, azaz egy MSI fájlt hozhatunk létre. Ezt telepítve a gépünkre költözik a kívánt program, létrejön a szükséges Start menü ikon, és ha van, akár a fájltársítások is hozzárendelődnek az ismét csak virtualizálva futó, mást nem bolygató alkalmazáshoz. Ha az imént tárgyalt első két esetben a virtualizált program beállításait módosítjuk, azok alapesetben az adott gépen tárolódnak, a programot indító felhasználó saját mappáján belül, az Appdata/Local/Novell alkönyvtárban. Azaz a változások az adott gépen maradnak meg, a virtualizált csomagban nem tárolódnak el. A harmadik esetben teljesen hordozható programcsomagot készíthetünk USB-kulcsunkra. Ekkor a kulcsról (automatikusan) indított behúzóprogram kirakja az alkalmazáshoz tartozó Start menü, illetve asztali ikonokat, elvégzi a fájltársításokat stb. A programot aztán úgy indíthatjuk el, mintha a saját gépünkre lenne telepítve. A módosítások viszont a pendrive-on maradnak, azaz akkor sem vesznek el, ha egy másik gépről indítjuk. A kulcs eltávolításával persze az adott gépről eltűnnek az imént kirakott ikonok stb.
Virtualizációs módszerek
Felmerül persze a kérdés, honnan tudja a ZAV, hogy mit kell beleraknia a virtualizált csomagokba, és mit nem? Azaz honnan ismeri fel az adott alkalmazáshoz tartozó részeket, miként különbözteti meg ezeket a hasonló fájloktól és Registry bejegyzésektől? Ismét csak háromféle módszerhez fordulhatunk.
A legbiztosabb módszer a sablon alapján való virtualizáció. A ZAV tartalmaz egy csomó gyári template-et, amelyek a legismertebb szoftverek gyors virtualizálásához kellenek. Egy halom közismert szabad forrású program mellett a Microsoft Office-ok is gyorsan virtualizálhatók, ha a szokásos telepítési lépésekkel kerültek fel gépünkre. Szintén biztos módszer, ha egy program fejlesztőiként mi magunk adjuk meg a ZAV-nak, hogy milyen fájlok és Registry-bejegyzések is tartoznak az adott programhoz. A program fő funkciója a harmadik lehetőség: a különbözeti csomagkészítés. Mielőtt még a virtualizálni kívánt szoftvert feltelepítenénk a gépünkre, a ZAV-val készítenünk kell egy pillanatfelvételt a rendszerünkről (Capture Before gomb). A kívánt alkalmazás feltelepítése után egy újabb, különbözeti felmérés készül (Capture and Diff), ennek végeztével kapunk egy-egy listát, hogy mi változott meg a gépünk fájlrendszerében és a Registryben. A biztosan nem az adott programhoz való elemeket kézzel kiszedhetjük a listából, de maga a ZAV is elég okos ahhoz, hogy a Windows folyamatosan változó elemeit ne vegye majd bele a virtualizált környezetbe. Ha szűkítettük a találatokat, indulhat a virtualizált csomag mentése a korábban bemutatott három lehetséges csomagfajtába.
Komponensek és rendszerek
Virtualizált programjaink így kerülnek be aztán a ?homokozóba", azaz a sandboxba, ahol a külső rendszert nem bolygatva futhatnak. Ám az alkalmazások többnyire külső programkomponenseket is használnak, amelyek egy másik rendszeren lehet, hogy nem lesznek telepítve. Az esetek nagy többségében a ZAV-val virtualizált szoftverek az XP-től felfelé minden Windowson futóképesek maradnak. Ha nem, akkor az adott programot fel kell telepíteni XP-re, Vistára, Win 7-re stb., majd az összes rendszeren el kell készíteni a különbözeti képeket, azaz létre kell hozni az adott rendszerekre jellemző sandboxokat. Ezeket aztán össze lehet fésülni egy közös virtualizált csomagba, ami tartalmazni fogja az adott program Windows-verziótól függő összes komponensét is. Más esetben a virtualizált programoknak nem Windows-függő, hanem egyéb külső komponensekre lehet szükségük, amelyeket egy másik gépen lehet, hogy nem tudunk megtalálni. A ZAV most is a segítségünkre siet azzal, hogy képes hozzáadni a virtualizált programhoz a Microsoft .NET Framework, Sun Java, Adobe Flash és Shockvave futtatókörnyezeteket, az Adobe Reader, illetve a Microsoft SQL Server 2005 Express programokat is, ha még ezekre is szükség lenne. Ha ezeken túl is kellene valamilyen külső komponens - mondjuk a 9-es DirectX runtime -, akkor ezt önállóan telepíthetjük és virtualizálhatjuk, ám a korábbi háromféle kimenet helyett egy negyedikbe, saját komponenskönyvtárba menthetjük, majd ezt a kész komponenst később bármelyik saját virtualizálandó programunkhoz hozzáadhatjuk.
Programsugárzás
Ha virtualizált szoftverünket egyetlen EXE fájlba csomagoljuk, akkor azt igen egyszerűen ?teríthetjük" a felhasználók közt. A hagyományos, fájlszerverről való futtatás mellett a ZAV lehetőséget ad a felügyelt módon, jogosultságokat is figyelembe vevő terjesztésre is. Ha nincs valamilyen címtáralapú vállalati rendszerünk, akkor erre a legegyszerűbb módszer a ?sugárzás", azaz a streaming. A ZAV telepítőcsomag része a SpoonServer, amelynek segítségével egyszerűen juttathatjuk el akár a távoli felhasználókhoz is a virtualizált programokat webböngészőn keresztül.
Kipróbálni egyszerűbb, mint leírni: látogassunk el a Novell SpoonServer demóoldalára, töltsük le és telepítsük a böngészőnkhöz való Spoon plugint, majd a böngésző újraindítása után próbáljuk ki, mondjuk a Novell saját OpenOffice.org variánsának streamelt változatát.
(A próba ingyenes regisztrációt igényel, ha még nem lenne Novell felhasználói fiókunk, akkor azt itt helyben létrehozhatjuk.) Bár a programon jelenleg van még mit javítani - a Novell szorgalmasan készíti is a hibajavításokat -, alapfunkciójában, az egy EXE-be összecsomagolt alkalmazások készítésében és ezek streamelésében jól teljesít. A ZAV-val virtualizált alkalmazások, amellett, hogy egyszerűen kezelhetők, tömörített voltuknál fogva kisebbek, mint virtualizálatlan eredetijük, ráadásul sokkal gyorsabban is indulnak el azoknál.
A virtualizáció ára
A ZAV ára a vele készített virtualizált programok felhasználóinak számával arányos. Azaz annyi licencet kell vennünk hozzá, ahányan használni fogják majd az azzal készített csomagjainkat, függetlenül attól, hogy azokban fizetős vagy ingyenes program lakozik. (Ennek örömére a ZAV próbaverziójával készített virtualizált csomagok is határidősek: készítésük napjától számítva 60 napig működőképesek.)
Bár az egy felhasználóhoz tartozó licenc ára elsőnek soknak tűnhet, ne feledjük, hogy annak a felhasználónak akármennyi programot virtualizálhatunk. A virtualizált programokkal aztán egy, a megszokottnál sokkal gyorsabb és kényelmesebb, ráadásul könnyen hordozható munkakörnyezetet teremthetünk.