iNet Developer 2.0 - vývojové prostředí pro Web

1. 1. 1998

Sdílet

Tvorba kompletního řešení webovského serveru v rámci intranetu i Internetu v sobě zahrnuje celou řadu činností, ...





Tvorba kompletního řešení webovského serveru v rámci intranetu

i Internetu v sobě zahrnuje celou řadu činností, od přípravy

obsahu stránek přes jejich grafickou úpravu, přidání

interaktivního chování nebo vazbu na databáze až po správu

webovského serveru. Na těchto činnostech se zpravidla podílejí

různé skupiny pracovníků, používající pro svoji část úkolu

rozdílné programové nástroje. Sladit potom spolupráci

jednotlivých prvků do fungujícího mechanismu, jehož výstupem je

funkční a přitažlivé hnízdo webovských stránek se stále aktuálním

obsahem, není vůbec jednoduchý úkol. Pomoci při tom může software

iNet Developer kanadské firmy Pictorius ( www.pictorius.com ),

který lze charakterizovat jako týmově orientované vývojové

prostředí pro tvorbu síťových aplikací.

Balík iNet Developer se skládá z trojice modulů: editor iNet

Developer, ve kterém se vytváří struktura i obsah hnízda WWW

stránek, Application Server, zodpovídající ve spolupráci

s webovským serverem za publikování stránek na Webu, a konečně

grafické vývojové prostředí Prograph, ve kterém to vše bylo

naprogramováno. Cílem tohoto rozdělení je poskytnout všem

uživatelům snadno ovladatelné a přitom dostatečně flexibilní

prostředí, které mohou sdílet tvůrci webovských stránek

i programátoři síťových aplikací.



iNet Developer



Svým způsobem jádro celého vývojového balíku tvoří aplikace iNet

Developer pro tvorbu struktury a obsahu webovského hnízda.

Charakterizovat iNet Developer pouze jako další webovský editor

by ale bylo silným podceněním jeho možností.

V editoru iNet Developer se nejprve definuje hierarchická

struktura hnízda webovských stránek, kterou lze později bez

velkých otřesů libovolně měnit. Protože všechny stránky jsou zde

uchovávány v interním formátu v jediném souboru, lze k nim snadno

přiřadit přístupová práva pro různé uživatele. Správce hnízda tak

může zpřístupnit určité části jen určitým skupinám uživatelů,

kteří budou mít tvorbu daných stránek na starosti.

Každé stránce lze také jednoduše přiřadit podmínky , kdy se

může ve webovském prohlížeči zobrazit. Pokud některá ze zadaných

podmínek není splněna, je možné určit alternativní stránku, která

se zobrazí. V podmínkách lze například testovat použitý webovský

prohlížeč, datum nebo čas přístupu, doménu, z níž se přistupuje,

případně je možné vyžadovat heslo pro přístup ke stránce.

iNet Developer 2.0 má také nově zařazenu možnost definovat

stránku jako kanál (channel), který se potom automaticky načítá

do prohlížeče (tzv. Push technologie). Stačí jen zaškrtnout

příslušné políčko v parametrech stránky, případně ještě na

stránku vložit tlačítko Subscribe pro zařazení kanálu. To je vše.

Tím jsme se již pomalu dostali k tvorbě obsahu stránky. iNet

Developer umožňuje do stránek importovat již vytvořené HTML

soubory, takže lze zachovat kontinuitu při přechodu z klasických

stránek (podporován je i export do HTML souboru). Do importované

stránky ale nelze přidávat další prvky, a tak se schopnosti

editoru projeví jen při přímé tvorbě stránek.

Do stránek lze na libovolné místo vkládat běžné HTML prvky

jako jsou text nebo obrázky, je možné vytvářet oblasti

s formulářovými prvky nebo vkládat Java aplety a ActiveX prvky.

Až na možnost volného rozmístění po stránce tedy zatím nic

převratného.



Tabulky a databáze



V iNet Developeru ale existuje jeden prvek, tzv. datový objekt ,

který u jiných editorů nenajdete. Datové objekty těží

z integrovaného prostředí iNet Developeru a Application Serveru,

vlastně se jedná o front-end rozhraní k tabulkám a databázím.

Tabulky lze interně vytvářet přímo v iNet Developeru a přes

webovskou stránku je lze potom zobrazit, přidávat do nich další

řádky/záznamy nebo řádky upravovat, resp. mazat (pozor, nejedná se

o tabulky ve smyslu HTML, ale spíše o malé databáze).

Stejným způsobem lze přistupovat i k externím ODBC databázím

jako je Oracle, Sybase nebo Informix. Prostředí iNet Developeru

potom slouží jako front-end rozhraní pro přístup k databázím přes

Web. Prostřednictvím webovské stránky tak lze zobrazovat obsah

databáze, přidávat, ubírat i opravovat jednotlivé záznamy nebo

záznamy podle zadaného kritéria vyhledávat. Nejen správci

databází jistě vidí, jak obrovský potenciál takto jednoduše

připravené rozhraní může znamenat pro přístup k databázím.



Navigační prvky



U textu i obrázků lze definovat odkaz na jiné místo na Internetu

zadáním URL adresy podobně jako v jiných webovských editorech.

iNet Developer ovšem navíc nabízí možnost vložit na stránku

automatické navigační prvky, odkazující například na všechny

potomky stránky, na sousedy stránky nebo na jejího rodiče

v hierarchické struktuře. Takto vytvořené navigační prvky potom

mají jednu velkou výhodu. Při změně struktury hnízda, přidání,

ubrání nebo přemístění stránek, zůstává platnost všech takových

relativn ích odkazů zachována. U pravidelně updatovaných souborů

stránek je pak taková vlastnost k nezaplacení.



Agenti



Kromě víceméně klasických HTML prvků jako jsou Java aplety

a ActiveX lze funkčnost stránek dále obohatit použitím tzv.

agentů. K dispozici jsou jednodušší agenti, kteří na stránku

umisťují aktuální datum a čas, případně oblíbený čítač počtu

přístupů, dále agenti pro vkládání reklamních nápisů, kteří ze

zvolené sady obrázků při každém přístupu jeden náhodně zobrazí,

až po agenty nabízející komplexní služby. Mezi takové komplexní

agenty patří například Sitemap, zobrazující strukturu webovského

hnízda, nebo Search pro vyhledávání v lokálních stránkách. Na

stránku lze vložit také agenta Calendar (viz obrázek 2),

zobrazujícího kalendář a umožňujícího do něj přes webovský

prohlížeč vkládat záznamy, nebo agenta Collaboration, který pro

změnu umožňuje zaznamenávat textové zprávy se jménem autora.

Podobnou funkci má také agent Survey, s tím rozdílem, že zde lze

definovat formulář, který uživatelé vyplní a odešlou. Takto

získaná data jsou pak dostupná formou textového souboru.

Práce s agenty je přes jejich schopnosti triviální. Prostě

je umístíte na stránku, případně upravíte některé jejich

parametry (například vzhled), a vše hned funguje. Žádné složité

programování CGI skriptů.



Application Server



Přestože by se mohlo zdát, že pro publikování stránek, které

jsou všechny zabaleny v jediném souboru, bude potřeba nějaký

speciální webovský server, není tomu tak docela. O publikování

stránek se sice stará zvláštní Application Server, ten je ale

prostřednictvím iNetHelperu napojen na běžný webovský server. Díky

tomu lze hnízdo stránek připravené v iNet Developeru ihned

bezbolestně integrovat do stávajícího webovského prostředí.

Vše dohromady to pak vypadá asi takto. Na webovský server

přijde žádost o zobrazení stránky. Tato žádost je podstoupena

iNetHelperu (dostupný je v podobě CGI nebo DLL knihovny pro ISAPI

kompatibilní servery), který spustí Application Server (pokud už

neběží) a požádá ho o dotyčnou stránku. Application Server

stránku vygeneruje a předá ji zpět webovskému serveru, přes který

se dostane až k uživatelovu prohlížeči (viz obrázek 3).

Webovské stránky jsou tedy generovány na žádost, což má oproti

statickým stránkám své nesporné výhody. Stránku lze například

přizpůsobit použitému prohlížeči, a stejnou vlastnost je tak možné

jinak vyjádřit ve stránce pro Netscape Navigator a jinak pro

Internet Explorer. O možnosti testovat různé podmínky před

zobrazením stránky a následně poslat uživateli přizpůsobenou

stránku již zde řeč byla. Zmíněny byly také bezpečnostní výhody

integrace stránek do jediného souboru.

Na celém principu je důležité i to, že ho lze prakticky

snadno realizovat. Do příslušné složky na webovském serveru

umístíte soubor iNetHelperu (cgi nebo dll), ve svém webovském

prohlížeči zadáte adresu stránky (ta má méně obvyklý, ale

pochopitelný tvar) a ono to funguje. Osobně jsem při testu

používal Microsoft Personal Web Server a byl jsem mile překvapen,

jak snadno se mi vše podařilo sestavit a zprovoznit.



Prograph



Poslední, ale o to mocnější součástí balíku iNet Developer je

grafické vývojové prostředí Prograph, ve kterém byly obě

předchozí aplikace vytvořeny. Prograph je vizuální objektově

orientovaný jazyk, důsledně zaměřený na tvorbu programů řízených

tokem dat. Má také rysy funkcionálních jazyků (vše je zde

funkce), což se například projevuje na přirozené práci se seznamy

a tvorbě funkcí typu map (aplikace funkce postupně na všechny

prvky seznamu).

Programy se v Prographu vytvářejí v grafickém prostředí , kde

se skládají jednotlivé programové bloky/funkce, a spojnice mezi

bloky pak přirozeně reprezentují tok dat. Prograph nabízí podobné

programové konstrukce jako ostatní jazyky. Zvlášť dobře se zde

pracuje s iterací, rekurzí a cykly, trochu netradičně je řešeno

větvení programu, kdy se odskakuje do jakési další úrovně.

K dispozici je celá řada nadefinovaných funkcí.

Přirozená je zde tvorba paralelních větví výpočtu, a tak

jsou programy již dnes připraveny pro paralelní zpracování na

více procesorech (zatím ale není implementováno). Protože na

druhou stranu při tvorbě programu nevíte, která funkce

z paralelních větví se bude provádět dříve, má vývojář možnost

zařadit do programu synchronizační větve, určující, že daná funkce

se bude počítat až po jiné funkci. Tímto způsobem lze například

zajistit, že test na správnost vstupní proměnné bude proveden

před použitím této proměnné v paralelní větvi.

V Prographu lze vytvářet univerzální funkce a globální

proměnné, stejně jako třídy a jejich metody. Pro přehlednost

vytvářených funkcí je důležitá schopnost „zapouzdřit“ část kódu

do lokální funkce.

Pro vývoj aplikací je vždy nezbytné kvalitní ladicí

prostředí (debugger). To je v Prographu integrováno a práce s ním

je velice jednoduchá. Prograph má totiž vestavěný interpreter,

a tak lze v kterékoliv fázi vývoje vyzkoušet funkčnost již

vytvořených částí. Vzhledem ke grafickému zápisu funkcí je

zobrazení běhu programu přirozené, barevně jsou odlišeny části,

které se již provedly, od částí, jež na provedení teprve čekají,

resp. od funkce, jež je právě prováděna. A pokud vás zajímá

hodnota vstupující, resp. vystupující z nějaké funkce, stačí

ukázat na příslušný port a tato hodnota se ihned zobrazí.

Mimochodem, vestavěný interpreter je slušně rychlý.

Díky vestavěnému interpreteru lze tedy ihned spouštět

vytvořené programy. Na závěr vývoje je ale také možné nechat

program zkompilovat do samostatně spustitelné aplikace.

Prograph není součástí balíku iNet Developer jen tak náhodu.

Jak již bylo několikrát zmíněno, iNet Developer i Application

Server byly vytvořeny právě v tomto vývojovém prostředí. Důležité

je ovšem to, že je přiložen zdrojový kód Application Serveru , což

v praxi znamená, že lze Application Server uzpůsobit vlastním

potřebám a přidat do něj zcela libovolné funkce. Tato činnost je

přirozeně vyhrazena programátorské části vývojového týmu, ostatní

členové potom mohou přidané funkce využívat stejně, jak o kdyby

byly součástí původního programu (mohou je volat z tlačítek na

webovské stránce).

Dokumentace k Prographu je v elektronické podobě. Zvlášť

vydařený je úvod do Prographu, kde se na příkladech seznámíte se

způsobem programování v tomto prostředí.



Shrnutí



Je až překvapivé, jak se ve vývojovém balíku iNet Developer

podařilo integrovat moderní webovské technologie do snadno

ovladatelného prostředí. Za vyzdvihnutí určitě stojí jednoduchá

práce s agenty, podpora push technologie a DHTML, a zvláště pak

možnost vytvářet front-end rozhraní k databázím. Vše lze navíc

ihned zařadit do stávajícího webovského prostředí. Plusem je také

přiložené vývojové prostředí, které mohou zkušení uživatelé

využít pro přizpůsobení iNet Developeru vlastním potřebám. Cena

softwaru na druhou stranu rozhodně není zanedbatelná (1 495 USD).



Software iNet Developer 2.0 pro recenzi poskytla firma Pictorius,

Inc., 2000 Barrington Street, Halifax, Canada ( www.pictorius.com )



Obrázky:



1) V editoru iNet Developer se vytváří struktura webovského

hnízda i obsah stránek (editor.tif)

2) Agenti dodávají do webovských stránek řadu pokročilých

funkcí (agent.tif)

3) iNetHelper tvoří bránu do Application Serveru

(server.tif)

4) Vše je naprogramováno v grafickém vývojovém prostředí

Prograph (prograph.tif)