Arról írok, hogy mi is az a Live Mesh. Előszöris arról, hogy mit hisznek róla az emberek. Magamból indulok ki, csak nemrég jöttem rá, hogy nem látom a fáktól az erdőt. Írt róla a Webisztán, de attól anno nem lettem okosabb. Az írás egy része arról szól, hogy a Live Mesh az utolsó hajszál, amibe a Microsoft kapaszkodhat, ha nem akar elkerülhetetlenül a süllyesztőbe kerülni. Aztán a részben-zárt béta rendszerrel van a baj. A lényeget csak másfél mondatban említi, amit senki nem jegyzett meg, én is csak most a cikkre visszatérve vettem észre, hogy ott van.
Ami azonban igazán érdekessé teszi a szolgáltatást, hogy a Mesh nem csupán adatszinkronizáló szoftverként, hanem önálló platformként viselkedik. Vagyis sokkal összetettebb “eszközközi” feladatok elvégzésére is képes.
Most utólag azt mondom, hogy ez egy remek kis fejtörő: Nem csupán olyan, mint a linkelt FolderShare? Platform? Milyen platform? Mi az, hogy platform? Milyen összetettebb feladatok? Hogy menti ez meg a süllyedő hajót?
Ha előtte még nem hallottunk a szolgáltatásról, akkor a cikkből (meg majdnem az összes többi cikkből is) csak az derül ki, hogy ez csupán egy egyszerű fájlmegosztó szolgáltatás. Lehet a fájljainkat a számítógépeink és az okostelefonunk közt szinkronizálni. Az előbbi bekezdés kérdései megválaszolatlanok maradnak. Máshol aztán mégcsak nem is érintik a lényeget, mint itt a platformmal.
Eddig én is csak egy FolderShare-szerű dolognak tartottam. Fájlokat szinkronizál oszt kész. Megvan? Felejtsétek el. Nem. Vonatkoztassatok el a fájloktól. Ez egy olyan rendszer – a Mesh: szita, háló – ami bármilyen adatot tud szinkronizálni, többféle módon. Arra, hogy mit szinkronizál a fájlok csak példák. Ez a leglogikusabb felhasználási mód, de csak egy példa. A program, ami szinkronizál szintén lehet bármi. A Live Mesh csak egy példa, ami éppenséggel fájlokat szinkronizál.
A Mesh maga (Mesh magában, sans Live), szóval a Mesh a platform, amit Hírbehozó említett. Platform alatt azt kell érteni, hogy bármelyik programozó építkezhet rá. Építkezhet rá, mint ahogy ma Windowsra meg OS X-re építkeznek. Felhasználhatja, mint egy program részét. Esetünkben bármelyik programozó felhasználhatja a Mesht, hogy programjának adatait gépek közt szinkronizálhassa. Pár példa… Egy böngészőben mondjuk a kedvenceket, a sütiket lehet szinkronizálnom a gépeim közt, így tökmindegy melyik számítógépemnél ülök. Vagy lehet kollaborálni. (Hülye szó.) Együttdolgozni. Majdhogynem webkettő.
Van a Microsoft Channel 9 honlapján egy videó, azt végignézve jöttem rá a dolog lényegére. Ori Amiga, az egyik fejlesztő magyarázza el a dolgot programozói szemszögből. Ha van egy órád (igen; hosszan magyaráz), nézd meg; többet ér, mintha csak az én írásom olvasnád el.
http://channel9.msdn.com/posts/Dan/399153/player/
Ori Amiga: Programming the Mesh
Van egy PR-videó is ami sokkal rövidebb, de annak egyrészt a megtekintésével problémáim voltak (Internet Explorer; se veled, se nélküled), másrészt nem is olyan jó, mint az eredeti. Mindenestre: Live Mesh Tech Preview Tour, de csak ha kevés az időd.
Ha megnézted, ha nem, most összefoglalom a lényegét. Ez tényleg egy platform. Platformfüggetlen platform. Hülyén hangzik; azt jelenti, hogy szinte bármilyen programozó felhasználhatja a Mesh képességeit a programjában. Legyen az a program Windowson, Macen, Linuxon, mobilon vagy éppen a weben. A platform egy feed-szerű (hírcsatornaszerű) szabványra épít. FeedSync a neve, lehet róla bővebben olvasni. Az adatokat úgy szinkronizálja, mintha mindegyik kliens épp egy RSS/Atom-hírcsatornát olvasna. Ez a hírcsatorna is lehet több formátumú (RSS, Atom, JSON, de még jöhetnek továbbiak). Decentralizált a rendszer, ennek több előnye is van. Nem kell a Microsoftnak rendelkeznie az adataiddal. P2P-szerűen (közvetlenül a számítógépek között, mint a torrentek) lehet frissíteni az adatokat, nem központi szerveren keresztül, így minden bizonnyal gyorsabb a szolgáltatás, és elméletileg bármennyi adatot megoszthatunk, ingyér.
A programozó dolgának megkönnyítése elsődleges szempont volt, hál’ istennek. Ma, ha egy programunk adatait szinkronizálni akarjuk, akkor egy igen bonyolult rendszert kell építenünk, ami a szinkronizálást és ennek a járulékos problémát (offline elérhetőség, konfliktuskezelés, hálózati összeköttetések, hitelesítés, stb.) kezeli. A Mesh ezt próbálja meg kiváltani azzal, hogy a programozónak csak azt kell megmondania, mit akar szinkronizálni. Ez nekem elég straightforwardnak tűnik.
Na és, hogy ez milyen programokat tesz lehetővé? Előszöris a már ismertek. A fájlszinkronizálós-kollaborálós. Aztán a másik nyilvánvaló, a szinkronizálom-a-bármilyen-programom-beállításait-a-gépeim-között kategória, mint pl. böngésző előzmények-kedvencek stb. Aztán? Bármi ami több számítógépet igényel. Ezeknek a programoknak a lelke, hogy össze tudjanak dolgozni, amit végsősoron az adatok szinkronizálásával lehet elérni. Gondolok itt például egy Nagyon Nagy Prímszámolóra. Sok számítógépen fut egyszerre, és mindegyik kliens mondjuk 10 000 000 számon fut végig prímeket keresve. A Mesh segítségével szinkronizálják, hogy ki melyik 10M számot ellenőrzi, és hogy milyen prímeket találtak eddig… Írhatnék annak a bizonyos jéghegynek a csúcsáról; a lehetőségek száma igen nagy.
Aki eddig nem unta meg az írásom és nagyon keménynek hiszi magát, az megnézheti a Live Mesh hivatalos blogját. Azon belül ajánlott szakirodalom a Live Mesh as a Platform. Meg lehet nézni a Mesh alapjául szolgáló FeedSync architektúráját. Hardcore olvasók elemezhetik az Atom/RSS+FeedSync szabványleírását és a további Channel 9 videókat a témáról.
A bejegyzés elején szereplő kép © Steve Clayton és/vagy Microsoft.