Autor: Michal Poho°elsk² Uve°ejn∞no: CHIP 06/94, str. 142-143 Objekty v pohybu
OperaΦnφ systΘm DOS se dnes pomalu p°ipravuje na ·lohu exponßtu v nßrodnφm technickΘm muzeu. Po 12 letech "usilovnΘho" v²voje u firmy Microsoft je jasnΘ, ₧e p∙vodnφ koncepci DOSu 3.0 nelze kv∙li zp∞tnΘ kompatibilit∞ podstatn∞ vylepÜit. SouΦasnß verze DOS 6.2 se vyznaΦuje pouze hromadou kosmetick²ch ·prav (krom∞ komprese DoubleSpace) a nep°inßÜφ nic novΘho. V roce 1995 by m∞l vedle Windows 4.0 existovat i DOS 7.0, ale to bude z°ejm∞ teΦka za jeho v²vojem.
Naproti tomu operaΦnφ systΘm NeXTSTEP, jen₧ vznikl v roce 1989, byl pro u₧ivatele PC a₧ do 10. ·nora 1993 pom∞rn∞ mßlo znßm² systΘm, jen₧ pracoval pouze na pracovnφch stanicφch NeXT. Tehdy se rozhodl Steve Jobs a jeho t²m p°evΘst OS NeXTSTEP z prost°edφ procesoru Motorola 68040 na procesor Intel 486. NeXTSTEP 3.1 p°esto vyvolal okam₧it∞ obrovsk² rozruch, proto₧e jeho objektov∞ orientovanß koncepce je neuv∞°iteln∞ komplexnφ. U₧ivatelskΘ prost°edφ je vynikajφcφ a zcela p°ekr²vß p°φkazovou °ßdku integrovanΘho BSD UNIXu 4.3, kter² mß p∙vod na univerzit∞ v Berkeley.
Po roce p∙sobenφ na platform∞ INTEL je ji₧ jasnΘ, ₧e NeXTSTEP se poΦφtß mezi nejlepÜφ a nejprogresivn∞jÜφ operaΦnφ systΘmy, jakΘ si Φlov∞k dnes m∙₧e po°φdit. Proto je pot∞Üujφcφ, ₧e firma NEXT Computer Inc. p°edvedla na v²stav∞ CeBIT'94 v Hannoveru (16 a₧ 23. b°ezna) NEXTSTEP 3.2 spolu s novou technologiφ PDO. Nßsledn∞ uspo°ßdala firma OASA Computers Ltd., jedin² distributor OS NeXTSTEP v Φesk²ch zemφch, 30. 3. 1994 seminß° na tΘma: NEXTSTEP - OperaΦnφ systΘm vhodn² pro v²voj kritick²ch aplikacφ.
Seminß° zahßjil, v 9 hodin rßno, pan Ing. Peter WojtoviΦ, vedoucφ st°ediska SW slu₧eb, kter² nese odpov∞dnost za kompletnφ podporu systΘmu NeXTSTEP u nßs. PotΘ pan Rainer Bernert, z poboΦky NeXT Europe, posluchaΦ∙m p°edstavil pomocφ st°edoevropskΘ angliΦtiny s n∞meck²m p°φzvukem vÜechny produkty firmy NEXT a zmφnil se v²voji systΘmu NeXTSTEP od roku 89. Potom se nßm a₧ dokonce v∞noval pan Manavedra Thakur, zastupujφcφ poboΦku NEXTu ve VelkΘ Britßnii. TΘm∞° cel² seminß° byl veden v odbornΘ angliΦtin∞.
Zm∞ny v NeXTSTEPu 3.2
NeXTSTEP 3.2 nep°inßÜφ ₧ßdnΘ v²raznΘ novinky, avÜak na procesoru Intel se nynφ nabφzφ velkΘ mno₧stvφ ovladaΦ∙ pro procesorovΘ sb∞rnice (VL-BUS, EISA a PCI), pevnΘ disky (IDE a SCSI), grafickΘ karty (S3, ATI68800, Wingine, ET4000 a dalÜφ), zvukovΘ karty (MS Sound System). U n∞kter²ch nßstroj∙ v NeXTSTEPu byla podstatn∞ vylepÜena jejich dokumentace a byly odstran∞ny zjiÜt∞nΘ anomßlie systΘmu. Podle oΦekßvßnφ se s NeXTSTEPem takΘ dodßvß omezenß verze emulßtoru pro DOS a Windows 3.1 od Insignia Software. Vedle toho si ji₧ m∙₧ete koupit nabφzenΘ programy od nezßvisl²ch softwarov²ch firem. Ceny nabφzen²ch aplikacφ od t°etφch stran se pohybujφ od 4 364 KΦ do 288 764 KΦ. U firmy OASA si m∙₧ete po°φdit nßsledujφcφ varianty NeXTSTEPu:
Pokud si p°ejete pracovat v ΦeskΘm prost°edφ, musφte vydat dalÜφ penφze:
- U₧ivatelskΘ prost°edφ, jen₧ slou₧φ pouze ke spouÜt∞nφ n∞kter²ch nßstroj∙ OS a hotov²ch aplikacφ (Runtime). Dodßvß se na CD-ROM s anglickou, francouzskou nebo n∞meckou dokumentacφ za 29 470 KΦ.
- ProgramßtorskΘ prost°edφ, kterΘ obsahuje vÜechny v²vojovΘ nßstroje a mnoho dalÜφch podp∙rn²ch utilit pro vytvß°enφ, udr₧ovßnφ a dalÜφ zdokonalovßnφ aplikacφ. Dodßvß se na CD-ROM s anglickou, fracouzskou nebo n∞meckou dokumentacφ za:
- zavßd∞cφ cenu: 45 000 KΦ (Promotion KIT)
- pevnou cenu: 94 885 KΦ
- Akademickou verzi programßtorskΘho prost°edφ - urΦeno Ükolßm, kterß rovn∞₧ obsahuje vÜechny v²vojovΘ nßstroje a utility za 11 295 KΦ.
- CS podpora: 2 850 KΦ
- 12 °ez∙ PS font∙: 6 870 KΦ
Objektov∞ orientovanΘ programovßnφ
I v prost°edφ DOSu existujφ prost°edky pro tvorbu objektov∞ orientovan²ch aplikacφ (t°eba Borland C++ 4.0), ale zßkladnφm problΘmem je spoluprßce s ostatnφmi aplikacemi. Vytvo°it a odladit rozsßhlou, u₧ivatelsky p°φtulnou, objektovou aplikaci je nepochybn∞ kus kumÜtu, ale v²vojovΘ t²my mohou pou₧φvat objekty pouze uvnit° vytvß°enΘ aplikace. P°itom snahy o integraci n∞kolika aplikacφ od r∙zn²ch v²robc∙ v poΦφtaΦovΘ sφti jsou stßle siln∞jÜφ. Posφlat objekty cizφm aplikacφm ve Windows NEJDE. A nic na tom nezm∞nφ ani berliΦky typu DDE nebo OLE 1.0. Z toho je z°ejmΘ proΦ cel² softwarov² pr∙mysl volß po objektov∞ orientovanΘm systΘmu.
DalÜφm podstatn²m d∙vodem pro objekty je p°irozenß snaha ji₧ vytvo°enou aplikaci dßle vylepÜovat a udr₧ovat, co₧ se relativn∞ samostatn²mi objekty jde neporovnateln∞ jednoduÜeji. D∙kazem m∙₧e b²t na seminß°i prezentovan² graf, kter² zobrazoval mno₧stvφ programovΘho k≤du pro aplikace v prost°edφ Windows 3.1 a NeXTSTEP. Dobrß aplikace (spreadsheet Lotus Improv) v NeXTSTEPu obsahuje v pr∙m∞ru pouze 20 % k≤du nutnΘho ve Windows ! ZaΦφnß b²t z°ejmß krize tradiΦnφho procedurßlnφho programovßnφ, kterΘ se nem∙₧e dßle rozvφjet.
Portable Distributed Objects
P°enosnΘ distribuovanΘ objekty (PDO) jsou novou unikßtnφ technologiφ, kterß nenφ p°φmo souΦßstφ NeXTSTEPu 3.2. PDO je prvnφm produktem, kter² dovoluje provozovat heterogennφ klient/server aplikace zalo₧enΘ na objektovΘ technologii. NeXTSTEP aplikace, kterΘ se spolΘhajφ na objektovou strukturu NeXTSTEPu (sklßdßjφcφ se z objekt∙ obsahujφcφch data a specifickΘ chovßnφ) mohou komunikovat s Φφmkoliv jin²m p°es systΘm zprßv. Tato architekt∙ra nabφzφ vyjφmeΦn∞ dobrΘ klient/server prost°edφ, jen₧ eliminuje nutnost neustßlΘho p°ed∞lßvßnφ p∙vodnφ modelu, co₧ je vy₧adovßno p°i pou₧φvßnφ tradiΦnφho strukturovanΘho programovßnφ. Objekty organizovanΘ do blok∙ mohou b²t provßd∞ny na hardwaru klienta nebo °φdφcφho serveru, kdykoliv to vy₧aduje spuÜt∞nß ·loha. PDO uskuteΦnuje rozvinutφ objekt∙ serveru na pracovnφch stanicφch s odliÜn²m operaΦnφm systΘmem (HP-UX 9.0) ! Tyto objekty mohou pou₧φvat rozmanitΘ klient aplikace, pokud jsou data a centrßlnφ jßdro probφhajφcφch proces∙ umφst∞nΘ na vysoce v²konnΘm serveru.
PDO dßle dovoluje rozÜφ°it tuto strukturu o bezeÜvou objektovou strukturu NeXTSTEPu, kterou pou₧φvajφ v²vojov² programßto°i pro lokßlnφ i distribuovanΘ objekty. V²vojß°i NeXTSTEP aplikacφ se nemusφ uΦit nic novΘho, pon∞vad₧ PDO nßstroje a objektovΘ knihovny jsou podmno₧inou stßvajφcφch nßstroj∙ a knihoven NeXTSTEPu. Detaily sφ¥ovΘ komunikace nejsou v∙bec d∙le₧itΘ, proto₧e PDO obsahuje nφzko·rov≥ovΘ protokoly a vytvß°enφ zprßv pro lokßlnφ klient objekty. Technologie PDO se sklßdß z nßsledujφcφch komponent:
PDO verze 1.0 vy₧aduje NeXTSTEP 3.1 nebo vyÜÜφ. U firmy OASA si m∙₧ete po°φdit nßsledujφcφ varianty technologie PDO verze 1.0 na CD-ROM:
- Objective C
Mß mnoho vlastnostφ SmallTalku s v²konnostφ CΘΦka. ObjektovΘ C nabφzφ mo₧nost dynamickΘho vytvß°enφ program∙, co₧ je podstatnΘ p°i programovßnφ flexibilnφho GUI a distribuovan²ch zprßv pro jin² poΦφtaΦ v rßmci poΦφtaΦovΘ sφt∞. RozÜφ°enΘ v²hody objektu v distribuovanΘm poΦφtaΦovΘm prost°edφ dovolujφ aplikacφm zasφlat zprßvy jin²m aplikacφm v sφti. To p°inßÜφ mo₧nost °φdit udßlostmi celou poΦφtaΦovou sφ¥. Zdrojov² k≤d programu je automaticky optimalizovßn a ulo₧en v proveditelnΘm formßtu. Objective C je zalo₧eno na GCC verze 2.4 od firmy Free Software Foundation Inc.- ANSI C
Pr∙myslov² standart ANSI C je za°azen pouze kv∙li zp∞tnΘ kompatibilit∞.- GDB Debugger
Umo₧≥uje ladit optimalizovan² k≤d s pomocφ p°eruÜovacφch bod∙. GDB Debugger je pln∞ integrovßn s editorem EDIT a Project Builderem vΦetn∞ podpory myÜi p°i nastavovßnφ p°eruÜovacφch bod∙, zkuÜebnφch dat, zastavovßnφ a spouÜt∞nφ program∙ a p°i dalÜφch ladφcφch operacφch.- Objekty jßdra NeXTSTEPu
API, kterΘ je souΦßstφ vÜech NeXTSTEP aplikacφ. Objekty jßdra poskytujφ strukturu pro ovlßdßnφ datov²ch struktur, jen₧ jsou b∞₧nΘ ve v∞tÜin∞ aplikacφ. M∙₧eme vyu₧φvat vÜechny objekty a jejich chovßnφ lze libovoln∞ modifikovat nebo rozÜi°ovat pomocφ dodateΦn²ch podt°φd v jazyku Objective C.- DistribuovanΘ objekty NeXTSTEPu
Objekty vysokΘ ·rovn∞, kterΘ majφ v sob∞ zapouzd°eny detaily sφ¥ov²ch protokol∙, dovolujφ distribuci proces∙, sdφlenφ objektov²ch slu₧eb a komunikaci mezi aplikacemi (viz p°edchozφ text).- DOEventLoop
Koordinuje vφcenßsobnΘ vstupy a oznamuje ovladaΦ∙m, kde jsou dostupnß data pro Φtenφ, pokud na portu Φekß zprßva jßdra MACH. DOEventLoop je objekt vytvß°ejφcφ strukturu pro textov∞ orientovanΘ aplikace na serveru.- P°enosn² nmserver
Dovoluje transparentnφ komunikaci p°es TCP/IP s dalÜφmi implementacemi nmserveru bez nutnosti dodateΦn∞ instalovat software na stran∞ klienta. Objekt∙m pracujφcφm na sφti poskytuje mo₧nost vyhledßvßnφ jednoduch²ch jmen v servisnφ databßzi.- NeXTSTEP souborovΘ funkce
Poskytujφ transparentnφ nezßvisl² p°φstup k p∙vodnφmu souborov²m systΘm∙m. Jednß se o API vybavenΘ pro Φtenφ, zapisovßnφ a modifikovßnφ proud∙ dat nezßvisle na p∙vodnφch souborech, obsahu pam∞ti apod.- NeXTSTEP Zone malloc
Jde o flexibilnφ zprßvu pam∞ti pomocφ funkcφ obsazujφcφch pam∞t podle p°ßnφ programßtora.- P°enosn² BuildServer
Nabφzφ v²vojß°∙m Project Builder, kter² dovoluje vytvß°et PDO objekty na cφlovΘ platform∞. Project Builder slou₧φ k vytvß°enφ, lad∞nφ a udr₧ovßnφ projektu aplikace. Udr₧uje vÜechny soubory a zdroje spojenΘ s aplikacφ. Project Builder dovede sßm p°ipravit zßkladnφ rozhranφ, kterΘ je potom spoleΦnΘ v∞tÜin∞ aplikacφ. Generuje i Makefile, co₧ je velmi siln² nßstroj pro zprßvu projekt∙. Kdy₧ se p°i kompilaci projektu objevφ chyba, kritickß Φßst k≤du se okam₧it∞ p°enese do integrovanΘho editoru EDIT, kde chybu opravφme.- SystΘm nastavenφ NeXTSTEPu
Nastavuje funkce a programy pro Φtenφ a zßpis standartnφch nastavenφ u₧ivatele pro NeXTSTEP i hostitelsk² operaΦnφ systΘm.
- PDO pro HP-UX 9.0, HP Server Mod. 715 nebo 725 - 78 300 KΦ
- PDO pro HP-UX 9.0, HP Server Mod. 735 nebo 755 - 155 800 KΦ
- PDO pro HP-UX 9.0, HP Server Mod. 890 /1,2,3,4 - 310 800 KΦ
Zßv∞r
Samotn² NeXTSTEP 3.2 nic p°evratnΘho nep°inesl. Technologie PDO 1.0 je vÜak nov² revoluΦnφ prvek v poΦφtaΦovΘm sv∞t∞. Bill Gates bude muset vyvinout nadlidskΘ usφlφ, pokud se rozhodne dohnat nßskok firmy NEXT Computers Inc. v objektovΘ technologii. PDO zatφm umφ spolupracovat pouze se systΘmem Hewlett Packard, ale oΦekßvß se brzy napojenφ i na pracovnφ stanice SUN, pop°φpad∞ Digital Alpha. Nechme se proto v²vojem udßlostφ p°ekvapit...