NeXTSTEP - útban Mecca felé

Kovács László, Micsik András (MTA SZTAKI)

Az 1985-ben alapított NeXT Computer Inc. legújabb lépése "Mecca" (a NeXTSTEP 4.0-ás változata) felé irányul. A világszerte csodált fekete munkaállomásairól (NeXTStation, NeXTCube), objektum- orientált szoftver technológiájáról és a felhasználók által pillanatok alatt megkedvelt grafikus felületérõl nevezetes számítástechnikai cég 1993 óta már csak szoftvert készít. E kis cég ma az egyik domináns szereplõje a világ 32-bites operációs rendszerei versenyének, és átgondolt fejlesztési stratégiával igyekszik a NeXTSTEP méltán dicsért objektum-orientált technológiájából adódó elõnyeit kamatoztatni. Steve Jobs, a NeXT elnök-vezetõje szerint a cégnek alapvetõ küldetése az, hogy választási lehetõséget teremtsen a vállalati rendszerek piacán a Microsoft ellenében és kulcspoziciót szerezzen az objektum- orientált szoftver technológiai forradalomban.

A NeXTSTEP 3.2 operációs és szoftver fejlesztõ rendszer futtatása már nemcsak az eredeti NeXTStation-ök kizárólagos privilégiuma, hiszen NeXTSTEP rendszer több mint egy éve INTEL 486 és Pentium alapú PC-ken is elérhetõ, és folyamatban van az átültetése HP és Sun munkaállomásokra is. A PDO (Portable Distributed Objects) nevû NeXT termék NeXTSTEP objektumok futtatását oldja meg központi szervereken, így a számításigényes objektumok a PC-krõl, munkaállomásokról kihelyezhetõek szerverekre, amellyel már nagyobb igényeknek megfelelõ számítási kapacitás is elérhetõ. PDO elsõként HP 9000 szerverekhez jelent meg, ezt fogja követni a SunOS, a Solaris és az OSF/1 verzió.

A hardver platformok kiterjesztése mellett folyamatos a szoftverfejlesztés is. A NeXTSTEP rendszer részeként szállított legújabb alkalmazások között van PhotoCD olvasó, NeXTIME márkanevû videólejátszó szoftver és multimédia levelezõ eszköz (NeXT Mail), amely hamarosan MIME kompatibilissé válik. A NeXT a heterogén rendszerek területén a CORBA és az OSF DCE technológiákat kívánja a jövõben támogatni. Ezzel egyidejûleg a NeXTSTEP szoftver technológiájának nyitottá tételét szolgálja az OpenStep specifikáció publikálása. Az OpenStep tulajdonképpen egy operációs rendszertõl független objektum-orientált programozási interfész (API), mely a NeXTSTEP rendszer magasszintû interfészeinek módosított, javított változatát jelenti. Az OpenStep specifikációnak megfelelõ rendszerek ingyen megkaphatják az OpenStep védjegyet. Az eddigi nyilatkozatok alapján Solaris és DEC OSF/1 rendszerekre várható az OpenStep felület elsõ megjelenése.

NeXTSTEP használat közben


A NeXTSTEP felhasználói felület

1. Ábra (1120x832 GIF 16 szürke árnyalattal, 53 Kbájt)

A képernyõn látható elemek: az aktív alkalmazás fõmenüje és egy letépett almenü, két Inspector panel, az AppDock, a File Viewer, a konzol és a futó alkalmazások ikonjai. A File Viewer-ben egy másolás történik éppen drag-and-drop módszerrel.


A NeXTSTEP felhasználói felületén a rendszeres tevékenységeket szemléletesen, a felhasználó számára könnyen követhetõen és többnyire egyszerûen lehet elvégezni. A fájlok másolása, törlése, linkelése drag-and-drop mûveletekkel végezhetõ. A File Viewer "polcán" (felsõ ablak mezõ) és a jobb oldalt húzódó Appdock-on "karnyújtásnyira" tarthatjuk a gyakran használt alkalmazásokat, fájlokat. A beállítástól függõen a fájlrendszerben tárolt állományainkat Unix listával vagy ikonokkal jeleníthetjük meg. Az ikonra duplán rákattintva elindul az állományhoz automatikusan rendelt alkalmazás, például egy szövegszerkesztõ, és általa láthatóvá válik az állomány tartalma.

A képernyõ bal felsõ sarkában látható az aktív (a felhasználói input-ot közvetlenül fogadó) alkalmazás fõmenüje (mely bárhol megjeleníthetõ a jobb egérgomb segítségével is). A fõmenürõl az almenüket leszakíthatjuk, és tetszés szerint helyezhetjük el a képernyõn. A futó alkalmazásokat megjelenítõ ikonok az alkalmazás aktiválására, vagy drag-and-drop célpontként használhatóak. Az alkalmazások a fõ megjelenítõ ablakok mellett gyakran használnak kisebb paneleket (inspectors), amelyekben a fõ ablakban kiválasztott elem paramétereit megváltoztatva, az eredmény azonnal láthatóvá válik. A NeXTSTEP felhasználói felülete egy a Macintosh-hoz, illetve Windows-hoz képest ergonómialilag és esztétikailag továbbfejlesztett ablakos grafikus felület, mely általában gyorsan elnyeri a felhasználók megbecsülését.


A Diagram! nevû grafikus szerkesztõ program futás közben

2. Ábra (1120x832 GIF 16 szürke árnyalattal, 53 Kbájt)

A palettáról lehet a grafikai elemeket a lapra húzni, az Inspector ablakban (Sound Inspector) pedig a tulajdonságaikat beállítani.


NeXTSTEP környezetben az alkalmazások háromféle módon tudnak egymással kommunikálni. A klasszikus "cut- copy-paste" paradigma mellett az alkalmazások szolgáltatásokat (eljárásokat) ajánlhatnak fel egymásnak. A felajánlásokat a rendszer automatikusan nyilvántartja és kezeli. Egy alkalmazás indításakor automatikusan értesül a más alkalmazások által felajánlott szolgáltatásokról, és azok az alkalmazás saját Services menüjében indítás után feltûnnek. A Services menü használatával például tetszõleges ablakban kiválasztott szót megkereshetünk az online szótárban (Digital Webster) anélkül, hogy a szótár alkalmazást explicit módon el kellene indítanunk, az alkalmazás indításáról és a kiválasztott szó (mint adatparaméter) alkalmazások közötti átadásáról a rendszer maga gondoskodik. A harmadik fajta alkalmazásközi kommunikáció az objektum linkelés (object linking). Ez esetben a "paste-and-link" mûvelet egy folyamatosan élõ kapcsolatot hoz létre a forrásalkalmazás és a célalkalmazás között. Az objektumon a forrásalkalmazással végzett minden mûvelet eredménye megjelenik a célalkalmazásban is.

A NeXTSTEP operációs rendszer

Az operációs rendszer Mach kernelre épül, amely a Carnegie Mellon University vers. 2.5 Mach-jának adaptálása és bõvítése. Szolgáltatásai: virtuális memória kezelés, process-ek és azon belül thread-ek felügyelete, process-ek közötti kommunikáció. A rendszer következõ szintje a BSD 4.3 UNIX emuláció, a megszokott démonokkal, segédprogramokkal, fájlrendszerrel és parancsértelmezõvel. Bár a Mach kernelben is megjelennek már objektumok, a grafikus alkalmazói felület az, amely egy teljes objektum-orientált rendszert alkot. A programozási nyelv Objective-C, a felhasználható objektumokat (osztályhierarchiákat) ún. Kit-ekbe csoportosították. Kit-ek készültek hangmanipulációhoz (Sound Kit), zeneszintézishez (Music Kit), 3 dimenziós megjelenítéshez (RenderMan), adatbáziskezeléshez (DataBase Kit), eszközmeghajtó készítés megkönnyítéséhez (Driver Kit) stb. A képernyõ megjelenítõ nyelve a Display Postscript. A rendszer hálózati integrációja TCP/IP, NetWare, AppleShare és Sun NFS protokollokkal oldható meg. Közös hálózatban a NeXTSTEP rendszerek a felhasználó számára egyformán kezelik a helyi és távoli objektumokat, amely az alkalmazások hálózati megosztását nagyon megkönnyíti (Distributed Objects).

Nem hagyhatjuk ki a NeXTSTEP fejlesztõ rendszerét az ismertetésbõl, amelyet a világon egyedülállóan egyszerûen kezelhetõnek és produktívnak mondanak. Ezen a platformon az alkalmazás fejlesztés objektum-orientált módon történik, vizuális progamozási eszközök (Interface Builder, Project Builder) igénybevételével. Az alkalmazások felhasználói interfészét a képernyõn grafikus formában tervezhetjük meg, az interfészek szokásos objektumaiból építkezve (ablak, panel, nyomógomb, tolóka, input mezõ stb.). Az objektumok közötti metódushívások is vizuálisan kezelhetõk. Az így létrehozott felhasználói interfészt az érdemi programrészt leíró C, C++, Objective C nyelvû programokkal összedolgozva készülnek el az alkalmazások. Mindez jelentõsen lecsökkenti a programozás idejét és a rendszerkészítés inkább építõkövekbõl való architektúra létrehozáshoz, mintsem a klasszikus programozáshoz hasonlítható, hiszen már a fejlesztõ rendszerrel gondosan tervezett, multimédia információt kezelõ osztályhierarchiákat kapunk, melyekhez nagyszámú kiegészítõ osztályhierarchia és objektum készlet vásárolható meg. A rendszer által generált (ún. kövér, "FAT") kód Multiple Architecture Binary (MAB) formátumú, amely az eredeti NeXT gépeken, PC-ken és HP munkaállomásokon egyaránt futtatható mindennemû változtatás nélkül.

A vásárló szemével

A NeXTSTEP for Intel erõforrásigénye nagy, és attól függõen, hogy színes vagy fekete-fehér monitorral akarjuk használni, 16 illetve 8 MB memória legalább szükséges (a 32 illetve 16 MB ajánlott). A merevlemez és a CD-ROM SCSI rendszerû kell legyen, a videó, hang és hálózati hardver esetében pedig a cég által támogatott eszközök listájáról kell választanunk. Szerencsére a DEC, a Dell, a HP és még számos cég maga is összeállít NeXTSTEP futtatására alkalmas konfigurációkat.

A számítógép és a NeXTSTEP felhasználói rendszer beszerzése után azonban már egy használható multimédia-irodai környezetet birtokolunk, amely hálózatba integrálható, alkalmas fax, hang és (8-16-32 bites) grafika kezelésére, tartalmaz multimédia levelezõ, indexelõ-visszakeresõ, szövegszerkesztõ, terminálemulációs szoftvereket, Digital Webster szótárat, teljes TeX DTP rendszert és még más kényelmi szolgáltatásokat.

Az alkalmazások tekintetében széles választási lehetõségünk van. Többféle dokumentumszerkesztõ, grafikus és spreadsheet alkalmazás kapható. A NeXTSTEP-en futtatható nevesebb termékek között van a FrameMaker, Mathematica, WordPerfect, Lotus Improv és az Adobe Illustrator. Van DOS/MS Windows, X Windows és Macintosh emulátor. A hálózati alkalmazások (FTP, Archie, Gopher, WorldWideWeb) és más jól használható programok pedig freeware-ként is megtalálhatóak.

A NeXTSTEP népszerûsége a felhasználók körében gyors ütemben növekszik, számos helyi és országos felhasználói csoport létezik, így Magyarországon is a HuNuG (Hungarian NeXTSTEP Users Group). A világon az év végéig eladott Intel processzoros hardveren futó NeXTSTEP rendszerek számát 100.000-re prognosztizálják. Jelenleg az Egyesült Államokban van a legnagyobb installált bázis, egyetemeken, kormányhivatalokban, valamint a pénzügyi, kommunikációs és egészségügyi szektorokban.

A NeXTSTEP következõ verziói (3.3, 3.4, stb.) után, 1996-ra ígérik az igazán nagy ugrást, a Mecca rendszert (NeXTSTEP 4.0 verzió), amely teljesebben fogja alkalmazni az objektum- orientált technológiát az egész rendszeren keresztül. A klasszikus fájl fogalom eltûnésével a fájlrendszert perzisztens (élettartam szabályozott) objektumok tárolója fogja felváltani. A Mecca rendszer az operációs rendszerektõl való függetlenséget ígér, továbbfejleszti a bevált osztályhierarchiát és az objektum megosztási mechanizmust (Distributed Objects) is. "Miért állnánk meg Cairo-nál?" mondta Steve Jobs utalva a versenyre a Microsoft és a NeXT között az objektum-orientált operációs rendszerek területén.

Megjelent az Infopen magazin 1994 augusztus-szeptemberi számában.