- neće Vam spominjati alternative, ili ako ih spominju uglavnom će ih ocrnjivati,
- pokušat će vam prodati svoja vlastita rješenja umjesto nekih standardiziranih,
- pokušat će Vas vezati uz sebe u smislu da će pristajati na sve prije nego što donesete odluku, dok kad jednom pristanete uzeti njihovo rješenje više nemate mogućnosti promjene i sve odjednom postaje puno teže ili nemoguće.
U ovom prvom tekstu pozabavit ću se Web stranicama, tj. situacijom kada nekakva tvrtka odlučuje da treba Web stranice radi promidžbe, bilo da postojeće više nisu dovoljne ili uopće do sada nije bilo Web stranica. Poanta je da se radi kompletna promjena što je situacija u kojoj je najlakše pratiti različite opcije.
Web stranice su specifične zbog toga što su direktno izložena na cijelom Internetu te su najčešća meta napada. Primjerice, na stranici http://www.zone-h.org/ nalazi se arhiva uspješno napadnutih Web stranica zajedno sa kopijom napadnute stranice. Nije potrebno objašnjavati koji je to problem za javnu sliku (image) tvrtke ako se nešto loše desi. Pogotovo je to problem ako se putem Weba može doći do osjetljivih informacija koje nisu namjenjene svima (zaštićene su nekakvim lozinkama i slično). Zbog toga treba pažljivo birati rješenje kako bi se minimizirala mogućnost takvih problema. Ovom prilikom treba istaknuti i da Vam nitko ne može jamčiti 100% sigurnost, tj. ako netko tvrdi da sigurno nitko neće provaliti tada Vam laže. Mogućnost provale uvijek postoji!
Statične ili dinamične Web stranice
Dakle, prvo pitanje na koje treba dobiti odgovor je Kako često se namjerava mijenjati sadržaj stranice?. Naime, ako je to rijetko, primjerice nekoliko puta godišnje, ili još rjeđe, onda u načelu nije potrebno uzimati dinamične Web stranice (Web aplikacije) već se sve može riješiti statičnim Web stranicama. Prednosti tog pristupa su:
- drastično ste smanjili mogućnost napada na stranice,
- cijena izrade Web stranica, ali i njihovog smještaja, u takvim situacijama trebala bi biti značajno niža,
- jednostavno je promijeniti tvrtku izvođača.
U svakom slučaju, ako ste se odlučili za statične Web stranice tada je na redu traženje izvođača što bi trebao biti rutinski posao te veći dio preostalog teksta ni ne morate čitati, tj. možete odmah preskočiti na poglavlje o održavanju.
Za kraj ovog poglavlja još ću pokušati ukratko objasniti što su statične Web stranice i koja je razlika u odnosu na dinamične Web stranice. U suštini, svaka Web stranica koje gledate, uključivši i ovu, je u stvari tekst dokument koji opisuje kako će Vaš preglednik prikazati informacije na stranici. Možete vrlo jednostavno vidjeti sadržaj te datoteke tako pogledate njen izvorni kod (u Firefoxu to je Ctrl+U). U stvarnosti taj jedan tekst dokument referencira druge dokumente, i slike, ali to za nas u ovom trenutku nije bitno. Ono što je bitno je kako nastaje taj tekst dokument i to je ono po čemu se razlikuju statične i dinamične Web stranice. Ako je tekst dokument napravljen tijekom izrade cijelog Weba te potom pohranjen na disku i ne mijenja se bez intervencije čvojeka (koji će ga promijeniti i ponovo zapisati), tada govorimo o statičnim Web stranicama. Međutim, ako taj tekst dokument ne postoji na disku već se kreira u letu kada korisnik zatraži Web stranicu, tada govorimo o dinamičnim Web stranicama. To keiranje u letu obavlja program koji se naziva Web aplikacija, odnosno u ovom tekstu ćemo skraćeno govoriti i samo aplikacija.
Dinamične Web stranice
Dinamičke Web stranice, kao što je već rečeno, imaju veće mogućnosti ali zahtijevaju i više resursa za redovno održavanje. U prijevodu, više koštaju. Kao prvi korak u utvrđivanju odgovarajućeg rješenja trebali bi napraviti popis zahtijeva. Primjer nekih pitanja koja mogu pomoći u tom procesu su:
- kome su sve namjenjene informacije koje će biti dostupne na Webu,
- kakve sve informacije namjeravate objavljivati te da li ih namjeravate grupirati,
- tko sve i kakva prava pristupa ima,
- da li namjeravate obaviti povezivanje s internim bazama
- Rješenja temeljena na aplikaciji iz vlastitog razvoja.
- Rješenja temeljena na aplikaciji iz nečijeg tuđeg razvoja, ali bez dostupnog koda.
- Rješenja temeljena na aplikaciji otvorenog koda.
- Rješenja koja ne spominju koja aplikacija se koristi.
- Kvalitetan kod
Aplikacije otvorenog koda su sigurno kvalitetnije pisane nego zatvorene aplikacije čiji kod ne možete vidjeti. Razlog je što kod otvorenih aplikacija mnoštvo ljudi stalno pregledava iz različitih motiva. Neki kako bi pronašli pogreške koje bi potom iskoristili za napade, drugi kako poboljšali kod, itd. Za razliku od otvorenog koda, kod zatvorenog koda česta karakteristika je da se moraju zadovoljiti neki (nerealni) rokovi zbog čega se u kod ugrađuje funkcionalnost koja nije dovoljno ispitana.
- Kontinuirani razvoj
Ako odaberete neku od aplikacija otvorenog koda (primjerice Mambo, Joomla, Plone, Drupal) možete biti sigurni da se te aplikacije stalno unaprijeđuju i dorađuju. Inače, Drupal se koristi i na whitehouse.gov stranicama.
- Proširivost i mnoštvo mogućnosti
Većina Web aplikacija napravljena je na takav način da je omogućeno proširivanje putem dodataka (plugins). Velika je vjerojatnost da za većinu potreba (čak i sve) već postoji razvijeno rješenje.
- Niste ovisni o dobavljaču
Ako niste zadovoljni s jednim dobavljačem jednostavno nađete novog dobavljača. Kod zatvorenih aplikacija to je puno teže budući da je potrebno prebacivati podatke iz jedne aplikacije u drugu, nekompatibilnu, aplikaciju pri čemu dobavljač od kojega odlazite ne mora biti nužno kooperativan.
- Razvoj nije od nule
Razvoj je skup, a pogotovo kvalitetan razvoj. U ta rješenja uložene su velike količine resursa i bilo koja tvrtka koja bi odlučila raditi alternativno rješenje (dakle, od nule) jednostavno nema nikakve šanse konkurirati postojećim proizvodima u pitanju kvalitete i podržanih mogućnosti.
- Sigurnost
Kod ovih aplikacija možete biti sigurni da ste dobro osigurani ako ste dobro riješili/dogovorili održavanje.
- Prilagodba izgleda (design customization).
Vrlo vjerojatno ponuđeni izgled Web aplikacije, kao i postojeće varijacije, neće zadovoljavati potrebe Vaše tvrtke te je Web aplikaciju potrebno uklopiti u vlastiti izgled. Za ovo je potrebno imati dizajnerskih vještina, ali moguće i programerskih. - Izrada novih dodataka.
Određeni specifični zahtijevi možda nisu pokriveni postojećim dodacima (plugins) te u tom slučaju tražite tvrtku izvođača da vam razvije taj dodatak. Preporučio bih, ako je ikako moguće, da razvijeni kod opet bude otvorenog koda te da ga pošaljete za uključivanje u Web aplikaciju. S tim jamčite kvalitetu koda (neće biti uključen ako kvaliteta koda nije zadovoljavajuća), a kako se mijenja Web aplikacija drugi će se brinuti da Vaš dodatak i dalje radi! Ipak, ako to ne može biti javno objavljeno (jer je preosjetljivo ili neinteresantno drugima) tada barem osigurajte da ste vi vlasnik dodatka, a ne tvrtka koja ga je izradila! - Održavanje.
Ovom temom se detaljnije bavim u idućem poglavlju.
Održavanje
Za kraj pozabavit ćemo se i s vrlo bitnom stavkom održavanja! Održavanje uključuje sljedeće elemente:
- Smještaj stranica.
- Održavanje Web aplikacije te operacijskog sustava i njegovih komponenti na kojima se izvršava aplikacija.
- Sigurnosne kopije.
Održavanje uključuje sigurnosne nadogradnje te nadogradnje na novije verzije. To dvoje treba biti zasebno specificirano. Sigurnosne nadogradnje moraju se hitno izvoditi i uglavnom su minornog karaktera. Dakle, to bih svrstao u standardno održavanje. Promjena na novu verziju je posebna priča budući da se može desiti da su stara i nova verzija dovoljno različite da prijelaz nije trivijalan. U svakom slučaju, preporučio bih da se to svakako definira budući da svaka aplikacija ima ograničen vijek održavanja (bez obzira koliko dug) i nakon tog vremena više nema sigurnosnih nadogradnji što vas čini ranjivim!
Konačno, izrada sigurnosnih kopija (backups) je također bitna i to iz dva razloga. Prvi je u slučaju da se desi nekakva katastrofalna greška na poslužitelju možete ostati bez podataka. Drugi je da u slučaju promjene izvođača možete iz sigurnosnih kopija rekreirati sve Web stranice na novom poslužitelju.
Umjesto zaključka
Za kraj, preporučio bih da na vlastitim stranicama koristite Google Analytics, ili sličan alat. Naime, on Vam omogućava praćenje posjeta na Vaše stranice te na temelju njega možete otkriti što ljudi traže i što ih zanima kada su došli do Vas.