You are on page 1of 67

JKP BEOGRADSKI VODOVOD I KANALIZACIJA BEOGRAD

Uvod u ASP.NET Web programiranje

Autor: Slavimir Lj. Vesi, projektant/programer


MCP - Microsoft Certified Professional, Licence ID: 10702121

Uvod
ASP.NET je Microsoft-ov framework (okvir) za razvoj Web aplikacija
ASP.NET je deo .NET framework-a
Poslednja zvanina verzija Visual Studio alata je 2013 (VS 2013)
Microsoft ima u planu sledeu verziju VS vNext koja e delom biti i
revolucionarna po tom to e postojati mogunost da se .NET
aplikacije izvravaju pod Linux OS
Visual Studio (VS) je IDE (integrated development environment)
integrisano razvojno okruenje
VS omoguava razvoj velikog broja aplikacija: Desktop, Web, Windows
Store, Windows Phone, a sa dodatkom Xamarin i Andorid i IOS, i td...
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

.NET Programski jezici (1)


Microsoft-ov glavni programski jezik je C# (C Sharp)
Pored C#, .NET podrani jezici su i VB.NET (Visal Basic) i F# (F Sharp), i
drugi
C# je objektno-orjentisani (OO) programski jezik (OOP)
Kada je programski jezik OO, to znai da su ispotovani sledei principi
(koncepti) esto se zovu u literaturi, stubovi (pillars) OOP:

Apstrakcija (Abstraction)
Nasleivanje (Inheritance)
Uaurenje (Encapsulation)
Polimofrizam (Polymorphism )
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

.NET Programski jezici (2)


C# i VB.NET su najkorieniji .NET jezici
Oni imaju 2-faznu kompilaciju
U prvoj fazi kompilacije C# ili VB.NET kod se prevodi u IL (intermediate
language), koji se u ponekoj literaturi naziva i MSIL
time se omoguava da razliiti .NET programski jezici prevode svoj
izvorni kod (source code) u isti meu-jezik
U drugoj fazi kompilacije se poziva JIT (just-in time) compiler i IL se
prevodi u mainski-prirodni jezik (native code), spreman za
odgovarajui procesor raunara
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

Rad sa bazom podataka u .NET okruenju (1)


u .NET-u, rad sa bazom podatka se ostvaruje putem ADO.NET-a
ADO.NET je skup programskih klasa, koje omoguavaju programeru
da ostvari pristup bazi podataka
ADO.NET sadri provider-e, koji omoguavaju rad sa bazom podatka
Provider-i su: SQL Server, Oracle, OleDb, ODBC i td...
Kada se radi sa odgovarajuom bazom podatka tada se koristi skup
funkcionalnosti koje su obezbeene odabranim Provider-om
Sistemi za upravljanje bazom podataka (SUBP) ili (DBMS) mogu da
rade sa bazom na nain da imaju ili nemaju stalno otvorenu konekciju
sa bazom
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

Rad sa bazom podataka u .NET okruenju (2)


u .NET-u je to takoe omogueno putem Connected ili Disconnected
Data Access Architecture
DataReader je osnovni objekat koji se koristi u Connected arhitekturi
DataSet je osnovni objekat koji se koristi u Disconnected arhiekturi

u .NET-u konekcija sa bazom podataka se ostvaruje putem


konekcionog stringa (Connection String)
Pored toga to je osnovni nain rada sa relacionim sistemima za
upravljanje bazama podataka (RDBMS), kao to su SQL Server, Oracle,
MySQL, PostgreSQL, Sybase itd..., pisanjem upita (Query) i njihovim
izvravanjem, ve neko vreme je trend da u OO jezicima se koriste
ORM tehnologije
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

Rad sa bazom podataka u .NET okruenju (3)


ORM - Object-relational mapping objektno relaciono mapiranje
Programeri u OOP su zakljuili da je potrebno da razmiljaju na 2 naina
kada programiraju:
Na objektno-orjentisanom nainu razmiljanja (koji je blii realnom sistemu)
Na relacionom nainu razmiljanja (koji je blii DBMS)

Ideja ORM je da prevazie ovaj jaz i da programeri rade OO, a to je u skladu


sa Agilnim nainom razvoja softvera, to je predominantni nain
projektovanja i izgradnje softvera
ORM alati omoguavaju mapiranje objekata iz programa u tabele u bazi
podataka i oni su sloj zapravo izmeu baze podataka i programa
U .NET-u se dosta koristi Entity Framework kao ORM reenje iako postoje i
druga (nHibernate, Micro, ...)
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

Rad sa bazom podataka u .NET okruenju (4)


Do sada sam opisao naine rada sa SUBP koji podravaju relacioni model
podataka i koji se jednim imenom zovu RDBMS (Relational Database
Management System)
U RDBMS-u SQL je standard za komunikaciju sa bazom podataka
Poslednjih nekoliko godina usled WEB 2.0., razvijaju se velikom brzinom i
skup baza podatka poznat pod nazivom NoSQL (Not only SQL)
Primeri tih baza podataka su Mongo DB, Couch DB itd...
Ideja je da se podaci pamte najee u notaciji parova klju-vrednost (keyvalue)
.NET ima podrku za rad sa ovim tipovima baza
Ovo je veoma znaajno u poslednje vreme kada se sve vie koriste mobilni
ureaji, kako u privatne, tako i u poslovne svrhe
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

Web programiranje (1)


Sa razvojem World Wide Web-a (WWW) (Tim Berners-Lee), u fokus je dolo i Web programiranje
Web programiranje se oslanja na ISO OSI model (ili 4-slojni TCP/IP model u zavisnosti od literature), prema
kojem postoji 7 slojeva 7 apstrakcija: aplikacioni sloj, prezentacioni sloj, sloj sesije, transportni sloj, mreni
sloj, sloj linka podataka (data link-a) i fiziki sloj
Ideja slojeva je uvedena jer je komunikacija sama po sebi sloena, pa se njena sloenost umanjuje
razlaganjem (dekompozicijom) na slojeve i davanjem odreenih zadataka svakom pojedinanom sloju
Model usluga je zgodan za razumevanje dekompozicije slojeva gde se svaki sloj posmatra kao usluga koja
je obezbeena sloju iznad (npr. TCP daje siguran transport HTTP-u i jo neke druge stvari) bez ulaenja u
implementacione detalje sloja ispod !!! (HTTP-a ne interesuje kako to TCP obezbeuje)
Na svakom sloju postoje komunikacioni protokoli, koji omoguavaju komunikaciju izmeu distribuiranih
procesa istog sloja (u smislu obradne paradigme)
Web programiranje je u samoj svojoj biti distribuirano programiranje
Klijent (Client) u smislu obradne paradigme je proces koji poziva (Request) server
Server (Server) u smislu obradne paradigme je proces koji eka poziv (Request) klijenta, izvrava zahtev
klijenta i alje odgovor (Response)
Distribuirana aplikacije je ona u kojoj komuniciraju klijent i server, koji su meusobno udaljeni
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

Web programiranje (2) HTTP(1)


za Web programiranje je vaan HTTP protokol protokol aplikativnog sloja
HTTP protokol prenosi podatke od klijenta do servera i obrnuto
Klijentski proces HTTP-a je Web browser (pretraiva): Mozilla Firefox,
Google Chrome, Microsoft Internet Explorer, . . .
Serverski proces HTTP-a ini Web server
Kada u pretraivau ukucamo neku adresu, npr: http://www.bvk.rs, tada
pozivamo HTTP serverski proces (i zahtevamo neki resurs gde se ovde ne
vidi jer po default-u vraa , a moe da bude .html, .php, .aspx itd, npr.
http://www.bvk.rs/index.php)
Po default-u Web server slua na portu 80, tako da iako to ne vidimo u URLu pretraivaa, mi na zahtev moemo da prosledimo kao
http://www.bvk.rs:80
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

10

Web programiranje (3) HTTP(2)


HTTP Hypertext Transfer Protocol, kao to mu ime kae omoguava
razmenu hiperteksta
Jedna od osnovnih karakteristika HTTP protokola jeste da je on bez
stanja (stateless), to znai da za izvravanje logike komunikacije
izmeu klijenta i servera je potrebno omoguiti praenje stanja
Stanje se u Web programiranju obezbeuje:
Sesijom (session)
Kolaiima (cookies)

Kod Cookies-a potrebno je voditi rauna o bezbednosnim aspektima


jer ih je mogue fiziki proitati, kao .txt fajl (datoteku)
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

11

Web programiranje (4)


Na poetku Web programiranja, arhitekture su bile izgraene tako da
su se izvravale preko CGI-a (Common Gate Interface)
Ideja CGI-a jeste da Web Server prihvati zahtev od klijenta i prosledi
ga CGI-u, a CGI preusmerava zahtev na drugi program koji ga obrauje
Osnovna mana ovog naina rada jeste da se na Web Serveru uvek
otvara zaseban proces i time se optereuje memorija Web Servera
Progress WebSpeed je tehnologija koja radi preko CGI-a
Sa razvojem Web-a, Java, PHP, a kasnije i .NET omoguavaju
procesiranje zahteva klijenta preko lakih procesa niti (threads), za
koje se ne otvara zaseban proces na Web serveru
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

12

Web programiranje (5)


Web programiranje se najee posmatra kao:
Front-end programiranje
Back-end programiranje

Front-end programiranje podrazumeva programiranje u 3 sloja:


Sloj strukture kojeg ini HTML - HyperText Markup Language
Sloj prezentacije kojeg ini CSS - Cascading Style Sheets
Sloj ponaanja kojeg obezbeuje JavaScript

Back-end programiranje podrazumeva programiranje u jednom Web


serverskom programskom jeziku: PHP, Java, ASP.NET, WebSpeed
Script...
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

13

Web programiranje (6)


Front-end je deo Web aplikacije koji vidi krajnji korisnik preko
Browser-a (pretraivaa)
Back-end je deo Web aplikacije u kojem se izvrava logika Web
aplikacije, kao i komunikacija sa bazom podataka ili servisima
Kasnije e tokom prezentacije u delu Statiki/Dinamiki html objasniti
kako se ostvaruje celokupno procesiranje zahetva od klijenta ka
serveru
Opis narednih sekcija slui da bi se stvorila jasna slika o tome za ta je
koji sloj zaduen, bez zalaenja u detalje kako se ta implementira
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

14

Web programiranje (7) - HTML


HTML je jezik Web-a
Sve to je izloeno na Web-u sadri HTML
HTML je jezik koji obezbeuje strukturu Web stranice
Svaki pretraiva u sebi sadri HTML parser, tako da kada doe Web
stranica, on kree odozgo ka dole i parsira .html fajl i na osnovu HTML
instrukcija daje mu strukturu tog fajla i prikazuje tu strukturu
Aktuelan standard je HTML 5
HTML 5 je veoma pogodan za strukturianje prikaza na mobilnim
ureajima
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

15

Web programiranje (8) - CSS


CSS slui da opie kako e se .html fajl prikazati u pretraivau
Uvoenjem CSS-a se jasno razdvaja koji sloj ima koju svrhu:
HTML struktura
CSS prezentacija

CSS na Web serveru najee postoji kao .css fajl mada se moe
direktno pisati i u .html-u se sekciji <style> ili unutar samog html
elementa kao atribut

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

16

Web programiranje (9) JavaScript (1)


JavaScript kao to sam ve rekao slui da obezbedi ponaanje Web stranici
kada se ona uita u browser (najea svrha)
Svaki browser (pretraiva) u sebi ima JavaScript engine, koji mu
omoguava da interpretira JavaScript
JavaScript se moe korisiti za najrazliitije svrhe, od animacije i kreiranje
ponaanja grafikih elemenata putem kojih se obogauje korisniko
iskustvo (User Experience UX), pa do odreenih delova na klijentskoj
strani koje mogu sluiti radi provere tipova podatka koje korisnik unosi
(validacija), a pored toga veoma je znaajna prilikom asinhronog
programiranja putem kojeg se osveava samo deo Web stranice AJAX
JavaScript je trenutno najtraeniji jezik Web-a
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

17

Web programiranje (10) JavaScript (2)


Pored toga to ima primera korienja osnovnog JavaScript-a, danas
se mnogo vie koriste biblioteke JavaScript-a za najrazliitije namene
kao to su: jQuery, Node, Angular, Backbone, i td...
JavaScript nije OO jezik i nema veze sa Javom, to joj je dato samo
marketinko ime tada kada je nastala
JavaScript ima objektnu sintaksu, ali nije OO jezik jer ne zadovoljava
sva svojstva OO jezika
Popularna je svuda, a veoma u radu sa mobilnim i Cloud platformama
Kao to sam gore naveo ima raznih biblioteka i dostupnih API-a
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

18

Web programiranje (11) Serverski deo


Serverski deo slui za izvravanje Web serverskog koda i on sadri poslovnu logiku
i komunikaciju sa bazom podataka
Web serverske tehnologije su: PHP, Java Server Pages (JSP), Java Server Faces
(JSF), ASP.NET, WebSpeed, Python, Ruby, Perl, i drugi...
Serverski kod se izvrava na Web Serveru ili HTTP Serveru
Web Server je (ne u smislu obradne paradigme) maina na kojoj je instaliran neki
Web, odosno HTTP Server
HTTP serveri su sledei proizvodi:

Apache (najpopularniji) radi u LAMP kombinaciji (Linux, Apache, MySql, PHP) - opensource
IIS - Internet Information Services Microsoft Web server izvrava ASP.NET
Tomcat izvrava Java kod
i drugi . . .

HTTP serveri su dostupni ili unutar firme ili zakupljivanjem hosting-a


SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

19

Statiki / Dinamiki HTML (1)


statike Web stranice su one koje nemaju komunikaciju sa bazom i ne
izvravaju nikakvu serversku logiku one najee imaju samo statike
elemente tekst, slike, eventualno neku animaciju itd...
Procesiranje statike stranice se obavlja na sledei nain:

korisnik putem pretraivaa zatrai zahtev (request) za odreenom Web


stranicom
Web server (na kojem se nalazi najee taj .html fajl) prihvata zahtev i vraa
.html (najee) stranicu i vraa je kao deo HTTP odgovora (response)
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

20

Statiki / Dinamiki HTML (2)


Kada odgovor servera (response) pristigne, pretraiva parsira .html i
prikazuje ga krajnjem korisniku
dinamike Web stranice su stranice koje generie program koji se
izvrava na serveru

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

21

Statiki / Dinamiki HTML (3)


izvravanje dinamike Web stranice se izvrava na sledei nain:
Kada Web server prihvati zahteva za dinamikom Web stranicom on
ga prosleuje aplikacionom serveru na procesiranje
Kada aplikacioni server prihvati zahtev, on pokree odgovarajui
program esto taj program treba da preuzme neke podatke iz baze
podataka
Kada aplikacioni server zavri procesiranje podataka on generie
HTML i vraa ga Web serveru
Web server vraa HTML pretraivau, koji ga prikazuje korisniku
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

22

ASP.NET (1)
ASP.NET je Microsoft-ov framework za razvoj Web aplikacija
ASP.NET web aplikacije se programiraju u Visual Studio-u
ASP.NET omoguava nekoliko naina programiranja Web aplikacija
(nekoliko razliitih Web projekata kao i odgovarajuu kombinaciju
istih):

Web pages
Web forms
MVC
Ostale... (nisu sada od interesa)

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

23

Web pages
Najjednostavniji model programiranja
Veoma lak i dobar za jednostavne zadatke
Problem:
Meanje server-side koda i HTML-a to oteava odravanje

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

24

Web forms
Zgodan za zadatke koje zahtevaju intenzivnu komunikaciju sa bazom
Jednostavan za programere koji imaju iskustvo u programiraju Desktop
aplikacija, jer ne zahteva mnogo znanja HTML-a
Event-driven programiranje (voeno dogaajima)
Sadri odreeni broj serverskih kontrola, koje se prevlae na Web stranicu
Kontrole mogu da se konfiguriu i time se postie da bez mnogo pisanja
koda se omogui odreena funkcionalnost
Svaka Web stranica ima mogunost da poziva odgovarajui C# ili VB.NET
kod koji se nalazi iza stranice i u kome je poslovna logika (code-behind
pristup)
Nedostatak:

Teko odravanje koda usled preklapanja HTML-a i server side code-a


Ne postoji potpuna kontrola nad HTML-om kojeg generiu serverske kontrole
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

25

MVC
MVC Model View Controller
Pisanje koda organizovano prema MVC arhitekturalnom programskom uzoru
(pattern)
Najbolje reenje u pogledu velikih Web aplikacija
Najbolje reenje u smislu odravanja koda odravanje je veoma lako i reaguje
lako na promenu (fleksibilan je !)
Ukoliko je Web sajt mali i logika prosta ne treba ga korisiti (besmisleno je!)
Najbolja osobina mu je Separation of concerns, gde svaki sloj ima odreena
zaduenja i na taj nain obezbeuje usluge drugom sloju
Jasna kontrola generisanog HTML-a
velika sigurnost usled mehanizma rutiranja
veoma jednostavno moe izlagati funkcionalnosti za mobile ureaje
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

26

ASP.NET i Progress 4GL


Neka je zadatak definisan tako, da je potrebno omoguiti CRUD
operacije nad Progress OpenEdge RDBMS-u, tako da na aplikativnom
sloju funkcionie ASP.NET
Od pomenuta 3 programska modela moemo iskoristiti Web forms, na
nain da Progress RDBMS-u omoguuimo ODBC konekciju i da
upotrebom ADO.NET framework-a sprovodimo CRUD operacije nad
Progress bazom
Na narednim slajdovima to u i pokazati
Na narednim slajdovima objasniu Web iskoriene tehnologije
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

27

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (1)
Kreiramo lokalnu progress bazu kao na slici
C:\LokalneBaze\probaradnik.db

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

28

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (2)
Sada kada smo iskreirali bazu moemo da dodamo tabele:
Radnik(SifraRadnika, ImeRadnika, PrezimeRadnika, SifraOdeljenja)
Odeljenje(SifraOdeljenja, NazivOdeljenja)

Putem .p procedure ubacimo neke podatke, recimo


SifraRadnika

ImeRadnika

PrezimeRadnika

SifraOdeljenja

SifraOdeljenja

NazivOdeljenja

10

Pera

Peric

20

10

Projektovanje

20

Jovan

Jovanovic

10

20

Programiranje

30

Mika

Mikic

20

40

Marija

Maric

20

50

Obrad

Obradovic

10

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

29

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (3)
Browse nad spajanjem tabela izgleda

Sada emo otvoriti Progress Explorer Tool i napraviti SQL servis na lokalnoj bazi
Ikonica Progress Explorer Tool-a se mora pokrenuti sa Run as administrator na 64-bit Win 7

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

30

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (4)
Kada pokrenete Progress Explorer Tool, njegov poetni ekran izgleda sledee:

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

31

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (5)
Kliknite desnim dugmetom mia na ikonicu localhost i odaberite Connect . . .

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

32

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (6)
nakon toga pritisnite dugme OK, kao na slici

Nakon toga rairite deo Localhost, a u njemu deo Databases, kao na slici

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

33

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (7)
desnim dugmetom mia kliknite na Databases i odaberite new
sada vam se prikazuje dijalog u kojem treba da unesete naziv baze, kao na slici
Ja sam odabrao da bude radnici

Sada je potrebno da konfiguriete serverski podignutu bazu


Nakon to ste pritisnuli OK, prikazuje vam se sledei ekran, gde treba da odaberete
lokalnu bazu
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

34

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (8)
Unesite putanju lokalne baze kao na slici i pritisnite OK

Vidite da ste kreirali serverski podignutu bazu


SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

35

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (9)
sada je potrebno da konfigurete SQL servis za serverski podignutu bazu
Rairite deo oko konfigurisanja baze do najieg nivoa kao na slici

desnim dugmetom mia kliknite na defaultServerGroup i odaberite properties

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

36

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (10)
Prikazae vam se sledei ekran

Konfiguriite broj porta, npr. 9999 i odaberite SQL only iz sekcije Client Type,
nakon toga pritisnite OK
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

37

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (11)
na prethodno opisani nain ste konfigurisali SQL servis serverski
podignute Progress baze podataka
pokrenite bazu tako to e te se pozicionirati na nju, pritisnuti desno
dugme mia i odabrati opciju start, kao na slici

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

38

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (12)
sada je potrebno da napravimo ODBC konekciju za konfigurisanu bazu
Pokrenite ODBC Data Source Administrator
Odaberite tab User DSN i kliknite Add, kao na slici

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

39

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (13)
odaberite iz liste ponuenih ODBC adaptera, onu koja odgovara Progress bazi
podataka, npr. Progress OpenEdge 10.2B Driver
nakon toga se otvara dijalog za uspostavljanju ODBC konekciju

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

40

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (14)
popunite dijalog podacima kojima ste konfigurisali bazu, kao na slici

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

41

KORAK 1 Pravljenje ODBC konekcije za


Progress RDBMS (15)
proverite ODBC konekciju preko Test Connection
ukoliko je konekcija uspostavljenja kao na slici to znai da ste uspeli
Na ovaj nain ste konfigurisali ODBC Data Source, koji moete koristiti za rad sa .NET-om

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

42

KORAK 2 Pravljenje Web aplikacije u VS 2013 (1)


sada emo iz VS 2013, kreirati Web aplikaciju
pokrenite Visual Studio 2013, recimoUltimate verziju
Odaberite File -> New -> Project, kao na slici

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

43

KORAK 2 Pravljenje Web aplikacije u VS 2013 (2)


Sada vam se prikazuje dijalog za kreiranje projekata
Sa leve strane iz sekcije Templates odaberite Visual C#, a unutar njega deo Web, kao na slici
Unesite Name i Location projekta u donjem delu dijaloga i odaberite ASP.NET Web Application

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

44

KORAK 2 Pravljenje Web aplikacije u VS 2013 (3)


Sada vam se prikazuje sledei dijalog, za odabir tipa Web projekta

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

45

KORAK 2 Pravljenje Web aplikacije u VS 2013 (4)


sada odaberite Template, WebForms
Kliknite na Change Authentication i odaberite No Authentication
Nakon toga kliknite OK
Sada se kreira projekat za Web aplikaciju
Sada desne strane u uglu se nalazi sekcija Solution u kome se nalaze
fajlovi projekta, sa leve strane se nalazi sekcija Toolbox u kojoj se
nalaze alatke, a u centralnom delu se nalazi projekat kao na slici
(sledei slajd)

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

46

KORAK 2 Pravljenje Web aplikacije u VS 2013 (5)

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

47

KORAK 2 Pravljenje Web aplikacije u VS 2013 (6)


Da bi ste videli kako aplikacija izgleda iz menija odaberite opciju Debug i Start Without Debugging

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

48

KORAK 2 Pravljenje Web aplikacije u VS 2013 (7)


kao to vidite, VS u ovom tipu projekta sam dodaje dosta stvari
sada emo pogledati kod iza ove aplikacije i dodati deo za prikaz podataka iz baze
ugasite aplikaciju u borwser-u i vratite se u VS
Iz dela Solution Explorer odaberite fajl Default.aspx, kao na slici
U centralnom delu se uitava kod Web forme, koja ima naziv
Default.aspx (naredni slajd)

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

49

KORAK 2 Pravljenje Web aplikacije u VS 2013 (8)

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

50

KORAK 2 Pravljenje Web aplikacije u VS 2013 (9)


U donjem delu ekrana ako klikete na karticu Design, moete videti kako trenutno Web forma
izgleda

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

51

KORAK 2 Pravljenje Web aplikacije u VS 2013 (10)


vratite se na opciju Source i dodajte jedan div HTML element sa klasom row ispod div-a, tako da bude
izmeu </div> zatvarajueg taga i </asp:Content>
<div class="row">
</div>

Iz Toolbox-a, odaberite kontrolu sa nazivom GridView, kao na slici


Prevucite kontrolu na deo koda unutar gorenjeg div-a kojeg ste dodali
sada je kod sledei :
<div class="row">
<asp:GridView ID="GridView1" runat="server"></asp:GridView>
</div>

obratite panju na oznaeni deo koda, to znai da je ovo serverska kontrola


Web forms serversko programranje funkcionie tako to se dodaju serverske kontrole, koje se u
runtime-u kompajliraju u HTML, tako da e ova kontrola kasnije da se prevede u tabelu (table)
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

52

KORAK 2 Pravljenje Web aplikacije u VS 2013 (11)


sada kao to je ve opisano odaberite opciju Design prikaza koda
uoite da je dodata kontrola na Web formi, kao na slici

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

53

KORAK 2 Pravljenje Web aplikacije u VS 2013 (12)


kliknite na strelicu da bi ste konfigurisali GridView kontrolu, kao na slici

Odaberite iz Combo-box-a opciju <New Data Source...>, kao na slici

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

54

KORAK 2 Pravljenje Web aplikacije u VS 2013 (13)


sada vam se otvara Wizard za konfigurisanje Data Source-a

Odaberite Database opciju, kao na slici i dajte ime DataSource-u, npr. ProgressDataSource
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

55

KORAK 2 Pravljenje Web aplikacije u VS 2013 (14)


Iz dijaloga konfiguriite Data Source, tako ti ete odabrati opciju New Connection . . .
sada se otvara sledei dijalog za pravljenje konekcije
Iz dela Data Source, odaberite Change, pa Microsoft ODBC DataSource
Nakon toga vam se otvara dijalog Add Connection

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

56

KORAK 2 Pravljenje Web aplikacije u VS 2013 (15)


Odaberite ODBC DataSource, koji ste ranije konfigurisali i proverite konekciju

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

57

KORAK 2 Pravljenje Web aplikacije u VS 2013 (16)


nakon toga odaberite Next
ponovo Next, tako da vam se prikae sledei dijalog

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

58

KORAK 2 Pravljenje Web aplikacije u VS 2013 (17)


Odaberite opciju Specify custom SQL statement or stored procedure
Odaberite Next
Upiite sledeu SQL upit ili iskoritite Query Builder alat (naredni slajd) da definiete upit
SELECT PUB.Radnik.SifraRadnika, PUB.Radnik.ImeRadnika, PUB.Radnik.PrezimeRadnika,
PUB.Radnik.SifraOdeljenja, PUB.Odeljenje.NazivOdeljenja

FROM
WHERE

PUB.Radnik, PUB.Odeljenje
PUB.Radnik.SifraOdeljenja = PUB.Odeljenje.SifraOdeljenja

Nakon toga kliknite Next

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

59

KORAK 2 Pravljenje Web aplikacije u VS 2013 (18)

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

60

KORAK 2 Pravljenje Web aplikacije u VS 2013 (19)


sada testirajte query pritiskom na dugme Test Query, kao na slici

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

61

KORAK 2 Pravljenje Web aplikacije u VS 2013 (20)


nakon toga odaberite Finish
Na centralnom delu ekrana projekta moete videti da je iza generisan
neki kod
Sada build-ujte projekat putem CTRL+SHIFT+B
Pokrenite Web aplikaciju sa CTRL + F5
uoite kako su na Default.aspx stranici prikazani podaci, kao na slici
(naredni slajd)

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

62

KORAK 2 Pravljenje Web aplikacije u VS 2013 (21)

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

63

KORAK 2 Pravljenje Web aplikacije u VS 2013 (21)


ugasite pretraiva i vratite se u Visual Studio i kao to je ve opisano odaberite sekciju za gledanje koda Source
Uoite da je VS generisao kod, koji je izvrio komunikaciju sa bazom i prikazao podatke
<div class="row">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ProgressDataSource">
<Columns>
<asp:BoundField DataField="SifraRadnika" HeaderText="SifraRadnika" ReadOnly="True" SortExpression="SifraRadnika" />
<asp:BoundField DataField="ImeRadnika" HeaderText="ImeRadnika" ReadOnly="True" SortExpression="ImeRadnika" />
<asp:BoundField DataField="PrezimeRadnika" HeaderText="PrezimeRadnika" ReadOnly="True" SortExpression="PrezimeRadnika" />
<asp:BoundField DataField="SifraOdeljenja" HeaderText="SifraOdeljenja" ReadOnly="True" SortExpression="SifraOdeljenja" />
<asp:BoundField DataField="NazivOdeljenja" HeaderText="NazivOdeljenja" ReadOnly="True" SortExpression="NazivOdeljenja" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="ProgressDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" ProviderName="<%$
ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="SELECT PUB.Radnik.SifraRadnika, PUB.Radnik.ImeRadnika, PUB.Radnik.PrezimeRadnika,
PUB.Radnik.SifraOdeljenja, PUB.Odeljenje.NazivOdeljenja
FROM

WHERE

PUB.Radnik, PUB.Odeljenje

PUB.Radnik.SifraOdeljenja = PUB.Odeljenje.SifraOdeljenja"></asp:SqlDataSource>

</div>

SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

64

Zakljuak
Ovo je samo jedan od naina na koji se podaci mogu prikazati iz baze
Ovaj primer je krajnje jednostavan samo da pokae kako tehnologija funkcinoe
ASP.NET je jedan veoma moan framework, koji moe dovlaiti podatke na razne naine (ne samo
preko baze)
U pozadini se ova aplikacija izvrava na IIS Express alatu, koji je da kaemo testni Web server za
Visual Studio i on nam omoguava da u trenutku pokretanja aplikacije vidimo rezultat naeg
programiranja
Izgled Web aplikacije koji je prikazan je formiran preko HTML 5 i CSS 3, upotrebom Twitter
Bootstrap frameworka, kojeg je sam Visual Studio dodao prilikom pravljenja projekta (to se inae
moe izbei i pisati kod od nule)
Uoite takoe da kada menjate veliinu ekrana (resize-ovanjem browser-a) ove aplikacije sadraj
se automatski prilagoava veliini, to je poznato kao response design tehnika koja se koristi da se
isti interfejs obezbedi i mobilnim aplikacijama i Web aplikacijama i to je ono to tedi trud
programerima
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

65

Uvod u ASP.NET Web programiranje


knjige za programiranje u ASP.NET Web forms nainu programiranja:
Imar Spaanjaars - Beginning ASP.NET 4.5.1 in C# and VB, Wrox (2014)
Adam Freeman, etc. - Pro ASP.NET 4.5 in C#, Apress (2013)
Sandeep Chanda, Damien Foggon - Beginning ASP.NET 4.5 Databases, Apress
(2013)
Matthew MacDonald - Beginning ASP.NET 4.5 in C#, Apress (2012)
Mary Delamater, Anne Boehm - Murach's ASP.NET 4.5 Web Programming with
C# 2012, Mike Murach & Associates (2013)
Rick Kiessig - Ultra-Fast ASP.NET 4.5, Apress (2012)
Microsoft-ov osnovni tutorijal za Web forms
Getting Started with ASP.NET 4.5 Web Forms and Visual Studio 2013
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

66

JKP BEOGRADSKI VODOVOD I KANALIZACIJA BEOGRAD

Uvod u ASP.NET Web programiranje

Autor: Slavimir Lj. Vesi, projektant/programer


MCP - Microsoft Certified Professional, Licence ID: 10702121
SEKTOR ZA INFORMACIONO KOMUNIKACIONE TEHNOLOGIJE

67

You might also like