COMPUTERWORLD
 

profil kontakt CD-ROM CW100 předplatné

archiv anketa CO VY NA TO? CW kariéra seriály
 

IDG

IDG CZ homepage
COMPUTERWORLD
PC WORLD
INTERNET4U
MEGABYTE
TESTCENTRUM
ON-LINE






COMPUTERWORLD 29/98

SilverStream 1.0 -- nejen vývojové prostředí pro webové aplikace

Roman Barták

Rozvoj Internetu vzbudil v poslední době zájem velkých korporací. Ty začaly využívat wobových služeb nejen pro prezentaci svých produktů, ale stále více také pro interní komunikaci v rámci Intranetu, pro komunikaci mezi vzdálenými pobočkami v rámci Extranetu, i pro přímý kontakt se zákazníky prostřednictvím Internetu.

Velký tok dat a požadavky na jejich aktuálnost samozřejmě vyžadují práci s dynamicky se měnícími webovými stránkami přímo napojenými na firemní databázové systémy. Klasické HTML editory a použití CGI skriptů pak u větších projektů přestávají stačit a návrháři těchto komplexních řešení vyžadují snáze použitelné integrované vývojové nástroje. Mezi takové produkty se řadí i SilverStream 1.0 firmy SilverStream Software.

Základy

SilverStream nese ve svém podtitulku charakteristiku aplikační platforma pro Web. Volně přeloženo to znamená, že se jedná o integrované vývojové prostředí pro návrh javového front-end rozhraní k databázím a obecně pro návrh "webových aplikací" založených na technologii Java. SilverStream je vlastně celý balík softwaru obsahující vše, co pro takový vývoj potřebujete. Kromě vlastního vývojového prostředí SilverStream tak na instalačním CD-ROMu najdete i Fulcrum SearchServer 3.7 pro fulltextové vyhledávání a databázový server SQL Anywhere 5.5 (SilverStream pro svůj běh vyžaduje alespoň 1 instalovaný databázový server, používat lze také Oracle). Vlastní SilverStream se potom skládá ze 2 aplikací, aplikačního serveru sloužícího jako HTTP server a vizuálního vývojového prostředí nazvaného Designer.

SilverStream je tedy prostředí pro vývoj javových aplikací, které mohou běžet jak na serveru jako agenti, tak na klientské straně, typicky ve webovém prohlížeči -- ale třeba také samostatně prostřednictvím možnosti SilverStream Client.

Součástí vyvinuté komplexní aplikace mohou být formuláře představující základní uživatelské rozhraní, HTML stránky pro přístup k formulářům na Webu, případně agenti rozšiřující schopnosti aplikačního serveru. Tvorba aplikace zde typicky začíná u návrhu struktury databázových tabulek (např. tabulky oddělení, zaměstnanců apod.) a vazeb mezi nimi. Pokračuje se přes tvorbu formulářů sloužících jako základní rozhraní k databázi, případně pohledů, což je tabulkové zobrazení obsahu databáze, které se může vkládat do formulářů. Navržené formuláře lze potom vkládat do webových stránek a oživovat pomocí programů v Javě.

Každá z těchto činností má v Designeru vyhrazený samostatný nástroj. Dvojice Table a Relationship Designer slouží např. pro práci s databázovými tabulkami. Page, Form a View Designer zase umožňují návrh webových stránek, formulářů a pohledů. Poslední z nástrojů, Agent Designer, slouží pro programování agentů, tj. programů běžících na serveru a aktivovaných např. nějakou událostí (příchozí e-mail, žádost o stránku apod.) nebo podle zvoleného časového rozvrhu. Jak Agent Designer, tak Form Designer poskytují přístup k Programming Editoru sloužícímu pro vlastní zápis programu v Javě. Protože v SilverStreamu jsou všechny prvky návrhu uloženy v databázích (vlastních nebo externích), je potřeba mít pro práci v Designeru zároveň spuštěný i aplikační server.

Databáze, formuláře a pohledy

Jak již bylo řečeno, SilverStream je hlavně určen pro návrh javového (a tedy i webového) rozhraní k databázím. Napojit se můžete na vlastní již používané databáze nebo je možné vytvořit nové databáze přímo v SilverStream Designeru. Pro základní návrh databázové tabulky zde slouží Table Designer, ve kterém lze definovat jednotlivé sloupečky tabulky, resp. typy položek záznamů. Protože SilverStream umožňuje přístup k SQL databázím přes javové aplikace, automaticky se stará také o převod příslušných SQL datových typů na objektové typy Javy. Podporovány jsou plně relační databáze a v Relationship Designeru tak lze navrhovat vazby mezi jednotlivými tabulkami (pro vytvoření vztahu se používá oblíbená metoda táhni a pusť).

Jakmile je připravena struktura databázových tabulek, je možné přikročit k návrhu formulářů sloužících pro zpřístupnění vlastních záznamů v databázi. Formuláře se vytvářejí pomocí vizuálního nástroje Form Designer, jehož součástí je i Form Wizard. Ten se aktivuje vždy při tvorbě nového formuláře a umožňuje snadno navrhnout základní formulář, který je pak možné dále upravovat. Možnosti při tvorbě formulářů jsou poměrně rozsáhlé, používat lze různá tlačítka (včetně obrázkových), zaškrtávací políčka, vytahovací nabídky, seznamy a do formuláře lze dokonce vložit oblast sloužící jako HTML editor.

Práce s formulářem je WYSIWYG, kdykoliv lze také přepnout do "běhového" modu a vidět formulář přímo s údaji z databáze. Navržený formulář se ukládá v podobě javového kódu (SilverStream používá kompilátor ze Symantec Café), přístup k němu je také formou HTML formulářů, ty ale postrádají řadu prvků (např. kontrola obsahu políčka po editaci) a také ztrácejí pracně navržený vzhled. Form Designer se stejně jako všechny ostatní nástroje vyvolává z hlavního okna SilverStream Designeru. Trochu mi ale vadilo, že pro práci s dalším formulářem je potřeba Form Designer nejprve zavřít a znova otevřít s příslušným formulářem (to ostatně platí o všech nástrojích).

Formuláře jsou schopné v dané chvíli zobrazit pouze 1 záznam databáze, někdy je ale vhodnější zobrazit více záznamů formou tabulky. Aby se nepletly pojmy, používá se pro takový typ zobrazení termín pohled (view). Pohled vlastně určuje, jaké sloupce databázové tabulky se zobrazí a jak se zobrazí (tj. pořadí a šířka sloupců, formát zobrazení např. u data a čísel). Pohledy se navrhují ve View Designeru, kde lze také určit, zda se mají zobrazovat řádky s různými mezisoučty. Pohled je potom možné vložit do formuláře, který např. zobrazuje údaje o oddělení firmy spolu se seznamem zaměstnanců pracujících na tomto oddělení.

Trochu programování

Vytvořením formulářů je připraven základní vzhled front-end rozhraní k databázi, formuláře je ale ještě potřeba oživit např. určením, co mají dělat použitá tlačítka. Form Wizard sice automaticky přiřazuje k tlačítkům základní akce, pro sofistikovanější chování formuláře je ale vhodnější definovat akce vlastní.

K programování funkce ovládacích prvků se používá Programming Editor, který lze vyvolat přímo z Form Designeru. Programming Editor umožňuje zadávat kód Javy, méně nároční uživatelé se ale mohou obejít i bez Javy. Tento editor totiž může pracovat ve 2 modech, buď jako plnohodnotný editor javových programů, nebo jako editor "jednoduchých akcí".

Vše je zde založeno na principu událostmi řízených programů. V horní části editoru se nejprve vybere prvek (např. tlačítko), pro který se definuje akce, a příslušná událost (stisknutí tlačítka myši). V modu jednoduchých akcí lze potom skládat program z připravených bloků obsahujících větvení, cykly a sadu základních akcí (např. ulož záznam, přejdi na další záznam apod.). Vytvářet lze i složitější akce, např. "zavři dialogové okno zobrazující tento formulář".

O převod symbolického zápisu do kódu Javy se postará SilverStream sám. Uživatel si může převedený kód prohlédnout v modu Javy, kde lze také vygenerovaný kód dále upravovat. SilverStream v tomto směru zvolil velice sympatický přístup. Předně používá standardní jazyk, Javu, takže se vývojáři nemusí učit další programovací jazyk. Použití jednoduchých akcí navíc umožňuje rychle připravit základní kostru procedury, kterou lze potom doladit úpravami kódu Javy (zpětný překlad z Javy do jednoduchých akcí možný není).

(Nejen) na Webu

Navržené formuláře spolu s přidanými akcemi tvoří jádro databázové aplikace. K té lze přistupovat prostřednictvím programu SilverStream Client, spuštěného se zadanou adresou aplikačního serveru (tedy i vzdáleně) a jménem příslušného formuláře. Formulář se zobrazí v samostatném okně a jeho prostřednictvím lze pracovat se záznamy databáze.

Asi běžnější způsob připojení k vytvořené aplikaci bude prostřednictvím webového prohlížeče, SilverStream Designer proto nabízí modul Page Designer pro návrh webových stránek. Page Designer je vlastně vizuální webový editor s podobnými schopnostmi, jaké mají další produkty této kategorie. Webové stránka se zde vytváří ve WYSIWYG modu podobně jako v textovém editoru. Není tedy nutné ji kódovat přímo v HTML, i když je možné zadávat bloky HTML kódu (tak lze také načíst celé stránky připravené v jiném HTML editoru). Do stránky lze vkládat obrázky i tabulky (šířka sloupců se nastavuje tažením, lze dát obrázek do pozadí), je možné vytvářet také rámce. Na práci s češtinou ale raději zapomeňte.

Na Page Designeru je zvlášť užitečná schopnost vkládat do stránek připravené formuláře a pohledy, které jsou reprezentovány javovým appletem (Page Designer jinak přímo nenabízí formulářové prvky). Lze tak vytvořit sadu webových stránek tvořících rozhraní k navržené aplikaci.

Použití

SilverStream je profesionální nástroj, se vším co k tomu patří. Začínající uživatele, kteří zatím jen přičichli k tvorbě jednoduchých webových stránek, je proto třeba varovat. Přestože SilverStream nabízí vizuální vývojové prostředí, práce s ním vyžaduje jisté netriviální znalosti a pro plné využití jeho schopností je potřeba zvládnout programování v Javě. Na druhou stranu, jednoduché aplikace lze vytvářet i bez znalostí Javy. V každém případě se ale neobejdete bez podrobného studia manuálů -- a to dokonce ani při instalaci.

Právě instalace, podle které si uživatelé udělají první názor na produkt, je na dnešní zvyklosti dost komplikovaná. Kompletní instalace SilverStreamu tak zahrnovala shánění příslušného Service Packu pro Windows a nového Java VM na Internetu (novější instalační CD-ROM by je měl už obsahovat) a neobešla se bez několika restartů počítače mezi instalacemi jednotlivých částí. Podobné je to i s nastavením (setup), které je nutné provést ručně.

SilverStream je také poměrně hardwarově náročný, hlavně pokud jde o velikost paměti. 32 MB RAM rozhodně pro rozumnou práci nestačí, doporučené minimum je 64 MB, ale raději si pořiďte ještě více (při testu s jednoduchou aplikací byla "spotřeba" přes 100 MB). Je sice pravda, že ceny pamětí jdou dolu, ale k čemu tolik paměti SilverStream vůbec potřebuje?

Protože je zde vše, od vývojového prostředí přes aplikační server až po vytvářené aplikace, založeno na jazyce Java, je nezbytný také dostatečně výkonný procesor. O nutnosti používat nejnovější Javu 1.1 zde již řeč byla, neobejdou se bez ní samozřejmě ani klienti, kteří přistupují k aplikacím navrženým v SilverStreamu.

Celkově nabízí SilverStream příjemné (ale pomalé) uživatelské rozhraní, unifikované ve všech modulech, takže se základnímu ovládání naučíte poměrně rychle. Samozřejmě zvládnutí tvorby vlastních webových aplikací trvá podstatně déle a jenom průchod úvodním kurzem zabere minimálně den. Přestože je celé vývojové prostředí vytvořeno v Javě, ukázalo se po dobu testu poměrně stabilní. To už ale tak úplně neplatilo o vytvořených aplikacích, se kterými měly webové prohlížeče problémy.

 

 

© IDG Czechoslovakia, a.s., Všechna práva vyhrazena
info@idg.cz, webmaster@idg.cz