Free Web space and hosting from dzaba.com
Search the Web

SveZaWeb : Kreiranje Web-a : Web Arhitektura : Sloj podataka
SveZaWeb SveZaWeb SveZaWeb SveZaWeb SveZaWeb
SveZaWeb SveZaWeb SveZaWeb Web Design + Development Tutorials and Articles SveZaWeb EMail | Pretraga | Rečnik    
SveZaWeb
SveZaWeb SveZaWeb Razvoj SveZaWeb SveZaWeb Dizajn SveZaWeb SveZaWeb Kreiranje SveZaWeb SveZaWeb Panorama SveZaWeb SveZaWeb Usluge SveZaWeb Poslednja izmena: 01.05.2003. g.
SveZaWeb HTMLCSS | XML | XHTML | HTAs | ASP.NET | ASP.NET 2Web servisi
Web Design + Development Tutorials and Articles SveZaWeb Početna strana : Kreiranje
Web Arhitektura
   
SveZaWeb SveZaWeb SveZaWeb SveZaWeb SveZaWeb
SveZaWeb SveZaWeb SveZaWeb SveZaWeb

Sadržaj

 

Sloj podataka

Aplikacija koristi Microsoft SQL Server 7 bazu podataka a psihička šema podataka kreirana je posle opsežne analize potreba i zahteva. Primer tih zahteva u okviru ove aplikacije je sledeći:

  • Korisnik pristupa podacima o korišćenju sistema
     
  • Korisnik poseduje ulogu na osnovu koje se određuju funkcije kojima sme da pristupa
     
  • Zapisuju se informacije o pristupu korisnika sistemu

Fizička šema baze podataka:

 

 
Fizicka sema baze podataka
Uskladištene procedure

Preporuka je da sistem koristi uskladištene procedure (stored porocedures) kako bi se objedinili svi upiti nad bazom i što bolje odvojili podaci iz baze i pristup njima. Njihovom upotrebom olakšava se upravljanje sistemom, pošto su sve promene nad podacima nevidljive komponentama koje im pristupaju, dok su perfomanse sistema veće, pošto se uskladištene procedure optimizuju i keširaju za sledeće pozive.
 


Uskladištene procedure Parametri Opis

AddUser

@UserName [nvarchar](30),
@UserLastName [nvarchar](30), @UserPassword [char](10),
@UserEmail [nvarchar](50) 

Vrši upis novih podataka (novog slog) u tabelu Users i vraća ključ (integer) kojim se dati red identifikuje.  

 

ListUsers

@UserID int,
@RoleID int

Vraća listu podataka vezanih za korisnika zavisno od prosleđenih parametara. Ukoliko se prosledi UserID, vraća podatke za konkretnog korisnika a ukoliko se prosledi RoleID vraća podatke o korisnicima za konkretnu ulogu; u ostalim slučajevima vraća se kompletna lista podataka.  

 

UpdateUserRole

@UserRoleID   [int],
@RoleID        [int],  
@UserID        [int]

Vrši izmenu sloga identifikovanog pomoću UserRoleID. Kako bi se korisniku sa UserID dodelila uloga definisana sa RoleID.  

 

RemoveUsers

         

@UserID        [int]

Briše slog podataka vezanog za korisnika identifikovan preko parametra UserID  

 

AddHttpLog

@UserID        [int],  
@URL [ntext],  
@IP    [nvarchar](50)

Dodaje slog pristupa (zahteva) korisnika Web servisa u bazu  sa vremnom određenim u trenutkom zapisa sloga  
 

UpdateHttpLog

@LogID         [int]

Vrši upis odgovora Web servisa sa vremnom određenim u trenutkom zapisa sloga  
 

ListLogingPages

@UserID        [int]

Pregled korišćenja Web servisa za datog korisnika



 

Uopšte uzev, za svaku tabelu potrebno je implementirati sledeće uskladištene procedure:

  • GetList (Vraća sve podatke tabele po određenim uslovima)
  • Add (Upisuje nove podatke u tabelu)
  • Remove (Briše podatke iz tabele)
  • Update (Vrši izmenu podataka u tabeli)

ListUsers

Uskladištena procedura u zavisnosti od parametra vraća listu korisnika sa njihovim ulogama. Ukoliko se prosledi identifikator korisnika dobijaju se podaci o datom korisniku, ukoliko se prosledi identifikator uloge vraća se lista korisnika sa datom ulogom inače vraća se lista svih korisnika.

ALTER PROCEDURE ListUsers(
@UserID int,
@RoleID int
) AS

IF @UserID > 0
BEGIN
SELECT * FROM Users
join UserRoles ON UserRoles.UserID = Users.UserID
join Roles ON Roles.RoleID = UserRoles.RoleID
WHERE @UserID = Users.UserID
END
ELSE IF @RoleID > 0
BEGIN
SELECT * FROM Users
join UserRoles ON UserRoles.UserID = Users.UserID
join Roles ON Roles.RoleID = UserRoles.RoleID
WHERE @RoleID = Roles.RoleID
END
-- Get ALL
ELSE
BEGIN
SELECT * FROM Users
join UserRoles ON UserRoles.UserID = Users.UserID
join Roles ON Roles.RoleID = UserRoles.RoleID
END

U sledećem delu kreiraćemo srednji sloj koji obuhvata sloj pristupa podacima i poslovnu logiku.


OBAVEŠTENJE: Samo za članove SveZaWeb zajednice na ovom linku 
http://groups.yahoo.com/group/svezaweb/files/WebArhitektura.pdf
 
možete preuzeti kompletan pdf fajl vezan za Web arhitekturu.


  Politika privatnosti | Copyright ©  SveZaWeb 1998 - 2003.  Sva prava zadržana. Najbolji pregled u 800*600 sa najpopulanijim Web čitačima.
SveZaWeb SveZaWeb SveZaWeb SveZaWeb
 Razvoj   Dizajn   Kreiranje   Panorama   Usluge