Autor: Michal Pohorelsky
Uverejneno: CHIP 06/94, str. 142-143
Objekty v pohybu


Operacni system DOS se dnes pomalu pripravuje na ulohu exponatu v narodnim technickem muzeu. Po 12 letech "usilovneho" vyvoje u firmy Microsoft je jasne, ze puvodni koncepci DOSu 3.0 nelze kvuli zpetne kompatibilite podstatne vylepsit. Soucasna verze DOS 6.2 se vyznacuje pouze hromadou kosmetickych uprav (krome komprese DoubleSpace) a neprinasi nic noveho. V roce 1995 by mel vedle Windows 4.0 existovat i DOS 7.0, ale to bude zrejme tecka za jeho vyvojem.
Naproti tomu operacni system NeXTSTEP, jenz vznikl v roce 1989, byl pro uzivatele PC az do 10. unora 1993 pomerne malo znamy system, jenz pracoval pouze na pracovnich stanicich NeXT. Tehdy se rozhodl Steve Jobs a jeho tym prevest OS NeXTSTEP z prostredi procesoru Motorola 68040 na procesor Intel 486. NeXTSTEP 3.1 presto vyvolal okamzite obrovsky rozruch, protoze jeho objektove orientovana koncepce je neuveritelne komplexni. Uzivatelske prostredi je vynikajici a zcela prekryva prikazovou radku integrovaneho BSD UNIXu 4.3, ktery ma puvod na univerzite v Berkeley.
Po roce pusobeni na platforme INTEL je jiz jasne, ze NeXTSTEP se pocita mezi nejlepsi a nejprogresivnejsi operacni systemy, jake si clovek dnes muze poridit. Proto je potesujici, ze firma NEXT Computer Inc. predvedla na vystave CeBIT'94 v Hannoveru (16 az 23. brezna) NEXTSTEP 3.2 spolu s novou technologii PDO. Nasledne usporadala firma OASA Computers Ltd., jediny distributor OS NeXTSTEP v ceskych zemich, 30. 3. 1994 seminar na tema: NEXTSTEP - Operacni system vhodny pro vyvoj kritickych aplikaci.
Seminar zahajil, v 9 hodin rano, pan Ing. Peter Wojtovic, vedouci strediska SW sluzeb, ktery nese odpovednost za kompletni podporu systemu NeXTSTEP u nas. Pote pan Rainer Bernert, z pobocky NeXT Europe, posluchacum predstavil pomoci stredoevropske anglictiny s nemeckym prizvukem vsechny produkty firmy NEXT a zminil se vyvoji systemu NeXTSTEP od roku 89. Potom se nam az dokonce venoval pan Manavedra Thakur, zastupujici pobocku NEXTu ve Velke Britanii. Temer cely seminar byl veden v odborne anglictine.

Zmeny v NeXTSTEPu 3.2

NeXTSTEP 3.2 neprinasi zadne vyrazne novinky, avsak na procesoru Intel se nyni nabizi velke mnozstvi ovladacu pro procesorove sbernice (VL-BUS, EISA a PCI), pevne disky (IDE a SCSI), graficke karty (S3, ATI68800, Wingine, ET4000 a dalsi), zvukove karty (MS Sound System). U nekterych nastroju v NeXTSTEPu byla podstatne vylepsena jejich dokumentace a byly odstraneny zjistene anomalie systemu. Podle ocekavani se s NeXTSTEPem take dodava omezena verze emulatoru pro DOS a Windows 3.1 od Insignia Software. Vedle toho si jiz muzete koupit nabizene programy od nezavislych softwarovych firem. Ceny nabizenych aplikaci od tretich stran se pohybuji od 4 364 Kc do 288 764 Kc. U firmy OASA si muzete poridit nasledujici varianty NeXTSTEPu:

  1. Uzivatelske prostredi, jenz slouzi pouze ke spousteni nekterych nastroju OS a hotovych aplikaci (Runtime). Dodava se na CD-ROM s anglickou, francouzskou nebo nemeckou dokumentaci za 29 470 Kc.
  2. Programatorske prostredi, ktere obsahuje vsechny vyvojove nastroje a mnoho dalsich podpurnych utilit pro vytvareni, udrzovani a dalsi zdokonalovani aplikaci. Dodava se na CD-ROM s anglickou, fracouzskou nebo nemeckou dokumentaci za:

    • zavadeci cenu: 45 000 Kc (Promotion KIT)
    • pevnou cenu: 94 885 Kc

  3. Akademickou verzi programatorskeho prostredi - urceno skolam, ktera rovnez obsahuje vsechny vyvojove nastroje a utility za 11 295 Kc.
Pokud si prejete pracovat v ceskem prostredi, musite vydat dalsi penize:

Objektove orientovane programovani

I v prostredi DOSu existuji prostredky pro tvorbu objektove orientovanych aplikaci (treba Borland C++ 4.0), ale zakladnim problemem je spoluprace s ostatnimi aplikacemi. Vytvorit a odladit rozsahlou, uzivatelsky pritulnou, objektovou aplikaci je nepochybne kus kumstu, ale vyvojove tymy mohou pouzivat objekty pouze uvnitr vytvarene aplikace. Pritom snahy o integraci nekolika aplikaci od ruznych vyrobcu v pocitacove siti jsou stale silnejsi. Posilat objekty cizim aplikacim ve Windows NEJDE. A nic na tom nezmeni ani berlicky typu DDE nebo OLE 1.0. Z toho je zrejme proc cely softwarovy prumysl vola po objektove orientovanem systemu.
Dalsim podstatnym duvodem pro objekty je prirozena snaha jiz vytvorenou aplikaci dale vylepsovat a udrzovat, coz se relativne samostatnymi objekty jde neporovnatelne jednoduseji. Dukazem muze byt na seminari prezentovany graf, ktery zobrazoval mnozstvi programoveho kodu pro aplikace v prostredi Windows 3.1 a NeXTSTEP. Dobra aplikace (spreadsheet Lotus Improv) v NeXTSTEPu obsahuje v prumeru pouze 20 % kodu nutneho ve Windows ! Zacina byt zrejma krize tradicniho proceduralniho programovani, ktere se nemuze dale rozvijet.

Portable Distributed Objects

Prenosne distribuovane objekty (PDO) jsou novou unikatni technologii, ktera neni primo soucasti NeXTSTEPu 3.2. PDO je prvnim produktem, ktery dovoluje provozovat heterogenni klient/server aplikace zalozene na objektove technologii. NeXTSTEP aplikace, ktere se spolehaji na objektovou strukturu NeXTSTEPu (skladajici se z objektu obsahujicich data a specificke chovani) mohou komunikovat s cimkoliv jinym pres system zprav. Tato architektura nabizi vyjimecne dobre klient/server prostredi, jenz eliminuje nutnost neustaleho predelavani puvodni modelu, coz je vyzadovano pri pouzivani tradicniho strukturovaneho programovani. Objekty organizovane do bloku mohou byt provadeny na hardwaru klienta nebo ridiciho serveru, kdykoliv to vyzaduje spustena uloha. PDO uskutecnuje rozvinuti objektu serveru na pracovnich stanicich s odlisnym operacnim systemem (HP-UX 9.0) ! Tyto objekty mohou pouzivat rozmanite klient aplikace, pokud jsou data a centralni jadro probihajicich procesu umistene na vysoce vykonnem serveru.
PDO dale dovoluje rozsirit tuto strukturu o bezesvou objektovou strukturu NeXTSTEPu, kterou pouzivaji vyvojovy programatori pro lokalni i distribuovane objekty. Vyvojari NeXTSTEP aplikaci se nemusi ucit nic noveho, ponevadz PDO nastroje a objektove knihovny jsou podmnozinou stavajicich nastroju a knihoven NeXTSTEPu. Detaily sitove komunikace nejsou vubec dulezite, protoze PDO obsahuje nizkourovnove protokoly a vytvareni zprav pro lokalni klient objekty. Technologie PDO se sklada z nasledujicich komponent:

  1. Objective C
    Ma mnoho vlastnosti SmallTalku s vykonnosti Cecka. Objektove C nabizi moznost dynamickeho vytvareni programu, coz je podstatne pri programovani flexibilniho GUI a distribuovanych zprav pro jiny pocitac v ramci pocitacove site. Rozsirene vyhody objektu v distribuovanem pocitacovem prostredi dovoluji aplikacim zasilat zpravy jinym aplikacim v siti. To prinasi moznost ridit udalostmi celou pocitacovou sit. Zdrojovy kod programu je automaticky optimalizovan a ulozen v proveditelnem formatu. Objective C je zalozeno na GCC verze 2.4 od firmy Free Software Foundation Inc.
  2. ANSI C
    Prumyslovy standart ANSI C je zarazen pouze kvuli zpetne kompatibilite.
  3. GDB Debugger
    Umoznuje ladit optimalizovany kod s pomoci prerusovacich bodu. GDB Debugger je plne integrovan s editorem EDIT a Project Builderem vcetne podpory mysi pri nastavovani prerusovacich bodu, zkusebnich dat, zastavovani a spousteni programu a pri dalsich ladicich operacich.
  4. Objekty jadra NeXTSTEPu
    API, ktere je soucasti vsech NeXTSTEP aplikaci. Objekty jadra poskytuji strukturu pro ovladani datovych struktur, jenz jsou bezne ve vetsine aplikaci. Muzeme vyuzivat vsechny objekty a jejich chovani lze libovolne modifikovat nebo rozsirovat pomoci dodatecnych podtrid v jazyku Objective C.
  5. Distribuovane objekty NeXTSTEPu
    Objekty vysoke urovne, ktere maji v sobe zapouzdreny detaily sitovych protokolu, dovoluji distribuci procesu, sdileni objektovych sluzeb a komunikaci mezi aplikacemi (viz predchozi text).
  6. DOEventLoop
    Koordinuje vicenasobne vstupy a oznamuje ovladacum, kde jsou dostupna data pro cteni, pokud na portu ceka zprava jadra MACH. DOEventLoop je objekt vytvarejici strukturu pro textove orientovane aplikace na serveru.
  7. Prenosny nmserver
    Dovoluje transparentni komunikaci pres TCP/IP s dalsimi implementacemi nmserveru bez nutnosti dodatecne instalovat software na strane klienta. Objektum pracujicim na siti poskytuje moznost vyhledavani jednoduchych jmen v servisni databazi.
  8. NeXTSTEP souborove funkce
    Poskytuji transparentni nezavisly pristup k puvodnimu souborovym systemum. Jedna se o API vybavene pro cteni, zapisovani a modifikovani proudu dat nezavisle na puvodnich souborech, obsahu pameti apod.
  9. NeXTSTEP Zone malloc
    Jde o flexibilni zpravu pameti pomoci funkci obsazujicich pamet podle prani programatora.
  10. Prenosny BuildServer
    Nabizi vyvojarum Project Builder, ktery dovoluje vytvaret PDO objekty na cilove platforme. Project Builder slouzi k vytvareni, ladeni a udrzovani projektu aplikace. Udrzuje vsechny soubory a zdroje spojene s aplikaci. Project Builder dovede sam pripravit zakladni rozhrani, ktere je potom spolecne vetsine aplikaci. Generuje i Makefile, coz je velmi silny nastroj pro zpravu projektu. Kdyz se pri kompilaci projektu objevi chyba, kriticka cast kodu se okamzite prenese do integrovaneho editoru EDIT, kde chybu opravime.
  11. System nastaveni NeXTSTEPu
    Nastavuje funkce a programy pro cteni a zapis standartnich nastaveni uzivatele pro NeXTSTEP i hostitelsky operacni system.
PDO verze 1.0 vyzaduje NeXTSTEP 3.1 nebo vyssi. U firmy OASA si muzete poridit nasledujici varianty technologie PDO verze 1.0 na CD-ROM:
  1. PDO pro HP-UX 9.0, HP Server Mod. 715 nebo 725 - 78 300 Kc
  2. PDO pro HP-UX 9.0, HP Server Mod. 735 nebo 755 - 155 800 Kc
  3. PDO pro HP-UX 9.0, HP Server Mod. 890 /1,2,3,4 - 310 800 Kc

Zaver

Samotny NeXTSTEP 3.2 nic prevratneho neprinesl. Technologie PDO 1.0 je vsak novy revolucni prvek v pocitacovem svete. Bill Gates bude muset vyvinout nadlidske usili, pokud se rozhodne dohnat naskok firmy NEXT Computers Inc. v objektove technologii. PDO zatim umi spolupracovat pouze se systemem Hewlett Packard, ale ocekava se brzy napojeni i na pracovni stanice SUN, popripade Digital Alpha. Nechme se proto vyvojem udalosti prekvapit...




Skok na dalsi stranku Skok na hlavni menu Skok na dalsi stranku


Copyright (c) 1993-2000 Michal Pohorelsky