Pavel Houser
Sponzorem našeho květnového CD-ROMu je společnost Sun Microsystems. Jejího marketingového ředitele Michaela Bernáta jsme při této příležitosti požádali, aby nám zodpověděl několik otázek. Hovoříme především o tom, co Sun nabízí ve sponzorské části disku předplatitelům Computerworldu; protože hlavním tématem našeho CD-ROMu je Java, bude přirozeně řeč především o záležitostech s ní souvisejících.
Náplní sponzorské části disku je především javový software. Jak byste tuto kolekci chrakterizoval?
Jedná se o nejkompletnejší vybavení pro uživatele i javového vývojáře, které kdy bylo na CD-ROMu v České republice vydáno. Obsahuje vše potřebné pro běh Javy na nejrozšířenějších platformách. Prakticky veškerý software, který jsme umístili na disk, může zájemce zdarma získat z Internetu. Ne každý ovšem vlastní ovšem pevnou linku, aby si stáhl 200 MB dat a to je důvodem, proč javový software nabízíme i prostřednictvím CD-ROM disků.
Co tedy konkrétně najde na cédéčku javový programátor?
Je zde prostředí, ve kterém běží 100% čistá Java. Programátor zde nalezne vývojová prostředí z naší dílny, tedy Java Workshop a Java Studio. Dále je zde Java Activator; to je důležitý produkt, protože odstraňuje nekompatibility mezi webovými prohlížeči a Javou.
Máte zřejmě na mysli především implementaci Javy v Internet Exploreru. Jak je to však s Netscape Navigatorem? Ani ten přece podle všeho není zcela "Java Compatible"...
Ano, i zde je několik "mušek". Není to však zdaleka v té míře, jako je tomu v Internet Exploreru, kde zcela chybí třída JNI (která se stará o přístup k informacím o konktrétní platformě) a RMI (jež odpovídá za vzdálené vyvolávání procedur a umožňuje psát v Javě skutečně síťové a distribuované aplikace). Náš Java Activator učiní váš browser kompatibilní se 100% čistou Javou. Funguje jako plug-in, uživatel program pouze jednou spustí a nadále se o problematiku Javy v prohlížeči nemusí zajímat.
Rád bych se ještě podrobněji zmínil o termínu 100% čistá Java, který jsem zde již několikrát použil. Jedním z hlavních přínosů Javy je vedle její bezpečnosti a schopnosti pracovat v síťovém prostředí i její nezávislost na použitém zařízení, na kterém Java běží. Sun se cítí zodpovědný za udržení platformové nezávislosti Javy a proto vytvořil certifikační program, kterým Sun potvrzuje funkčnost aplikace ve vašem browseru nebo na jiném zařízení -- třeba telefonu nebo čipové kartě. Aby mohl Sun potvrdit funkčnost javové aplikace nebo appletu, musí aplikace projít testy 100% Pure Java (čistá Java). Pokud vámi používaná aplikace těmito testy prošla, je označena logem 100% Pure Java; pokud váš browser má současně logo Java Compatible, potom Sun potvrzuje, že aplikace u vás poběží.
Toto je i podstata našich soudních sporů s Microsoftem; používají logo Java Compatible v browseru, který podle našeho názoru není s Javou kompatibilní. Naštěstí se soudní spor vyvíjí směrem pro Sun více než pozitivním a náš Java Activator učiní i tento browser Java kompatibilním.
Zmínil jste Internet Explorer? Je cílem vašeho sporu s Microsoftem pouze dosáhnout odstranění loga "Java compatible" a nebo byste chtěli, aby Microsoft zcela ztratil k Javě přístup?
Myslím, že i uživatelé by byli rádi, pokud by byl MSIE doplněn o chybějící třídy bez nutnosti zásahu našeho Java Activatoru a mohl logo šálku s kávou používat bez námitek z naší strany. Vždy jsme byli hrdí na to, že jsme k našim zákazníkům a partnerům otevření. Zatím jsme nikomu nezakázali si z našeho Webu stáhnout Java JDK a nevidíme důvod, proč to někomu zakazovat teď, byť jsme s ním v soudním sporu.
Java, to však jistě nejsou jen applety běžící v prostředí browseru. Jak je to s prostředím, kde běží plnohodnotné aplikace?
Na CD-ROM jsme umístili Java Virtual Machine ve verzi 1.1.5, což je poslední verze JDK dnes stažitelná z Internetu. Potom jsou zde Java Foundation Classes, což jsou třídy, které umožňují vyvíjet aplikace, které se budou tvářit jako aplikace vlastní operačnímu systému. Tedy, i když je Java platformově nezávislá, díky JFC se javová aplikace např. pod Windows jeví jako windowsovská. JFC představuje rozhraní mezi univerzální prvky AWT (Abstract Window Toolkit) a konkrétním operačním systémem.
Co můžete nabídnout těm uživatelům, kteří nejsou vývojáři?
Na disku naleznou také HotJavu, což je sunovský browser. Potom je zde JavaWorkshop a JavaStudio. JavaWorkshop je obecnější nástroj pro psaní libovolných javových aplikací a kdo není programátorem, ten jej skutečne příliš nevyužije. O JavaStudiu jsem již také hovořil jako o vývojovém nástroji. Je to však poněkud odlehčený nástroj, prostředí pro rychlý vývoj aplikací, které je vhodné i pro ty, kdo sami profesionálními vývojáři nejsou. Skutečně každý pak ocení Java Activator.
Mám si tedy JavaStudio představit prostředí, kde je možné velmi snadno "skládat ikonky" a přitom nepřijít do styku s vlastním kódem?
Ano, lze zde velmi jednoduše vytvářet např. rozhraní k databázím, formuláře, prostě vzít určité grafické prvky a ty spolu logicky svázat. Objektovost je v JavaStudiu opravdu velmi vysoká. Např. i všechna tlačítka jsou zde současně komponenty JavaBeans. Pro vývoj vam stačí myš, klávesnici potřebujete minimálně.
Když je řeč o Javě, napadá mě ještě JavaStation, vaše, dalo by se snad říci, vlajková loď. Jak to vypadá s okolnostmi prodlevy mezi uvedením síťového počítače a chvílí, kdy se dostal do prodeje?
Úvodní zpoždění vzniklo ohledně lokalizace. Mezitím jsme vsak dovyvinuli řadu nových technologií kolem Javy a nechtěli jsme nabízet produkty, které v tu chvíli už byly vlastně zastaralé. Navíc bych trochu poopravil i tu větu o Java Station jako o naší vlajkové lodi. Ukazuje se, že např. také javové chipové karty představují obrovský trh. Technologie postupně dozrává a neustále se vyvíjí.
Kromě toho, JavaStation, i když se to často tvrdí, není určená pro každého, kdo dnes vlastní PC. Jde nám spíše o Javu jako takovou, která může běžet jak na PC, tak na síťovém počítači JavaStation.
Co to konkrétně znamená?
Java jako vývojové prostředí pro platformově nezávislé aplikace je ideálním nástrojem pro budování Intranetů a v širším slova smyslu i celých informačních systémů jako takových. Ideálem je situace, kdy bez ohledu na to, zda máte počítač, mobilní telefon, kartu nebo hodinky, potřebná informace vám díky Javě odněkud přiteče. V každém zařízení vám stačí javový operační systém a javově kompatibilní browser. Toto vše najde uplatnění především v rozsáhlejších informačních systémech. V běžném životě nás však zajímají právě ty velké informační systémy -- dopravní spojení, rezervace letenek, přístup ke svému bankovnímu účtu apod.
Ještě k ceně oněch javových zařízení. Pro mnohé je cena JavaStation překvapivě vysoká, srovnatelná např. s Pentiem.
Zbývá jenom zopakovat, že ušetření se týká především nákladů na údržbu informačního systému. Sem patří např. dnes populární řešení problémů s rokem 2000. U jednoduše administrovatelného systému je toto vše samozřejmě mnohem snazší. Koupě výpočetní techniky je, dalo by se říci, pouze zlomkem nákladů na informační systém. Tolik tedy k vysvětlení, proč např. síťový počítač není o 50 % levnější než PC. Vše je o penězích, ale v trochu jiné rovině, než se stále mnohdy uvažuje. U automobilu je jasné, že náklady na jeho pořízení nejsou náklady jedinými. U informačních systémů není toto povědomí ještě příliš silné. Proto také některé termíny, jako např. "cost of ownership", neustále opakujeme. Víme, že se opakujeme, ale něco jiného je takový výrok slyšet a něco jiného je uvědomit si jeho důsledky.
Uvádí se, že síťové počítače se uplatní především tam, kde uživatel vykonává neustále jednu operaci, např. u bankovních přepážek. Jaká je ale potom výhoda NC oproti klasickým textovým terminálům?
Grafické prostředí přináší novou funkčnost. Na textovém terminálu jsem řadou věcí omezen. Jak si na znakovém terminálu chcete např. prohlížet grafy nebo digitalizovaný podpis majitele účtu?
Mohl byste nějak charakterizovat informační systém postavený na Javě? Jak se pro něj např. budou vyvíjet aplikace?
V zásadě platí, že zde je třívrstvá architektura, tedy v jádru aplikační server, střední úroveň představuje webový server a vrchní webový klient. V takové architektuře se snadno zavádějí jakékoliv inovace. V takovémto světě je jednoduché zpřístupnit nějakou část vnitrofiremního informačního systému partnerům, kteří si nebudou muset instalovat nějakou specifickou aplikaci.
Často se hovoří o budoucnosti Javy v malých zařízeních. Sem směřuje i váš balík PersonalJava. Mohl byste říct, jak se tento produkt liší od "standardní" dodávky Javy?
Chtěl bych říci, že PersonalJava je stále především Java. Liší pouze tím, že neobsahuje některé třídy, u nichž se předpokládá, že v zařízeních typu "inteligentní žehlička" nikdy nebudou potřeba -- jedná se např. o třídy odpovědné za grafické rozhraní a multimédia. Protože požadavkem u těchto malých zařízení je šetrnost k paměti, je také PersonalJava optimalizována co se týče velikosti kódu -- redukce dosahuje až 70 %. Jádro odpovědné za komunikaci a běh aplikací zůstává v PersonalJavě nezměněno. Člověk s mobilním telefonem musí jistě komunikovat, ale zřejmě nebude vyžadovat systém s překrývajícími se okny -- a s PersonalJavou tedy vystačí. Nebo byste chtěl multimediální žehličku na prádlo? Ja bych raději funkční žehličku, která hřeje.
Problém softwaru pro malá zařízení, to je velmi zajímavá kapitola...
Ale on to není ani tak problém technologie, ale spíše obtíž vyplývající ze dvou proti sobě působících faktorů. U mobilních zařízení v zásadě požadujete, aby měla co nejmenší velikost. Naopak displej použitelný pro jakoukoliv složitější aplikaci by měl být co největší...
Jak se vyvíjejí aplikace pro PersonalJavu?
Jakákoliv javová aplikace, která nevyžaduje komplikované GUI a např. vyspělejší databázovou konektivitu (nelze snad předpokládat, že by žehlička přímo komunikovala s databází), může být snadno překompilována do PersonalJavy a potom spuštěna přímo na příslušném malém zařízení. Proto jsme na disk umístili i speciální vývojové prostředí pro tyto "odlehčené" aplikace.
Ještě k těm malým javovým zařízením. Kdo je vyrábí, s kým vším Sun v této záležitosti jedná? A kdy se s elektronikou "nacpanou" Javou setkáme i na našem trhu?
Pro skutečně malá zařízení, jako jsou chipové karty, dodává Sun ještě menší Javu, než je PersonalJava. Pro takováto miniaturní zařízení je k dispozici EmbeddedJava, kterou lze skutečně vměstnat do jediného chipu a paměťové nároky pro běh aplikací jsou extrémně malé.
Zpět však k vaší otázce: javové chipové karty vyrábí např. firma Siemens nedaleko od našich hranic, v Drážďanech. Sun je v této oblasti spíše v pozici technologického inovátora a koordinátora. My si neděláme ambinace, abychom sami vyráběli mobilní telefony. Toto přenecháváme našim partnerům.
Kdybych se měl pokusit být prorokem: odhadl bych, že se s prvními javovými zařízeními setkáme už na vánočním trhu v kategorii luxusní elektroniky.
Snad ještě poslední otázka: Společnost IDG vydává v on-line podobě časopis JavaWorld. Šéfredaktor tohoto časopisu se zajímal o to, čím je české, respektive středoevropské prostředí z javového pohledu specifické? Jaké máte v tomto ohledu zkušenosti vy?
V našich zeměpisných šířkách je pojem "konkurenční výhoda" brán natolik vážně, že pokud ma vývojářská firma nápad a vyvíjí aplikaci, necítí potřebu se s námi spojit, byť bychom jí mohli významně pomoci. V okamžiku, kdy je aplikace hotova, jsme mnohdy překvapeni, jaký software je možno vyvinout bez pomoci velké společnosti disponující technologiemi a znalostními databázemi. Je to trochu škoda, protože běh jednotlivce je vždy pomalejší a více vyčerpávající než štafeta. Pochopitelně to nejvíce mrzí onoho běžce, když zjistí, že prvních 700 metrů za něj mohl běžet někdo jiný a on se mohl soustředit pouze na svůj závěrečný úsek. Nejsem si však zcela jistý, zdali nelze toto přirovnání často aplikovat i na život okolo nás.
Děkuji za rozhovor.