3. Java

Amíg a VRML(Virtual Reality Modelling Language, azaz virtuális valóság modellezô nyelv) bonyolult kölcsönhatást tesz lehetôvé háromdimenziós molekulák és más dokumentumok között, addig a VRML objektumoknak nincsen kémiai jelentésük, azaz nem végezhetünk rajtuk molekuláris szempontból értelmes műveleteket. A VRML jelenlegi verziójával (1.0) nem lehetséges, pcldául átkapcsolni egy molekula vonalas váz megjelenítésérôl térkitöltö megjelenítésre, mivel a kötés vektorok és az atomgömbök a VRML-ben nem összetartozó objektumok. Ahhoz, hogy ez lehetséges legyen szükség van egy mechanizmusra, ami dinamikusan generálja a megfelelô objektumot. Ebben vonatkozásban visszajutottunk a specifikus kódok használatához, mint amilyen a RasMol. Annak érdekében, hogy az adatokat, műveleteket és mutatókat egységesen kezelhessük, egy új, nemrég bevezetett és Java-nak keresztelt, programozási környezetben kell dolgoznunk.

A Java a Sun Microsystems [9] által kidolgozott objektum-orientált programozási nyelv, melynek alapja a C++. Az újdonság az, hogy a Java alkalmazások megnyithatnak és elérhetnek objektumokat a hálózaton a URL-eken keresztül. Ez az a kulcs, amely lehetôvé teszi, a megjelenítő program, a megjelenített adat (pl. egy pdb file) és a mutató egyetlen alkalmazásba (vagy másnéven "applet"-ba) való építését, amelyet a felhasználó letölt a saját számítógépére, amikor a megfelelô hiperlink aktivizálódik. Az alkalmazás a HTML dokumentum fô részébe van helyezve, így a molekulák közvetlenül megjeleníthetôk az oldalon. Mivel a binaris objekt könyvtár osztott, az alkalmazás képes behívni bármilyen komponenst, amire szükség lehet az olyan adatok megjelenítésében, amelyek még nem kerültek az adott gépre a hálózatról. Ily módon az adatok olvasására és megjelenítésére a lokálisan rezidens alkalmazások (pl. RasMol) szükségtelenné válnak. Ez nagyon megkönnyíti a felhasználó életét. Továbbá, két vagy több Java alkalmazás között kölcsönös kommunikációt állíthatunk be. Igy például a 2 dimenziós NMR spektrum asszociálható a megfelelô molekula 3 dimenziós forgatható modelljével, a megfelelô atomok kiemelésével. A forgatható kép generálható mind az éppen használt alkalmazásban - mint pl. a RasMol [10] - talált kód típus kis alkészletébôl, vagy a Java alkamazás használható a lényeges információ VRML-be történô kódolásával. Ez utóbbit használta nagyon hatásosan Horst Vollhardt Darmstadt-ban, amikor molekuladinamikai szimulációval kapott molekula-vázakat szerkesztett újra VRML file-okba további vizsgálat céljából.

A Java-t hálózaton keresztüli használatra tervezték. Az a tény, hogy az objektum könyvtár komponensei terjeszthetők, azt jelenti, hogy amikor egy alkalmazást behívunk, futtatható kódot letöltjük - az potenciálisan ki van téve vírusfertôzésnek. Ez komoly biztonsági probléma lehet, annak ellenére, hogy a nyelvet úgy tervezték, hogy egy alkalmazásnak lehetetlen legyen elérnie olyan adatszerkezeteket, amelyek nem hozzá tartoznak. Egy másik fontos szempont, hogy az Internet nem homogén, hanem változatos hardver platformokból áll amelyek különféle operációs rendszert használnak. A megjelenitő program "röptében" értelmezi a Java kódot, de mivel a megjelenítés hardver független, nagy adathalmazokat, pl. fehérje szerkezeteket, sajnos elég lassan jeleníti meg. Mindezek ellenére, az elônyök túlsúlyban vannak a hátrányokkal szemben és gyorsabb hálózatokkal, gyorsabb gépekkel a szétszort molekuláris adatok összekapcsolt megjelnítésének jövôbeli lehetőségei jól láthatók.

[Line]

JAVA
4. Ábra Egy Java alkalmazás által létrehozott ablak, letöltve a felhasználó gépére. Ha WWW megjelenítô programja támogatja a Java-t, egy molekulát kell látnia az ablakban és azt forgathatja az egérrel. Ha a böngészô nem "Java-képes", egy álló kép jelenik meg.