Cayman Islander | Diary of a Freelance Programmer traveling the world

Cayman Islander's blog - Diary of Freelance Programmer

Proč dělám databázové aplikace a ne "jen" nějaké Web stránky?

Volovina jako krávaBavili jsme se s kolegou, k čemu jsou vlastně Web stránky a proč je na světě tolik firem, které se věnují tvorbě Webů. Jak často se směšují naprosto odlišné přístupy některých dodavatelů, někdy navíc doplněné neznalostí zadavatelů, kdy se třeba po grafickém studiu požaduje databázová aplikace s pouhým výstupem na Web.

Mnoho lidí možná ani nechápe, že je potřeba rozlišovat tu základní tvorbu Web prezentace, tj. pouhou reklamní propagaci firmy nebo osoby, kdy se jedná jen o základní kontaktní Web stránky spojené s propagací nabízených služeb - zboží, doplněné třeba o eShop pro přímý prodej zákazníkům z celého světa.

V takovém případě je důležitá hlavně grafika, design, profesionální kód, kvalitní optimalizace pro vyhledávače, dobrá propagace a promyšlené zacílení na zákazníka.

Druhou skupinou ale tvoří Web aplikace, tj. typické databázové aplikace, kdy Web stránky jsou jen jeden z mnoha způsobů (ksichtů), jak prezentovat data z databáze, neboť kromě Web prezentace můžou být data zpracovávána pomocí lokální plnohodnotné GUI aplikace pro Windows nebo Unix/Linux v lokální síti, může existovat prezentační GUI aplikace pro mobilní zařízení, či je možno na dB server napojit middle-tier s aplikačním serverem, který se stará o kompletní zpracování dat.

Zde je nutno uvažovat úplně jinak, neboť základem architektury je databáze, kvalita dB modelu, programový kód v databázi ve formě uložených procedur, funkcí, či triggerů, kdy je ideální mít veškerý kód, který zpracovává data, uložen právě v databázi.


Kolikrát se tyhle dva modely zaměňují?

Asi každý zná plno příkladů kolem sebe, kdy se obvykle jedná o ne příliš úspěšné projekty, příp. o projekty kritizované všude možně.

Kolik jen já znám grafiků, kteří získali nějakou Web zakázku a začali hned s návrhem designu Webu bez toho, aby si nejprve rozmysleli celkovou architekturu a zvolili nejvhodnější nástroje. Asi aby oslnili zákazníka, tak použili Flash nebo alespoň DHTML a první grafická verze byla na světě.

Když ale začali přidávat databázový kód, který byl základem celého řešení, tak se najednou začali dostávat do nečekaných problémů, ať už technických, či při diskuzích se zákazníkem, který zpočátku ani nevěděl, co všechno chce integrovat do té úchvatné grafické prezentace na Webu.

Podobně mě dokáže pobavit řešení připravené nějakým nezkušeným Java programátorem (nebo co je horší - týmem Java programátorů), který nemá moc zkušeností s databázemi, kdy se veškerý programový kód snaží řešit na klientovi v Javě místo toho, aby jen použil rychlé volání funkcí databázového serveru a v klientské aplikaci jen prezentoval data a výsledky ;-)


Databáze je základ u většiny Web aplikací!

V případě, že se nejedná jen o grafickou Web prezentaci, ale zákazník požaduje zpracování nějakých dat, tak prvotní je kvalita dB modelu ve správné databázi. Tohle je potřeba si uvědomit, když něco tvořím, proto já osobně preferuji databázové aplikace, neboť to jsou snad dnes všechny systémy na Webu, ať je to CRM, Job portály, databáze firem, či evidence jízdních řádů.

Správný druh a kvalita databáze, dB modelu a programového kódu uloženého v databázi, zajistí rychlost a kvalitu zpracování dat. Otevřený inteface umožní jednoduché volání funkcí z databáze, kdy pak jakoukoliv grafickou prezentaci dat na Webu ve formě dynamických Web stránek zvládne každý zkušenější grafik, či Web designer, neboť nejde už nic moc pokazit.

V dnešní době používám několik databází, ať je to rychlá MySQL, standardní MS SQL pro menší i větší řešení, profesionální a všestranná PostgreSQL, či enterprise Oracle pro náročné podnikové aplikace. Každá databáze má své výhody a hodí se na něco jiného, takže výběr správné databáze je stejně důležitý, jako následný dB model, či grafická prezentace na Webu.

"When all you have is a hammer, every problem looks like a nail."

Nejhorší jsou řešení, kdy se architektura Web aplikací postaví na tom, jakou databázi a jaký programovací jazyk zná řešitelský tým, kdy jsem byl několikrát v šoku, když jsem viděl řešení pro 20 uživatelů postavené na Oracle dB, příp. když na databázovou aplikaci s miliónem dB transakcí denně byla použita MySQL s pomalým klientem v Javě.

To potom opravdu nemá omluvu, neboť většina databází je v dnešní době zdarma a tak nic nemůže bránit řešitelským týmům se něco nového naučit.

Viz také - Chcete Web stránky nebo chcete vydělat...

0 comments :

Okomentovat