Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Názor k článku
Bitva operačních systémů má skončit jejich pádem

Antonin Hildebrand
30. 9. 2008 16:32

WebOS je hlavne o automaticke instalaci a izolaci aplikaci

celé vlákno
Panove, kteri se tu pozastavuji nebo dokonce rozciluji nad tim, ze web aplikace nikdy nemuzou svymi funkcemi nahradit tvrde OS aplikace jsou mi k smichu. To ze dnes webova aplikace nemuze bezet nativni kod a vyuzivat "rich" sluzby OS je pravda, ale bude to tak i v budoucnu? Co je to webova aplikace? To nemusi byt kus pomaleho crappy javascriptu, ktery nekde obarvuje nejake HTML elementy. Web aplikace muze byt plnohodnotny kod, ktery funguje nad sluzbami nejakeho rich frameworku, obdobne jako "EXE" je (nativni) kod, ktery funguje nad sluzbami OS. Je to jen otazka terminologie a trochu te predstavivosti.

Zakladni vlastnosti weboveho prohlizece je poskytnout technologii pro zobrazeni weboveho obsahu. Dulezite pri tom je, aby tato technologie byla dukladne odstinena od operacniho systemu (bezpecnost), protoze uzivatel muze potencionalne brouzdat v nebezpecnem prostredi.

Soucasnou hlavni technologii je open stack javascript+html+css. Ale neni jedina. Java applety byl pokus jak poskytnout javovy runtime. Adobe poskytuje Flash/Flex runtime. Microsoft se ted snazi prijit se svym .NET frameworkem v podobe SilverLightu. A kdo dnes vi co prijde v budoucnu?

Kazda tato technologie musi resit dve otazky:
1. jak odstinit bezici webovou stranku (aplikaci) od OS a ostatnich aplikaci
2. jak naopak povolit bezpecnou komunikaci aplikace versus OS a aplikace versus aplikace

Bod 1 byl v minulosti neuralgickym bodem temer vsech implementaci prohlizecu a pluginu na vetsine platforem. To vedlo k paranoie. Webova aplikace nesmi mit pristup k disku (local storage), webova aplikace nesmi mit primy pristup ke clipboardu, webova aplikace nesmi nic vedet o ostatnich aplikacich v OS, atd.

Bod 2 temer nikdo neresil, protoze na to implementatori browseru zkratka nemeli koule. Cest jedine vyjimce a tou je flash (prave proto se dnes pres flash musi delat tolik hacku, aby se webova aplikace vic priblizila desktopu, protoze je to jedina mozna cesta).

---

Predstavte si na chvili, ze za 10 let bude bezna sirka pasma 100MB/s a cena bude blizka nule. Ceny dnesniho vypocetniho vykonu a prostoru budou take marginalni.

Prestavte si, ze prijde nova webova technologie, ktera poskytne bohatou multiplatformi technologii pro tvorbu a beh aplikaci, ktera bude podobna treba dnesnimu .NET frameworku (nebo dosadte vasi oblibenou).

Zatimco dnesni pristup je:
1. stahnu instalator
2. apliakci verim, takze ji nainstaluji do OS (a dam ji fakticky prava s nim delat cokoliv)
3. aplikaci pouzivam
4. aplikaci odinstaluju

Budouci pristup bude
1. navstivim stranku s aplikaci
2. aplikace se sama stahne a nainstaluje do noveho "sandboxu"
3. aplikaci pouzivam, pokud chce aplikace nejakou sluzbu po OS nebo od jine aplikace v OS, tak tuto aktivitu musim jako uzivatel povolit
4. aplikace se muze s celym sandboxem odinstalovat sama, pokud ji treba mesic nepouzivam (to neni zadna tragedie, data mohou byt ulozena nekde v cloudu)

Co je to ten sandbox?
To je zivotni prostor pro aplikaci izolovany od zbytku vesmiru. Nicmene mohou existovat uzivatelem kontrolovatelne kanaly, jak muze tento sandbox interreagovat s okolim.

Jak se da tento sandbox implementovat?
1. tak jako doted, browser je sandbox (flash runtime je sandbox, apod.), tady je obrovska nevyhoda, ze browser je normalni aplikace na urovni OS a jakakoliv bezpecnostni chyba v ramci browseru muze znamenat kompromitaci OS.
2. na urovni OS, tzn. OS sam umi vytvaret izolovane prostory a jejich management (=WebOS)
3. na urovni virtualniho stroje: "pro kazdy sandbox vytvorim novy box s cistymi windows a aplikaci do nej automaticky nainstaluji", dale poskytnu na urovni hostujiciho operacniho systemu neco co bude agregovat desktopy vsech sandboxu, jejich filesystemy a dalsi komponenty.

Bod 3 neni zadna science fiction, podobne mechanismy ma dnes jak VMWare (Unity mode), tak Parallels (Seamless mode).

S takovou technologii neni pak vubec problem bezet webove aplikace, ktere jsou stejne komplexni jako dnesni CAD systemy.

A co s dnesnimi windows(OSX,*nix) a vsemi temi aplikacemi pro ne? Windows budou v budoucnu bezet jako jeden z tech sandboxu. A uzivatel nemusi ani nic poznat. Vsechny stare tvrde aplikace, budou automaticky instalovany do tohoto "bordel sandboxu".