450128.spremniki sustav odredbi_nadzora_pristupa_u_programirljivoj_internet_okolini

  • 49 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
49
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 1652 Spremnički sustav prava pristupa u Programirljivoj Internet okolini Marin Šilić
  • 2. Zagreb, lipanj 2007. 2
  • 3. Zahvaljujem mentoru prof.dr.sc. Siniši Srbljiću na pruženoj potpori u stručnom i osobnom razvoju. Također, zahvaljujem mr.sc. Miroslavu Popoviću na suradnji tijekom studija kao i brojnim korisnim savjetima, primjedbama i pomoći pri pisanju diplomskog rada. Kolegi Čedomiru Šegulji zahvaljujem na pomoći pri ostvarivanju diplomskog rada. Na kraju, zahvaljujem se roditeljima jer su mi pružili mogućnost školovanja. 3
  • 4. 1 UVOD..........................................................................................................................................................................6 2 SPREMNIČKI SUSTAVI.........................................................................................................................................8 2.1 MODELI BAZA PODATKA.......................................................................................................................................9 2.1.1 Hijerarhijske baze podataka .......................................................................................................................9 2.1.2 Relacijske baze podataka ..........................................................................................................................10 2.1.3 Usporedba hijerarhijske i relacijske baze podataka..................................................................................13 2.2 SUSTAV ZA UPRAVLJANJE BAZOM PODATAKA....................................................................................................14 2.2.1 Skrivanje fizičke organizacije podataka....................................................................................................15 2.2.2 Definicija i upravljanje podacima.............................................................................................................15 2.2.3 Zaštita podataka.........................................................................................................................................16 2.2.4 Procesiranje i optimiranje korisničkih upita.............................................................................................18 2.3 XML BAZE PODATAKA.......................................................................................................................................19 3 POSTOJEĆI SPREMNIČKI SUSTAVI...............................................................................................................22 3.1 ISO STANDARD X.500........................................................................................................................................22 3.1.1 Operacije podržane standardom X.500 ...................................................................................................23 3.1.2 Uvišestručavanje podataka unutar standarda X.500 ................................................................................24 3.1.3 Standard X.500 – protokoli .......................................................................................................................24 3.2 STANDARD LDAP .............................................................................................................................................25 3.3 UDDI STANDARD...............................................................................................................................................26 3.3.1 Informacijski model UDDI spremnika.......................................................................................................28 3.3.2 Gospodarenje podacima UDDI spremnika...............................................................................................29 4 SIGURNOST I ULOGA SPREMNIKA U RAČUNALNIM SUSTAVIMA......................................................31 4.1 SIGURNOSNI ZAHTJEVI U RAČUNALNIM SUSTAVIMA..........................................................................................31 4.2 POSTUPCI ZA USPOSTAVU SIGURNOSTI...............................................................................................................32 4.2.1 Registracijski postupci...............................................................................................................................34 4.2.2 Autentikacijski postupci.............................................................................................................................35 4.2.3 Postupak autorizacije.................................................................................................................................36 4.2.4 Nadzor pristupa u računalnim mrežama...................................................................................................37 4.2.5 Praćenje uporabe.......................................................................................................................................41 5 PROGRAMIRLJIVA INTERNET OKOLINA....................................................................................................42 5.1 ARHITEKTURA ZASNOVANA NA USLUGAMA ......................................................................................................42 5.2 TEHNOLOGIJE WEB SERVICES USLUGA..............................................................................................................44 5.3 ARHITEKTURA OKOLINE PIE..............................................................................................................................46 5.3.1 Prividna raspodijeljena okolina.................................................................................................................46 5.3.2 Životni ciklus primjenskih usluga u okolini PIE........................................................................................49 5.3.3 Sustav za otkrivanje i pristup uslugama....................................................................................................50 6 SPREMNIK ODREDBI NADZORA PRISTUPA U PIE SUSTAVU.................................................................53 6.1 ARHITEKTURA SPREMNIKA ODREDBI NADZORA PRISTUPA ................................................................................53 6.1.1 Spremnik podataka o korisnicima..............................................................................................................54 6.1.2 Spremnik podataka o logičkim čvorovima.................................................................................................58 6.1.3 Spremnik podataka o pohranjenim uslugama............................................................................................61 6.1.4 Spremnik podataka o postavljenim uslugama............................................................................................66 6.1.5 Spremnik podataka o primjercima usluga.................................................................................................72 6.1.6 Spremnik podataka o vanjskim uslugama..................................................................................................76 6.2 OSTVARENJE SPREMNIKA ODREDBI NADZORA PRISTUPA...................................................................................79 6.2.1 .NET Tehnologija.......................................................................................................................................79 6.2.2 Ostvarenje Spremnika podataka o korisnicima.........................................................................................81 6.2.3 Ostvarenje Spremnika podataka o logičkim čvorovima............................................................................82 6.2.4 Ostvarenje Spremnika podataka o pohranjenim uslugama.......................................................................84 6.2.5 Ostvarenje Spremnika podataka o postavljenim uslugama.......................................................................87 4
  • 5. 6.2.6 Ostvarenje Spremnika podataka o primjercima usluga.............................................................................90 6.2.7 Ostvarenje Spremnika podataka o vanjskim uslugama.............................................................................93 7 ZAKLJUČAK..........................................................................................................................................................96 8 LITERATURA.........................................................................................................................................................98 5
  • 6. 1 Uvod 1 Uvod Sve veći broj računalnih sustava koristi se globalnom mrežom Internet za povezivanje međusobno udaljenih korisnika, podataka i organizacija. Povezivanjem računalnih sustava nastoji se omogućiti sudjelovanje i suradnja korisnika s raznorodnih računalnih platformi. Zbog toga je u izgradnji primjenskih sustava sve izraženiji trend prelaska s čvrsto povezanih na labavo povezane sustave zasnovane na uslugama (engl. Service-oriented computing, SOC). SOC je novi koncept za izgradnju raspodijeljenih primjenskih sustava zasnovan na uslugama. Usluge su nezavisne programske jedinice koje izlažu svoje funkcionalnosti putem standardnih sučelja i protokola. U okviru projekta CRO-GRID razvijen je sustav Programirljiva Internet okolina (engl. Programmable Internet Environment, PIE), koji je namijenjen razvoju raspodijeljenih primjenskih sustava zasnovanih na uslugama. Računalna sigurnost važan je zahtjev u izgradnji raspodijeljenih primjenskih sustava zasnovanih na uslugama. Izlaganje usluga primjenskog sustava na Internetu zahtjeva posebne mehanizme autentikacije, identifikacije, kriptiranja te nadzora pristupa koji jamče povjerljivu i ovlaštenu uporabu usluge. Sigurnost je često potrebno prilagoditi prema zahtjevima vlasnika usluge. U izgradnji mehanizma nadzora pristupa posebno je značajno omogućiti vlasniku usluge definiranje odredbi o pristupu usluzi. Sigurnosni sustavi, posebno sustavi za nadzor pristupa, obrađuju velike količine podataka na osnovi kojih provode sigurnosne odredbe. Sigurnosne odredbe i odredbe nadzora pristupa spremaju spremnički sustavi. Spremnički sustav na učinkovit i pouzdan način sprema podatke o uvjetima korištenja usluga za svakog korisnika. Sustavi često imaju velik broj korisnika i usluga te spremnički sustavi trebaju osigurati svojstvo razmjernog rasta s obzirom na broj korisnika i usluga. Nadalje, spremnički sustav mora imati ugrađene potporu za korisniku jednostavno upravljanje podacima i održavanje jednoznačnosti podataka. U ovom radu opisuju se načini pohrane podataka i postojeći standardi komunikacije sa spremnicima podataka te svojstva i načela oblikovanja spremničkih sustava. Prikazana je uloga spremničkih sustava u kontekstu računalne sigurnosti. 6
  • 7. 1 Uvod Nadalje, u PIE sustavu programski se ostvaruje spremnički sustav čija je namjena učinkovito pretraživanje i upravljanje odredbama nadzora pristupa u PIE sustavu. Arhitektura programskog ostvarenja zasniva se na uslugama i otvorenim komunikacijskim standardima, a u razvoju se koristi skup WS-* standarda. Na početku rada opisuju se različiti modeli baza podataka i funkcionalnost sustava za upravljanje bazom podataka. U trećem poglavlju opisuju se postojeći sustavi spremanja podataka, uspoređuju se njihova svojstva i uočavaju načela oblikovanja spremničkih sustava. Četvrto poglavlje razmatra pojam računalne sigurnosti i ulogu spremničkih sustava prilikom uspostave računalne sigurnosti. Opisuju se sigurnosni zahtjevi i postupci uspostave sigurnosti u računalnim mrežama. U petom poglavlju opisuju se osnovna načela računarstva zasnovanog na uslugama i arhitektura zasnovana na uslugama te arhitektura sustava PIE zasnovanog na uslugama. Šesto poglavlje detaljno opisuje ostvareni spremnički sustav u PIE sustavu. Opisana je arhitektura i programsko ostvarenje spremničkog sustava. Na kraju rada iznesen je zaključak. 7
  • 8. 2 Spremnički sustavi 2 Spremnički sustavi Računalni sustavi primjenjuju se za spremanje, obradu i pretraživanje velikog broja podataka. Uslijed trenda informatizacije brojnih grana ljudske djelatnosti, povećava se količina podataka spremljenih u računalnim sustavima. Podaci se učinkovito čuvaju primjenom baza podataka (engl. database). Baze podataka su spremnički sustavi u kojima se spremaju podaci i veze među podacima. S obzirom na način spremanja podataka i čuvanja veza među povezanim podacima razlikujemo više modela baza podataka. Model baze podataka je formalizam koji opisuje kako je baza podataka strukturirana i kako se koristi. Prilikom opisa koristi se model podataka. Model podataka je formalni zapis koji se sastoji od skupa objekata – osnovnih elemenata baze podataka, skupa operacija koje se provode nad objektima i skupa pravila vjerodostojnosti. U primjeni najčešće se koristi hijerarhijski, relacijski, ER model (engl. Entity-Relationship Model) i objektni model podataka. U odjeljku 2.1 opisuju se i uspoređuju najčesće korišteni modeli baza podataka hijerarhijski i relacijski. SUBP, Sustav za Upravljanje Bazom Podataka (engl. Database Management System, DMS) je sustav koji izravno upravlja podacima pohranjenim u bazi podataka. U odjeljku 2.2 daje se pregled osnovnih zadaća SUBP sustava. Sustav za upravljanje bazom podatka omogućuje pouzdano korištenje baze podataka od strane korisnika i korisničkih primjenskih sustava preko definiranih korisničkih jezika. Dodatno SUBP sustav obavlja funkciju zaštite podataka i osigurava mehanizme za proces obnove baze podataka u slučaju razrušenja. Prilikom oblikovanja računalnih sustava kojima su glavni zahtjevi otvorenost sustava i prenosivost sustava, često se koriste XML baze podataka. XML je opisni jezik koji omogućuje opisivanje i pohranu podataka. Nadalje, kao strukturirani tekst, XML je neovisan o računalnoj platformi i omogućuje razmjenu podataka među heterogenim sustavima. U odjeljku 2.3 opisuju XML baze podataka i XML tehnologije koje su razvijene u svrhu upravljanja XML bazama podataka. 8
  • 9. 2 Spremnički sustavi 2.1 Modeli baza podatka U današnjim računalnim sustavima najčešće se koriste hijerarhijski i relacijski model podataka. Hijerarhijski model koristi direktorije kao gotove komponente (engl. of the shelf component) koje se kupuju i prilagođavaju željenoj namjeni. Direktoriji su namijenjeni za spremanje i pristupanje podacima kod kojih udio čitanja podataka iz baze podataka znatno nadmašuje udio pisanja u bazu podataka. Zbog toga se hijerarhijske baze podataka koriste za spremanje postojanih podataka koji se često čitaju, a rijetko mijenjaju. Direktoriji se jednostavno mogu razmjestiti na više različitih računala, što hijerarhijski model baze podataka čini prikladnim za oblikovanje raspodijeljenih baza podataka. Relacijski model baze podataka je najčešće korišteni model za oblikovanje baze podataka. Relacijski model se zasniva na relacijskoj skici baze podataka. Baza podataka se sastoji se od relacija (engl. relation). Relacije su dvodimenzionalne zasebne tablice. Izravne, eksplicitne veze među relacijama ne postoje već se uspostavljaju prema potrebi. Pritom nad relacijama provode operacije relacijske algebre. Relacijske baze podataka se kupuju kao gotove komponente i prilagođavaju se željenoj namjeni. Nisu prilagođene određenoj vrsti podataka već imaju širok spektar korištenja. Isto tako, ne postoji jedinstven model raspodjele relacijske baze podataka na više računala, već različite izvedbe relacijskih baza podataka različito oblikuju raspodijeljene baze podataka i različito provode raspodjelu podataka na više računala. 2.1.1 Hijerarhijske baze podataka Hijerarhijski model baza podataka [2,3] je prvi razvijeni model baze podataka. U hijerarhijskom modelu podaci su smješteni u objekte koji se nazivaju zapisi (engl. entry). Svaki zapis se sastoji od skupa svojstava koja opisuju objekt. Različiti objekti opisani su različitim vrstama zapisa odnosno različitim skupom svojstava. Zapisi su organizirani hijerarhijski u strukturu stabla. Svaki zapis ima točno jedan nadređeni zapis. Pojedini zapis može imati niti jedan, jedan ili više podređenih zapisa. Vrste zapisa koji mogu biti u međusobnom odnosu podređeni-nadređeni definirani su hijerarhijom vrsta zapisa. Primjer za hijerarhijski model baze podataka prikazan je na slici 2-1. Slika se sastoji iz dijela (a) i dijela (b). 9
  • 10. 2 Spremnički sustavi Slika 2-1 Primjer Hijerarhijske baze podataka Na (a) dijelu slike 2-1 definirane su vrste zapisa: zapisi o nogometnim ligama, zapisi o nogometnim klubovima i zapisi o nogometašima. Hijerarhija zapisa je takva da su zapisi o nogometnim ligama nadređeni zapisima o nogometnim klubovima koji su nadređeni zapisima o nogometašima. Vrste zapisa definiraju pripadajući skup svojstava odnosno podatke koji se pamte u toj vrsti zapisa. Na primjer zapisi o nogometašima sadrže podatke o detaljima ugovora pojedinog igrača, poziciju koju igra, broj nastupa, broj pogodaka itd. Na (b) dijelu slike 2-1 je prikazana hijerarhija španjolske nogometne lige. Liga se sastoji od više klubova a klubovi imaju registriran veći broj igrača. Glavne prednosti hijerarhijskog modela baze podataka su brzina pretraživanja i dohvata podataka. Na primjer kada se pronađe čvor s podacima o nogometašu, svi podaci se nalaze u tom čvoru ili u podređenim čvorovima. Glavni nedostatak hijerarhijskog modela jest otežani prikaz podataka koji nisu po prirodi hijerarhijski organizirani. 2.1.2 Relacijske baze podataka Relacijski model baze podataka je najšire korišteni model baze podataka. Glavne prednosti relacijskog modela su: jednostavna organizacija podataka, razrađeni model upravljanja podacima, mala zalihost podataka, grupiranje operacija u transakcije, te široka dostupnost različitih poslužitelja relacijskih baza podataka. 10
  • 11. 2 Spremnički sustavi Podatkovni model relacijske baze podataka U relacijskom modelu baze podataka podaci su pohranjeni u relacije. Relacije su dvodimenzionalne tablice, a baza podataka sastoji se od skupa relacija. Svaka relacija sadrži podatke o entitetima. Entitet se koristi za opisivanje i predočavanje nečega što postoji i što posjeduje značajke kojima se može razlučiti od svoje okoline. Primjeri entiteta su osoba, objekt iz stvarnog svijeta, događaj i slično. Svakom entitetu pridružuje se skup atributa. Svaki atribut je određena vrsta podatka i može poprimiti određeni raspon vrijednosti koji se naziva domena atributa. Redci tablice predstavljaju entitete iz stvarnog svijeta, a stupci tablice su atributi. Neka je zadan skup atributa: A1, A2, ..., An s pripadajućim domenama D1, D2, ..., Dn, koji se pridružuje entitetima relacije. Relacija r (A1, A2, ..., An) jest podskup Kartezijevog produkta domena D1 × D2 × ... × Dn. Karakteristike relacije su stupanj i kardinalnost. Stupanj predstavlja broj stupaca (atributa) kojima se opisuju entiteti relacije. Kardinalnost predstavlja broj n-torki tj. broj redaka tablice. Na slici 2-2 prikazan je primjer relacijske baze podataka koja pohranjuje podatke o studentima i njihovim mjestima prebivališta. Sastoji se od dvije tablice: student i mjesto. Slika 2-2 Primjer relacijske baze podataka Tablica student sadrži atribute JMBG, jedinstveni matični broj građana, JMBAG, jedinstveni matični broj akademskog građana i pbrPreb, poštanski broj mjesta prebivališta. Tablica mjesto sadrži atribute nazMjesto, naziv mjesta i pbr, poštanski broj mjesta. Jedan atribut, ili skup više atributa čine primarni ključ (engl. primary key) relacije. Primarni ključ relacije je skup atributa čija vrijednost jednoznačno određuje svaku n- torku relacije. Na primjer primarni ključ relacije student je atribut JMBG. Iz definicije 11
  • 12. 2 Spremnički sustavi primarnog ključa proizlazi činjenica da u relaciji ne mogu biti pohranjene dvije n-torke s istim vrijednostima svih atributa. Zbog svojstva da jedinstveno određuje svaku n-torku relacije, primarni ključ se često koristi za dohvat pojedinih n-torki. Eksplicitne veze među tablicama ne postoje, već se uspostavljaju po potrebi. Relacije su međusobne logički povezane stranim ključevima (engl. foreign key). Strani ključ je skup atributa relacije koji se referencira na primarni ključ neke druge relacije. Na primjer strani ključ relacije student je atribut pbrPreb koji se referencira na primarni ključ relacije mjesto pbr. Preko institucije stranog ključa mogu se po potrebi međusobno povezivati relacije u svrhu pregleda svih podataka u bazi o pojedinim entitetima. Relacijske baze podataka poštuju dva osnovna pravila ograničenja (engl. integrity): entitetski i referencijski integritet [4]. Pravilo entitetskog integriteta zahtjeva da vrijednost atributa primarnog ključa svake n-torke mora biti različita od null vrijednosti. Null vrijednost je posebna vrijednost koja sugerira da je vrijednost atributa nepoznata. Pravilo referencijskog integriteta zahtjeva da vrijednosti atributa stranog ključa bude ili null ili da bude jedna od vrijednosti atributa primarnog ključa u tablici na koju se referencira strani ključ. Među atributima tablice postoje funkcijske zavisnosti. Skup atributa A funkcijski zavisi o skupu atributa B, ako i samo ako vrijednost atributa iz skupa B jedinstveno određuje vrijednosti atributa iz skupa A. Nepotrebne funkcijske zavisnosti treba izuzeti iz relacija jer dovode do nepotrebne zalihosti podataka i problema prilikom izmjena podataka u relaciji. Zbog toga se tablice u bazi podataka svode na treću normalnu formu. Tablica je u prvoj normalnoj formi ako svi atributi relacije funkcijski zavise o primarnom ključu tablice. Tablica je u drugoj normalnoj formi ako je u prvoj normalnoj formi i ako svaki atribut relacije ovisi o cijelom primarnom ključu. Konačno, tablica je u trećoj normalnoj formi ako je u drugoj normalnoj formi i ako svi atributi relacije koji nisu dio primarnog ključa ne ovise niti o jednom drugom skupu atributa relacije osim o primarnom ključu. Treća normalna forma osigurava sigurno brisanje, dodavanje i rukovanje podacima bez bojazni od pojave anomalije gubitka podataka ili neusklađenosti podataka u bazi. 12
  • 13. 2 Spremnički sustavi Upravljanje podacima relacijske baze podataka Sve operacije koje je moguće provoditi nad relacijama u svrhu brisanja, dodavanja i izmjena podataka zasnivaju se na operacijama relacijske algebre. Operacije relacijske algebre su unija, presjek, razlika, Kartezijev produkt, dijeljenje, projekcija, selekcija i spajanje. Podaci se mogu brisati, dodavati i mijenjati na osnovi različitih kriterija. Moguće je oblikovati upite nad bazom podataka koji iziskuju spajanje više tablica. Spajanje je moguće provoditi po različitim kriterijima ali je logično provoditi spajanje korištenjem stranog ključa. Spajanjem se dobivaju dodatni podaci o entitetima. Na primjer iz tablice student možemo saznati da je poštanski broj mjesta prebivališta studenta 21300, ali da bi saznali da se radi o Makarskoj, moramo spojiti tablice student i mjesto preko stranog ključa pbrPreb. Prilikom dohvata podataka na osnovu kriterija primjenjuju se indeksi. Indeksi su hijerarhijski organizirane podatkovne strukture koje omogućuju brzo pretraživanje tablica. Indeksi se automatski grade nad atributima koji predstavljaju primarni ključ, a moguće je eksplicitno zahtijevati stvaranje indeksa nad pojedinim atributima ako je potrebno. Sve operacije rukovanja relacijskom bazom podataka kao što su stvaranje tablica, atributa, indeksa, postavljanje upita i ostale, zadaju se standardiziranim programskim jezikom SQL (engl. Structured Query Language) [5]. SQL naredbe mogu se zadavati lokalno na računalu poslužitelju relacijske baze podataka ili sa udaljenih računala korištenjem standardnih protokola za spajanje na bazu podataka definiranih ODBC (engl. Open DataBase Connectivity) standardom [6]. 2.1.3 Usporedba hijerarhijske i relacijske baze podataka Prije procesa oblikovanja spremnika podataka primjenskog sustava potrebno je odabrati model izvedbe spremnika podataka: relacijsku bazu podataka ili direktorij tj. hijerarhijsku bazu podataka. Odabir prikladnog modela ovisi o načinu na koji primjenski sustav koristi spremnik podataka. Podaci se u direktoriju čitaju 1000 do 10000 puta više nego mijenjaju. Razlog tome je što se u direktorije pohranjuju postojani podaci poput adrese elektroničke pošte, korisničkih identifikatora i slično. Relacijske baze podataka 13
  • 14. 2 Spremnički sustavi pohranjuju podatke koji se često mijenjaju kao što su tečaj stranih valuta ili cijene artikala i slično. Direktorij pohranjuje jednostavne jedinice podataka, jer se podaci pohranjuju u zapise u obliku svojstva (na primjer svojstvo prezime poprima vrijednost = Etto). S druge strane relacijske baze podataka dopuštaju i složene jedinice podataka. Relacijske baze podataka podržavaju transakcije, što omogućuje pouzdano korištenje u poslovnim primjenskim sustavima gdje se provode novčane transakcije nad podacima. Direktoriji ne podržavaju transakcije i nisu prikladni za takvu vrstu korištenja. Relacijske baze podataka spremaju podatke u logički povezane relacije, a direktoriji u hijerarhiju zapisa. Zbog jednostavnog podatkovnog modela i nepodržavanja transakcija direktoriji se jednostavno raspodjeljuju na više računala. Relacijske baze podataka mogu biti raspodijeljene, ali je postupak raspodjeljivanja podataka i proces upravljanja raspodijeljenom relacijskom bazom podataka znatno složeniji. Na osnovi iznesenih svojstava direktorija i relacijskih baza podataka izvode se zaključci kojim vrstama primjenskih sustava odgovaraju pojedini modeli spremnika podataka. Direktoriji se koriste u primjenskim sustavima gdje se podaci rijetko mijenjaju, gdje se zahtjeva visoka dostupnost i raspodijeljenost podataka te gdje transakcije nad podacima nisu potrebne. Primjeri takvih sustava su: bijele stranice (engl. White Pages), adresari, pohrana korisničkih identifikatora i certifikata. Relacijske baze podataka se koriste u slučajevima gdje se podaci često mijenjaju i gdje se zahtjeva provođenje transakcija nad podacima. Primjeri takvih sustava su računovodstveni primjenski sustavi, središnje prikupljanje podataka, kontrola poslovnih procesa i bankarski sustavi. 2.2 Sustav za upravljanje bazom podataka Poslužitelj baze podataka je računalni sustav na kojemu je pohranjena baza podataka i na kojemu se nalazi Sustav za Upravljanje Bazom Podataka – SUBP (engl. Database Managment System, DMS) [7]. SUBP ima četiri osnovne zadaće i s njima se osigurava da korisnički primjenski sustavi na siguran i pouzdan način upravljaju podacima u bazi podataka. Osnovne funkcije SUBP sustava su: skrivanje fizičke organizacije podataka, definicija i rukovanje podacima, zaštita podataka i optimiranje upita. 14
  • 15. 2 Spremnički sustavi 2.2.1 Skrivanje fizičke organizacije podataka Osnovna funkcionalnost SUBP sustava jest da od krajnjih korisnika sakriva detalje fizičke pohrane podataka. Pojedini korisnici, primjenski sustavi žele podatke organizirati na način kako njima odgovara. Međutim, kada bi svaki korisnik strukturirao podatke u bazi na fizičkoj razini kako njemu odgovara rezultat bi bio teška povreda usklađenosti podataka. Zbog toga se uvodi slojevita organizacija pohrane podataka. Najniži sloj je fizička razina organizacije podataka koju korisnici ne mogu mijenjati. Najviši sloj čini razina logičke organizacije podataka koja je različita za pojedine korisnike i primjenske korisničke sustave. Između ta dva sloja se nalazi posrednički sloj koji se naziva sloj konceptualnog opisa. Sloj konceptualnog opisa pomoću kazaljki povezuje logičke opise pojedinih korisnika s trenutnom fizičkom organizacijom podataka. S ovakvom organizacijom baze podataka pojedini korisnici i primjenski sustavi mogu imati različitu logičku organizaciju podataka. Isto tako, fizička organizacija podataka se može reorganizirati po potrebi bez ikakvog utjecaja na primjenske programa pojedinih korisnika. 2.2.2 Definicija i upravljanje podacima Druga važna funkcionalnost SUBP sustava jest da omogućuje definiciju i upravljanje s podacima. Definicija podataka ostvaruje se pomoću jezika za definiciju podataka (engl. Data Definition Language, DDL). Jezik za definiciju podataka podržava stvaranje struktura za pohranu i organizaciju podataka i stvaranje mehanizama za zaštitu podataka. Upravljanje podacima ostvaruje se pomoću jezika za upravljanje podacima (engl. Data Manipulation Language, DML). Jezik za upravljanje podacima podržava dodavanje, izmjenu, brisanje i pretraživanje podataka u bazi. Primjer jezika za upravljanje podacima je u prethodnom odjeljku spomenuti SQL. 15
  • 16. 2 Spremnički sustavi 2.2.3 Zaštita podataka Sljedeća funkcionalnost SUBP sustava jest zaštita podataka. SUBP štiti vjerodostojnost podataka, štiti podatke od neovlaštenog korištenja, osigurava i kontrolira paralelni pristup podacima i provodi proces obnove baze podataka u slučaju razrušenja. Vjerodostojnost podataka štiti se definicijom i uporabom pravila ograničenja (engl. constraints). Pored već opisanih pravila ograničenja entitetskog i referencijskog integriteta postoje ograničenja raspona vrijednosti pojedinih atributa i ograničenja međusobnih odnosa vrijednosti pojedinih atributa. Osim pravila ograničenja vjerodostojnost podataka se štiti pomoću okidača (engl. trigger) i pohranjenih procedura (engl. stored procedure). Okidač je mehanizam kojim se omogućuje eksplicitno definiranje vrste događaja (engl. triggering event) koji aktiviraju okidač, eksplicitno definiranje liste naredbi (engl. triggering action list) koje se izvode u slučaju aktivacije okidača te eksplicitno definiranje uvjeta (engl. condition) pod kojima se izvode lista naredbi. Pohranjena procedura ima širi opseg korištenja ali se može koristiti za zaštitu vjerodostojnosti podataka. Primjer je procedura koja unosi podatke u relaciju. Korisnicima se daje pravo izvođenja procedure ali im se ne daje pravo unosa podataka u relaciju. Na taj način korisnici korištenjem procedure na kontrolirani način unose podatke u relaciju. Zaštita od neovlaštenog korištenja provodi se kroz postupak autorizacije korisnika, Korisnicima se izdaju dozvole za pristup pojedinim objektima i izvođenje pojedinih akcija nad objektima u bazi podataka. Uvode se brojna ograničenja pristupa podacima kao što su stvaranje pogleda (engl view) kroz koje je određenim korisnicima ograničen pristup i pregled podataka, ograničenje mjesta i vremena pristupa podacima, šifriranje podataka i slično. Kontrola paralelnog pristupa se postiže kroz dvije stavke: sprečavanje istovremene izmjena podataka i sprečavanje pregleda podataka koje drugi proces mijenja. Čitanje podataka koje drugi proces mijenja naziva se prljavo čitanje (engl. dirty read). U svrhu postizanja ovih stavki koriste se mehanizmi zaključavanja. Zaključavati se mogu pojedine n-torke, skup n-torki, pojedine tablice ili čak čitava baza podataka. Korisnički proces ne može pristupiti n-torki koju je drugi proces zaključao. Nusprodukt 16
  • 17. 2 Spremnički sustavi zaključavanja je postojanje potpunog zastoja (engl. dead lock). SUBP može predvidjeti, spriječiti ili razriješiti potpuni zastoj. Osim zaključavanja koriste se transakcije (engl. transaction). Transakcija je jedinica rada nad bazom podataka. Sastoji se od skupa logički povezanih izmjena. Transakcije se ne mogu gnijezditi, tj. svaki korisnički proces može imati otvorenu samo jednu transakciju. Svaka transakcija prolazi kroz životni ciklus transakcija. Na slici 2-3 prikazan je dijagram stanja transakcija. Aktivna (engl. active) transakcija jest stanje transakcije tijekom njena izvođenja. Djelomično završena (engl. partially cimmited) transakcija je stanje u kojem se nalazi transakcija kada izvršena posljednja operacija transakcije. Neispravna transakcija (engl. failed) je stanje transakcije kada se ustanovi da nije moguće normalno nastaviti njeno izvođenje. Neuspješno završena (engl. aborted) transakcija je stanje transakcije čiji su učinci poništeni i baza podataka vraćena u oblik u kojem je bila prije početka transakcije. Potvrđena (engl. committed) transakcija je uspješno završena transakcija. Slika 2-3 Dijagram stanja transakcija Transakcije su karakteristične po svoja četiri svojstva: atomarnost, konzistentnost, izolacija i izdržljivost. Atomarnost (engl. atomicity) je svojstvo transakcije koje govori da je transakcija nedjeljiva tj. mora se obaviti u cijelosti ili nikako. Konzistentnost (engl. consistency) je svojstvo koje govori da transakcijom baza podataka prelazi iz jednog konzistentnog stanja u drugo konzistentno stanje. Izolacija (engl. isolation) je svojstvo transakcije koje govori da učinak paralelnog izvođenja dvije ili više transakcija mora biti jednak kao da su se transakcije obavljale jedna za drugom. Izdržljivost transakcije je svojstvo transakcije koje govori da učinci transakcije koja je uspješno obavljena moraju biti sačuvani čak i ako se dogodi kvar sustava neposredno nakon potvrđivanja transakcije. 17
  • 18. 2 Spremnički sustavi U slučaju razrušenja baze podataka potrebno je provesti postupak obnove baze podataka (engl. recovery). Obnova baze podataka se postiže dovođenjem baze podataka u najnovije stanje za koje se pouzdano zna da je bilo ispravno. Velike, dijeljene, višekorisničke baze podataka moraju imati mehanizme za provođenje postupka obnove, dok male, jednokorisničke baze podataka imaju malu ili nikakvu potporu za postupak obnove. U tom slučaju postupak obnove se prepušta korisnikovoj odgovornosti. Uzroci razrušenja baze podataka mogu biti brojni: pogreške opreme, pogreške operacijskog sustava, pogreške SUBP sustava, pogreške primjenskog korisničkog sustava, kolebanje izvora energije, sabotaža i slično. Općenito pravilo koje omogućuje proces obnove jest postojanje zalihosti podataka. Svaki podatak u bazi podataka mora se moći rekonstruirati na osnovu nekih drugih informacija pohranjenih drugdje u sustavu (na traci, na drugom disku, na zrcalnom disku). Mehanizmi koji se koriste za omogućavanje procesa obnove su zrcaljenje podataka (engl. mirroring), sigurnosne kopije (engl. on-line back up), logički dnevnici izmjena (engl. logical log, journal). Logički dnevnici izmjena sadrže zapise o svakoj transakciji u bazi podataka, bilo uspješno ili neuspješno završenoj. Zapis logičkog dnevnika sadrži staru vrijednost podatka, novu vrijednost podatka, vrijeme promjene i korisnika koji provodi izmjenu. Promjena se prvo zapisuje u logički dnevnik pa tek onda u bazu podataka. 2.2.4 Procesiranje i optimiranje korisničkih upita Potrebno je provesti niz aktivnosti prije nego se podaci dohvate iz baze podataka. Provođenje upita se provodi kroz tri osnovna koraka. Korisnički zahtjevi nad bazom podataka zadaju se preko korisnički definiranih jezika visoke apstrakcijske razine. Osnovni korak je prevesti upit zadan korisničkim jezikom u neki oblik koji je primjeren za dohvat podataka na fizičkoj razini organizacije. Sljedeći korak jest provođenje različitih transformacija nad korisnički zahtjevom u svrhu optimiranja izvođenja zahtjeva. Nakon što je zahtjev u optimalnom obliku, provodi se izvrednjavanje (engl. evaluation). Na slici 2-4 prikazan je proces provođenja korisničkog upita. Razlikuju se tri osnovna podsustava: sustav za prevođenje upita, sustav za optimiranje i sustav za izvrednjavanje upita. Upit zadan preko korisničkog jezika preuzima sustav za prevođenje i prevodi ga u prikladnu formu za dohvat podatka (1). Primjer je prevođenje 18
  • 19. 2 Spremnički sustavi SQL upita u jezik relacijske algebre kod relacijskih baza podataka. Tako izmijenjen upit dolazi do sustava za optimiranje upita. Sustav za optimiranje donosi detaljnu strategiju provođenja upita: metode i redoslijed spajanje relacija, ulančavanja operacija (engl. pipelining). Ulančavanjem operacija izlaz jednog modula izravno ide na ulaz sljedećeg i izbjegava se privremeno pohranjivanje na disk. Po potrebi se stvaraju indeksi u svrhu učinkovitijeg izvrednjavanja i sortiranja privremenih rezultata (2). Sustav za optimiranje koristi se statistikom podataka i metapodacima (engl. metadata). Metapodaci su podaci o podacima kao što su podaci o relacijama, broj n-torki, broj jedinstvenih vrijednosti nekog atributa u relaciji i slično. Sustav za izvrednjavanje na temelju plana izvođenja izravno pristupa podacima na fizičkoj razini, provodi proces izvrednjavanja i kao izlaz daje rezultate korisničkog upita (3). Slika 2-4 Tijek događaja prilikom optimiranja upita 2.3 XML baze podataka XML (engl. eXtensible Markup Language) [8] je opisni jezik definiran za opisivanje podataka i opisivanje značenja podataka. XML je strukturirani tekst i neovisan je o računalnoj platformi. Osnovne namjene XML jezika su odvajanje podataka od prikaza, razmjena podataka između heterogenih sustava, pohrana podataka i pretraživanje podataka te definiranje novih jezika. 19
  • 20. 2 Spremnički sustavi Struktura XML jezika je slična strukturi HTML jezika. XML dokument se sastoji od elemenata. Svaki XML dokument mora imati korijenski element. Svaki element mora imati početnu i završnu oznaku (engl. tag). Elementi se mogu gnijezditi, ali moraju biti ispravno ugnježdeni. Elementi mogu imati atribute. Atributi se opisuju parom ime- vrijednost unutar početne oznake elementa. Međutim, korištenje atributa otežava pretraživanje i održavanje XML dokumenta i preporuča se koristiti atribute za informacije koja za podatke nisu bitne. XML dokument je dobro oblikovan (engl. well formed) kada je sintaksa jezika ispravna. Iako je za XML karakteristično da korisnici mogu sami definirati vlastite elemente i atribute, postoje tehnologije kojima s pomoću kojih se definira rječnik i gramatika XML dokumenta. Najpoznatije tehnologije za definiranje XML dokumenta su DTD (engl. Document Type Definition) [9] i XML Schema [10]. DTD definira strukturu XML dokumenta s listom dozvoljenih elemenata. XML Schema je noviji standard za finije definiranje strukture dokumenta. XML dokument je ispravan (engl. valid) kada je dobro oblikovan i kada poštuje gramatiku definiranu DTD ili XML Schema tehnologijom. Obzirom da se XML koristi za opisivanje podataka, svaki XML dokument je nakupina podataka. Korištenja XML dokumenta kao bazu podataka ima brojne prednosti i nedostatke. Prednosti korištenja XML dokumenta kao baze podataka su da je XML samoopisujući (engl. selfdescribing), prenosiv (engl. portable), hijerarhijski organiziran. Nedostatak XML dokumenta je preopširnost (engl. verbose) te je zbog toga pristupanje i pretraživanje podataka u XML dokumentu sporo u odnosu na specijalizirane tehnologije za baze podataka. Postoje dvije osnovne vrste XML baza podataka. XML-omogućene (engl. XML enabled) baze podataka preslikavaju XML dokument u tradicionalni model baze podataka (na primjer relacijski). Dopušta se XML dokument kao ulaz i kao izlaz pri komunikaciji s bazom. Postoje dva načina za preslikavanje XML dokumenta u relacijsku bazu podataka. Prvi način je razlaganje strukture XML dokumenta u tablice. Taj postupak je složen i spor ali je poslije omogućeno pretraživanje prema kriterijima. Drugi način sprema cijeli XML dokument u polje. Spremanje u bazu je tada brzo i jednostavno ali su pretraživanje i dohvat podataka nepraktični i neefikasni. Više o XML-omogućenim bazama podataka može se pročitati u [11]. 20
  • 21. 2 Spremnički sustavi Izvorne XML baze podataka (engl. native XML) [12] koriste XML dokumente kao osnovne jedinice za pohranu podataka. Izvorne XML baze podataka pohranjuju XML dokumente na prirodan način i održavaju hijerarhiju i značenje XML dokumenta. Podržano je indeksiranje prema strukturi i vrijednosti. Kod indeksiranja prema strukturi indeksira se prema elementima i imenima atributa. Kod indeksiranja prema vrijednosti indeksira se prema vrijednosti elementa i imenima atributa. Izvorne XML baze podataka posjeduju upitne jezike za pretraživanje i provođenje izmjena. Mnoge baze posjeduju vlastite jezike, mnoge koriste XPath upitni jezik a XQuery postaje standard. Prilikom provođenja izmjena mnoge baze samo zamjenjuju postojeći dokument sa novim osvježenim. Naprednije baze pronalaze čvor nad kojim je potrebno izvršiti izmjenu i zamjenjuju taj čvor s novim koji sadrži osvježenu vrijednost. Sa stajališta transakcija, zaključavanja i paralelnog pristupa, mnoge XML baze podataka podržavaju transakcije, zaključavanje se provodi na razine dokumenta a problem paralelnog pristupa ovisi o sadržaju dokumenta i broju korisnika. Nedostatci izvornih XML baza podataka su nepodržavanje pravila referencijskog integriteta i neprovođenje normalizacije podataka. Prva normalna forma se ne primjenjuje, druga normalna forma je podržana a problem je treća normalna forma. Naime, razbijanje dokumenta prilikom provođenja treće normalne forme stvara prevelik broj dokumenata s kojima je teško upravljati. 21
  • 22. 3 Postojeći spremnički sustavi Prije postupka oblikovanja spremničkog sustava nadzora pristupa uslugama u sustavu PIE, proučeni su postojeći spremnički sustavi i standardi za gospodarenje podacima. Cilj proučavanja postojećih spremničkih sustava jest uočiti uzorke oblikovanja koji se ponavljaju u različitim spremničkim sustavima i ostvariti ih u oblikovanju spremničkog sustava nadzora pristupa u PIE sustavu. Proučeni su postojeći standardi: ISO Standard X.500 [13], LDAP Standard [14,15] i UDDI Standard [16]. Standard X.500 je standard koji opisuje načine oblikovanja i pristupa otvorenim raspodijeljenim direktorijima. Standard LDAP je napredniji standard koji opisuje načine oblikovanja i pristupa otvorenim raspodijeljenim direktorijima. Konačno, UDDI Standard je standard koji opisuje funkcionalnosti i protokole namijenjene opisivanju, pristupanju i integraciji usluga u primjenske sustave. Unutar UDDI Standarda definiran je spremnički sustav UDDI spremnik. U nastavku su opisani navedeni postojeći spremnički sustavi i standardi za oblikovanje i pristupanje tim spremničkim sustavima. 3.1 ISO Standard X.500 X.500 [13] je ISO standard nastao suradnjom ISO-a (engl. International Standards Organization) i CCITT (engl. Consultative Committee for International Telegraphy and Telephony). Standard X.500 definira usluge i funkcionalnosti otvorenog raspodijeljenog direktorija. Standard definira dvije komponente direktorija, korisničku i poslužiteljsku. Na slici 3-1 prikazane su komponente direktorija. Korisnička komponenta (engl. Directory User Agent) je svaki primjenski sustav koji pristupa direktoriju. Poslužiteljska komponenta (engl. Directory System Agent) direktorija pruža pristupnu točku direktoriju. Komunikacija između dvije komponente odvija se slanjem zahtjeva i odgovora na zahtjev. Baza podataka direktorija naziva se informacijska baza direktorija (engl. Directory Information Base). Organizirana je po modelu hijerarhijske baze podataka u informacijsko stablo direktorija (engl. Directory Information Tree). Čvorovi informacijskog stabla su zapisi hijerarhijski uređeni odnosom
  • 23. 3 Postojeći spremnički sustavi nadređeni-podređeni. Svaki zapis posjeduje određena svojstva koja određuju objekt koji se opisuje zapisom. Svojstvo sadrži vrstu svojstva i pripadajuću vrijednost. Slika 3-1 Komponente direktorija definirane standardom X.500 Svaki zapis sadrži relativno i apsolutno ime. Relativno ime (engl. Relative Distinguished Name, RDN) sastoji se od jednog ili više svojstava zapisa koja identificiraju zapis među drugim zapisima na istoj razini hijerarhije. Apsolutno ime zapisa (engl. Distinguished Name, DN) sastoji se od niza relativnih imena zapisa koji se nalaze na putu od korijenskog čvora do čvora u kojem je zapis pohranjen. Apsolutno ime jednoznačno određuje zapis. 3.1.1 Operacije podržane standardom X.500 Sve operacije nad direktorijima se obavljaju slanjem zahtjeva direktoriju. Zahtjevi se svrstavaju u dvije skupine: zahtjevi za pretraživanje (engl. directory interrogation) i zahtjevi za izmjenu podataka u direktoriju ( engl. directory modification ). Zahtjevi za pretraživanje uključuju operacije: čitaj, pretraži, usporedi, ispiši i odustani. Operacija čitaj dohvaća skup svojstava zadanog zapisa. Pretraži pronalazi sve
  • 24. 3 Postojeći spremnički sustavi zapise koji zadovoljavaju neki kriterij. Usporedi uspoređuje vrijednost svojstva zapisa s nekom zadanom vrijednošću. Ispiši vraća listu svih neposredno podređenih zapisa. Odustani zaustavlja operaciju nad direktorijem. Zahtjevi za izmjenu podataka su: dodaj zapis, izmjeni zapis, izbriši zapis i izmjeni apsolutno ime zapisa. Dodaj zapis dodaje novi zapis u informacijsko stablo direktorija. Izmjeni provodi izmjenu nad skupom svojstava zapisa. Izbriši briše zapis iz informacijskog stabla direktorija. Izmjeni apsolutno ime mijenja relativno ime zapisa ili pomiče zapis u informacijskom stablu direktorija ovisno o novom apsolutnom imenu. 3.1.2 Uvišestručavanje podataka unutar standarda X.500 Zbog velikog broja korisnika i velike količine podataka spremljenih u direktorij može dovesti do preopterećenja središnje poslužiteljske komponente direktorija. Isto tako, ako je poslužiteljska komponenta u kvaru pristup direktoriju je onemogućen. Zbog toga se poslužiteljska komponenta raspodjeljuje. Uvodi se više poslužiteljskih komponenti direktorija od kojih svaka upravlja jednim dijelom informacijske baze direktorija. Njihovom međusobnom suradnjom omogućen je pristup svim podacima spremljenim u direktoriju. Kod raspodijeljenih direktorija često se provodi uvišestručavanje podataka. Uvišestručavanjem podataka nastaju preslike podataka na različitim računalima. Time se povećava pouzdanost i dostupnost baze podataka. U tom slučaju dolazi do razdvajanja funkcija poslužiteljske komponente. Uvodi se poslužiteljska komponenta za stvaranje i izmjenu koja jedina smije provoditi dodavanje ili izmjenu zapisa i više poslužiteljskih komponenti za čitanje podataka. Neovisno o stupnju uvišestručavanja, računalni resursi potrebni za taj proces nisu veliki jer se podaci spremljeni u direktorij rijetko mijenjaju. Važno je da podaci u konačnom vremenu prilikom izmjene budu usklađeni u svim direktorijima gdje su spremljeni. Dopušta se kraće vrijeme neusklađenosti. 3.1.3 Standard X.500 – protokoli Postoje četiri direktorijska protokola kojima se ostvaruje komunikacija između poslužiteljskih i korisničkih komponenti. To su Protokol pristupa direktoriju (engl. Directory Access Protocol, DAP), Poslužiteljski protokol direktorija (engl. Directory
  • 25. 3 Postojeći spremnički sustavi System Protocol, DSP), Protokol uvišestručavanja (engl. Directory Information Shadowing Protocol, DISP) i Operacijski protokol (engl. Directory Operating binding managment Protocol, DOP). Protokol pristupa direktoriju definira izmjenu zahtjeva i rezultata obrade zahtjeva između korisničke i poslužiteljske komponente direktorija. Poslužiteljski protokol direktorija definira izmjenu zahtjeva između dvije poslužiteljske komponente direktorija. Protokol uvišestručavanja definira preslikavanje podataka između dvije poslužiteljske komponente direktorija. Operacijski protokol definira izmjenu upravljačkih informacija između dvije poslužiteljske komponente direktorija. 3.2 Standard LDAP Standard X.500 zahtjeva visoku procesnu moć sustava direktorijskog poslužitelja. Zbog toga je u svrhu jednostavnijeg pristupa i upravljanja raspodijeljenim direktorijima osmišljen LDAP (engl. Lightweight Directory Access Protocol) [13,15]. LDAP je oblikovan za pristup zasnovan na TCP/IP protokolu i definira način pristupa korisničkih primjenskih sustava poslužiteljskoj komponenti te način izvođenja operacija nad direktorijem. Korištenjem LDAP standarda kao osnove za izgradnju direktorija smanjuju se zahtjevi za procesnom snagom korisničkih i poslužiteljskih računala. LDAP se opisuje primjenom četiri modela: informacijskog modela, modela imenovanja, modela funkcionalnosti i sigurnosnog modela. Informacijski model opisuje strukturu informacijskog stabla direktorija. Osnovni pojam informacijskog modela je razred ili vrsta zapisa (engl. class). Razred definira svojstva određenog zapisa. Postoje tri vrste razreda: apstraktni razredi (engl. abstract classes), strukturni razredi (engl. structural classes) i pomoćni razredi (engl. auxiliary classes). Apstraktni razredi koriste se kao predlošci za stvaranje strukturnih razreda. Strukturni razredi oblikuju zapise u direktoriju. Pomoćni razredi definiraju skup svojstava za nasljeđivanje. Svojstvo je jedinica podataka kojom se definiraju razredi. Tip svojstva određuje vrstu podataka i domenu vrijednosti koju može sadržavati pojedino svojstvo. Zapisi opisuju objekte iz stvarnog svijeta. Pojedini zapis je primjerak (engl. instance) jednog strukturnog razreda. Shema sadrži popis svojstava i razreda koji se mogu
  • 26. 3 Postojeći spremnički sustavi koristiti i nasljeđivati. Svaki zapis u informacijskom stablu je primjerak jednog od razreda definiranih shemom. Model imenovanja određuje organizaciju i referenciranje podataka. Podaci su organizirani u informacijsko stablo direktorija (DIT). Kao i kod X.500 pojedini zapis jednoznačno je određen apsolutnim imenom zapisa (DN). Apsolutno ime je sastavljeno od niza relativnih imena (RDN). Korijen informacijskog stabla direktorija (engl. root DSE) naziva se korijenski zapis. Karakterističan je za poslužiteljsku komponentu direktorija (engl. DSA specific entry, DSE). Zapis sadrži podatke o poslužiteljskoj komponenti: podržana verzija protokola, podržane napredne operacija, podržane sigurnosne mehanizme, adrese alternativnih poslužiteljskih komponenti i adresu zapisa koji sadrži shemu. Model funkcionalnosti opisuje LDAP s aspekta operacija koje su moguće nad podacima u direktoriju. Postoje tri grupe operacija: operacije autentikacije, operacije pretraživanja i operacije izmjene. Operacije autentikacije koriste se prilikom provjere identiteta korisnika. Operacije pretraživanja omogućuju čitanje i pretraživanje direktorija. Operacije izmjene pozivaju se prilikom mijenjanja podataka spremljenih u direktoriju. Sigurnosni model definira načine sigurnog pristupa podacima informacijskog stabla direktorija. Model sugerira korištenje postojećih SASL (engl. Simple Authentication and Security Layer) [17] mehanizama za osiguravanje pristupa podacima. U korijenskom zapisu informacijskog stabla svojstvo podržani SASL mehanizmi sadrži listu podržanih SASL sigurnosnih mehanizama. SASL sigurnosni mehanizmi se koriste prilikom autentikacije, a po potrebi mogu omogućiti sigurnu komunikaciju između korisničkog primjenskog sustava i poslužiteljske komponente direktorija. 3.3 UDDI standard UDDI (engl. Universal Description, Discovery and Integration) [16] standard definira skupinu usluga za opis i pronalaženje: poslovnih organizacija, Web usluga koje organizacije nude i tehničkih sučelja putem kojih se pristupa uslugama. Popis usluga
  • 27. 3 Postojeći spremnički sustavi koje su izložene korisnicima i primjenskim sustavima nalazi se unutar spremničkog sustava UDDI spremnik opisanog UDDI standardom. UDDI spremnik čini skupina računala koja ostvaruju imenik dostupnih i izloženih usluga. Svako računalo koje je pripadnik UDDI spremnika naziva se UDDI čvor. Svaki UDDI čvor sadrži sve podatke UDDI spremnika. UDDI registru se pristupa putem UDDI sučelja koje ostvaruje svaki UDDI čvor. Na slici 3-2 prikazan je scenarij uporabe UDDI spremnika. Korisnik A bavi se prodajom knjiga putem elektroničkog poslovanja. Korisnik A odlučuje svoju djelatnost registrirati u UDDI spremniku (1). Korisnik A mora ostvariti sučelja SOAP Web usluga za elektroničko poslovanje i njih oglasiti unutar UDDI spremnika, koristeći za to predviđena UDDI sučelja (2). Korisnik B želi naručiti novo izdanje knjige i pronalazi preko UDDI sučelja za pretraživanje korisnika A koji se bavi prodajom knjiga (3). Dodatno, korisnik B pronalazi tehničke detalje pozivanja SOAP Web usluga elektroničkog poslovanja korisnika A koristeći sučelja UDDI spremnika za pretraživanje (4). Konačno, korisnik B može naručiti željenu knjigu koristeći sučelja elektroničkog poslovanja korisnika A (5). Slika 3-2 Scenarij korištenja UDDI spremnika
  • 28. 3 Postojeći spremnički sustavi 3.3.1 Informacijski model UDDI spremnika Slika 3-3 Informacijski model UDDI spremnika Informacijski model UDDI spremnika određuje oblik podatkovnih struktura koje se pamte u UDDI spremniku i način njihovog vezivanja. Slika 3-3 prikazuje četiri osnovne hijerarhijski povezane podatkovne strukture UDDI spremnika: opisnik poslovne organizacije, opisnik usluge, predložak vezivanja i tehnički model. Opisnik poslovne organizacije opisuje poslovnu organizaciju koja nudi uslugu. Svaki opisnik poslovne organizacije sadrži identifikator poslovne organizacije i osnovne podatke o organizacije kao što su ime organizacije, kratki opis poslovanja, način kontakta s poslovnom organizacijom, industrija kojom se bavi, skupina proizvoda koje proizvodi, geografski položaj središnjice i slično. Dodatno, opisnik poslovne organizacije sadrži i kazaljke na podređene opisnike usluga koje organizacija nudi. Opisnici usluga opisuju pojedine usluge koje nude poslovne organizacije. Svaki opisnik usluge ima nadređeni opisnik poslovne organizacije koja nudi uslugu. Svaki opisnik usluge ima jedinstveni ključ koji se koristi kao identifikator usluge i osnovne podatke o usluzi kao što su ime usluge i kratki opis usluge. Jedan opisnik poslovne organizacije može imati više različitih opisnika usluga ukoliko poslovna organizacija nudi
  • 29. 3 Postojeći spremnički sustavi više različitih usluga. Dodatno, opisnik usluge sadrži kazaljke na podređene predloške vezivanja. Predložak vezivanja opisuje način povezivanja s uslugom tj. način uporabe usluge. Svaki opisnik usluge povezan je s najmanje jednim predloškom vezivanja. Ako se usluga može koristiti na više načina tada opisnik usluge ima više podređenih predložaka vezivanja. Predložak povezivanja sadrži jedinstveni ključ koji se koristi kao identifikator predloška povezivanja, ključ usluge čije se povezivanje opisuje i neformalni opis povezivanja. Svaki predložak vezivanja povezan je s točno jednim tehničkim modelom koji opisuje općeniti način izvođenja usluge i sadrži kazaljku na tehnički model povezivanja. Tehnički model nema hijerarhijski nadređenu ili podređenu podatkovnu strukturu kao dosad opisane strukture. Tehnički model opisuje općeniti tehnički model pružanja usluge koji se koristi u mnogim uslugama. Na primjer, jedan tehnički model detaljno opisuje kako se općenito poziva Web Service usluga SOAP (engl. Simple Object Access Protocol) [18] protokolom. Detaljni opis modela mogu biti ratni standardi i formalni dokumenti koji opisuju način komuniciranja s uslugom. 3.3.2 Gospodarenje podacima UDDI spremnika UDDI ne definira način pohrane podataka unutar pojedinog čvora spremnika. Definirani su samo informacijski model i način pristupa podacima putem programskih sučelja. Pristup podacima putem programskih sučelja prikazan je na slici 3-4. Sučelja omogućuju unos, pretraživanje i dohvat poslovnih podataka iz spremišta poslovnih informacija. Sučelja su ostvarena SOAP tehnologijom, zahtjevi se šalju SOAP porukama zapakiranim u HTTP (engl. Hyper Text Transfer Protocol) [19] zahtjeve i odgovore. UDDI čvor prima zahtjeve, obrađuje ih te obavlja operacije nad spremištem poslovnih informacija.Spremište informacija sadrži podatke grupirane u podatkovne strukture opisane informacijskim modelom. Tehnologija ostvarenja spremišta poslovnih informacija nije određena, tj. spremište se može ostvariti bilo kojom tehnologijom pohrane podataka.
  • 30. 3 Postojeći spremnički sustavi Ako je registar ostvaren od više UDDI čvorova ostvaruje se uvišestručavanje podataka. Svaki čvor sadrži sve podatke spremljene u UDDI spremniku. Svi podaci spremnika mogu se čitati sa svakog čvora putem UDDI sučelja. Slika 3-4 UDDI programska sučelja Međutim, podaci u spremniku mogu se mijenjati samo putem sučelja nadležnog čvora. Nadležni čvor je čvor preko kojeg su podaci objavljeni u spremniku. Više čvorova može biti nadležno za različite podatke, ali za jedan podatak nadležan je samo jedan čvor. Preslikavanje podataka spremnika među čvorovima spremnika provodi se putem posebnih programskih sučelja za uvišestručavanje.
  • 31. 4 Sigurnost i uloga spremnika u računalnim sustavima Računalna sigurnost je jedna od grana računarstva koja se među prvima počela razvijati. Do danas su razvijeni mnogi sigurnosni sustavi koji štite sklopovlje, programsku opremu i podatke. Definirani su mnogi sigurnosni komunikacijski protokoli, razvijeni su mnogi načini zaštite na polju kriptografije, modeli nadzora pristupa itd. Ipak u današnjem svijetu informacija, stupanj računalne sigurnosti u mnogim računalnim sustavima još nije zadovoljavajući. Sigurnost je lakše ostvariti što je računalni sustav koji se štiti zatvoreniji. Nekad su računalni sustavi bili sastavljeni od malog broja korisnika koji su svi pripadali istoj organizaciji. S razvojem mrežnih tehnologija, povezivanjem računala u globalnu mrežu Internet problem sigurnosti se dodatno otežava. Svaki korisnik koji se spoji na Internet je potencijalni napadač. Često su računalni sustavi i korisnici suočeni s zlonamjernom programskom potporom. Računalni sustavi moraju imati mehanizme kojima će se na vrijeme prepoznati i onemogućiti napadači. Svaki sigurnosni računalni sustav pohranjuje podatke o korisnicima i računalnim resursima koji se štite. Sigurnosni podaci o pravima pristupa korisnika pohranjuju se unutar pouzdanih i učinkovitih spremničkih sustava. Odjeljak 4.1 opisuje zahtjeve koji moraju biti ispunjeni da bi se neki računalni sustav smatrao sigurnim. U odjeljku 4.2 opisuju se postupci za provođenje sigurnosti pri međukomunikaciji i pristupu podacima. Pritom se naglašava uloga spremničkih sustava u postupcima provođenja sigurnosti. 4.1 Sigurnosni zahtjevi u računalnim sustavima Kada se govori o računalnoj sigurnosti bitno je naglasiti tri važna zahtjeva sigurnosti u bilo kojem računalnom sustavu: tajnost (engl. confidentiality), vjerodostojnost (engl. integrity) i dostupnost (engl. availability) [20, 21]. Tajnost je svojstvo sigurnosti računalnog sustava koje osigurava da samo ovlašteni korisnici imaju pristup zaštićenim resursima računalnog sustava.
  • 32. 4 Sigurnost i uloga spremnika u računalnim Vjerodostojnost je svojstvo sigurnosti računalnog sustava koje osigurava da samo ovlašteni korisnici i samo na ovlašteni način mogu provoditi preinake nad zaštićenim računalnim resursima. Dostupnost je svojstvo sigurnosti računalnog sustava koje osigurava da su ovlaštenim korisnicima zaštićeni računalni resursi dostupni. Jedan od glavnih zadataka pri izgradnji sigurnog računalnog sustava jest pronaći pravu ravnotežu između ova tri zahtjeva koji su često proturječni. Na primjer, jednostavno je osigurati tajnost određenog objekta u nekom računalnom sustavu tako što ćemo svim korisnicima zabraniti pristup tom objektu. Međutim, takav računalni sustav nije siguran jer u tom slučaju nije ispunjen zahtjev dostupnosti. Na slici 4-1 je prikazan odnos između svojstava tajnosti, vjerodostojnosti i dostupnosti. U tom računalnom sustavu je potrebno pronaći pravu ravnotežu između ovih svojstava za sigurnost računalnog sustava. Potrebno je izabrati onaj nivo tajnosti, vjerodostojnosti i dostupnosti za koje je sustav siguran. Slika 4-5 Ravnoteža za postizanje sigurnosti u računalnom sustavu 4.2 Postupci za uspostavu sigurnosti Uspostava sigurnosti u računalnom sustavu ovisi o funkcionalnosti sustava i računalnoj okolini u kojoj sustav djeluje. Ako je računalni sustav postavljen na izolirano lokalno računalo i pruža funkcionalnost samo korisnicima lokalnog računala onda sustav sigurnosti neće imati komponentu sigurne međuračunalne komunikacije. S druge strane, računalni sustavi koji su raspodijeljeni i povezani u računalnu mrežu javnog karaktera moraju imati sigurnosne protokole međukomunikacije. Ciljevi koji određuju stupanj, oblik
  • 33. 4 Sigurnost i uloga spremnika u računalnim i način provođenja sigurnosti u određenom računalnom sustav zovu se sigurnosne odredbe (engl. security policy) [22]. Postupci koji se koriste kao osnova za uspostavu sigurnosti su postupci registracije, autentikacije, autorizacije, nadzora pristupa i praćenja uporabe. Na slici 4-2 prikazana su dva osnovna problema uspostave sigurnosti u modelu korisnik-poslužitelj. Prvi problem je problem uspostave sigurne komunikacije između korisnika i poslužitelja. Sigurna komunikacija se ostvaruje uspostavom sigurnog kanala između sudionika. Sudionici koji komuniciraju moraju se predstaviti i provjeriti i uvjeriti u identitet svoga sugovornika. Uspostava sigurnog kanala postiže se postupcima registracije i obostrane autentikacije. Slika 4-6 Problemi uspostave sigurnosti u modelu korisnik-poslužitelj Drugi problem uspostave sigurnosti u modelu korisnik-poslužitelj vezan je uz operacije koje izvodi korisnik na poslužitelju nakon uspostave sigurne komunikacije. Poslužitelj ne može bez provjere provoditi sve operacije i zahtjeve korisnika. Svaki korisnik ima razinu ovlasti kojom su mu reducirani zahtjevi i operacije koje smije provoditi. U skladu s tim poslužitelj provjerava ovlasti korisnika i utvrđuje je li korisnik smije postavljati određeni zahtjev. Poslužitelj mora suzbiti neovlaštene radnje i nedopuštene zahtjeve korisnika. Istovremeno se moraju poslužiti svi ovlašteni zahtjevi. U slučaju propusta rada poslužitelja mora se provesti postupak oporavka od pogreške i ispravak propusta. U svrhu uspješnog rada poslužitelja provode se postupci nadzora pristupa, autorizacije i praćenja uporabe.
  • 34. 4 Sigurnost i uloga spremnika u računalnim 4.2.1 Registracijski postupci Postupak registracije (engl. register) [23] je postupak učlanjenja korisnika u računalni sustav. Prilikom registracije korisnik se učlanjuje u sustav navodeći svoje identifikacijske i verifikacijske podatke. Sustav pohranjuje korisnikove identifikacijske podatke i uz njih vezuje korisnikove verifikacijske podatke. Samim postupkom registracije korisniku se dodjeljuju prava pristupa podacima i resursima sustava u skladu s korisnikovim ovlastima. Kada se jednom registrirao korisnik se može bilo kada prijavljivati u sustav. Postupak prijave (engl. login) je različit od postupka registracije. Registrirani korisnici prijavljuju se u sustav kako bi pristupali podacima i resursima koje sustav čuva za svoje članove. Slika 4-7 Postupak registracije Na slici 4-3 prikazan je postupak registracije kakav se koristi u suvremenim računalnim sustavima. Korisnik navodi sustavu svoje identifikacijske i verifikacijske podatke. Dodatno, korisnik navodi adresu elektronske pošte (1). Sustav u spremnik sprema korisnikove identifikacijske podatke i uz njih vezuje korisnikove verifikacijske podatke. Sustav sastavlja poruku N, sprema je uz korisnikove identifikacijske podatke i šalje je korisniku na adresu elektronske pošte (2). Ovime se zapravo onemogućuje
  • 35. 4 Sigurnost i uloga spremnika u računalnim automatska registracija čime se sprečava zlonamjerno registriranje u sustav. Korisnik, otvara pretinac elektronske pošte i šalje natrag poruku N u sustav navodeći svoje identifikacijske podatke (3). Sustav pročita korisnikove identifikacijske podatke, pronalazi spremljenu poruku N i uspoređuje je porukom koju je korisnik poslao. Ako se poruke podudaraju, korisnik je registriran u sustav i može se prijavljivati navodeći svoje identifikacijske i verifikacijske podatke. 4.2.2 Autentikacijski postupci Autentikacija [23, 24] je protokol kojim se provjerava računalni identitet sudionika u računalnom sustavu. Postupkom autentikacije se utvrđuje je li identitet korisnika odgovara identitetu kojim se sudionik predstavlja u računalnom sustavu. Samo registrirani korisnici mogu prolaziti kroz postupak autentikacije. Prilikom korisnikove prijave u sustav provodi se postupak autentikacije. Proces autentikacije se provodi kroz procese identifikacije i verifikacije. Identifikacija je proces predstavljanja, a verifikacije je proces provjere identiteta korisnika. Ako je verifikacija uspješna, korisnik je autenticiran. Najjednostavniji oblik autentikacije zasniva se na upotrebi korisničkog imena i lozinke. Upisivanjem korisničkog imena korisnik se predstavlja, a upisivanjem lozinke provjerava se vrijednost koju je korisnik upisao sa onom koja se čuva u sustavu uz korisnikovo korisničko ime. Time se utvrđuje računalni identitet korisnika.Složeniji autentikacijski postupci koriste kriptografiju prilikom provjere identiteta korisnika. Na slici 4-4 prikazan je protokol obostrane autentikacije. Korisnik sastavlja poruku koja se sastoji od slučajnog broja M i svojih identifikacijskih i verifikacijskih podataka. Poruku korisnik kriptira javnim ključem poslužitelja i šalje je poslužitelju (1). Samo poslužitelj može dekriptirati kriptiranu poruku. Poslužitelj dekriptira poruku, pronalazi u spremniku identifikacijske podatke korisnika i uz njih vezane verifikacijske podatke. Provjerava u spremniku zapisane verifikacijske podatke sa onima koje je primio od korisnika (2). Nakon što je provjerio jednakost verifikacijskih podataka, poslužitelj sastavlja poruku koja se sastoji od identiteta poslužitelja, slučajnog broja M koji mu je poslao korisnik, slučajnog broja N i simetričnog ključa K koje tom prilikom stvara poslužitelj. Poruku kriptira javnim ključem korisnika i šalje je korisniku (3). Korisnik dekriptira poruku, provjerava identitet poslužitelja i uspoređuje poslani i primljeni slučajni
  • 36. 4 Sigurnost i uloga spremnika u računalnim broj M. Nakon što je provjerio jednakost slučajnih brojeva, sastavlja poruku koja se sastoji od slučajnog broja N koji je primio od poslužitelja. Poruku kriptira primljenim simetričnim ključem K i šalje je poslužitelju (4). Poslužitelj dekriptira poruku i provjerava jednakost primljenom i poslanog broja N. Ako se brojevi podudaraju, postupak obostrane autentikacije je uspješno proveden i komunikacija se može nastaviti sa simetričnim ključem K. Slika 4-8 Postupak autentikacije 4.2.3 Postupak autorizacije Autorizacija (engl. authorization) [25, 26] je postupak kojim se u računalnom sustavu dodjeljuje, oduzima i upravlja pravima pristupa sudionika u računalnom sustavu. Proces dodjele i upravljanja pravima pristupa u raspodijeljenim računalnim sustavima je iznimno složen. U mrežnim operacijskim sustavima (engl. network operating systems) [27] se primjenjuje nepraktičan način upravljanja pravima pristupa koji za svakog sudionika ili korisnika postavlja prava pristupa na svako računalo u sustavu. Praktičniji način upravljanja pravima pristupa je upotrebom propusnica. Na slici 4-5 prikazana je matrica prava pristupa. Redci predstavljaju sudionike koji se nazivaju subjekti, a stupci računalne resurse koji se nazivaju objekti. Matrica prava pristupa određuje za svaki par subjekt-objekt skup operacija koji je dopušten. Mnogi elementi matrice su nepopunjeni jer subjekt nema prava pristupa objektu. Zbog toga je matrica nepraktičan oblik zapisa prava pristupa. Umjesto matrice se koriste liste prava
  • 37. 4 Sigurnost i uloga spremnika u računalnim pristupa (engl. access control list, ACL) objektu i propusnice (engl. capability tickets) subjektu za pristup objektu. Lista prava pristupa objektu predstavlja stupce matrice i sadrži popis korisnika matrice pristupa koji imaju određena prava pristupa objektu. Svaki objekt ima pripadajuću ACL listu. Propusnice predstavljaju retke matrice pristupa i sadrže popis objekata za koje subjekt ima pravo pristupa. Svakom subjektu u sustavu se izdaje digitalno potpisana propusnica koju on predočava poslužitelju kad želi pristupiti određenom objektu. Subjekti Objekt 1 (dokument 1) Objekt 2 (pisač 1) ... Objekt M (dokument 2) Korisnik 1 čitanje ispis ... - Korisnik 2 izmjena - ... čitanje ... ... ... ... ... Korisnik N - poništavanje ... - Slika 4-9 Matrica prava pristupa 4.2.4 Nadzor pristupa u računalnim mrežama Nakon uspostave sigurnog komunikacijskog kanala u modelu korisnik-poslužitelj korisniku je omogućeno slanje zahtjeva poslužitelju. Zahtjevi su skup operacija nad računalnim resursima koja nadzire poslužitelj. Poslužitelj izvodi samo one zahtjeve za koje korisnik ima odgovarajuća prava pristupa (engl. access rights). Nadzor pristupa (engl. access control) [28] je proces koji provjerava prava pristupa korisnika te sukladno o pravima omogućuje izvršavanje zahtjeva i pristupanje zaštićenim računalnim resursima. Opći model za nadzor pristupa prikazan je na slici 4-6. Glavni sudionici u procesu nadzora pristupa su subjekt, objekt i nadzorni sustav. Slika 4-10 Opći model nadzora pristupa Subjekti postavljaju zahtjeve za pristup objektima. Pristup objektima štiti nadzorni sustav (engl. reference monitor). Svaki zahtjev subjekta za obavljanje neke operacije na nekim objektom prolazi i provjerava se kroz nadzorni sustav.
  • 38. 4 Sigurnost i uloga spremnika u računalnim Tijekom nadzora pristupa koriste se informacije koje su dostupne kroz postupke uspostave sigurnosti. Na slici 4-7 prikazan je redoslijed upravljačkih informacija tijekom nadzora pristupa. Identitet subjekta se dobiva kroz sustav za autentikaciju. Osim identiteta koriste se i prava pristupa subjekta dodijeljena kroz sustav za autorizaciju. Prikupljene informacije se koriste za donošenje odluke o propuštanju ili odbijanju zahtjeva. Dodatno, postupkom praćenja uporabe bilježe informacije o zahtjevu subjekta. Slika 4-11 Tijek upravljačkih operacija u sustavu nadzora pristupa Načini nadzora pristupa sa različitih aspekata provođenja zaštite Na slici 4-8 prikazan je način nadzora pristupa sa aspekta zaštite podataka. Sustav zaštite izravno štiti podatke u objektima sustava. Glavni zadatak nadzora pristupa je tijekom provođenja zahtjeva u sustavu osigurati ispravnost podataka u objektu neovisno o tome koje se operacije izvode. Takva zaštita se uglavnom primjenjuje u sustavima za upravljanje bazom podataka. Tijekom svake promjene podataka u bazi provjeravaju se pravila i uvjeti koji moraju vrijediti.
  • 39. 4 Sigurnost i uloga spremnika u računalnim Slika 4-12 Sustav zaštite izravno štiti podatke u objektima Na slici 4-9 prikazan je način nadzora pristupa sa aspekta operacija koje se izvode. Sustav zaštite provjerava tko smije obavljati pojedine operacije nad podacima i ovisno o pravima subjekta propušta zahtjeve. Slika 4-13 Sustav zaštite na razini operacija koje se izvode Način nadzora pristupa sa aspekta korisnika prikazan je na slici 4-10, a usmjeren je izravno prema korisnicima na prikazivačkoj razini. U skladu s ovlastima korisnika dopušta mu se ili zabranjuje pristup određenim resursima bez obzira na operacije koje on želi izvesti ili na podatke koje želi mijenjati. Tako korisniku koji nije ovlašten za pristup određenom resursu uopće neće biti moguće kao opciju imati pristup dotičnom resursu. Primjer su Web stranice mnogih fakulteta koje različito izgledaju ako im pristupaju studenti a različito ako pristupaju profesori i osoblje fakulteta.
  • 40. 4 Sigurnost i uloga spremnika u računalnim Slika 4-14 Sustav zaštite usmjeren prema korisnicima Modeli nadzora pristupa U stvarnim računalnim okolinama razvijeni su brojni modeli nadzora pristupa. Svaka računalna okolina pruža različite funkcionalnosti i ima različite sigurnosne zahtjeve. Vojni računalni sustavi zahtijevaju jako visoku razinu tajnosti. S druge strane, poslovni računalni sustavi pružaju mnoge mogućnosti korisnicima te zahtijevaju visoku razinu dostupnosti. Očito da će model nadzora pristupa uvijek biti prilagođen računalnom sustavu u kojem se provodi. Skup zapisanih pravila prema kojima se provodi mehanizam nadzora pristupa naziva se odredbe nadzora pristupa (engl. access control policy). Najčešće korišteni model nadzora pristupa jest model zasnovan na ulogama. Model zasnovan na ulogama (engl. Role-Based Access Control, RBAC) [29, 30] provodi nadzor pristupa prema načelu podjele odgovornosti u poslovnim organizacijama. Model RBAC pojednostavljuje autorizaciju i administraciju prava pristupa definiranjem i dodjeljivanjem uloga (engl. role). Uloge se dodjeljuju subjektima prema funkciji unutar organizacije i njima se definira skup akcija i odgovornosti vezanih uz funkciju. U RBAC modelu prava pristupa za izvođenje operacija ne pridružuju se izravno korisnicima već se vezuju uz uloge. Korisnicima se prava pristupa dodjeljuju posredno dodjeljivanjem uloge. Za izvođenje pojedinih operacija korisniku je potrebno dodijeliti odgovarajuću ulogu. Taj je pristup jednostavniji od postupka pridruživanja pojedinačnih prava svim korisnicima. Kada korisnik promijeni svoju funkciju unutar organizacije oduzima mu se postojeća uloga i dodjeljuje nova u skladu s funkcijom koju obnaša.
  • 41. 4 Sigurnost i uloga spremnika u računalnim U RBAC modelu postoje uvedena ograničenja brojnosti uloga dodijeljenih korisniku i brojnosti ulogom dodijeljenih prava pristupa. Načelo najmanje privilegije (engl. least priviladge) rješava sukob pozitivnih i negativnih autorizacija davanjem prednosti negativnim autorizacijama. Razdvajanje dužnosti (engl. separation od duty, SoD) ograničava subjektu mogućnost skupljanja i centraliziranja velikog broja prava pristupa. 4.2.5 Praćenje uporabe Praćenje uporabe je proces tijekom kojeg se bilježe radnje i akcije koje korisnici izvode i zahtijevaju od sustava. Praćenje se u općem slučaju provodi u svrhu naplate korištenja i izrade korisničkog poosobljavanja (engl. user profile). Za potrebe sigurnosti sustava praćenje korištenja omogućuje analizu napada na sustav, pronalaženje i uklanjanje sigurnosnih propusta te otkrivanje uljeza. Praćenjem se bilježe uspješni i neuspješni napadi na sustav. Zabilježeni neuspješni napadi na sustav mogu utjecati na suzbijanje napadača i poboljšavanje rada sustava. Nakon zabilježenog uspješnog napada analizira se scenarij koji je uzrokovao ugrožavanje sigurnosti sustava [31]. Analizu može provoditi tim stručnjaka za sigurnost, tj ljudi. Druga je mogućnost da se analiza provodi računalom računalnim tehnikama dubinske analize podataka (engl. data mining) i raspoznavanja uzoraka (engl. pattern recognition).
  • 42. 5 Programirljiva Internet okolina 5 Programirljiva Internet okolina Programirljiva Internet okolina (engl. Programmable Internet Environment, PIE) je infrastruktura za razvoj, postavljanje i izvođenje raspodijeljenih primjenskih sustava zasnovanih na uslugama. Razvoj raspodijeljenih primjenskih sustava je prilagođen i usmjeren krajnjem korisniku. Postupci za izgradnju raspodijeljenih primjenskih sustava su složeni te se zbog toga provodi prilagodba sposobnostima krajnjih korisnika. Prilagodba je omogućena automatizacijom postupaka izgradnje raspodijeljenih primjenskih sustava i definicijom posebnih jezika za opisivanje složenih raspodijeljenih zadataka. Računalna okolina je ostvarena u skladu s načelima računarstva zasnovanog na uslugama. Sastavni dijelovi računalne okoline ostvareni su kao slabo povezane usluge koje putem otvorenih sučelja pružaju funkcionalnosti. U odjeljku 5.1 opisana je arhitektura zasnovana na uslugama. U odjeljku 5.2 opisane su tehnologije Web Services usluga. U odjeljku 5.3 opisana je arhitektura sustava PIE tj. Programirljive Internet okoline. 5.1 Arhitektura zasnovana na uslugama Pojava otvorenih Internet standarda koji omogućuju opis podataka razumljiv računalima, dovodi do naprednih oblika usluga. Takve usluge su složene funkcionalnosti jer se koriste rezultatima već postojećih raspodijeljenih usluga. Tako se usluge povezuju i funkcionalnost se ostvaruje međudjelovanjem usluga. Usluge postaju gradivni elementi raspodijeljenih primjenskih sustava. Tipičan primjer za takvo povezivanje usluga je u B2B (engl. business-to-business) računarstvu, gdje jedna transakcija pokreće niz drugih. Napredne Web usluge zahtijevaju autonomnost usluga, slabo povezivanje (engl. loose coupling), mogućnost razvijanja usluga jednostavnim sastavljanjem (engl. composition) i mogućnost ponovnog korištenja usluga (engl. reusability). Da bi to bilo moguće razvijen je novi model arhitekture za stvaranje, ponudu, potražnju i pružanje usluga koji se naziva računarstvo zasnovano na uslugama (engl. Service oriented computing, SOC) [32, 33].
  • 43. 5 Programirljiva Internet okolina Cilj arhitekture zasnovane na uslugama (engl. Service-oriented architecture, SOA) [34, 35] je definirati model koji omogućuje pružanje i korištenje programske funkcionalnosti u obliku usluga. Arhitektura zasnovana na uslugama definira skup pravila za oblikovanje i izgradnju raspodijeljenih programskih funkcionalnosti koje koriste krajnji korisnici ili druge udaljene usluge objavljene u globalnoj mreži Internet. To je skup programskih modula koje je moguće udaljeno pozivati i čija sučelja su opisana u zasebnim opisima koje je moguće objavljivati i otkrivati. Arhitektura zasnovana na uslugama omogućuje izradu jednostavnih programskih funkcionalnosti zasnovanih na uslugama. Osnovne funkcionalnosti su opis usluge i potpora za operacije korištenja, ponude i potražnje usluge. Opis usluge sadrži opis svojstava usluge (engl. service capabilities), sučelja, ponašanja i kvalitete usluge. Svojstva usluge opisuju namjenu i rezultate usluge. Sučelje usluge opisuje način korištenja usluge operacije, ulazne i izlazne parametre usluge, strukture poruka u slučaju pogreške tijekom izvođenja. Postoje tri osnovna sudionika u osnovnom modelu arhitekture zasnovane na uslugama. To su pružatelj ili poslužitelj usluge (engl. service provider), korisnik usluge (engl. service client) i imenik usluga (engl. service registry). Osnovne operacije ponude, potražnje i korištenja usluga u osnovnom modelu su operacije objave (engl. publish) opisa usluge, pronalazak (engl. discovery) usluge, izabiranje usluge (engl. selection) i povezivanje (engl. binding) s uslugom.Tijek izvođenja operacija prilikom međudjelovanja sudionika osnovnog modela naziva se postupak objavljivanje-pronalazak-povezivanje [36]. Slika 5-1 pokazuje postupak objavljivanje-pronalazak-povezivanje. Postupak započinje kada poslužitelj usluge ostvari funkcionalnost usluge i obavi operaciju objave usluge.
  • 44. 5 Programirljiva Internet okolina Slika 5-15 Postupak objavljivanje-pronalaženja-povezivanje Poslužitelj gradi opis usluge i objavljuje opis usluge u imeniku usluga (1). Imenik usluge prihvaća opis usluge, dodaje opis usluge u skup objavljenih usluga te šalje potvrdu primitka poslužitelju usluge (2). Kada želi koristiti uslugu neke funkcionalnosti korisnik usluge šalje upit u imenik usluga (3). Parametri upita opisuju funkcionalnost koja se traži od potencijalne usluge. Nakon što primi upit imenik pretražuje skup objavljenih usluga i pronalazi sve usluge koje u opisu usluge imaju svojstva koja odgovaraju parametrima upita. Za sve pronađene usluge vraća njihove pripadajuće opise usluga kao rezultat upita korisniku (4). Korisnik odabire najprikladniju usluga iz skupa primljenih opisa usluga i kako bi ostvario povezivanje s uslugom šalje zahtjev na poslužitelj (5). Odabrana udaljena usluga prima zahtjev, pokreće proces obrade zahtjeva i po završetku obrade šalje poruku odgovora na zahtjev koja sadrži rezultate obrade (6). Postupak objavljivanje-pronalaženje-povezivanje završava kada korisnik primi poruku odgovora s rezultatima izvođenja usluge. 5.2 Tehnologije Web Services usluga Na slici 5-2 prikazane su Web Services tehnologije. To je standardni skup tehnologija kojima se ostvaruje arhitektura zasnovana na uslugama. WSDL je jezik koji
  • 45. 5 Programirljiva Internet okolina se koristi za opisivanje svojstava Web Services usluge. UDDI imenik se koristi kao imenik usluga. U njemu se pohranjuje WSDL opis Web Services usluge. Slika 5-16 Web Services tehnologije Korisnik Web Services usluge standardnim UDDI protokolom pretražuje UDDI imenik s WSDL opisima svojstava i pronalazi Web Services uslugu s odgovarajućim svojstvima. Povezivanje i komunikacija se ostvaruje putem SOAP poruka HTTP protokolom. WSDL (engl. Web Services Description Language) [37] je jezik koji se koristi za opisivanje svojstava sučelja Web Services usluge zasnovan na XML jeziku. WSDL opisuje operacije, strukture poruka zahtjeva i odgovora pojedinih operacija te ulazne i izlazne parametre pojedinih operacija. Dodatno WSDL opis obuhvaća opis pristupne točke i opis komunikacijskog protokola pri izmjeni poruka s uslugom. WSDL ne opisuje svojstva sigurnosti usluge, semantike ostvarenje i izvođenja usluge. UDDI [16] protokol standardizira pretraživanje i objavljivanje podataka o Web Services uslugama. UDDI sustav za gospodarenje podacima je već opisan u trećem poglavlju. SOAP je jednostavan protokol zasnovan na XML jeziku a namijenjen za komunikaciju u raspodijeljenim okolinama. Najčešće korišteni prijenosni protokoli za SOAP protokol su HTTP, FTP (engl. File Transfer Protocol) [38] i SMTP (engl. Simple
  • 46. 5 Programirljiva Internet okolina Mail Transfer Protocol) [39]. Komunikacija prilikom korištenja SOAP protokola je oblika zahtjev-odgovor a takvog je oblika i HTTP protokol pa se on najčešće koristi. Pritom se SOAP poruke gnijezde u HTTP poruke. 5.3 Arhitektura okoline PIE Na slici 5-3 prikazana je arhitektura okoline PIE. Okolina PIE sastoji se od tri osnovna dijela: Grafičkog sučelja, Sustava za otkrivanje i pristup uslugama i Prividne raspodijeljene okoline. Grafičko sučelje [40, 41] omogućuje automatizirano pisanje raspodijeljenih programa te pokretanje njihovog prevođenja i izvođenja. Slika 5-17 Arhitektura Programirljive Internet okoline PIE Prividna raspodijeljena okolina sastoji se od tri slojevito postavljena podsustava: Prividne logičke mreže, Sustava za postavljanje usluga i Sustava za povezivanje usluga. Slojevitost arhitekture sugerira zavisnost pojedinih podsustava. Podsustav na višoj razini koristi funkcionalnosti podsustava na nižim razinama. Sustav za otkrivanje i pristup uslugama omogućuje i nadzire pristup uslugama te dodatno omogućuje pregled postojećih usluga u skladu sa sigurnosnim odredbama. 5.3.1 Prividna raspodijeljena okolina Prividna raspodijeljena okolina je sastavljena od tri sloja: Prividna logička mreža, Sustav za postavljanje usluga i Sustav za povezivanje usluga. Namjena Prividne logičke mreže [42] je logičko adresiranje usluga. Sustav za postavljanje usluga [43] omogućuje
  • 47. 5 Programirljiva Internet okolina postavljanje i uklanjanje usluga s čvorova Prividne mreže. Sustav za povezivanje usluga [43] ostvaruje osnovna načela programskog modela zasnovanog na uslugama te prevođenje i izvođenje raspodijeljenih programa. Sva tri sloja komuniciraju sa Sustavom za otkrivanje i pristup uslugama. Prividna logička mreža Prividna logička mreža (engl. Overlay network) naslanja se na fizičku računalnu mrežu i osnova je arhitekture okoline PIE. Namjena Prividne logičke mreže je ostvariti nezavisnost izvođenja raspodijeljenih primjenskih sustava o raznorodnoj fizičkoj infrastrukturi, podržati jednostavno adresiranje te komunikaciju usluga u takvom okruženju. S ciljem ostvarenja spomenute nezavisnosti uvodi se načelo logičkog čvora. Logički čvor posjeduje komunikacijske mehanizme koji zamjenjuju komunikacijske mehanizme fizičkog računala. Na slici 5-4 prikazan je primjer računalne mreže sa tri računala koja se primjenom načela logičkog čvora prevode u Prividnu logičku mrežu s četiri logička čvora. Slika 5-18 Prividna logička mreža Logički čvorovi mogu se dodavati u i uklanjati iz Prividne logičke mreže. Jedna od glavnih prednosti korištenja logičke mreže je mogućnost prijenosa raspodijeljenih primjenskih sustava s jednog skupa računala na drugi bez promjena u samim primjenskim sustavima. Umjesto toga potrebno je postaviti odgovarajuću topologiju
  • 48. 5 Programirljiva Internet okolina Prividne logičke mreže. Dodatno, uvođenje logičkih čvorova omogućuje logičko adresiranje usluga smještenih na logičkim čvorovima. Svaka je usluga jedinstveno određena imenom logičkog čvora na kojem se nalazi i imenom usluge na tom čvoru. Logičko adresiranje ostvaruje se primjenom WS-Addressing [44] standarda. Prividna logička mreža obavlja zadaću usmjeravanja zahtjeva između usluga. Pri tom se provodi zaštita sigurnosti i tajnosti komunikacije kroz okolinu. Sustav za postavljanje usluga Osnovna funkcionalnost Sustava za postavljanje usluga je automatizacija postavljanja usluga na logičke čvorove. Time se smanjuje složenost postupka izgradnje raspodijeljenih primjenskih sustava i mogućnost nadziranja i upravljanja opterećenjem raspodijeljenih primjenskih sustava. Prilikom postavljanja usluge na čvor koristi se Sustav za otkrivanje i pristup uslugama koji dohvaća instalacijski paket iz skladišta usluga. Paket se prenosi na logički čvor gdje se pokreće proces izvođenja. Isto tako, Sustav za otkrivanje i pristup uslugama prijavljuje postavljenu uslugu u spremnik PIE sustava. Svako stvaranje i uništavanja primjerka usluge zapisuje se u spremnik PIE sustava. Sustav za povezivanje usluga Sustav za povezivanje usluga omogućuje oblikovanje i izvođenje raspodijeljenih primjenskih sustava primjenom programskog modela zasnovanog na uslugama. Nadalje, sustav ostvaruje sinkronizacijske i komunikacijske usluge kao i usluge prevođenja i izvođenja raspodijeljenih programa. Raspodijeljeni programi pišu se u posebnom jeziku namijenjenom krajnjem korisniku i putem Grafičkog sučelja se predaju Sustavu za povezivanje usluga koji se brine za njihovo prevođenje i izvođenje. Prevođenje i izvođenje podržano je zasebnim mrežnim uslugama koje ostvaruju Redovi programa, Redovi poslova, jezični prevoditelji i interpretatori [45]. Za usluge sinkronizacije i komunikacije zaduženi su binarni i opći semafori, poštanski pretinci te usmjernici događaja [46]. Usluge sinkronizacije i komunikacije ostvarene su kao mrežne usluge s pohranom stanja, stoga je prije korištenja potrebno stvoriti primjerak usluge.
  • 49. 5 Programirljiva Internet okolina 5.3.2 Životni ciklus primjenskih usluga u okolini PIE Primjenske usluge tijekom svog životnog ciklusa unutar računalne okoline poprimaju više stanja i oblika. Ako je izvršni kod usluge spremljen u skladištu usluga, onda je usluga u pohranjenom obliku. Ako je usluga postavljena na barem jedan lokalni čvor u računalnoj okolini onda je usluga u postavljenom obliku. Ako je usluga pokrenuta i održava primjerke na barem jednom čvoru onda je usluga primjerak tj. usluga je u instanciranom obliku. Nije nužno da usluga podržava instance. Primjer usluge koja podržava instance je Red poruka (engl. mailbox). Namjena Reda poruka je spremanje dolaznih poruka u internu strukturu reda, uzimanje poruka iz reda i predaja poruka korisniku. Instance ove usluge su interni redovi poruka i svaka instanca ima svoj identifikator kojim je određena. Kada korisnik želi koristiti uslugu Red poruka mora navesti identifikator instance u koju želi spremiti poruku. Primjenske usluge u računalnoj okolini PIE mogu se nalaziti istovremeno u više oblika. Na primjer neka usluga može biti pohranjena u skladištu i istovremeno postavljena na nekom od čvorova računalne okoline. Slika 5-5 prikazuje formalnu definiciju životnog ciklusa primjenske usluge izraženu pomoću determinističkog konačnog automata (DKA). Prijelazi automata iz stanja u stanje predstavljaju akcije nad oblicima usluga. Akcija Spremi predstavlja postupak pohrane usluge. Akcija Postavi predstavlja postupak postavljanja već pohranjene usluge na čvor računalne okoline. Akcija Instanciraj predstavlja postupak stvaranja instance tj. primjerka već postavljene usluge. Za svaku od akcija postoji i suprotna akcija. Rezultat akcija je pojava novih oblika usluge ili gubitak nekih oblika usluge. Informacije o rezultatima akcija spremaju se unutar Sustav za otkrivanje i pristup uslugama u spremnik PIE sustava. Korisnik koji ima pravo korištenja neke usluge mora u svakom trenutku znati sve informacije o oblicima koje poprima ta usluga. Na primjer, mora znati gdje je usluga pohranjena, na kojim je čvorovima postavljena i koje su eventualne instance ako ih usluga podržava. Akcije Instanciraj i Uništi sve intance specifične su akcije sinkronizacijskih i komunikacijskih usluga. Prilikom izvršenja tih akcija moraju se svi rezultati objaviti u spremnik PIE sustava. Usluga prestaje postojati u računalnoj okolini PIE kada se uklone svi primjerci, instalacije i izvršni kod usluge iz skladišta usluga.
  • 50. 5 Programirljiva Internet okolina Slika 5-19 DKA koji opisuje životni ciklus usluga u sustavu PIE 5.3.3 Sustav za otkrivanje i pristup uslugama Sustav za otkrivanje i pristup uslugama pruža funkcionalnost imenika usluga i dodatno provodi nadzor pristupa uslugama u skladu sa sigurnosnim odredbama. Arhitektura sustava za otkrivanje i pristup uslugama prikazana je na slici 5-6. Sustav za otkrivanje sastoji se od tri podsustava: Prikazivački sustav, Pretvorbeni sustav i Spremnik PIE sustava. Prikazivački sustav upravlja pristupom i prikazom te izlaže usluge koje su korisnicima dostupne. Prilikom izlaganja usluga koristi podatke koje mu pruža Pretvorbeni sustav. Više o Prikazivačkom sustavu može se pročitati u [47]. Pretvorbeni sustav izravno komunicira sa Spremnikom PIE sustava i ima funkciju posrednika između Spremnika PIE sustava i Prikazivačkog sustava.
  • 51. 5 Programirljiva Internet okolina Slika 5-20 Arhitektura sustava za otkrivanje i pristup uslugama Nadalje, Pretvorbeni sustav je izravno povezan s Prividnom raspodijeljenom okolinom i Grafičkim sučeljem te posreduje u procesima komunikacije, postavljanja usluga i kompozicije usluga. Spremnik PIE sustava ima funkciju spremničkog sustava u kojem su pohranjeni podaci o svim raspoloživim uslugama u sustavu. Spremnik PIE sustava U Spremnik PIE sustava spremaju se podaci o svim uslugama u logičkoj mreži. Arhitektura Spremnika PIE sustava prikazana je na slici 5-7. Spremnik PIE sustava izravno komunicira s Pretvorbenim sustavom. Sastoji se od Spremnika odredbi nadzora pristupa i Skladišta usluga. Spremnik odredbi nadzora pristupa sadrži listu svih pohranjenih, postavljenih i svih primjeraka usluga. Dodatno, Spremnik odredbi nadzora pristupa sadrži sigurnosne odredbe o pravima pristupa pojedinim uslugama. Skladište usluga sadrži izvršni kod usluga koje su raspoložive za postavljanje na čvorove sustava. Usluge su pohranjene u neaktivnom obliku koji se naziva instalacijski paket. Instalacijski paket omogućuje automatizaciju postupka postavljanja usluga na čvorove računalne okoline. Prilikom pohrane usluga u Spremnik odredbi nadzora pristupa dodaje se novi zapis o novoj pohranjenoj usluzi. Nadalje, provodi se postupak sažimanja paketa, čime se smanjuje prostor koji zauzima skladište i mrežni promet u računalnoj okolini. Suprotan postupak pohranjivanju usluga je postupak uklanjanja usluga iz
  • 52. 5 Programirljiva Internet okolina Skladišta usluga. Pritom se briše čitav instalacijski paket iz Skladišta usluga i briše se zapis o uklonjenoj usluzi iz Spremnika odredbi nadzora pristupa. Slika 5—21 Spremnik PIE sustava Otkrivanje usluga je proces tijekom kojeg korisnik saznaje podatke o nekoj usluzi koja je dostupna u računalnoj okolini. U Spremniku odredbi nadzora pristupa nalaze se sve raspoložive usluge. Pretraživanjem Spremnika odredbi nadzora pristupa korisnici otkrivaju informacije o uslugama. Spremnik odredbi nadzora pristupa sadrži i sigurnosne odredbe o pravima pristupa uslugama za pojedine vrste korisnika. Korisniku se daje popis usluga u skladu s njegovim pravima pristupa. Izlažu se samo one usluge za koje korisnik ima pravo pristupa.
  • 53. 6 Spremnik odredbi nadzora pristupa u PIE sustavu 6 Spremnik odredbi nadzora pristupa u PIE sustavu Spremnik odredbi nadzora pristupa je podsustav Spremnika PIE sustava koji je najniži sloj u Sustavu za otkrivanje i pristup uslugama. Spremnik odredbi nadzora pristupa je spremnički sustav u kojem su pohranjeni podaci o svim uskladištenim i postavljenim uslugama te svim primjercima usluga na svim čvorovima prividne logičke mreže u PIE sustavu. Nadalje, Spremnik odredbi nadzora pristupa je obogaćen sigurnosnim odredbama koje omogućuju provođenje nadzora pristupa i sigurnosti u PIE sustavu. U nastavku u odjeljku 6.1 opisuje se arhitektura Spremnika odredbi nadzora pristupa. U odjeljku 6.2 opisuje se .NET tehnologija korištena prilikom programskog ostvarenja i programsko ostvarenje Spremnika odredbi nadzora pristupa. 6.1 Arhitektura Spremnika odredbi nadzora pristupa Arhitektura Spremnika odredbi nadzora pristupa prikazana je na slici 6-1. Slika 6-22 Arhitektura Spremnika odredbi nadzora pristupa Sustav se sastoji od šest spremničkih podsustava. Spremnik podataka o korisnicima čuva podatke o pojedinim članovima PIE sustava. Spremnik podataka o
  • 54. 6 Spremnik odredbi nadzora pristupa u PIE sustavu logičkim čvorovima čuva podatke o prividnoj logičkoj mreži. Spremnik podataka o pohranjenim uslugama čuva podatke o uslugama čiji su instalacijski paketi pohranjeni Skladištu usluga u PIE sustavu i koje se mogu instalirati na čvorove logičke mreže. Spremnik podataka o postavljenim uslugama sadrži podatke o postavljenim uslugama koje su aktivirane na logičkim čvorovima PIE sustava. Spremnik podataka o primjercima usluga čuva podatke o pokrenutim primjercima pojedinih usluga koje podržavaju primjerke. Spremnik podataka o vanjskim uslugama čuva podatke o vanjskim uslugama koje su dostupne pojedinim korisnicima kroz PIE sustav ali nisu dio PIE sustava. 6.1.1 Spremnik podataka o korisnicima Spremnik podataka o korisnicima pohranjuje podatke o svim ljudskim resursima u sustavu PIE. Pohranjeni su osobni podaci o pojedinim članovima kao što su ime i prezime, JMBG, telefon, uloga koju član obnaša u PIE sustavu i slično. Arhitektura Spremnika Na slici 6-2 prikazana je arhitektura i unutarnja organizacija spremnika podataka o korisnicima. Spremnik se sastoji od šest podsustava: Sučelje, Upravljačka jedinica, Sustav za zaključavanje, Stvaratelj predloška, Sustav za izmjene i Sustav za pretraživanje. Slika 6-23 Arhitektura Spremnika podataka o korisnicima Sučelje je podsustav pomoću kojega spremnik komunicira sa Pretvorbenim sustavom. Preko Sučelja dolaze zahtjevi za zapisivanje, brisanje i dohvat podataka iz spremnika. Upravljačka jedinica je glavni podsustav spremnika u kojoj je ostvarena
  • 55. 6 Spremnik odredbi nadzora pristupa u PIE sustavu logika funkcioniranja cijelog sustava. Svi zahtjevi koji dolaze na Sučelje interpretiraju se unutar Upravljačke jedinice koja razlučuje o kojem se zahtjevu radi, provodi operacije u skladu sa tim zahtjevom te bilježi podatke o zahtjevu u svrhu nadzora korištenja. Operacije koje se provode nad podacima moraju biti izvršene kao transakcije. Zbog toga Sustav za zaključavanje prilikom svakog zahtjeva provodi zaključavanje podataka. Da bi korisnički proces pristupao podacima u spremniku podaci ne smiju biti zaključani. Tek kad se obradi jedan zahtjev, Sustav za zaključavanje propušta drugi zahtjev. Stvaratelj predloška je podsustav koji se koristi prilikom unosa novih podataka u spremnik. Naime, podaci o korisnicima su organizirani u točno definirane podatkovne strukture. Za svaki novi zapis stvara se predložak zapisa koji se prilikom unosa popunjava. Sustav za izmjene koristi se prilikom dodavanja zapisa o novim korisnicima i prilikom brisanja podataka o postojećim korisnicima. Sustav za pretraživanje se koristi prilikom dohvata podataka o postojećim korisnicima. Na slici 6-3 opisan je tijek događaja koji se odvija prilikom dodavanja novog zapisa u spremnik. Zahtjev za dodavanje novog zapisa dolazi preko Sučelja od Pretvorbenog sustava (1). Sučelje prosljeđuje zahtjev prema Upravljačkoj jedinici (2). Upravljačka jedinka parsira zahtjev i interpretira o kojoj vrsti zahtjeva se radi te nalaže Sustavu za zaključavanje izvođenje zahtjeva i čeka povratnu informaciju u obliku potvrde izvršenja zahtjeva (3). Sustav za zaključavanje zaključava podatke i nalaže Stvaratelju predloška stvaranje predloška za upis novog zapisa (4). Stvaratelj predloška stvara novi predložak i zapisuje ga u postojeće podatke te potvrđuje izvršenje zadatka Sustavu za zaključavanje (5). Sustav za zaključavanje nalaže Sustavu za izmjene provođenje zapisa novih podataka u stvoreni predložak (6). Sustav za izmjene zapisuje podatke u predložak i potvrđuje izvršenje Sustavu za zaključavanje (7). Sustav za zaključavanje otključava podatke i potvrđuje Upravljačkoj jedinici izvršenje zadatka (8). Sustav za zaključavanje sada može preuzeti novi zahtjev koji čeka na otključavanje od Upravljačke jedinice. Upravljačka jedinka bilježi podatke o zahtjevu u poseban spremnik Nadzor uporabe (9) i šalje potvrdu da je novi zapis dodan u spremnik prema Sučelju (10). Sučelje potvrdu prosljeđuje prema Pretvorbenom sustavu (11). Scenarij dodavanja novog zapisa je završen. Slično se odvijaju i scenariji brisanja i pretraživanja.
  • 56. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Slika 6-24 Scenarij dodavanja novog zapisa u HR spremnik Organizacija podataka Podaci o korisnicima su pohranjeni u centraliziranu hijerarhijsku bazu podataka Korisnici. Baza Korisnici organizira podatke na način da je svakom korisniku pridružen jedan direktorij. Unutar direktorija podaci o korisniku su organizirani kao hijerarhijska baza podataka. Na slici 6-4 prikazana je hijerarhijska organizacija podatkovnih struktura kojima se opisuju podaci o korisnicima. Podatkovne strukture kojima se opisuju podaci nazivaju se zapisi. Svaki zapis ovisno o vrsti zapisa, ima jedan ili više atributa sa pripadajućim vrijednostima. Zapis Korisnik je na najvišoj razini u hijerarhiji i sadrži atribut jedinstveni identifikator korisnika koji ga jednoznačno određuje u sustavu te kazaljke na podređene zapise Socijalni uvid i Digitalni uvid. Socijalni uvid sadrži kazaljke na podređene zapise Ime, JMBG, Telefon i E- Pošta. Ime sadrži atribut čija vrijednost je osobno ime i prezime korisnika. JMBG sadrži s atribut čija vrijednost je JMBG korisnika. Telefon sadrži atribute čije vrijednosti su kućni i uredski telefonski broj korisnika te fax broj korisnika. E-Pošta sadrži atribute čije vrijednosti su glavna i alternativne adrese elektronske pošte korisnika. Digitalni uvid sadrži kazaljke na podređene zapise Iskaznice. Unutar Digitalnog uvida za pojedinog korisnika može biti pohranjeno dva ili više zapisa
  • 57. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Iskaznica. Iskaznica sadrži tri svojstva koja opisuju ulogu i status korisnika unutar PIE sustava ili status korisnika u nekom drugom sustavu ili organizaciji. Slika 6—25 Hijerarhija podatkovnih struktura Spremnika podataka o korisnicima Prvi atribut zapisa Iskaznica je vrsta. Vrijednost tog atributa određuje vrstu Iskaznice i može biti PIE, uloga ili nešto treće. Ako je vrijednost PIE onda je to Iskaznica koja opisuje korisnički račun korisnika u PIE sustavu. Tada je drugi atribut PIE korisnik i njegova vrijednost sadrži jedinstveno ime korisnika u PIE sustavu. Treći atribut je tada datum do kojeg vrijedi račun korisnika u PIE sustavu. Ako je vrijednost svojstva vrsta uloga, onda je to Iskaznica koja definira ulogu koju korisnik posjeduje u PIE sustavu. Postoje osnovne tri vrste uloga u PIE sustavu: Osnovni korisnici, Napredni korisnici i Glavni korisnici. Treće svojstvo je datum do kojeg vrijedi uloga korisnika u PIE sustavu. Svaki Digitalni uvid sadrži barem dvije Iskaznice o imenu i ulozi korisnika u PIE sustavu. Na kraju, ako vrijednost prvog svojstva vrsta Iskaznice nije niti PIE niti uloga, tada je to iskaznica koja opisuje ulogu ili članstvo korisnika u nekoj drugom sustavu ili organizaciji. Drugo svojstvo je tada uloga koju korisnik obnaša u organizaciji, a treće svojstvo je datum do kojeg mu vrijedi uloga koju obnaša u organizaciji. Svaka Iskaznica ima jedan ili nijedan podređeni zapis Potvrda i kazaljku na taj zapis. Potvrda sadrži tri atributa. Prvi atribut je adresa elektronske pošte koja predstavlja ustanovu ili organizaciju koja je korisniku izdala iskaznicu koju on posjeduje. Drugi atribut je jedinstveni identifikator logičkog čvora PIE sustava koji koristi ustanova ili organizacija koja je korisniku izdala iskaznicu koju on posjeduje.
  • 58. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Treći atribut je IP adresa računala na kojoj je smješten logički čvor koji ustanova ili organizacija koristi. 6.1.2 Spremnik podataka o logičkim čvorovima Spremnik podataka o logičkim čvorovima pohranjuje podatke o logičkim čvorovima prividne logičke mreže PIE sustava. U spremniku su upisani svi logički čvorovi prividne logičke mreže s pripadajućim stvarnim fizičkim lokacijama i listom korisnika i uloga koje smiju izvoditi pojedine operacija na logičkom čvoru. Arhitektura Spremnika Na slici 6-5 prikazana je arhitektura i unutarnja organizacija Spremnika podataka o logičkim čvorovima. Spremnik se sastoji od šest podsustava: Sučelje, Upravljačka jedinka, Sustav za zaključavanje, Stvaratelj predloška, Sustav za izmjene i Sustav za pretraživanje. Slika 6-26 Arhitektura Spremnika podataka o logičkim čvorovima Funkcionalnosti pojedinih sustava su jednaki kao i kod već opisanog Spremnika podataka o korisnicima. Scenariji dodavanja, brisanja i pretraživanja podataka o prividnim logičkim čvorovima odvijaju se slično kao i kod Spremnika podataka o korisnicima. Organizacija podataka Podaci o prividnim logičkim čvorovima su pohranjeni u dvije hijerarhijske baze podataka. Prva od dvije baze podataka naziva se Logički čvorovi. Baza podataka Logički čvorovi je centralizirana baza podataka specijalizirana je za pretraživanje podataka prema logičkim čvorovima. Druga baza podataka naziva se Mogućnosti.
  • 59. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Baza podataka Mogućnosti je centralizirana baza podataka specijalizirana je za pretraživanje podataka o logičkim čvorovima sa aspekta pojedinih uloga i korisnika u PIE sustavu. Podatkovne strukture kojima se opisuju podaci nazivaju se zapisi. Svaki zapis ovisno o vrsti zapisa, ima jedan ili više atributa sa pripadajućim vrijednostima. Na slici 6-6 prikazana je hijerarhijska organizacija podatkovnih struktura kojima se opisuju podaci o prividnim logičkim čvorovima u bazi podataka Logički čvorovi. Slika 6-27 Hijerarhija i organizacija podataka u bazi Logički čvorovi Zapis Čvorovi je na najvišoj razini hijerarhije. Zapis sadrži kazaljke na podređene zapise vrste Čvor. Zapis Čvor sadrži atribute identifikator čvora i IP adresa čvora. Vrijednost atributa identifikator jednoznačno određuje čvor u sustavu, a vrijednost atributa IP adresa određuje fizički čvor na kojem je pohranjen logički čvor. Čvor sadrži kazaljke na podređene zapise Vlasnik, Prava pristupa i Poslovne odredbe. Vlasnik sadrži atribute Vrsta i Ime. Vrijednost atributa Vrsta određuje je li vlasnik korisnik u PIE sustavu ili uloga u PIE sustavu. Vrijednost atributa Ime je identifikator korisnika koji je vlasnik čvora ili identifikator uloge ukoliko je uloga
  • 60. 6 Spremnik odredbi nadzora pristupa u PIE sustavu vlasnik čvora. Zapis Prava pristupa sadrži kazaljku na podređeni zapis Operacije. Zapis operacije sadrži kazaljke na podređene zapise Postavljanje, Pozivanje, Uklanjanje i Vidljivost IP. Svaki od ta četiri navedena zapisa sadrži kazaljke na podređene zapise Uloge i Korisnici. Zapis Uloge sadrži kazaljke na podređene zapise PIE Uloga. Zapis PIE Uloga sadrži atribut čija vrijednost je identifikator PIE uloge koja smije izvršiti pojedinu operaciju na logičkom čvoru. Zapis Korisnici sadrži kazaljke na podređene zapise vrste PIE Korisnik. Zapis Korisnik sadrži atribut čija vrijednost je identifikator korisnika koji smije izvršiti pojedinu operaciju na logičkom čvoru. Zapis Poslovne odredbe se ne koristi u ovoj verziji PIE sustava. Organizacija i hijerarhija zapisa u bazi podataka Mogućnosti prikazana je na slici 6-7. Slika 6-28 Hijerarhija i organizacija podataka u bazi Liste prava pristupa Najviši u hijerarhiji jest zapis Mogućnosti. Zapis sadrži kazaljke na podređene zapise Mogućnosti uloge osnovnih korisnika, Mogućnosti uloge naprednih korisnika, Mogućnost uloge glavnih korisnika i Mogućnosti korisnika. Zapis Mogućnosti
  • 61. 6 Spremnik odredbi nadzora pristupa u PIE sustavu korisnika sadrži kazaljke na podređene zapise PIE Korisnik. Zapis PIE Korisnik sadrži atribut identifikator korisnika koji ga jednoznačno određuje u PIE sustavu. Zapisi Mogućnosti uloge osnovnih korisnika, Mogućnosti uloge naprednih korisnika, Mogućnost uloge glavnih korisnika i PIE Korisnik imaju istu organizaciju podređenih zapisa. Zapisi sadrže kazaljke na podređene zapise Instaliranje, Pozivanje, Uklanjanje i Vidljivost IP. Svaki od četiri navedena zapisa sadrži kazaljke na podređene zapise vrste Čvor kojih može biti više ovisno o tome koliko ima logičkih čvorova u PIE sustavu na kojima pojedina uloga smije provoditi pojedine operacije. Zapis čvor sadrži atribut identifikator čvora koji jednoznačno određuje čvor u PIE sustavu. 6.1.3 Spremnik podataka o pohranjenim uslugama Spremnik podataka o pohranjenim uslugama čuva podatke o uslugama čiji instalacijski paketi se nalaze spremljeni u Skladištu podataka. Dodatno, čuvaju se podaci o tome koji korisnici i koje uloge smiju izvoditi operacije instaliranja na čvorove logičke mreže i uklanjanja iz Skladišta usluga. Arhitektura Spremnika Na slici 6-8 prikazana je arhitektura i unutarnja organizacija Spremnika podataka o pohranjenim uslugama. Spremnik se sastoji od sedam podsustava: Sučelje, Upravljačka jedinica, Sustav za zaključavanje, Sustav za pohranu paketa, Stvaratelj predloška, Sustav za izmjene i Sustav za pretraživanje. Slika 6-29 Arhitektura Spremnika podataka o pohranjenim uslugama Sučelje je podsustav pomoću kojega spremnik komunicira sa Pretvorbenim sustavom. Preko Sučelja dolaze zahtjevi za zapisivanje, brisanje i dohvat podataka iz
  • 62. 6 Spremnik odredbi nadzora pristupa u PIE sustavu spremnika. Upravljačka jedinica je glavni podsustav spremnika u kojoj je ostvarena logika funkcioniranja cijelog sustava. Svi zahtjevi koji dolaze na Sučelje interpretiraju se unutar Upravljačke jedinice koja razlučuje o kojem se zahtjevu radi, provodi operacije u skladu sa tim zahtjevom te bilježi podatke o zahtjevu u svrhu nadzora korištenja. Operacije koje se provode nad podacima moraju biti izvršene kao transakcije. Zbog toga Sustav za zaključavanje prilikom svakog zahtjeva provodi zaključavanje podataka. Da bi korisnički proces pristupao podacima u spremniku podaci ne smiju biti zaključani. Tek kad se obradi jedan zahtjev, Sustav za zaključavanje propušta drugi zahtjev. Sustav za pohranu paketa koristi se prilikom dodavanja i brisanja pohranjenih usluga za komunikaciju sa Skladištem usluga. Prilikom dodavanja nove pohranjene usluge u spremnik Sustav za pohranu paketa preuzima instalacijski paket i izravno ga predaje Skladištu usluga. Prilikom brisanja postojeće pohranjene usluge iz spremnika Sustav za pohranu paketa nalaže Skladištu usluga da otkloni instalacijski paket usluge koja se briše. Stvaratelj predloška je podsustav koji se koristi prilikom pohrane novih usluga u spremnik. Naime, podaci o pohranjenim uslugama su organizirani u točno definirane podatkovne strukture. Za svaki novi zapis stvara se predložak zapisa koji se prilikom unosa popunjava. Sustav za izmjene koristi se prilikom dodavanja zapisa o novim pohranjenim uslugama i prilikom brisanja podataka o postojećim pohranjenim uslugama. Sustav za pretraživanje se koristi prilikom dohvata podataka o postojećim pohranjenim uslugama. Na slici 6-9 prikazan je tijek događaja koji se odvija prilikom pohrane nove pohranjene usluge u spremnik. Zahtjev za pohranu nove usluge dolazi preko Sučelja od Pretvorbenog sustava (1). Sučelje prosljeđuje zahtjev prema Upravljačkoj jedinici (2). Upravljačka jedinica parsira zahtjev i interpretira o kojoj vrsti zahtjeva se radi te nalaže Sustavu za zaključavanje izvođenje zahtjeva i čeka povratnu informaciju u obliku potvrde izvršenja zahtjeva (3). Sustav za zaključavanje zaključava podatke i predaje instalacijski paket usluge Sustavu za pohranu paketa (4). Sustav za pohranu paketa predaje instalacijski paket Skladištu usluga i potvrđuje izvršenje zadaće Sustavu za zaključavanje (5). Sustav za zaključavanje nalaže Stvaratelju predloška stvaranje predloška za upis novog zapisa (6). Stvaratelj predloška stvara novi predložak i zapisuje ga u postojeće podatke te potvrđuje izvršenje zadatka Sustavu za zaključavanje (7). Sustav za zaključavanje nalaže Sustavu za izmjene provođenje
  • 63. 6 Spremnik odredbi nadzora pristupa u PIE sustavu zapisa novih podataka u stvoreni predložak (8). Sustav za izmjene zapisuje podatke u predložak i potvrđuje izvršenje Sustavu za zaključavanje (9). Slika 6-30 Scenarij događaja prilikom pohrane nove usluge u spremnik Sustav za zaključavanje otključava podatke i potvrđuje Upravljačkoj jedinici izvršenje zadatka (10). Sustav za zaključavanje sada može preuzeti novi zahtjev koji čeka na otključavanje od Upravljačke jedinice. Upravljačka jedinka bilježi podatke o zahtjevu u poseban spremnik Nadzor uporabe (11) i šalje potvrdu da je novi zapis dodan u spremnik prema Sučelju (12). Sučelje potvrdu prosljeđuje prema Pretvorbenom sustavu (13). Scenarij dodavanja novog zapisa je završen. Slično se odvijaju i scenariji brisanja i pretraživanja. Organizacija podataka Podaci o pohranjenim uslugama u PIE sustavu su pohranjeni u dvije hijerarhijske baze podataka. Prva hijerarhijska baza podataka naziva se Pohranjene usluge. Baza podataka Pohranjene usluge je centralizirana baza podataka specijalizirana za pretraživanje podataka prema pohranjenim uslugama. Druga hijerarhijska baza podataka naziva se Mogućnosti. Mogućnosti je centralizirana baza podataka specijalizirana za pretraživanje prava pristupa pohranjenim uslugama sa aspekta pojedinih uloga i korisnika u PIE sustavu. Podaci su pohranjeni u hijerarhijski organizirane podatkovne strukture koje se nazivaju zapisi. Svaki zapis ovisno o vrsti zapisa, ima jedan ili više atributa sa pripadajućim vrijednostima.
  • 64. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Baza podataka Pohranjene usluge prikazana je na slici 6-10. Svakoj pohranjenoj usluzi u bazi pridružen je jedan direktorij u kojem su spremljeni zapisi o usluzi. Najviši u hijerarhiji je zapis Uvid koji sadrži kazaljku na podređeni zapis Pohranjena usluga. Zapis Pohranjena usluga sadrži atribut identifikator usluge čija vrijednost jednoznačno određuje uslugu u PIE sustavu i kazaljke na podređene zapise Vlasnik, Opis, Prava pristupa i Poslovne odredbe. Zapis Vlasnik sadrži atribute Vrsta i Ime. Vrijednost atributa Vrsta može biti PIEUser ili PIERole, ovisno o tome je li vlasnik uloga ili korisnik u PIE sustavu. Vrijednost atributa Ime jest identifikator uloge ili korisnika u PIE sustavu. Zapis Opis sadrži kazaljke na podređene zapise Tekst i Lokacija. Zapis Tekst sadrži atribut čija je vrijednost neformalni tekstualni opis usluge. Zapis Lokacija sadrži atribut čija je vrijednost adresa na kojoj je usluga dostupna u PIE sustavu. Slika 6-31 Hijerarhija i organizacija zapisa u bazi podataka Pohranjene usluge Zapis Prava pristupa sadrži kazaljku na podređeni zapis Operacije. Zapis Operacije sadrži kazaljke na podređene zapise Postavljanje i Uklanjanje. Svaki od ova dva navedena zapisa sadrži kazaljke na podređene zapise Uloge i Korisnici. Zapis Uloge sadrži kazaljke na podređene zapise PIE Uloga. Uloga sadrži atribut čija
  • 65. 6 Spremnik odredbi nadzora pristupa u PIE sustavu je vrijednost identifikator uloge u PIE sustavu koja ima dozvolu za izvršavanje pojedine operacije sa pojedinom pohranjenom uslugom. Zapis Korisnici sadrži kazaljke na podređene zapise PIE Korisnik. PIE Korisnik sadrži atribut čija je vrijednost identifikator korisnika u PIE sustavu koja ima dozvolu za izvršavanje pojedine operacije sa pojedinom pohranjenom uslugom. Zapis Poslovne odredbe se ne koristi u ovoj verziji PIE sustava. Hijerarhija zapisa u bazi podataka Mogućnosti prikazana je na slici 6-11. Najviši u hijerarhiji je zapis Mogućnosti. Zapis Mogućnosti sadrži kazaljke na podređene zapise Mogućnosti uloge osnovnih korisnika, Mogućnosti uloge naprednih korisnika, Mogućnost uloge glavnih korisnika i Mogućnosti korisnika. Slika 6-32 Hijerarhija i organizacija zapisa u bazi podataka Mogućnosti Zapis Mogućnosti korisnika sadrži kazaljke na podređene zapise PIE Korisnik. Zapis PIE Korisnik sadrži atribut čija vrijednost je identifikator korisnika koji ga jednoznačno određuje u PIE sustavu. Zapisi Mogućnosti uloge osnovnih korisnika, Mogućnosti uloge naprednih korisnika, Mogućnosti uloge glavnih korisnika i PIE Korisnik imaju istu organizaciju podređenih zapisa. Zapisi sadrže kazaljke na
  • 66. 6 Spremnik odredbi nadzora pristupa u PIE sustavu podređene zapise Postavljanje i Uklanjanje. Zapisi Postavljanje i Uklanjanje sadrže kazaljke na podređene zapise PIE Usluga. Zapis usluga sadrži atribut identifikator usluge čija vrijednost jednoznačno određuje pohranjenu uslugu u PIE sustavu. 6.1.4 Spremnik podataka o postavljenim uslugama Spremnik podataka o postavljenim uslugama pohranjuje podatke o postavljenim uslugama u PIE sustavu. Postoje tri osnovne vrste usluga u PIE sustavu. Prva vrsta usluga su primjenske usluge koje su namijenjene za ugradnju u primjenske sustave i primjenske korisničke programe. Druga kategorija usluga su sinkronizacijske usluge koje se koriste kao sinkronizacijski mehanizmi prilikom izvođenja korisničkih programa u PIE sustavu. Na kraju, treća vrsta usluga su usluge koje prevode i izvode korisničke programe u PIE sustavu. Osim podataka o postavljenim uslugama, u spremniku se čuvaju podaci o korisnicima i ulogama koje smiju koristiti i provoditi pojedine operacije nad postavljenim uslugama. Arhitektura Spremnika Na slici 6-12 prikazana je arhitektura i unutarnja organizacija Spremnika podataka o postavljenim uslugama. Spremnik se sastoji od osam podsustava: Sučelje, Upravljačka jedinica, Sustav za zaključavanje, Stvaratelj predloška, Sustav za izmjene, Sustav za pretraživanje, Sustav za dohvat sinkronizacijskih usluga, Sustav za upravljanje radom mehanizama za izvođenje programa. Slika 6-33 Arhitektura Spremnika podataka o postavljenim uslugama Sučelje je podsustav pomoću kojega spremnik komunicira sa Pretvorbenim sustavom. Preko Sučelja dolaze zahtjevi za zapisivanje, brisanje i dohvat podataka iz
  • 67. 6 Spremnik odredbi nadzora pristupa u PIE sustavu spremnika. Upravljačka jedinica je glavni podsustav spremnika u kojoj je ostvarena logika funkcioniranja cijelog sustava. Svi zahtjevi koji dolaze na Sučelje interpretiraju se unutar Upravljačke jedinice koja razlučuje o kojem se zahtjevu radi, provodi operacije u skladu sa tim zahtjevom te bilježi podatke o zahtjevu u svrhu nadzora korištenja. Operacije koje se provode nad podacima moraju biti izvršene kao transakcije. Zbog toga Sustav za zaključavanje prilikom svakog zahtjeva provodi zaključavanje podataka. Da bi korisnički proces pristupao podacima u spremniku podaci ne smiju biti zaključani. Tek kad se obradi jedan zahtjev, Sustav za zaključavanje propušta drugi zahtjev. Stvaratelj predloška je podsustav koji se koristi prilikom pohrane novih instaliranih usluga u spremnik. Naime, podaci o postavljenim uslugama su organizirani u točno definirane podatkovne strukture. Za svaki novi zapis stvara se predložak zapisa koji se prilikom unosa popunjava. Sustav za izmjene koristi se prilikom dodavanja zapisa o novim postavljenim uslugama i prilikom brisanja podataka o postojećim postavljenim uslugama. Sustav za pretraživanje se koristi prilikom dohvata podataka o postojećim postavljenim uslugama. Sustav za dohvat sinkronizacijskih usluga je specijaliziran za pretraživanje i dohvat postojećih sinkronizacijskih usluga. Sustav za upravljanje radom mehanizama za izvođenje programa upravlja radom usluga koje prevode i izvode korisničke raspodijeljene programe. Sustav pokreće, zaustavlja i pretražuje postojeće usluge za prevođenje i izvođenje korisničkih programa. Na slici 6-13 prikazan je tijek događaja koji se odvija prilikom zaustavljanja postojeće usluge za prevođenje korisničkih programa. Zahtjev za zaustavljanje postojeće usluge za prevođenje programa dolazi preko Sučelja od Pretvorbenog sustava (1). Sučelje prosljeđuje zahtjev prema Upravljačkoj jedinici (2). Upravljačka jedinica parsira zahtjev i interpretira o kojoj vrsti zahtjeva se radi te nalaže Sustavu za zaključavanje izvođenje zahtjeva i čeka povratnu informaciju u obliku potvrde izvršenja zahtjeva (3). Sustav za zaključavanje zaključava podatke i nalaže Sustavu za upravljanje radom mehanizama za izvođenje programa zaustavljanje postojeće usluge za prevođenje programa i čeka potvrdu o izvršenju zadaće (4). Sustav za upravljanje radom mehanizama za izvođenje programa zaustavlja rad postojeće usluge za prevođenje programa i potvrđuje izvršenje zadatka Sustavu za zaključavanje (5). Sustav za zaključavanje otključava podatke i potvrđuje
  • 68. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Upravljačkoj jedinici izvršenje zadatka (6). Sustav za zaključavanje sada može od Upravljačke jedinice preuzeti novi zahtjev koji čeka na otključavanje. Slika 6-34 Scenarij događaja prilikom zahtjeva za zaustavljanje rada postojeće postavljene usluge Upravljačka jedinka bilježi podatke o zahtjevu u poseban spremnik Nadzor uporabe (7) i šalje potvrdu da je rad usluge za prevođenje zaustavljen prema Sučelju (8). Sučelje potvrdu prosljeđuje prema Pretvorbenom sustavu (9). Scenarij zaustavljanja rada postojeće usluge za prevođenje je završen. Slično se odvijaju i scenariji dodavanja, brisanja i pretraživanja postavljenih usluga. Organizacija podataka Podaci o instaliranim uslugama u PIE sustavu su pohranjeni u dvije hijerarhijske baze podataka. Prva hijerarhijska baza podataka naziva se Postavljene usluge. Baza podataka Postavljene usluge je centralizirana baza podataka specijalizirana za pretraživanje podataka prema postavljenim uslugama. Druga hijerarhijska baza podataka naziva se Mogućnosti. Mogućnosti je centralizirana baza podataka specijalizirana za pretraživanje prava pristupa postavljenim uslugama sa aspekta pojedinih uloga i korisnika u PIE sustavu. Podaci su pohranjeni u hijerarhijski organizirane podatkovne strukture koje se nazivaju zapisi. Svaki zapis ovisno o vrsti zapisa, ima jedan ili više atributa sa pripadajućim vrijednostima. Baza podataka Postavljene usluge prikazana je na slici 6-14. Svakoj postavljenoj usluzi u bazi pridružen je jedan direktorij u kojem su spremljeni zapisi o
  • 69. 6 Spremnik odredbi nadzora pristupa u PIE sustavu usluzi. Najviši u hijerarhiji je zapis Uvid koji sadrži kazaljku na podređeni zapis Postavljena usluga. Zapis Postavljena usluga sadrži atribute Identifikator i Logički čvor. Vrijednost atributa Identifikator jednoznačno određuje uslugu u PIE sustavu, a vrijednost atributa Logički čvor kazuje na kojem je logičkom čvoru usluga aktivirana. Dodatno, zapis Postavljena usluga sadrži kazaljke na podređene zapise Vlasnik, Roditelj pohranjena usluga, Opis, Prava pristupa, Stanje izvođenja i Poslovne odredbe. Zapis Vlasnik sadrži atribute Vrsta i Ime. Vrijednost atributa Vrsta može biti PIEUser ili PIERole, ovisno o tome je li vlasnik uloga ili korisnik u PIE sustavu. Vrijednost atributa Ime jest identifikator uloge ili korisnika u PIE sustavu. Zapis Roditelj pohranjena usluga sadrži atribute Ime, Skladište, Vrsta. Vrijednost atributa Ime jest identifikator koji jednoznačno određuje pohranjenu uslugu iz koje je aktivirana postavljena usluga. Slika 6-35 Hijerarhija i organizacija zapisa u bazi podataka Postavljene usluge
  • 70. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Vrijednost atributa Skladište određuje Skladište usluga u kojem se nalazi instalacijski paket pomoću kojeg je usluga postavljena. Vrijednost atributa Vrsta određuje o kakvoj se vrsti usluge radi. Zapis Opis sadrži kazaljke na podređene zapise Tekst i Lokacija. Zapis Tekst sadrži atribut čija je vrijednost neformalni tekstualni opis usluge. Zapis Lokacija sadrži atribut čija je vrijednost adresa na kojoj je usluga dostupna u PIE sustavu. Zapis Stanje izvođenja imaju samo usluge koje su namijenjene prevođenju i izvođenju korisničkih programa. Zapis Stanje izvođenja ima atribut Stanje čija vrijednost kazuje je li usluga pokrenuta ili zaustavljena. Ukoliko je usluga namijenjena prevođenju korisničkih programa zapis Stanje izvođenja ima kazaljku na podređeni zapis Red zadataka. Red zadataka ima atribut čija vrijednost je identifikator logičkog čvora na kojem se nalazi lista korisničkih programa koje usluga prevodi. Zapis Prava pristupa sadrži kazaljke na podređene zapise Politika PIE operacija i Politika WSDL operacija. Zapisi Politika PIE operacija i Politika WSDL operacija sadrže atribut čija vrijednost određuje vrstu politike provođenja operacija u PIE sustavu. U ovoj verziji PIE sustava vrijednost tog atributa je predefinirana na standardnu politiku provođenja operacija. Zapis Politika PIE operacija sadrži kazaljku na podređeni zapis Operacije. Zapis Operacije sadrži kazaljke na podređene zapise Pristupanje i Deaktiviranje. Svaki od ova dva navedena zapisa sadrži kazaljke na podređene zapise Uloge i Korisnici. Zapis Uloge sadrži kazaljke na podređene zapise PIE Uloga. Uloga sadrži atribut čija je vrijednost identifikator uloge u PIE sustavu koja ima dozvolu za izvršavanje pojedine operacije sa pojedinom postavljenom uslugom. Zapis Korisnici sadrži kazaljke na podređene zapise PIE Korisnik. PIE Korisnik sadrži atribut čija je vrijednost identifikator korisnika u PIE sustavu koja ima dozvolu za izvršavanje pojedine operacije sa pojedinom postavljenom uslugom. Zapis Politika WSDL operacija sadrži kazaljku na podređene zapise vrste Operacija. Zapis Operacija sadrži atribut čija vrijednost jednoznačno određuje WSDL operaciju instalirane usluge. Dodatno, zapis Operacija sadrži kazaljku na podređene zapise Uloga i Korisnici. Ti zapisi imaju istu organizaciju podređenih zapisa kao i iznad opisani zapisi Uloge i Korisnici. Zapis Poslovne odredbe se ne koristi u ovoj verziji PIE sustava. Hijerarhija zapisa u bazi podataka Mogućnosti prikazana je na slici ##. Najviši u hijerarhiji je zapis Mogućnosti. Zapis Mogućnosti sadrži kazaljke na podređene zapise Mogućnosti uloge osnovnih korisnika, Mogućnosti uloge naprednih korisnika,
  • 71. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Mogućnost uloge glavnih korisnika i Mogućnosti korisnika. Zapis Mogućnosti korisnika sadrži kazaljke na podređene zapise PIE Korisnik. Zapis Korisnik sadrži atribut čija vrijednost je identifikator korisnika koji ga jednoznačno određuje u PIE sustavu. Zapisi Mogućnosti uloge osnovnih korisnika, Mogućnosti uloge naprednih korisnika, Mogućnosti uloge glavnih korisnika i PIE Korisnik imaju istu organizaciju podređenih zapisa. Zapisi sadrže kazaljke na podređene zapise Pristupanje i Deaktiviranje. Zapisi Pristupanje i Deaktiviranje sadrže kazaljke na podređene zapise PIE Usluga. Zapis PIE usluga sadrži atribute Logički čvor, Ime, Ime roditelja, Vrsta, Podesivost, Stanje izvođenja. Vrijednost atributa logički čvor određuje čvor na kojem je usluga postavljena. Vrijednost atributa Ime je identifikator jednoznačno određuje postavljenu uslugu u PIE sustavu. Ime roditelja jest identifikator čija vrijednost jednoznačno određuje pohranjenu uslugu pomoću koje je aktivirana postavljena usluga. Vrsta određuje o kojoj se usluzi radi: primjenskoj, sinkronizacijskoj ili usluzi namijenjenoj za prevođenje i izvođenje programa. Slika 6-36 Hijerarhija i organizacija zapisa u bazi podataka Mogućnosti
  • 72. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Atribute Podesivost i Stanje izvođenja imaju samo usluge namijenjene prevođenju i izvođenju korisničkih programa. Atribut Podesivost kazuje je li moguće upravljati stanjem izvođenja usluge. Stanje izvođenja poprima vrijednosti pokrenuta ili zaustavljena ovisno o stanju izvođenja usluge. 6.1.5 Spremnik podataka o primjercima usluga Spremnik podataka o primjercima usluga pohranjuje podatke o pokrenutim primjercima postavljenim usluga. U PIE sustavu sinkronizacijske usluge namijenjene komunikaciji, sinkronizaciji i potpori prilikom izvođenja programa podržavaju stvaranje primjeraka. Jednom postavljena usluga podržava stvaranje više različitih radnih primjeraka. Dodatno, u Spremniku podataka o primjercima usluga se čuvaju podaci o tome koji korisnici i koje uloge smiju koristiti i provoditi pojedine operacije nad pojedinim primjercima. Arhitektura Spremnika Na slici 6-16 prikazana je arhitektura i unutarnja organizacija spremnika podataka o primjercima usluga. Spremnik se sastoji od šest podsustava: Sučelje, Upravljačka jedinica, Sustav za zaključavanje, Stvaratelj predloška, Sustav za izmjene i Sustav za pretraživanje. Slika 6-37 Arhitektura Spremnika podataka o primjercima usluga Funkcionalnosti pojedinih podsustava već su opisane prilikom opisa Spremnika podataka o korisnicima. Isto tako, scenariji dodavanja, brisanja, pretraživanja novih primjeraka usluga odvijaju se slično kao i kod Spremnika podataka o korisnicima.
  • 73. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Organizacija podataka Podaci o primjercima usluga u PIE sustavu su pohranjeni u dvije hijerarhijske baze podataka. Prva hijerarhijska baza podataka naziva se Primjerci usluga. Baza podataka Primjerci usluga je raspodijeljena baza podataka specijalizirana za pretraživanje podataka o primjercima usluga prema logičkim čvorovima na kojima se primjerci nalaze. Druga hijerarhijska baza podataka naziva se Mogućnosti. Mogućnosti je centralizirana baza podataka specijalizirana je za pretraživanje prava pristupa primjercima usluga sa aspekta pojedinih uloga i korisnika u PIE sustavu. Podaci su pohranjeni u hijerarhijski organizirane podatkovne strukture koje se nazivaju zapisi. Svaki zapis ovisno o vrsti zapisa, ima jedan ili više atributa sa pripadajućim vrijednostima. Baza podataka Primjerci usluga organizirana je na način da se na svakom logičkom čvoru na kojem su postavljene usluge koje podržavaju stvaranje primjeraka pohranjuju podaci o primjercima usluga. Na svakom čvoru postoji poseban direktorij Lista postavljenih usluga. Unutar tog direktorija svakoj postavljenoj usluzi koja podržava primjerke pridružen je poseban direktorij Postavljena usluga + identifikator usluge. Unutar direktorija Postavljena usluga svakom primjerku postavljene usluge pridružen je poseban direktorij Primjerak + identifikator primjerka. Unutar direktorija Primjerak pohranjuju se podaci o primjerku usluge. Hijerarhija i organizacija zapisa o primjerku usluge u direktoriju Primjerak prikazana je na slici 6-17. Najviši u hijerarhiji zapisa jest zapis Uvid. Uvid sadrži kazaljke na podređeni zapis Primjerak usluge. Primjerak usluge sadrži atribute Ime, Postavljena usluga, Logički čvor. Vrijednost atributa Ime jest identifikator primjerka usluge koji ga jednoznačno određuje u PIE sustavu. Vrijednost atributa Postavljena usluga jest identifikator postavljene usluge iz koje je primjerak stvoren. Atribut Logički čvor kazuje na kojem je logičkom čvoru primjerak pokrenut. Zapis sadrži Primjerak usluge kazaljke na podređene zapise Roditelj pohranjena usluga, Vlasnik, Opis, Prava pristupa i Poslovne odredbe. Zapis Roditelj pohranjena usluga sadrži atribute Ime i Skladište. Vrijednosti atributa su identifikator pohranjene usluge u PIE sustavu i identifikator Skladišta usluge u kojem se nalazi instalacijski paket usluge. Zapis Vlasnik sadrži atribute Vrsta i Ime. Vrijednost atributa Vrsta može biti PIEUser ili PIERole, ovisno o tome je li vlasnik uloga ili korisnik u PIE sustavu. Vrijednost atributa Ime jest identifikator uloge ili korisnika u PIE sustavu. Zapis Opis sadrži kazaljke na podređene zapise Tekst i
  • 74. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Lokacija. Zapis Tekst sadrži atribut čija je vrijednost neformalni tekstualni opis usluge. Zapis Lokacija sadrži atribut čija je vrijednost adresa na kojoj je usluga dostupna u PIE sustavu. Slika 6-38 Hijerarhija i organizacija zapisa u bazi podataka Primjerci usluga Zapis Prava pristupa sadrži kazaljke na podređene zapise Politika PIE operacija i Politika WSDL operacija. Zapisi Politika WSDL operacija sadrži atribut čija vrijednost određuje vrstu politike provođenja WSDL operacija u PIE sustavu. U ovoj verziji PIE sustava vrijednost tog atributa je predefinirana na standardnu politiku provođenja operacija. Zapis Politika PIE operacija sadrži kazaljku na podređeni zapis Operacije. Zapis Operacije sadrži kazaljke na podređene zapise Pristupanje primjerku i Uklanjanje primjerka. Svaki od ova dva navedena zapisa sadrži kazaljke na podređene zapise Uloge i Korisnici. Zapis Uloge sadrži kazaljke na podređene zapise PIE Uloga. Uloga sadrži atribut čija je vrijednost identifikator uloge u PIE
  • 75. 6 Spremnik odredbi nadzora pristupa u PIE sustavu sustavu koja ima dozvolu za izvršavanje pojedine operacije sa pojedinim primjerkom usluge. Zapis Korisnici sadrži kazaljke na podređene zapise PIE Korisnik. PIE Korisnik sadrži atribut čija je vrijednost identifikator korisnika u PIE sustavu koja ima dozvolu za izvršavanje pojedine operacije sa pojedinim primjerkom usluge. Zapis Politika WSDL operacija sadrži kazaljku na podređene zapise vrste Operacija. Zapis Operacija sadrži atribut čija vrijednost jednoznačno određuje WSDL operaciju primjerka usluge. Dodatno, zapis Operacija sadrži kazaljku na podređene zapise Uloga i Korisnici. Ti zapisi imaju istu organizaciju podređenih zapisa kao i iznad opisani zapisi Uloge i Korisnici. Zapis Poslovne odredbe se ne koristi u ovoj verziji PIE sustava. Slika 6-39 Hijerarhija i organizacija zapisa u bazi podataka Mogućnosti Hijerarhija zapisa u bazi podataka Mogućnosti prikazana je na slici 6-18. Najviši u hijerarhiji je zapis Mogućnosti. Zapis Mogućnosti sadrži kazaljke na podređene zapise Mogućnosti uloge osnovnih korisnika, Mogućnosti uloge naprednih korisnika, Mogućnost uloge glavnih korisnika i Mogućnosti korisnika. Zapis Mogućnosti korisnika sadrži kazaljke na podređene zapise PIE Korisnik. Zapis
  • 76. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Korisnik sadrži atribut čija vrijednost je identifikator korisnika koji ga jednoznačno određuje u PIE sustavu. Zapisi Mogućnosti uloge osnovnih korisnika, Mogućnosti uloge naprednih korisnika, Mogućnosti uloge glavnih korisnika i PIE Korisnik imaju istu organizaciju podređenih zapisa. Zapisi sadrže kazaljke na podređene zapise Pristupanje primjerku i Uklanjanje primjerka. Zapisi Pristupanje primjerku i Deaktiviranje primjerka sadrže kazaljke na podređene zapise Primjerak PIE usluge. Primjerak PIE usluge sadrži atribute Ime, Logički čvor i Postavljena usluga koji jednoznačno određuju primjerak usluge, logički čvor i postavljenu uslugu iz koje je primjerak stvoren u PIE sustavu. 6.1.6 Spremnik podataka o vanjskim uslugama Spremnik podataka o vanjskim uslugama pohranjuje podatke o vanjskim uslugama koje su dostupne kroz PIE sustav ali nisu dio PIE sustava. Čuvaju se podaci o adresama na kojima su dostupne usluge i navode se uvjeti korištenja usluga za pojedine korisnike i uloge. Arhitektura Spremnika Na slici 6-19 prikazana je arhitektura i unutarnja organizacija spremnika podataka o primjercima usluga. Spremnik se sastoji od šest podsustava: Sučelje, Upravljačka jedinica, Sustav za zaključavanje, Stvaratelj predloška, Sustav za izmjene i Sustav za pretraživanje. Slika 6-40 Arhitektura Spremnika podataka o vanjskim uslugama Funkcionalnosti pojedinih podsustava već su opisane prilikom opisa Spremnika podataka o korisnicima. Isto tako, scenariji dodavanja, brisanja,
  • 77. 6 Spremnik odredbi nadzora pristupa u PIE sustavu pretraživanja novih primjeraka usluga odvijaju se slično kao i kod Spremnika podataka o korisnicima. Organizacija podataka Podaci o vanjskim uslugama u PIE sustavu su pohranjeni u dvije hijerarhijske baze podataka. Prva hijerarhijska baza podataka naziva se Vanjske usluge. Baza podataka Vanjske usluge je centralizirana baza podataka specijalizirana za pretraživanje podataka prema vanjskim uslugama. Druga hijerarhijska baza podataka naziva se Mogućnosti. Mogućnosti je centralizirana baza podataka specijalizirana za pretraživanje prava pristupa pohranjenim uslugama sa aspekta pojedinih uloga i korisnika u PIE sustavu. Podaci su pohranjeni u hijerarhijski organizirane podatkovne strukture koje se nazivaju zapisi. Svaki zapis ovisno o vrsti zapisa, ima jedan ili više atributa sa pripadajućim vrijednostima. Baza podataka Vanjske usluge prikazana je na slici 6-20. Svakoj pohranjenoj usluzi u bazi pridružen je jedan direktorij u kojem su spremljeni zapisi o usluzi. Najviši u hijerarhiji je zapis Uvid koji sadrži kazaljku na podređeni zapis Vanjska usluga. Slika 6-41 Hijerarhija i organizacija zapisa u bazi podataka Vanjske usluge
  • 78. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Zapis Vanjska usluga sadrži atribute Ime i Lokacija. Ime je identifikator usluge čija vrijednost jednoznačno određuje vanjsku uslugu u PIE sustavu. Vrijednost atributa Lokacija je adresa na kojoj je vanjska usluga dostupna. Zapis Vanjska usluga sadrži kazaljke na podređene zapise Vlasnik, Opis i Prava pristupa. Zapis Vlasnik sadrži atribut čija je vrijednost identifikator korisnika koji je uslugu dodao u sustav. Zapis Opis sadrži kazaljke na podređene zapise Tekst i Lokacija. Zapis Tekst sadrži atribut čija je vrijednost neformalni tekstualni opis usluge. Zapis Lokacija sadrži atribut čija je vrijednost adresa na kojoj je dostupan formalni opis usluge. Zapis Prava pristupa sadrži kazaljku na podređeni zapis Operacije. Zapis Operacije sadrži kazaljke na podređene zapise Pristupanje i Uklanjanje. Svaki od ova dva navedena zapisa sadrži kazaljke na podređene zapise Uloge i Korisnici. Zapis Uloge sadrži kazaljke na podređene zapise PIE Uloga. Uloga sadrži atribut čija je vrijednost identifikator uloge u PIE sustavu koja ima dozvolu za izvršavanje pojedine operacije sa pojedinom vanjskom uslugom. Zapis Korisnici sadrži kazaljke na podređene zapise PIE Korisnik. PIE Korisnik sadrži atribut čija je vrijednost identifikator korisnika u PIE sustavu koja ima dozvolu za izvršavanje pojedine operacije sa pojedinom vanjskom uslugom. Hijerarhija zapisa u bazi podataka Mogućnosti prikazana je na slici 6-21. Najviši u hijerarhiji je zapis Mogućnosti. Zapis Mogućnosti sadrži kazaljke na podređene zapise Mogućnosti uloge osnovnih korisnika, Mogućnosti uloge naprednih korisnika, Mogućnost uloge glavnih korisnika i Mogućnosti korisnika. Zapis Mogućnosti korisnika sadrži kazaljke na podređene zapise PIE Korisnik. Zapis PIE Korisnik sadrži atribut čija vrijednost je identifikator korisnika koji ga jednoznačno određuje u PIE sustavu. Zapisi Mogućnosti uloge osnovnih korisnika, Mogućnosti uloge naprednih korisnika, Mogućnosti uloge glavnih korisnika i PIE Korisnik imaju istu organizaciju podređenih zapisa. Zapisi sadrže kazaljke na podređene zapise Pristupanje i Uklanjanje. Zapisi Pristupanje i Uklanjanje sadrže kazaljke na podređene zapise PIE Usluga. Zapis usluga sadrži atribut identifikator usluge čija vrijednost jednoznačno određuje vanjsku uslugu u PIE sustavu.
  • 79. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Slika 6-42 Hijerarhija i organizacija zapisa u bazi podataka Mogućnosti 6.2 Ostvarenje Spremnika odredbi nadzora pristupa Za programsko ostvarenje Spremnika odredbi nadzora pristupa korištena je .NET Web Services tehnologija. Prilikom programskog ostvarenja korišteno je radno okruženje Microsoft Visual Studio 2005. Za izradu je korišten objektno orijentirani programski jezik C#. 6.2.1 .NET Tehnologija .NET Tehnologija zasniva se na sustavu Microsoft .NET Framework koji je namijenjen potpori razvoju i izvođenju raspodijeljenih primjenskih sustava povezanih Internetom. Sustav sadrži skup programskih jezika, razvojnih okruženja, programskih knjižnica i drugih razvojnih alata namijenjenih razvoju raspodijeljenih primjenskih sustava. Nadalje, sustav uključuje i prividni stroj koji omogućuje strojno neovisno izvođenje razvijenih primjenskih sustava. Osnovni dijelovi sustava Microsoft .NET Framework prikazani su na slici 6-22. Najniži sloj sustava .NET Framework je podsustav potpore izvođenju Common Language Runtime (CLR). CLR podsustav sastoji se od prividnog stroja (engl. virtual
  • 80. 6 Spremnik odredbi nadzora pristupa u PIE sustavu machine) koji pomoću JIT prevoditelja (engl. just-in-time compiler) [76, Miro] izvodi strojno nezavisni kod CIL (Common Intermediate Language). Programi prevedeni u CIL kod mogu se izvoditi na bilo kojoj sklopovskoj platformi i operacijskom sustavu na kojem je postavljen CLR podsustav. Slika 6-43 .NET Framework sustav Sljedeći sloj sustava .NET Framework je skup programskih knjižnica Base Framework Class Library. Navedene programske knjižnice podupiru rad s podatkovnim tipovima, ulazno-izlazne operacije i ostale temeljne funkcionalnosti potrebne za ostvarenje programske logike. Iznad sloja Base Framework Class Library nalazi se skup programskih knjižnica nazvanih Data and XML Class Library. Navedene knjižnice pružaju potporu naprednom radu s podacima u bazama podataka te potporu obradi XML dokumenata. Viši slojevi sustava .NET Framework omogućuju izgradnju i izvođenje triju osnovnih vrsta primjenskih sustava: primjenski sustavi Windows Forms, XML Web Services, i Web Forms. Primjenski sustavi Windows Forms zasnovani su na grafičkom sučelju i pristupa im se lokalno na računalima s operacijskim sustavom Windows. Primjenski sustavi XML Web Services i Web Forms su primjenski sustavi kojima se pristupa s udaljenih računala primjenom globalne mreže Internet. Primjenski sustavi XML Web Services omogućuju udaljenim korisnicima izvođenje primjenske logike primjenom Web Services skupa tehnologija. Primjenski sustavi Web Forms pružaju udaljenim korisnicima funkcionalnosti primjenske logike putem grafičkog sučelja izgrađenog primjenom dinamičkih Web stranica. Izvođenje primjenskih sustava XML Web Services i Web Forms ostvaruje ASP.NET podsustav [77, Miro]. Komunikacija udaljenih računala s ASP.NET podsustavom ostvaruje se putem Microsoftovog poslužitelja Internet Information Services (IIS).
  • 81. 6 Spremnik odredbi nadzora pristupa u PIE sustavu 6.2.2 Ostvarenje Spremnika podataka o korisnicima Spremnik podataka o korisnicima ostvaren je kao razred HRStorage unutar prostora imena SecurityStorage.HRStorage. Razred HRStorage izveden je i nasljeđuje razred System.WebServices.WebService kojim se opisuju Web Service usluge. U tablici 6-1 prikazani su pojedini podsustavi i pripadajući razredi i metode pomoću kojih su ostvareni. Sustav Ostvarenje Sučelje Standardno sučelje Web Service usluga definirano WS standardnom Upravljačka jedinica Razred HRStorageManager unutar prostora imena SecurityStorage.HRStorage Sustav za zaključavanje Korištenjem ključne riječi lock u programskom jeziku C# za zaključavanje dijela programskog odsječka Stvaratelj predloška Web metoda razreda HRStorage Ime metode Ulazni parametri Izlazni parametri CreateDocumentSkeleto n UserInfo XmlDocument Sustav za izmjene Web metode razreda HRStorage Ime Metode Ulazni parametri Izlazni parametri StoreNew UserInfo bool Delete string userPIEname bool Sustav za pretraživanje Web metode razreda HRStorage Ime Metode Ulazni parametri Izlazni parametri CapabilityGet - string [] userPIEName LoadUserInfo string userPIEname UserInfo Tablica 6-1 Ostvarenje pojedinih podsustava Spremnika podataka o korisnicima Podaci su pohranjeni u direktorije Windows XP Professional operacijskog sustava. Zapis o svakom korisniku smješten je u poseban direktorij. Sam zapis jest XML dokument čija je organizacija i hijerarhija prikazana na slici 6-23.
  • 82. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Spremnik Nadzor uporabe ostvaren je kao tekstualna datoteka unutar direktorijskog sustava operacijskog sustava Windows XP Professional. Slika 6-44 Struktura XML dokumenta sa zapisom o korisniku 6.2.3 Ostvarenje Spremnika podataka o logičkim čvorovima Spremnik podataka o logičkim čvorovima ostvaren je kao razred VNStorage unutar prostora imena SecurityStorage.VNStorage. Razred VNStorage izveden je i nasljeđuje razred System.WebServices.WebService kojim se opisuju Web Service usluge. U tablici 6-2 prikazani su pojedini podsustavi i pripadajući razredi i metode pomoću kojih su ostvareni. Sustav Ostvarenje Sučelje Standardno sučelje Web Service usluga definirano WS standardnom Upravljačka jedinica Razred VNStorageManager unutar prostora imena SecurityStorage.VNStorage Sustav za zaključavanje Korištenjem ključne riječi lock u programskom jeziku C# za zaključavanje dijela programskog odsječka Stvaratelj predloška Web metoda razreda VNStorage Ime metode Ulazni parametri Izlazni parametri CreateDocumentSkeleton NodeInfo XmlDocument Sustav za izmjene Web metode razreda VNStorage Ime Metode Ulazni parametri Izlazni parametri
  • 83. 6 Spremnik odredbi nadzora pristupa u PIE sustavu StoreNew NodeInfo bool Delete string nodePIEname bool Sustav za pretraživanje Web metode razreda VNStorage Ime Metode Ulazni parametri Izlazni parametri CapabilityGetUnlocke d PIEAttributes ViewUnlockedVN [] CapabilityGetIPVisible PIEAttributes ViewIPAddressVN [] Tablica 6-2 Ostvarenje pojedinih podsustava Spremnika podataka o čvorovima Slika 6-45 Struktura XML dokumenta sa zapisima o logičkim čvorovima Podaci su pohranjeni u direktorij Windows XP Professional operacijskog sustava. Baza podataka Logički čvorovi je XML dokument čija je organizacija i hijerarhija prikazana na slici 6-24. Baza podataka Mogućosti je XML dokument čija je organizacija i hijerarhija prikazana na slici 6-25.
  • 84. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Slika 6—46 Struktura XML dokumenta sa zapisima o pravima uloga i korisnika na čvorovima Spremnik Nadzor uporabe ostvaren je kao tekstualna datoteka unutar direktorijskog sustava operacijskog sustava Windows XP Professional. 6.2.4 Ostvarenje Spremnika podataka o pohranjenim uslugama Spremnik podataka o pohranjenim uslugama ostvaren je kao razred SSStorage unutar SecurityStorage.SSStorage programske okoline. Razred SSStorage izveden je i nasljeđuje razred System.WebServices.WebService kojim se opisuju Web Service usluge. U tablici 6-3 prikazani su pojedini podsustavi i pripadajući razredi i metode pomoću kojih su ostvareni. Sustav Ostvarenje Sučelje Standardno sučelje Web Service usluga definirano WS standardnom Upravljačka jedinica Razred SSStorageManager unutar prostora imena SecurityStorage.SSStorage Sustav za zaključavanje Korištenjem ključne riječi lock u programskom jeziku C# za zaključavanje dijela programskog odsječka Stvaratelj predloška Web metoda razreda SSStorage Ime metode Ulazni parametri Izlazni parametri CreateDocumentSkeleton StoredServiceInf o XmlDocument
  • 85. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Sustav za izmjene Web metode razreda SSStorage Ime Metode Ulazni parametri Izlazni parametri StoreNew StoredServiceInfo bool Delete string servicePIEname bool Sustav za pretraživanje Web metode razreda SSStorage Ime Metode Ulazni parametri Izlazni parametri CapabilityGetInstallable PIEAttributes ViewInstallationSS [] CapabilityGetUnloadable PIEAttributes string[] servicePIEName Sustav za pohranu paketa Web metode razreda SSStorage Ime Metode Ulazni parametri Izlazni parametri RetrieveScriptAndWSD string ssPIEName PackageWithoutZip RetrieveZIPPackagePar t string ssPIEName, int nPart byte[] Tablica 6-3 Ostvarenje pojedinih podsustava Spremnika podataka o pohranjenim uslugama Podaci su pohranjeni u direktorij Windows XP Professional operacijskog sustava. Baza podataka Pohranjene usluge je XML dokument čija je organizacija i hijerarhija prikazana na slici 6-26. Baza podataka Mogućnosti je XML dokument čija je organizacija i hijerarhija prikazana na slici 6-27. Spremnik Nadzor uporabe ostvaren je kao tekstualna datoteka unutar direktorijskog sustava operacijskog sustava Windows XP Professional.
  • 86. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Slika 6-47 Struktura XML dokumenta sa zapisom o pohranjenoj usluzi
  • 87. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Slika 6-48 Struktura XML dokumenta sa zapisima o pravima uloga i korisnika sa pohranjenim uslugama 6.2.5 Ostvarenje Spremnika podataka o postavljenim uslugama Spremnik podataka o postavljenim uslugama ostvaren je kao razred ISStorage unutar SecurityStorage.ISStorage programske okoline. Razred ISStorage izveden je i nasljeđuje razred System.WebServices.WebService kojim se opisuju Web Service usluge. U tablici 6-4 prikazani su pojedini podsustavi i pripadajući razredi i metode pomoću kojeg su ostvareni. Sustav Ostvarenje Sučelje Standardno sučelje Web Service usluga definirano WS standardnom Upravljačka jedinica Razred ISStorageManager unutar prostora imena SecurityStorage.ISStorage Sustav za zaključavanj e Korištenjem ključne riječi lock u programskom jeziku C# za zaključavanje dijela programskog odsječka Stvaratelj predloška Web metoda razreda ISStorage Ime metode Ulazni parametri Izlazni parametri CreateDocumentSkeleton InstalledServiceInfo XmlDocument Sustav za Web metode razreda ISStorage Ime Metode Ulazni parametri Izlazni parametri
  • 88. 6 Spremnik odredbi nadzora pristupa u PIE sustavu izmjene StoreNew InstalledServiceInfo bool Delete string servicePIEname bool Sustav za pretraživanje Web metode razreda ISStorage Ime Metode Ulazni parametri Izlazni parametri CapabilityGetUninstalable PIEAttributes ViewRemovableIS [] CapabilityGetAccessible PIEAttributes ViewInstallationIS [] Sustav za dohvat sinkro usluga Web metode razreda ISStorage Ime Metode Ulazni parametri Izlazni parametri CapabilityFilter AccessibleCS string coopServType, PIEAttributes ViewInstallationIS [] CapabilityFilter UninstalableCS string coopServType, PIEAttributes ViewRemovableIS Sustav za upravljanje radom mehanizama za izvođenje programa Web metode razreda ISStorage Ime Metode Ulazni parametri Izlazni parametri CapabilityProgExAcce s string progExType, PIEAttributes ViewInstallationProgE [] CapabilityProgEx Uninstalable PIEAttributes ViewRemovableProg E [] ConfigureStartPT PTConfiguration bool ConfigureStartPI PIConfiguration bool ConfigureStopProgEx string nodeName, string progExType, string instllServName bool
  • 89. 6 Spremnik odredbi nadzora pristupa u PIE sustavu ConfigurationGet ProgTransl NamingPT_IS progTranslName, PIEAttributes PTConfiguration Configuration GetProgIntrptr NamingPI_IS progIntrptrName, PIEAttributes PIConfiguration Tablica 6-4 Ostvarenje pojedinih podsustava Spremnika podataka o postavljenim uslugama Podaci su pohranjeni u direktorij Windows XP Professional operacijskog sustava. Baza podataka Instalirane usluge je XML dokument čija je organizacija i hijerarhija prikazana na slici 6-28. Slika 6-49 Struktura XML dokumenta sa zapisom o instaliranoj usluzi Baza podataka Mogućnosti je XML dokument čija je organizacija i hijerarhija prikazana na slici 6-29.
  • 90. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Slika 6-50 Struktura XML dokumenta sa zapisima o pravima uloga i korisnika sa instaliranim uslugama Spremnik Nadzor uporabe ostvaren je kao tekstualna datoteka unutar direktorijskog sustava operacijskog sustava Windows XP Professional. 6.2.6 Ostvarenje Spremnika podataka o primjercima usluga Spremnik podataka o korisnicima ostvaren je kao razred SIStorage unutar SecurityStorage.SIStorage programske okoline. Razred SIStorage izveden je i nasljeđuje razred System.WebServices.WebService kojim se opisuju Web Service usluge. U tablici 6-5 prikazani su pojedini podsustavi i pripadajući razredi i metode pomoću kojih su ostvareni. Sustav Ostvarenje Sučelje Standardno sučelje Web Service usluga definirano WS standardnom Upravljačka jedinica Razred SIStorageManager unutar prostora imena SecurityStorage.SIStorage Sustav za Korištenjem ključne riječi lock u programskom jeziku C# za
  • 91. 6 Spremnik odredbi nadzora pristupa u PIE sustavu zaključavanje zaključavanje dijela programskog odsječka Stvaratelj predloška Web metoda razreda SIStorage Ime metode Ulazni parametri Izlazni parametri CreateDocumentSkeleton InstanceInfo XmlDocument Sustav za izmjene Web metode razreda SIStorage Ime Metode Ulazni parametri Izlazni parametri StoreNew InstanceInfo bool Delete string instancePIEname bool Sustav za pretraživanje Web metode razreda SIStorage Ime Metode Ulazni parametri Izlazni parametri CapabilityGetAccessible string instanceParentType , PIEAttributes ViewAccessibleSI [] CapabilityGetRemovabl e string instanceParentType , PIEAttributes ViewRemovableSI [] Tablica 6-5 Ostvarenje pojedinih podsustava Spremnika podataka o primjercima usluga Podaci su pohranjeni u direktorije Windows XP Professional operacijskog sustava. Baza podataka Primjerci usluga na svakom čvoru u poseban direktorij Instalirane usluge sprema podatke o pojedinim instaliranim uslugama na tom čvoru koje podržavaju instance. Svakoj instaliranoj usluzi pridružuje se poseban direktorij Instalirana usluga + identifikator usluge. Unutar tog direktorija je svakoj instanci usluge pridružen direktorij Primjerak + identifikator primjerka. Unutar direktorija Primjerak baza zapisi su pohranjeni u XML dokument čija je organizacija i hijerarhija prikazana na slici 6-30.
  • 92. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Slika 6-51 Struktura XML dokumenta sa zapisom o primjerku usluge Slika 6-52 Struktura XML dokumenta sa zapisima o pravima uloga i korisnika s primjercima Baza podataka Mogućnosti je XML dokument čija je organizacija i hijerarhija prikazana na slici 6-31. Spremnik Nadzor uporabe ostvaren je kao tekstualna datoteka unutar direktorijskog sustava operacijskog sustava Windows XP Professional.
  • 93. 6 Spremnik odredbi nadzora pristupa u PIE sustavu 6.2.7 Ostvarenje Spremnika podataka o vanjskim uslugama Spremnik podataka o korisnicima ostvaren je kao razred ESStorage unutar SecurityStorage.ESStorage programske okoline. Razred ESStorage izveden je i nasljeđuje razred System.WebServices.WebService kojim se opisuju Web Service usluge. Sustav Ostvarenje Sučelje Standardno sučelje Web Service usluga definirano WS standardnom Upravljačka jedinica Razred ESStorageManager unutar prostora imena SecurityStorage.ESStorage Sustav za zaključavanje Korištenjem ključne riječi lock u programskom jeziku C# za zaključavanje dijela programskog odsječka Stvaratelj predloška Web metoda razreda ESStorage Ime metode Ulazni parametri Izlazni parametri CreateDocumentSkeleton ExternalServiceInf o XmlDocument Sustav za izmjene Web metode razreda ESStorage Ime Metode Ulazni parametri Izlazni parametri StoreNew ExternalServiceInfo bool Delete string servicePIEname bool Sustav za pretraživanje Web metode razreda ESStorage Ime Metode Ulazni parametri Izlazni parametri CapabilityGetAccessible string servicePIEname ViewAccessibleES [] CapabilityGetRemovabl e string servicePIEname ViewRemovableES [] Tablica 6-6 Ostvarenje pojedinih podsustava Spremnika podataka o vanjskim uslugama U tablici 6-6 prikazani su pojedini podsustavi i pripadajući razredi i metode pomoću kojih su ostvareni.
  • 94. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Podaci su pohranjeni u direktorij Windows XP Professional operacijskog sustava. Baza podataka Vanjske usluge je XML dokument čija je organizacija i hijerarhija prikazana na slici 6-32. Slika 6-53 Struktura Xml dokumenta sa zapisom o vanjskoj usluzi Slika 6-54 Struktura Xml dokumenta sa zapisima o pravima uloga i korisnika s vanjskom uslugom Baza podataka Mogućnosti je XML dokument čija je organizacija i hijerarhija prikazana na slici 6-33.
  • 95. 6 Spremnik odredbi nadzora pristupa u PIE sustavu Spremnik Nadzor uporabe ostvaren je kao tekstualna datoteka unutar direktorijskog sustava operacijskog sustava Windows XP Professional.
  • 96. 7 Zaključak 7 Zaključak Računarstvo zasnovano na uslugama sve češće se primjenjuje kao novi koncept izgradnje raspodijeljenih sustava. Računarstvo zasnovano na uslugama omogućuje razvoj raspodijeljenih sustava korištenjem slabo i dinamički povezanih usluga. Usluge su samostalne i nezavisne programske jedinice koje je moguće opisivati, objavljivati, pronalaziti i koristiti korištenjem standardnih sučelja i protokola. Dodatna prednost računarstva zasnovanog na uslugama jest nezavisnost o sklopovskoj, programskoj i razvojnoj okolini. Programirljiva Internet okolina PIE raspodijeljeni je sustav zasnovan na uslugama namijenjen razvoju raspodijeljenih primjenskih sustava. Sustav PIE posjeduje mehanizme koji pojednostavnjuju inače složen postupak izgradnje raspodijeljenih sustava te omogućuje krajnjim korisnicima automatiziranu izgradnju raspodijeljenih sustava. Krajnji korisnici učlanjuju se u sustav PIE i dobivaju ovlasti i prava pristupa u sustavu u skladu sa svojom ulogom u sustavu. Sustav PIE nudi svojim korisnicima skup primjenskih usluga kojima korisnici mogu pristupati. Raspodijeljeni primjenski sustavi grade se na način da korisnici povezuju usluge koje su im dostupne i ostvaruju željenu funkcionalnost. U diplomskom radu proučeni su postojeći sustavi spremanja podataka i uočena su njihova zajednička svojstva. Na temelju postojećih sustava i posebnih zahtjeva sustava PIE izgrađen je spremnički sustav Spremnik odredbi nadzora pristupa. Spremnik odredbi nadzora pristupa ugrađen je u PIE sustav i namijenjen je pretraživanju i upravljanju podacima o korisnicima i uslugama dostupnim u PIE sustavu. Dodatno, u spremnik se upisuju odredbe nadzora pristupa uslugama i prava pristupa korisnika primjenom kojih se u sustavu PIE provodi nadzor pristupa uslugama. Ostvarenje Spremnika odredbi nadzora pristupa zasniva se na načelima računarstva zasnovanog na uslugama i programskog modela zasnovanog na uslugama. Spremnik odredbi nadzora pristupa sastoji se od šest zasebnih podsustava. Spremnik podataka o korisnicima pohranjuje podatke o svim članovima sustava PIE i njihovom statusu u sustavu PIE. Spremnik podataka o logičkim čvorovima pohranjuje podatke o trenutnoj topologiji prividne logičke mreže u sustavu PIE, kao i prava pojedinih korisnika na pojedinom logičkom čvoru. Spremnik
  • 97. 7 Zaključak podataka o pohranjenim uslugama pohranjuje podatke o svim uslugama koje se mogu postavljati i aktivirati u sustavu PIE, kao i prava pojedinih korisnika s pojedinom pohranjenom uslugom. Spremnik podataka o postavljenim uslugama pohranjuje podatke o svim uslugama koje su aktivirane i dostupne za korištenje u sustavu PIE, kao i prava pojedinih korisnika s pojedinom postavljenom uslugom. Spremnik podataka o primjercima usluga pohranjuje podatke o svim primjercima usluga koje su aktivne u sustavu PIE, kao i prava pojedinih korisnika s pojedinim primjerkom usluge. Spremnik podataka o vanjskim uslugama pohranjuje podatke o svim vanjskim uslugama koje nisu dio sustava PIE ali su dostupne kroz sustav PIE, kao i prava pojedinih korisnika s pojedinom vanjskom uslugom.
  • 98. 8 Literatura 8 Literatura [1] H. Garcia-Molina, J. D. Ullman, J. D. Widom: “Database Systems: The Complete Book“, Prentice-Hall, 2001. [2] I. Benc: “Gospodarenje podacima u Posredniku javnog informacijskog sustava“, magistarski rad, Fakultet elektrotehnike i računarstva, Zagreb, 2003. [3] S. Srbljić, I. Skuliber, I. Benc, M. Štefanec, A. Milanović, B. Dellas, S. Dešić, L. Budin, N. Bogunović, D. Huljenić, and A. Carić: “Service Development and Application Integration with Public Information System Mediator”, Proceedings of 123the 12th IEEE Mediterranean Electrotechnical Conference (MELECON 2004), Dubrovnik, Croatia, May 2004, Vol. 2, pp. 713-718. [4] M. Baranović: “Predavanja iz predmeta Uvod u baze podataka“, Fakultet elektrotehnike i računarstva, Zagreb, 2004. [5] R.V. der Lans: “Introduction to SQL”, Addison-Wesley, studeni 1999. [6] R. Signore, J. Creamer, M. O. Stegman: “ODBC Solution”, McGraw-Hill Education, prosinac 1994. [7] M. Baranović: “Predavanja iz predmeta Baze podataka“, Fakultet elektrotehnike i računarstva, Zagreb, 2005. [8] Liam Quin: “Extensible Markup Language (XML)“, http://www.w3.org/XML/ [9] Liam Quin: “Document Type Definition“, http://www.w3schools.com/dtd/default.asp/ [10] C. M. Sperberg-McQueen i Henry Thompson: “XML Schema“, http://www.w3.org/XML/Schema/, april 2000. [11] “XML database“, http://en.wikipedia.org/wiki/XML_database/ [12] R. Bourret, “XML and Databases“, http://www.rpbourret.com/xml/XMLAndDatabases.htm/ [13] D.W. Chadwick: “Understanding X.500 – The Directory”, http://www.isi.salford.ac.uk/staff/dwc/Version.Web/Contents.htm/, siječanj 2003. [14] Clayton Donley, "LDAP Programming, Management, and Integration", Manning Publications, 1st edition, November 2002. [15] M. Wahl, T. Howes, and S. Kille, "Lightweight Directory Access Protocol (v3)", RFC 2251, December 1997.
  • 99. 8 Literatura [16] T. Bellwood, et al: "UDDI Version 3.0", UDDI Spec TC, July 2002, http://uddi.org/pubs/uddi-v3.00-published-20020719.htm/ [17] J. Myers: “Simple Authentication and Security Layer (SASL)”, Network Working Group RFC2222, http://www.ietf.org/rfc/rfc2222.txt/, rujan 1997. [18] M. Gudgin, M. Hadley, N. Mendelsohn, J.J. Moreau, and H.F. Nielsen: "SOAP Version 1.2 Part 1: Messaging Framework", W3C Recommendation, June 2003, http://www.w3.org/TR/soap12-part1/ [19] J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, and T. Berners-Lee: "Hypertext Transfer Protocol - HTTP/1.1" RFC 2616, June 1999, http://www.ietf.org/rfc/rfc2616.txt [20] Charles P. Pfleeger: “Security in Computing“, Fourth Edition, Prentice Hall, October 13, 2006 [21] M. Andrews and J. A. Whittaker (editor): "Computer Security", IEEE Security & Privacy, Vol. 2, No. 5, September 2004, pp. 68-71 [22] M. Popović: “Nadziranje pristupa u računalnim sustavima zasnovanim na uslugama“, magistarski rad, Fakultet elektrotehnike i računarstva, Zagreb, 2006. [23] A.S. Tanenbaum: "Computer Networks", 4th Edition, Prentice Hall, 2003 [24] D. Škvorc: "Sigurni prijenos podataka u mrežama s posredničkim sustavima", diplomski rad, Fakultet elektrotehnike i računarstva, Zagreb, 2003. [25] “Authorization (AZN) API“, The Open Group, 2000. ISBN 1-85912-266-3 [26] M.R. Thompson, A. Essiari and S. Mudumbai: “Cerificate-based Authorization Policy in a PKI Environment“, ACM Transaction on Information and Security (TISSEC), 2003. [27] A.S. Tanenbaum: "Distributed Operating Systems", Prentice Hall, 1995 [28] S. Pierangela, S. De Capitani: “Access Control: Policies, Models, and Mechanisms“, Springer Berlin/Heidelberg, 2001. [29] E. Bertino and R. Sandhu: "Database Security: Concepts, Approaches and Challenges" IEEE Tansactions on Dependable and Secure Computing, vol.2, no.1, January 2005, pp. 2-19.
  • 100. 8 Literatura [30] R.S. Sandhu, E.J. Coyne, H.L. Feinstein, and C.E. Youman: "Role-Based Access Control Models", Computer, Vol. 29, No. 2, February 1996, pp 38- 47. [31] H. Kim and S. Bahk: "Real-Time Visualization of Network Attacks on High- Speed Links", IEEE Network, Vol. 18, No. 5, September 2004, pp. 30-39. [32] M.P. Papazoglou, i D. Georgakopoulos: “Service-Oriented Computing“, Communications of the ACM, 2003, Svez. 46, 10 [33] M.P. Singh i M.N. Huhns: “Service-Oriented Computing: Semantics, Processes, Agents“, Wiley, 2005. ISBN-13: 978-0470091487 [34] K. Leune: “Access Control and Service-Oriented Architectures“, CentER Dissetation Series, doktorski rad 2007. [35] OASIS: “Reference Model for Service Oriented Architecture 1.0“, Committee Specification, 2006. [36] D. Skrobo, "Raspodijeljeno usporedno interpretiranje programa u arhitekturama zasnovanim na uslugama", magistarski rad, Fakultet elektrotehnike i računarstva, Zagreb, 2006. [37] E. Christensen, F. Curbera, G. Meredith, and S. Weerawarana: "Web Service Description Language (WSDL) 1.1", W3C Note, March 2001; http://www.w3.org/TR/wsdl/ [38] J. Postel and J. Reynolds: "File Transfer Protocol (FTP)", RFC 959, October 1985, http://www.ietf.org/rfc/rfc959.txt/ [39] J. B. Postel: "Simple Mail Transfer Protocol (SMTP)", RFC 821, August 1982, http://www.ietf.org/rfc/rfc0821.txt/ [40] I. Žužak: “Sustav praćenja rada posrednika zasnovanog na uslugama“, diplomski rad, Fakultet elektrotehnike i računarstva, Zagreb, 2006. [41] A. Milanović: “Programski model zasnovan na uslugama”, doktorska disertacija, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu, Zagreb, 2005. [42] D. Škvorc: “Prividna mreža računalnih sustava zasnovanih na uslugama”, magistarski rad, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu, Zagreb, 2006.
  • 101. 8 Literatura [43] M. Podravec: “Otkrivanje i postavljanje usluga u sustavima zasnovanim na uslugama”, magistarski rad, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu, Zagreb, 2006. [44] D. Box, et al: “Web Services Addressing (WS-Addressing)”, W3C Member Submission, August 2004, http://www.w3.org/Submission/ws-addressing/ [45] I. Gavran, "Korisnički jezik programskog modela zasnovanog na uslugama", magistarski rad, Fakultet elektrotehnike i računarstva, Zagreb, 2006. [46] D. Čapalija: “Objava/pretplata mehanizmi za ostvarivanje mreža zasnovanih na sadržaju”, diplomski rad, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu, Zagreb, 2005. [47] Č. Šegulja: "Sustav upravljanja nadzora pristupa u Programirljivoj Internet okolini", diplomski rad, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu, Zagreb, 2007.