You are on page 1of 5

ABSTRAKT

C# i WEB Services
Universal Help Desk Database Access Tool

Autor

Aleksandar Bulajic

U trenutku kada je razvoj softvera gotov i kada je projekat konačno instaliran,


uvijek postoji kontinuirana potreba za posmatranjem podataka i baze podataka. U slučaju
grešaka u radu aplikacije trenutno stanje podataka je korišteno kao dokaz i za dalje akcije
i korigovanje greške. U slučaju Intranet aplikacija gdje su podatci i razvoj i održavanje
locirani na istoj kompjuterskoj mreži to ne prestavlja problem. Tim za razvoj i održavanje
aplikacije miže lako da pristupi podatcima i analizira uzrok greške.
U slučaju kada su razvoj i održavanje locirani na drugoj kompjuterskoj mreži ili u
drugim kompanijama to može biti mnogo komplikovanije i zaštita osjetljivih poslovnih
informacija može biti mnogo kompleksnija nego sam tehnički problem za pristup
podatcima u različitim mrežama. Zato je potrebno imati alatku koja može pristupiti
ograničenom setu podataka kroz daljinski interfejs. Postojeća tehnologija nudi Internet i
Web aplikacije kao prirodan izbor. Koristeći Internet, zajedno sa aplikacijom, obično je
implementirana Internet aplikacija za pristup izvornim podatcima i za prikazivanje
sadržaja korisnicima, administratorima ili članovima razvojnog tima i tima za održavanje.
Ako postojeći pristup podatcima nije dovoljan ili je promijenjen model baze
podataka tada i Internet aplikacija za pristup podatcima mora biti promijenjena i ponovo
instalisana. U međuvremenu pristup podatcima je prebačen na ručno održavanje. Podatci
se obično šalju preko mejla razvojnom timu i timu za održavanje projekta. Ovaj postupak
je ponovljen svaki put kada Internet aplikacija za pristup podatcima ne može da zadovolji
potrebe. Svaka nova aplikacija ima svoj vlastitu Internet aplikaciju za pristup podatcima.
Ovakav pristup rješavanju zajedničkom problema je rasipanje vremena i resursa, ne samo
u toku razvoja, nego takođe mnogo više u fazi održavanja velikog broja aplikacija.
Ovaj projekat nudi drugi pristup rješenju zajedničkog problema. Koristeći SQL
meta-data može se kreirati generična Internet aplikacija za pristup različitim bazama
podataka, nezavisna od tehnologije korištene u razvoju projekta ili promjena u modelu
baze podataka.
Korištenjem XML Web Servisa kao lejera gdje je lociran pristup dislociranim
podatcima može se kreirati sistem koji može pristupiti podatcima lociranim na različitim
kompjuterskim mrežama i na različitim operativnim sistemima. To znači da je samo
jedna Internet aplikacija za pristup podatcima potrebna da zadovolji potrebe za
nadgledanjem podataka u mnogim instalisanim aplikacijama. Ako je bilo koji dio baze
podataka promijenjen, aplikacije treba još uvijek biti u stanju da pristupi izvoru podataka.

Aleksandar Bulajic
I. REZIME I ZAKLJUČAK
Prvenstveni cilj ovog projekta je bio razvoj alatke za pristup različitim bazama podataka
koji je nezavisan od promjena u modelu baze podataka. Ova alatka treba da bude u
mogućnosti da pristupi ciljnoj bazi podataka iako je model baze podataka promijenjen.
Ubacivanje novih kolona, brisanje postojećih ili promjena imena kolone može da
promijeni model baze podataka.

Ovaj cilj je postignut korištenjem SQL meta-data za dinamičko kreiranje upita za bazu
podataka koji je u skladu sa postojećim modelom baze podataka.

Drugi cilj, pristup različitim bazama podataka je postignut sa dizajniranjem XML Web
Servisa i korištenjem Builder Paterna za lako dodavanje novih klasa koje implemntiraju
potrebne interfejs metode i obezbjeđuju fizički pristup ciljnoj bazi podataka.

Projekat je razvijen kao Web aplikacija korištenjem XML Web Servisa kao lejera koji
sakriva pristup bazama podataka u dislociranim sistemima. XML Web Servis tehnologija
omogućava komunikaciju između softvera, softver-softver komunikaciju, preko granica
sistema i kompjuterskih mreža. Standardizacija i široko prihvaćanje od vodećih svjetskih
IT kompanija čini XML Web Servis tehnologiju atraktivnim izborom za distribuirani
razvoj applikacija.

Ipak još uvijek postoje nedostatci u slučaju kada su korišteni XML Wev Servisi kao na
primjer upravljanje transakcijama i zajednički sigurnosni standardi, iako je u toku
kontinuirani rad na zatvaranju ovigh tehnoloških praznina.

Sigurnosni model implementiran u ovom projektu , baziran na XML Forms autentikaciji


treba da bude potpomognut sigurnosnim standardima. Iako su sigurnosni problemi izvan
opsega ovog projekta, za stvarnu implementaciju Secure Socket Lazer (SSL) treba da
bude korišten za šifrovanje login informacija u mrežnom transportu. Druge promjene
srodne trenutno korištenom modelu autentikacije koje mogu poboljšati ovaj model su
spremanje login informacija u SQL tabelu. U ovom projektu ove informacije su
spremljene u XML datoteci. Glavni razlog je mnogo finiji nivo izolacije sistema u slučaju
SQL baza podataka i integrisane SQL sigurnosti. Modelč baze podataka već sadrži tabele
koje odgovaraju XML datoteci korištenoj za spremanje korisničkih podataka i
autorizacija. U slučaju NET frameworka veoma je lako prebaciti autorizaciju sa XML na
DataSet format i obrnuto.DataSet može biti prezentiran kao XML ili napunjen iz XML
datoteke.

Drugo ograničenje u ovom projektu je SQL upit koji je dinamički kreiran na osnovu
korisničkog unosa podataka u ekranu za pretraživanje. U ovom slučaju ako je
specificirano više kriterija za pretraživanje, logičko AND je uvijek korišteno u uslovnom
dijelu SQL komande. Poboljšanje bi bilo kada bi korisnik izabra OR, NOT, LIKE, IN i
druge SQL operatore. Ovo je ostavljeno za daljni razvoj i to nije u opsegu ovog projekta.
Tehnologija korištena za implementaciju ovog projekta je Microsoft Net Framework
platform. VisualStudio.NET je korišten kao alatka za razvoj softvera i MS SQL Server
baza podataka je korištena za model. Iako su još uvijek prisutne greške u Visial Studiju,
kao na primjer BUILD IS CORRUPTED i problemi u dibagingu, ovo je dobar milje za
razvohj programa i sadrži veliki broj korisnih alatki za brzi razvoj programa.

Ugrađena pomoć za XML i XML Schema, zajedno sa vizuelnim Web Forms


dizajniranjem, dibager, alatka za dokumentaciju i uslužni program za transformiranje
XML Schema u C# klase i obrnuto i alatka za kreiranje instalacionih programa čini
Visual Studio pravim izborom za razvoj u Microsoft miljeu. Nedostatak je, kako je to
sada, je da nije nezavisan od platforme. Projekat zvan MONO treba da obezbijedi NET
Framework na UNIX/Linux platformama.

Razlike između UNIT testiranja i integracionog testiranja je teško vidjeti u slučaju


onlineaplikacija. Na primjer, kada je UNIT test izvrešen na Web Formu, to je u istom
trenutku integracioni test za tekući modul i ako Web Form zahtjeva pristup bazi podataka
ili sprema podatke u dislociranu bazu podataka to je istovremeno kompleksan
integracioni test.

Na tržištu su raspoložive alatke za UNIT test. Jedna od njih je NUnit 2003, alatka za
kreiranje UNIT testa tokom razvoja i takođe za automatsko izvršenje testiranja i
regresiono testiranje. Ova alatka je korištena u ovom projektu prvenstveno za testiranje
XML Web Servisa. NUnit 2003 je free-ware i može se slobodno downlodovati,
distribuirati i koristiti u komercijalnim aplikacijama i čak proširivati sa vlastitim kodom.
Ova alatka, nažalost, nije bila korištena u ovom projektu od samog početka.

Paterni (uzorci) su svukuda. Ovaj projekat je koristio Arhitektualni i Dizajn petern


preporučen od Microsoft Net Architecture Center (MSDN Microsoft 2003c). Projekat je
dizajniran koristeći lajered, n-tier arhitecturu. Dizaj implementira MVC patern, Facade
patern i Builder patern.

Tekući opseg projekta ne uključuje infrastruturni program. Razvoj infrastrukture zahtjeva


vlastite resurse i obično je razvijan paralelno sa projektom. Opseg infrastrukturnog
projekta je mrežna infrastruktura, konfiguracija servera, fail-over konfiguracija, load-
balancing, vertikalno i horizontalno skaliranje, klustering i instalacija u WEB farmama.

Ovaj projekat može biti instalisan i zadovoljava gore spomenuti opseg. Lejer arhitektura i
XML Web Servis omogućava instalaciju aplikacije na dislociranim serverima.

Ova aplikacija može biti lako povezana sa Configuration Management Change


Management procedurama. Ako model u bazi podataka sadrži broj kartice, onda svi
pristupi bazi podataka povezani sa brojem kartice mogu biti praćeni.

Audit tabla sprema sve SQL komande koje su korištene za pristup bazama podataka.
Ulazi u ovu tabelu su spremljeni hronološki. Ako je Configuration Management broj
kartice dio ovog sloga tada mogu lako biti rekonstruisane i analizirane sve SQL komande
koje su korištene u procesu reprodukcije/istraživanja. Ovo može da pomogne u slučaju
sličnih ili istih grešaka za rekonstrukciju procedura korištenih za analizu u prethodnim
slučejevima..

You might also like