Podjetja razširjajo področja svojega
delovanja s fizično geografsko razpršenostjo, kjer so lahko posamezne
enote celo na drugih celinah. Omrežni segmenti, na katerih se nahaja
informacijska oprema , ki jo uporabljamo za shranjevanje podatkov, so
lahko oddaljeni več tisoč kilometrov in povezani s počasnimi
komunikacijskimi povezavami. Prenos podatkov po komunikacijskih
povezavah ne obsega samo medsebojne komunikacije porazdeljenih
podatkovnih baz, ampak jih uporabljajo tudi druge aplikacije in
programske rešitve. Zaradi tega in zaradi napake na omrežju ponudnika
ali izpada vmesnika na omrežni napravi lahko pride do pretrganja
komunikacij. Zaradi teh težav se postavlja več vprašanj in možnih
rešitev, kako uporabnikom zagotoviti nemoten dostop do podatkov in s
tem izvajanje poslovnih procesov.
Ključne besede:
Porazdeljene podatkovne baze, replikacija, SQL, geografska razpršenost podjetja
Podjetja
v svojem poslovnem procesu uporabljajo različne vire podatkov. Pri
izvajanju poslovni procesov v podjetju podatki tudi nastajajo in
zaželeno je, da prihaja do njihovega izmenjevanja. Vse te podatke je
zato potrebno nekje hraniti, da so enostavno in hitro dostopni vsem
uporabnikom. Količina ustvarjenih in pridobljenih podatkov iz
dneva v dan narašča. Posledično se podatkovne baze povečujejo in
zasedajo čedalje več pomnilniškega prostora. Shranjevanje velike
količine podatkov, predvsem multimedijskih, na enem samem mestu postaja
čedalje večji problem zaradi omejene količine pomnilniškega prostora v
računalnikih.Podjetja razširjajo področja svojega delovanja s
fizično geografsko razpršenostjo, kjer so lahko posamezne enote celo na
drugih celinah. Pojavi se potreba po deljenih informacijskih sistemih
in posledično po porazdelitvi (decentralizaciji) podatkovnih baz. V
prispevku opisujem metode in sredstva, ki jih uporabljamo pri
upravljanju porazdeljenih podatkovnih baz v podjetju Pomurske lekarne.
STANJE
Javni
zavod Pomurske lekarne zaposluje 85 delavcev. Zavod sestavlja 12
lekarn, ki delujejo na področju celotnega Pomurja. V podjetju so začeli
uvajati osebne računalnike kot podporo izvajanju poslovnih procesov
leta 1986. Letno opravijo povprečno 3.000.000 transakcij (obdelave
receptov in direktna prodaja ter nabava blaga).
V povprečju so v
vsaki lekarni 3 računalniki, 2 POS in 1 Back Office računalnik. Pred
uvedbo novega informacijskega sistema so bile aplikacije razvite na DOS
platformi. Sistem za upravljanje s podatki je bil DbVista podjetja
Raima. Podatki o obdelanih receptih so se zapisovali v sekvenčne
datoteke. Za komunikacijo lekarn z upravo se je uporabljal FTP protokol
in analogni 56K modemi. Za komunikacijo med lekarnami so se uporabljali
telefoni in elektronska pošta. Analiza podatkov v upravi je bila možna
le na knjigovodskem nivoju.
Pri prenosu podatkov za vnos v
knjigovodske evidence je pogosto prihajalo do težav, zato je bilo
potrebno te postopke večkrat ponavljati. Po vsake neuspešnem prenosu je
bila potrebna ponovna priprava podatkov, prenos na strežnik, prenos iz
strežnika v upravo in ponovni uvoz ter kontrola.
REŠITEV
V
letu 2003 smo začeli z izdelavo projektne naloge, v kateri smo
predvideli posodobitev informacijskega sistema v podjetju Pomurske
lekarne. Cilji, ki smo si jih zadali v tem projektu so bili:
- Izdelava sodobne Windows aplikacije, ki bo omogočala večje izkoriščanje obstoječih Office in komunikacijskih programov
- Vzpostavitev povezav med upravo in lekarnami v realnem času
- Vzpostavitev povezav med posameznimi lekarnami v realnem času
- Centralno vzdrževanja skupnih šifrantov in nastavitev
- Zagotovitev varnosti podatkov
- Neprekinjeno in avtonomno delovanje posamezne lekarne ob prekinitvi komunikacijskih povezav
Uporabnikom
so dodeljene pravice in s tem je opredeljen dostop do podatkov v
posamezni poslovalnici. Možna je aktivacija in deaktivacija uporabnika
v posamezni poslovalnici. Prav tako je urejen sistem dežurstev, kjer se
lahko vsi uporabniki prijavijo v aplikacijo v dežurni poslovalnici.
Podatkovni
model je načrtovan na ta način, da omogoča sledljivost blaga oz.
zdravila na osnovi serijske številke in roka uporabnosti od nabave do
izdaje na recept. V primeru odpoklica določenega zdravila lahko
izsledimo recept in s tem pacienta, ki mu je bilo zdravilo izdano.
Zaradi
dodanih modulov je aplikacija primerna za računalniško vodenje
maloprodaje, storitvenih dejavnosti, gostinske dejavnosti, izdajo
zdravil, izdajo optičnih pripomočkov in drugo.
Povezave
Mreža
poslovnih enot je med seboj povezana z uporabo navideznih zasebnih
omrežij (VPN). Pri prenovi informacijskega sistema so celotno
strežniško infrastrukturo razdelili. Prvi del predstavlja uprava v
Murski Soboti, drugi strežniki v poslovnih enotah z več zaposlenimi,
kamor so namestili po en zmogljivejši strežnik. Tretji del strežniške
infrastrukture predstavljajo poslovne enote z manj zaposlenimi, kjer
uporabljajo nekoliko manj zmogljive strežnike. Na vsakem strežniku je
nameščen Microsoft SQL 2000 Server in aktivni direktorij. Vsak strežnik
deluje kot domenski kontroler, vsi pa so povezani v eno domeno.
Povezanost v eno domeno poenostavi upravljanje z uporabniki in s
sredstvi znotraj domene. Tako je tudi zelo poenostavljena distribucija
nadgradenj aplikacije.
Postavitev navideznih zasebnih omrežij je
realizirana s pomočjo Zyxell-ovih naprav Zywall-1 in Zywall-10. V
poslovnih enotah so inštalirane naprave Zywall-1, ki omogočajo 1 VPN
povezavo, delujejo kot požarni zid in kot mrežni preklopnik za 4
odjemalce. S svojo vsestranskostjo in sprejemljivo ceno so zelo
primerne za uporabo v manjših poslovalnicah. Postavitev tunela in IPSec
šifriranje sta realizirana na nivoju strojne opreme, kar pomeni večjo
prepustnost podatkov in manjšo obremenitev strežnika. V upravi podjetja
je nameščena naprava Zywall-10, ki ima podobne lastnosti, kot prej
opisani Zywall-1, omogoča pa 10 hkratnih navideznih zasebnih omrežij.
Več naprav lahko povežemo v sklad (cascade).
Prvotna zamisel je bila
programska postavitev navideznih zasebnih omrežij znotraj Windows
strežnika, vendar je testiranje pokazalo, da takšen način preveč
obremeni procesor, hitrost prenosa je manjša, prihajalo pa je tudi do
konflikta z strojno opremo za požarni zid.
V vseh poslovalnicah
imajo ADSL dostop do interneta. Hitrost prenosa je 1024/256 kbit/s,
razen v upravi, kjer je hitrost prenosa 8192/768 kbit/s.
Podatki
Podatki
se prenašajo z replikacijo. To je proces kopiranja in vzdrževanja
podatkovnih objektov, kot so zapisi in tabele, med podatkovnimi bazami,
ki sestavljajo porazdeljen sistem. Razloga za uporabo replikacije
podatkov med strežniki sta večja dostopnost podatkovnih baz (če izpade
en ali več strežnikov) in hitrejši dostop do podatkov (več strežnikov
lahko opravi več transakcij na časovno enoto). Replicirane podatkovne
baze so ponavadi razdeljene na lokacijsko neodvisne računalniške
sisteme.
V primeru prekinitve komunikacijskih povezav se
replikacija ne izvaja, zažene pa se takoj po ponovni vzpostavitvi
komunikacijskih povezav.
Za zagotovitev centralnega vzdrževanja in
nastavitev smo poskrbeli že pri načrtovanju podatkovnega modela.
Šifranti in nastavitve, ki so skupni v celotnem poslovnem sistemu
(partnerji, podatki o firmi, vrednosti točk,…) se pri replikaciji
prenesejo iz uprave vsem poslovalnicam. Iz posameznih poslovalnic pa se
v upravo prenašajo podatki o prometu (nabava blaga, prodaja blaga,
obdelani recepti,…). Tudi podatke o zalogi določenega blaga v posamezni
poslovalnici prenašamo kot skupne podatke, zato je v vseh poslovalnicah
vidna količina posameznega blaga v vsaki poslovalnici.
Replikacijo in razreševanje konfliktov med podatki upravlja Microsoft
SQL Server 2000. Uporabljamo zlivanje (merge). Pri tej vrsti
replikacije se podatki vsakih 60 minut prenašajo v obe smeri. Tako
imamo v največ 60 minutah podatke iz lekarne v upravi, od tam pa naprej
v ostalih lekarnah.
Replicirani podatki se filtrirajo glede na
poslovalnico, zato se replicirajo le potrebni podatki, kar optimizira
količino prometa na komunikacijskih linijah.
V primeru konflikta
podatkov, poskuša konflikt razrešiti SQL Server. V večini primerov je
njegovo posredovanje dovolj, konflikte, ki pa jih ne more razrešiti,
prepusti administratorju. Pri ročnem razreševanju nastavimo pravila, po
katerih se ravna SQL Server, če spet naleti na konflikt take vrste. Če
je število konfliktov preveliko (več kot 1 konflikt tedensko), smo
verjetno naredili napako pri razvoju podatkovnega modela, lahko pa je
napaka pri napačni nastavitvi filtriranja.
Zahtevek za repliciranje
pošlje poslovalnica, kar je t. im. pull subscription način. Replikacija
se sproži le, če obstaja komunikacijska linija med strežnikoma. Možen
pa je tudi ročni zagon sinhronizacije podatkov.
Varnost
Za
varnost podatkov je poskrbljeno v vseh segmentih informacijskega
sistema. Z uporabo navideznih zasebnih omrežij in požarnih zidov
preprečimo morebitni vdor na strežnike. Če se kot slabost replikacije
omenja podvajanje podatkov, pa je to z varnostnega vidika prednost, saj
se vsi podatki nahajajo tudi na centralnem strežniku v upravi. Hkrati
pa je v vseh poslovalnicah na enem POS računalniku nameščena namizna
verzija SQL strežnika. Pri izdelavi varnostne kopije sistema, se na ta
računalnik prekopira tudi varnostna kopija podatkovne baze, kar nam
omogoča poslovanje tudi v primeru odpovedi strežnika.
PREDNOSTI
Zaradi
uporabe izbranih orodij je upravljanje s podatki v celem sistemu
Pomurskih lekarn centralizirano. Prav tako je centralizirano
posodabljanje struktur v podatkovnih bazah in upravljanje s popravki in
nadgradnjami same aplikacije.
Zadoščeno je tudi kriterijem
varnosti in povezljivosti. Vsi podatki so shranjeni na strežniku v
upravi, kar omogoča izdelavo podrobnih analiz ter pripravo podatkov za
vnos v računovodske evidence.
Ročni prenos podatkov med
poslovalnicami in upravo več ni potreben. Vsi podatki so ves čas
dosegljivi upravi podjetja, ki se lahko tako hitreje in učinkoviteje
odziva na poslovne dogodke.