Hlavní navigace

Co používat po přechodu 2 - internetový server (3)

Michal Krause

Dnes se podíváme jaké prostředky pro vývoj dynamických WWW stránek máme na Linux a potažmo i dalších un*xových platformách k dispozici.

VÝVOJOVÉ PROSTŘEDKY

Marná sláva, statické stránky jsou zvolna na ústupu. Není se tomu moc co divit, potenciál Internetu je právě v interaktivitě – pro statické informace by se asi našla stejně vhodná nebo i vhodnější média. A tak se WWW stránky zvolna „zdynamičťují“ – obvykle to začne vyhledáváním, pak přibudou třeba nějaké výpočty (typickým příkladem jsou například pojišťovny, leasingové společnosti atp.) a nakonec možná dojde i na objednávkový systém.

Ať už půjde o maličkou aplikaci nebo on-line „obchodní dům“, je vždy třeba zvolit, jakou cestou se vývoj bude ubírat. V zásadě jsou možnosti dvě. První je metoda využití klasických CGI (nebo FastCGI) skriptů, jejichž výhodou je hlavně nezávislost na programovacím jazyku a platformě (pochopitelně v rámci možností toho kterého jazyka). Použitím CGI se zde nebudu podrobně zaobírat, protože to přesahuje rámec tohoto článku. Postačí, když řeknu, že na unxech je k dispozici množství programovacích jazyků, jenom si vybrat. Namátkou třeba C/C++, Java, Perl, Python, různé shellové skripty, Basic, Pascal, assembler (pro masochisty :), Awk, Rebol, Eifel, LISP a Scheme-like jazyky a mnoho dalších. Pro většinu z nich máte k dispozici i nástroje, jako je debugger a podobně. Sluší se, abych podotkl, že mnoho z uvedených jazyků naleznete i na neunxových platformách, tedy i ve Windows.

Podstatně zajímavější je pro nás druhá metoda vývoje dynamických stránek s pomocí nástrojů k tomuto účelu speciálně určených. I v této oblasti je na tom Linux a potažmo i další un*xy rovněž velice dobře.

Asi nejznámějším pojmem z této oblasti je PHP. Jde o tzv. „HTML embeded scripting language“, tedy česky o skriptovací jazyk, jehož povely jsou vkládány přímo do HTML kódu. Principiálně je podobný micro$oftím Active Server Pages (ASP). PHP je velice mocný a rozšiřitelný programovací jazyk, který je ušit na míru pro dynamické generování stránek. Tomu odpovídá i základní nabídka funkcí, která pokrývá připojení k SQL serverům (mSQL, MySQL, PgSQL, Informix, InterBase, Oracle, M$ SQL, Sybase, ODBC, …) i souborovým databázím (dBase, dbm), přístup k lokálním souborům, podporu aplikačních (HTTP, FTP, IMAP, SNMP, …) i síťových (TCP/IP) protokolů. Kromě toho PHP podporuje samozřejmě i množství dalších funkcí pro práci s řetězci (včetně regulárních výrazů), čísly (matematické operace), objekty, obrázky (GIF, PNG), formátem PDF nebo třeba XML.
Pokud by uvedené funkce nepostačovaly, lze možnosti PHP dále rozšiřovat o moduly psané v C. Vývoj aplikací si lze usnadnit s pomocí integrovaného debuggeru.
PHP funguje opět na mnoha platformách včetně Windows, ovšem v naprosté většině případů se musí používat v režimu CGI, čímž se jeho možnosti mírně ochuzují. Doma je PHP zkrátka na unxu pod křídly Apache :)
Pro případ, že byste potřebovali přenést hotové aplikace napsané v ASP na un
xový server, máte v zásadě tři možnosti:
 – použít konverzní program asp2php – u jednodušších projektů je prý úspěšnost solidní
 – provozovat ASP stránky s perlovým modulem ASP.pm
 – zakoupit si komerční řešení pro provoz ASP od společnosti Chilli!Soft

Malinko odlišným přístupem k tvorbě dynamických stránek je použití aplikačních serverů. Mezi nejznámější zástupce této kategorie ve světě Windows patří M$ Site Server nebo Oracle Application Server. Pokud se rozhodnete pro open source řešení, máte opět na výběr několik různých produktů.

Jednoznačně nejznámější je Zope. Nejdříve asi zaujal tím, že je téměř kompletně napsán ve skriptovacím jazyce Python, později stále více vývojářů objevovalo jeho kvality a dnes už najdeme několik opravdu velkých projektů, které běží právě na Zope. Pokud se chcete dozvědět více, můžete kromě domovské stránky projektu navštívit například tento srovnávací test M$SS a Zope.

Pokud si s Pythonem zrovna netykáte, můžete zkusit projekt Mason, který je postaven na jiném skriptovacím jazyce, Perlu. Nejsem bohužel kompetentní porovnávat možnosti těchto řešení, protože je dopodrobna neznám. Za tento projekt tak budou asi nejlépe hovořit jeho reference.

Další platformou pro vývoj webových aplikací je Midgard, projekt nikoliv nepodobný výše uvedeným řešením, ovšem tentokrát na bázi PHP3.

Projekt Blade se od Zope, Masona a Midgardu neodlišuje ani tak základními principy, jako spíše implementací. Základem totiž není jeden konkrétní programovací jazyk, ale objektová technologie CORBA. To umožňuje vyvíjet aplikace v heterogenním prostředí, což je na jednu stranu výhoda, neboť programátor není omezen jedním jazykem, ale na stranu druhou to asi může vést k poněkud schizofrenním stavům.

A to je pro dnešek vše. Příště se podíváme na možnosti při volbě databázového serveru.

Našli jste v článku chybu?