1. 09.06.1994.
Autor: Damir Delija
Naslov: Razmatranja o prijelazu na klijent server tehnologiju
Osnovna ideja uvođenja klijent server tehnologije je dostupnost podataka krajnjim
korisnicima i prilagodljivost. Podaci su u prosječnom slučaju koncentrirani na mainframe
računalima sa klasičnim terminalskim mrežama. Klijent server tehnologija te podatke, u
idealnom slučaju, stavlja na raspolaganje krajnjem korisniku u onom obliku koji njemu
najviše odgovara. Sa stanovišta rada sa podacima funkcija klijenta je prikaži i pitaj, dok je
funkcija servera rezolviraj i pruži uslugu.
Za takva rješenja danas stoji na raspolaganju cijeli niz produkata na svim nivoima
komunikacija koji omogućuju prijelaz na klijent server tehnologiju. Ono to je kritično je način
prijelaza i odabir pravog modela prijelaza. Takva odluka mora proizlaziti iz poznavanje građe
postojećeg sustava poduzeća, te mogućnosti osoblja koje će te zahvate raditi. Alat kojim će se
postupak obaviti mora omogućiti to bezbolniji prijelaz.
Prijelaz sa klasične tehnologije velikih računala na klijent server tehnologiju u treba izvesti u
vi e korak. Nije moguće izvesti "rez" u velikom postojećem sustavu koji će odmah omogućiti
uniforman prijelaz. Standardno se definiraju četiri stupnja pri prijelazu na klijent server
tehnologiju:
1. Zamjena terminalskih mre a sa PC računalima
2. Uvođenje Read-Only lokalnih servera za klijente
3. Uvođenje klijentocentričnog modela
4. Puna distribucija usluga po umre enom sustavu
Svaki od ovih koraka može trajati proizvoljno dugo vremena i zahtijeva praktične zahvate na
obuci osoblja, izradi dokumentacije, izradi potrebne programske podrške.
Prijelaz u vi e koraka daje mogućnost ispravljanja manjih grešaka i procjena u hodu, tj. greška
počinjenja u prethodnoj fazi uklanja se u tekućoj ili slijedećoj. To ima poseban utjecaj na
personalizaciju korisničkog sučelja prema sustavu i prema sustavu prezentacije podataka po to
je moguće manje greške i nelogičnosti otkloniti prije nego to se duboko ugrade u sustav.
mogućnost postupnog i reverzibilnog napredovanja je neophodna u ovakvim situacijama gdje
se zapravo još uvijek uči i to najviše na vlastitim greškama.
Količina rada i znanja koju je potrebno uložiti u puni razvoj klijet server sustava veoma je
velika i zahtjeva između ostaloga precizne analize postojećeg i ciljnog sustava. Konačni cilj je
2. razvoj distribuiranog modularnog sustava koji može fleksibilno podržavati sve promjene u
poduzeću. Takve promjene su posljedica te nje za većom efikasno ću i to br em
prilagođivanju sustava tekućim promjenama.
Zamjena terminalskih mre a sa PC računalima
Zamjena terminalskih mre a lokalnom mre om PC-a je prvi korak. On je podudaran sa
uvođenjem lokalne mre e računala i to ne samo sa postavljanjem ožičenja i računala, već sa
postizanjem pune funkcionalnosti lokalne mre e. Sa stanovi ta klijent server modela korisnici
sada pristupaju starim aplikacijama na velikim računalnim putem terminalske emulacije. To
znači da se na lokalnom PC-u, pod kakvim grafičkim korisničkim sučeljem (engl. GUI,
Graphical User Intreface) pokreće terminal emulator koji komunicira sa aplikacijom na
velikom računalu. Upotrebom predefiniarnih skripti na PC za terminal emulatore mogu se
postići prilagođivanja i uvođenje novi komandi na staroj aplikaciji, a tehnikama cut-and-paste
mogu se postići prebacivanja podataka i ekrana iz jedne aplikacije u drugu. Postoje i alati za
HLLAPI (High Level Language Aplication Program interface) koji omogućuju povezivanje
ekrana starih aplikacija sa kompletno novim front-endom na PC i njegovom GUI-u.
}
Slika 1: Zamjena terminalske mre e mre om PC-a
Pri prvom koraku uspostavlja se zapravo infrastruktura. Da bi ovaj korak mogao izvesti mora
funkcionirati lokalna mre a sa sustavom nadzora i upravljanja, sa definiranim standardima za
opremanje PC-a, alata koji se koriste, sustava backupa, strukture korisnika i sl. Ukratko mora
postojati pouzdana administracija lokalne mre e kao osnovnog sloja pružanja usluge
korisnicima. Ovaj prijelaz obično nije lagan prvenstveno to zahtijeva usvajanje novih znanja.
Veliki sustavi su obično orijentirani na zatvorene mainframove pa i ljudi koji rade na njima
misle na slična način. Uvođenje lokalne mre e zahtijeva dosta radikalne promjene u
razmišljanju i organizaciji.
Ovaj korak može se razmatrati kao enkapsulacija stare aplikacije. Takav pristup može biti
jako koristan pogotovo kod starih aplikacija koje "iskustveno" funkcioniraju bez prave
dokumentacije. To je pristup crne kutije i enkapsulatora.
3. }
Slika 2: Enkapsulacija postojeće aplikacije
Sa stanovi ta razvoja sistema ovaj korak znači definiranje standarda korisničkog sučelja i
pomoćnih alata koje će korisnici koristiti u svom radu na klijentima. Od ovog koraka
korisničko sučelje se vi e ne smije mijenjati, jedino to se smije mijenjati su aplikacije koje
korisnik koristi tj. njihova funkcionalnost i građa samog sustava.
Uvođenje Read-Only lokalnih servera za klijente
Lokalni RO serveri za klijente predstavljaju drugi korak u uvođenju klijent server tehnologije.
To je prijenos podataka sa velikog računala na lokalne servere na kojim su ti podaci dostupni
klijentima. Pohrana podataka na lokalnim serverima moguća je na vi e načina. Podaci mogu
biti pohranjeni u lokalne baze tako da klijenti imaju pristup do njih kroz klijent server sustav,
tj. može se raditi isprobavanje alata koji će kasnije objediniti cijeli sustav.
}
4. Slika 3: Lokalni RO serveri
Podaci na lokalnim serverima su kopije podataka sa velikih računala. Prema tome potrebno je
uvođenje procesa koji će u pravilnim razmacima, ovisno o prirodi podataka, prenositi podatke
sa velikog računala na lokalne servere. Nedostatak je očigledan podaci imaju pomak u odnosu
na stvarno stanje baze na velikim računalima, a nemoguće je pohraniti promjene koje klijenti
čine lokalno na velika računala.
Primjena lokalnih RO servera je u stvari znači početak uvođenja prave klijent server
tehnologije i to prema korisniku. To značI da se korisniku sada pružaju mogućnosti
personifikacije svog rada sa podacima, uspoređivanje i dobivanja odgovara sustava u formatu
koji je korisniku najpogodniji. Ovaj korak u glavno daje efikasnu podršku funkcijama
odlučivanja i analize u poduzeću po to su sada kompletni podaci na raspolaganju klijentu.
Uvođenje klijentocentričnog modela
Naziv klijentocentrični model dolazi od činjenice da je sva "pamet" aplikacije koncentrirana u
klijentu, dok server samo pruža usluge pristupa resursima podataka, odatle još i naziv
resursno orijentirani model. Klijentocetrnični model znači punu primjenu klijent server
modela u sustavu, uz koncetrariranje na proširenje korisničkih sučelja na klijentima
intuitivnim načinom prikaza podataka. Tu je ujedno uključena i puna podrška svim
operacijama klijenta na stvarnim podacima. Klijenti sada kroz mehanizam SQL-a (ili neki
sličan) dosižu podatke pohranjene u bazama podataka na serverima. U ovom koraku klijenti
obavljaju jednostavne transakcije na podacima u bazi na osnovi glagola OSVJE I, OBRIŠI i
DODAJ.
Karakteristično za ovaj korak je intenzivno opterećenje servera sa velikim brojem zahtjeva od
strane klijenta, te teškoće sa održavanje sustava zbog toga to svaki klijent te i ka
personifikaciji svog pristupa podacima i načIna manipuliranja njima. Tu do izražaja dolazi
činjenica da su korisnici kroz prethodna dva koraka naviknuli na određeni načIna prikaza i
manipulacije podacima kroz grafička korisnička sučelja i da se do sada već iskristalizirao
"korporacijskih vizualni način prikaza podataka", tj. stil korisničkog sučelja. }
5. Slika 4: Klijentocentrični model
U ovome koraku također se pojavljuje jedan od popratnih efekata prelaska na klijent server
model, a to je slabljenje centralnog nadzora nad podacima. U slučaju da cijeli sustav nije
ravnomjerno migrirao i da nije bilo definirane politike nadzora sustava može se desiti da
pojedini serveri tj. podaci na njima ostanu izvan dosega centralne vlasti tj. migriraju ka
odjelima koji se njima najviše bave. Na velikim računalima takvih situacija nije bilo iz
razloga to su podaci centralizirani pa ih je jednostavno dosegnuti i vršiti globalne obrade. U
slučaju klijentocentričnog modela globalna obrada podataka i analize zahtijevaju sudjelovanje
svih servara, to dovodi do pojave nadzornih klijenata. Nadzorni klijenti su "povlašteni
klijenti" koji imaju dostup do cijelog sustava i omogućuju globalne i centralne prioritetne
obrade, tj. oni predstavljaju logična mjesta za administrairanje baza na serverima i nadzor
cijelog sustava.
Treba reći da je ovo danas stupanj implementacije modela klijent server do kojeg se u
komercijalnim primjena najdalje ide.
Puna distribucija usluga po umre enom sustavu
Distribucija usluga po umre enom sustavu je konačni cilj razvoja klijent server sustava. Ona
omogućuje definiranje usluga i pripadnih uslužilaca sa raspodjelom "pameti" tj. među
klijentom i serverom. Za razliku od klijentocentričnog modela gdje se sve obavlja na strani
klijenta ovaj model dozvoljava centralnu ugradnju dijela logike aplikacije koji je svima
zajednički.
Pod model distribuirane logike dijelovi aplikacije nalaze se na umreženim računalima. Kako
se aplikacija izvodi ona se djelomično obavlja i na drugim računalima, a komunikacijski
sustav pri tome osigurava sinkronizaciju distribuiranog procesa koji čini tu aplikaciju. To
pruža odličnu fleksibilnost po to pojedini korisnici mogu prilagoditi dijelove aplikacije prema
svojim potrebama, a bitni dijelovi logike ostaju sačuvani na strani servera.
6. }
Slika 5: Distribuirana aplikacija
Razvoj distribuirane logike oslanja se na prethodna tri koraka. Korisnička sučelja su
definirana, definiran je i "korporacijski vizualni način prikaza podataka", definirani su
definirane baze podataka i alati za pristup bazama podataka, te su definirani svi postupci
nadzora i kontrole sustava. Uvođenjem distribuirane logike baze se optimizira se odnos
klijenta i servera na podjeli aplikacije prema logici posla koji ona radi. Izgradnja distribuirane
logike nije jednostavna i ona zahtijeva odgovarajuće alate koji su danas još malobrojni.
Pitanja i mogućnosti
Ovako opisan hod prema klijent server tehnologiji izgleda mučan i dugotrajan sa
međukoracima i velikim mogućnostima grešaka, pa se postavlja pitanje da li je on uopće
potreban? Kao to je u uvodu rečeno ovakav pristup ima smisla za veliko poduzeće čija
informatička infrastruktura postoji u obliku velikih računala i čije poslovanje ovisi o obradi
podataka. U slučaju takvih preduslova ovakvi se koraci mogu izvesti i poslovanje firme će
preći na klijent server tehnologiju.
Za poduzeće bez informatičke podloge postavlja se pitanje inicijalnog dizajniranja sustava i
tro kova vezanih uz to. Idealan način bi bio odmah primjena klijentocentričnog modela u
potpunosti se oslanjajući na neki razvojni alat. Po to se u takvom slučaju inicijalno ne može
razviti sustav u cjelini potrebno je uniformno razviti dijelove sustava koji će se kasnije
objedinit, tj. u njima ostaviti sučelje za međusobno objedinjavanje.