Java na Webu I. - Preambule

Ona ta Java totiž není jen na ony „velké“ projekty. Dalo by se snad i říci, že žádný projekt není pro Javu dost malý. Tímto článkem se uvedeme do seriálu věnujícího se použití (nejen) Javy pro účely webových aplikací.

24.2.2013 21:00 | Petr Horáček | přečteno 15102×

Tímto úvodním článkem odstartujeme seriál věnující se užití Javy při tvorbě webových aplikací (rozuměj stránek). Nezůstaneme však jen u Javy samotné, budeme se věnovat i využití dalších technologií a komponent webové aplikace (například nás čeká propojení s klientem pomocí Ajaxu, užití databází nebo konfigurace kontejneru Tomcat). Co nás ale nečeká, je výuka Javy samotné, toto téma je již na Linuxsoftu zpracované (http://www.linuxsoft.cz/article_list.php?id_kategory=192). Dnešním článkem nastíníme směr, kterým by se měl tento seriál ubírat, nečekejte tedy žádné hello world, pouze spoustu budoucího času.

Proč a jak?

Tento seriál jsem se rozhodl napsat před nějakým časem, kdy jsem se při tvorbě internetové aplikace potýkal s nedostatkem (především českých) zdrojů týkajících se tvorby webových aplikací v Javě, řešení jednotlivých problémů při tvorbě, správné konfigurace serveru apod. Z těchto důvodů jsem se rozhodl zde vytvořit jakousi učebnici sloužící pro vysvětlení základních postupů tvorby a později ji rozšířit o návody pro řešení jednotlivých potíží (na které jsem při tvorbě narážel a někdy strávil celé dny jejich řešením).

Nejsem studovaný „javista“, a proto budu rád, když mě v komentářích pod článkem opravíte nebo navrhnete lepší řešení, popsané postupy nemusí být vždy ty úplně nejlepší. Jakákoliv konstruktivní zpětná vazba je tedy vítána.

Použití Javy při tvorbě webu

Mnohým se pod slovem „Java“ vybaví nástroj pro řešení velkých webových aplikací. Jak už bylo ale řečeno v úvodu, Java je vhodná i pro použití na menší a střední weby, které lze případně později pohodlně a plynule rozvíjet do velkých. Při správném používání vývojového prostředí může být vývoj takové aplikace poměrně rychlý, k dispozici je i spousta otevřených balíčků řešících základní problémy, využít můžete i některý z frameworků.

My se ale, z důvodu lepšího pochopení elementárního fungování aplikace, budeme věnovat především základu Javy, bez frameworkové nadstavby. Také se nebudeme zabývat programováním Java appletů (jde o speciální aplikace, které mohou například nahrazovat chybějící dovednosti prohlížeče).

Důležitým bodem vývoje Java webu je i správná instalace a nastavení serveru. My budeme užívat pro naše účely plně dostačující webserver Tomcat (a to samostatně bez známého webserveru Apache, poradím vám jak funkce Apache nepotřebovat, a tak se bez něj plně obejít).

Nejen Java

V praxi si samozřejmě nevystačíme pouze s Javou samotnou, proto se v tomto seriálu budeme věnovat i jejímu propojení s dalšími technologiemi. Každé z těchto kombinací bude věnován alespoň jeden článek, popisující ideální spojení a konfiguraci, možné problémy a využití.

Bude se jednat například o Tomcat (tzv. kontejner, aplikační server zastávající mnoho funkcí, kterým budeme věnovat mnoho dílů tohoto seriálu, blíže si o něm povíme již v příštím díle). Naučíme se propojit naši aplikaci s databází (v našem případě především s MySQL, předvedeme si i ochranu před SQL injection a poolování spojení). Pro komunikaci bez nutnosti přenačtení stránky budeme používat Ajax (ten se nám bude hodit nejen při rychlém ukládání formulářů, ale i při nahrávání souborů). Během seriálu se budeme věnovat také nepostradatelnému zabezpečení, můžete tedy čekat i užití SSL.

Nestačí jen umět

Něco nějak tvořit a dobrat se k výsledku není nijak těžké, stačí se naučit základ Javy a pak to všechno nějak spatlat, taková práce ale nemá žádný smysl a programy v Javě jsou potom opravdu pomalé, náchylné k pádům a přiznejme si to – hnusné.

Abychom byli schopni naprogramovat kvalitní aplikaci – rychlou, stabilní a se znovu použitelným kódem, musíme znát i teorii, tedy základní postupy programu, potřebná místa konfigurace a na co si dát pozor.

Prvních několik článku budeme věnovat téměř čisté teorii věnující se vnitřnímu postupu dat při vykreslování webu a různým typům komponent Javy. Tyto články doporučuji (ve vašem zájmu) nepřeskakovat, získáte díky nim přehled o tom, jak to vlastně všechno putuje a přechází a budete si moci při tvorbě aplikace či debugování udělat o všem lepší představu.

Pokud nebudete něčemu v mých článcích rozumět pište do diskuse, rád vám poradím.

V průběhu celého seriálu se budeme věnovat jedné aplikaci její tvorbě a rozšiřování. Budeme tedy pracovat i na praktických příkladech (nebo spíše jednom velkém příkladu).

Prostředí

Postupy tvorby si budeme předvádět v prostředí NetBeans (http://netbeans.org/). Někdo by jistě mohl namítnout že Eclipse (http://www.eclipse.org/) je přece lepší, nebudeme se tu ale věnovat žabo-myším válkám. O vaše zkušenosti a postřehy s vývojovými prostředími se můžete podělit v diskusi pod článkem.

Osobně jsem s NetBeans začínal, Eclipse jsem vyzkoušel asi třikrát, nikdy mě však nepřesvědčilo k přesedlání. NetBeans je vývojové prostředí českého původu, zaměřené na tvorbu Java aplikací (umí i mnoho dalších jazyků). Poskytuje všechny funkce pro debugování, nabízí velké množství balíčků a je možné je používat i v kombinaci se serverem, mimo jiné je z něj možné i zasílat SQL dotazy do databáze. Krátce řečeno je to robustní nástroj.

Závěr

Pokud za svůj jazyk při tvorbě webové aplikace zvolíte Javu, odměnou vám bude práce ve skvělém programovacím jazyku s širokou uživatelskou základnou, lineární náročnost používání prostředků, velké množství již vytvořených balíčků a nástrojů, téměř absence limitů vyjadřovacích prostředků a v neposlední řadě i uplatnění se na trhu práce, po programátorech Java je totiž stále stále velká poptávka. V příštím díle se budeme věnovat elementárním komponentám aplikace a základnímu workflow.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1965