COMPUTERWORLD
Specializovaný týdeník o výpočetní technice
o Internetu
(CW 35/97)

Forum 1 -- chat server v Javě

Jan Stoklasa

Profesionální software, napsaný v Javě, není příliš častým jevem. Proto mě zaujal konferenční software na bázi klient/server -- Forum 1, který je kompletně napsán v tomto programovacím jazyku, a to včetně serverové části. Jedná se o produkt banskobystrické firmy Somi Systems, který nabízí konferenční možnosti na úrovni internetového IRC se sdíleným whiteboardem (kreslítkem) navíc.

Nejprve se věnujme uživatelskému pohledu na celý systém. Pro uživatele je používání Fora kouzelně snadné. Se svým prohlížečem se připojí na úvodní stránku konferenčního serveru, stiskne tlačítko Load a zanedlouho se mu objeví uživatelské rozhraní. Není potřeba instalovat žádné klientské programy, o všechno se stará Java a její automatické stahování tříd (z toho také vyplývá jediný požadavek pro klientskou stranu -- nutný je browser s podporou Javy). Firma Somi také provozuje veřejný server Forum 1, na kterém se můžete s jejich softwarem seznámit. Jeho startovací stranu najdete na adrese http://planet.chat.sk, javové applety potřebné pro klientskou stranu se natáhnou a spustí automaticky.

Inspirace klasickou službou IRC

Možnosti tohoto uživatelského rozhraní jsou zjevně inspirovány populárním systémem Internet Relay Chat. Dělení diskusních témat do kanálů, vytváření nových kanálů, přechod účastníků debaty mezi jednotlivými kanály, textová komunikace, která se všem účastníkům vypisuje do okénka, soukromé textové zprávy jen pro jednoho uživatele, zprávy o přihlášení a odhlášení uživatele -- to jsou rysy, na které jsou uživatelé IRC zvyklí. Grafické rozhraní, ve kterém Forum 1 tyto služby poskytuje, je o poznání přehlednější než textové příkazy klasického IRC. Ve snadnosti používání ho můžeme přirovnat k rozšířenému klientovi mIRC. Nechybí seznam uživatelů, informace o nich, seznam kanálů a rychlé přihlášení do diskusního kanálu dvojím kliknutím. Tradici IRC připomínají knoflíky pro "vyjádření nálady" v textové podobě -- usmát se, zamávat. Pro lepší efekt jsou některá gesta doplněna zvukem, který adresáti uslyší. Oproti IRC naproti tomu chybí pokročilé příkazy pro správu informačního kanálu (oblíbený příkaz kick) a nastavování drobných detailů.

Podobnost systému Forum 1 s klasickým IRC je pouze vnějšková, jinak nejsou vzájemně kompatibilní. Záměrem firmy Somi určitě nebylo vytvoření dalšího klientského a serverového softwaru pro IRC, ale tvorba konferenčního systému, který z IRC přebírá dobré myšlenky.

Některé prvky má Forum oproti textovému chatu navíc. Nejvíce se mi líbila sdílená kreslicí deska, u podobných produktů standardně nazývaná whiteboard. Uživatelé do ní společně kreslí, přičemž tvorba jednoho z nich se průběžně zobrazuje v okénkách ostatních uživatelů. Smazání celé desky není synchronizované na všechny sdílené desky, jeden uživatel tedy nemůže ostatním schválně smazat jejich obrázek.

Sdílená kreslicí tabule vypadá na první pohled jako pouhá hračka, ale ve skutečnosti jde o velmi užitečný nástroj, který vhodně doplňuje textovou komunikaci. Proto ho také najdeme prakticky ve všech konferenčních programech pro Internet, jako je Forum 1, nebo konkurenční WebCollab od IBM, NetMeeting od Microsoftu a CoolTalk od Netscapu.

Funkce "Web Tour" má velmi lákavý název a v dokumentaci je zmiňována jako dobrý prostředek pro poskytování podrobnějších informací návštěvníkům konferenčního serveru. Ve skutečnosti jde o jednoduchou, i když užitečnou funkci poslání URL. Poslané URL se objeví přijímajícím uživatelům v malém okénku, stiskem tlačítka se daná stránka automaticky zobrazí v okénku prohlížeče. Adresu je samozřejmě možné textově napsat do komunikační řádky, ale tenhle způsob práce je mnohem pohodlnější.

Vnitřnosti systému

Aniž se budeme pouštět do přílišných technických detailů, lehce se zmíníme o technickém řešení systému Forum 1. To je totiž poměrně unikátní, vzhledem ke své javové podstatě snad zaujme i vás.

Jak už víme, je klientská část tvořena několika javovými třídami, které se automaticky stáhnou a spustí v prohlížeči. Administrátor WWW serveru tedy musí tyto třídy zkopírovat do přístupného adresáře a připravit stránku, na které bude startovací applet sídlit. V distribuci je připravena vzorová stránka, která vám poradí, jaké parametry máte appletu předat, aby pracoval na vašem serveru.

Na straně serveru je to skoro stejné. Server tvoří pouhé dvě javové třídy (Channel a ChatServer), z nichž ta druhá jmenovaná disponuje metodou main a lze ji tedy spustit. Pro uživatele, který je na Javu zvyklý hlavně z okénka prohlížeče, to může vypadat překvapivě, ale opravdu se jedná o samostatnou aplikaci v Javě. Omlouvám se se javovským matadorům, pro které je tento fakt triviální, ale ruku na srdce -- kolik už jste viděli v Javě serverových aplikací?

Server se spouští z příkazové řádky v interpreteru Javy příkazem typu "java Chatserver". Volitelně lze výstup serveru přesměrovat do souboru, potom se v logovacím souboru objeví kromě servisních hlášení také veškerá komunikace mezi uživateli.

Hodnocení

Forum 1 je komerční produkt, jehož hlavním účelem je tvorba zisku. Firma Somi chce svůj produkt nabídnout společnostem, které potřebují jednoduchý konferenční software pro svůj WWW server nebo Intranet, například kvůli okamžitým reakcím na podnět zákazníků (nebo posluchačů).

Ve prospěch produktu mluví jeho jednoduchá instalace na straně uživatele (s nulovou námahou) a překvapivě dobrá funkčnost, v neprospěch snad jenom poměrně silná vazba na tradiční IRC (noví uživatelé Internetu nemusejí vůbec IRC znát) a nabídka jenom základních funkcí ve srovnání s konkurencí (NetMeeting je přece jenom o něčem jiném). Ale protože je mi dílo banskobystrických programátorů sympatické, rozloučíme se s ním celkově kladným posudkem. Produkt funguje velmi dobře, teď o jeho úspěchu či neúspěchu musí rozhodnout především marketing.


| <<< | CW o Internetu | COMPUTERWORLD | IDG CZ homepage |