Upitnik za evaluaciju i samovrednovanje
naučno - istraživačkog rada na fakultetu
Predmet: Seminar 1 Student: Goran Panić
Nastavnik: Dr Miloš Racković Broj indeksa: 11D/2009
Novi Sad, April 2010.
Univerzitet u Novom Sadu
Prirodno – matematički fakultet
Departman za matematiku i informatiku
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 2
ZADATAK SEMINARSKOG RADA
Kreirati web aplikaciju koja sadrţi upitnike za evaluaciju i samovrednovanje naučno istraţivačkog rada na fakultetu. Aplikacija bi trebala da bude urađena po uzoru na postojeću, koja se moţe pronaći na adresi [1]. Upitnik “Naučni radovi” prilagoditi vaţećem pravilniku (Pravilnik o postupku i načinu vrednovanja, i kvantitativnom iskazivanju naučnoistraţivačkih rezultata istraţivača, 2008) [2].
Rad je potrebno dokumentovati i ukazati na mogućnosti daljeg razvoja.
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 3
SADRŽAJ
1. OPIS FUNKCIONALNOSTI APLIKACIJE .............................................................. 4
2. TEHNOLOGIJE I ALATI ....................................................................................... 12
2.1 Sybase Power Designer ................................................................................. 12
2.2 My SQL ........................................................................................................... 13
2.3 Programski jezik C# ........................................................................................ 14
2.4 .NET Framework ............................................................................................. 14
2.5 Microsoft Visual Studio ................................................................................... 15
2.6 Web Service ................................................................................................... 17
2.7 Silverlight ........................................................................................................ 17
3. IMPLEMENTACIJA .............................................................................................. 20
3.1 Arhitektura projekta ......................................................................................... 20
3.2 Baza podataka ................................................................................................ 20
3.2.1 Konceptualni model .................................................................................. 21
3.2.2 Fizički model ............................................................................................ 22
3.2.3 Generisanje skriptova .............................................................................. 23
3.2.4 Storovane procedure ................................................................................ 24
3.3 Biznis logika .................................................................................................... 25
3.3.1 Struktura biznis logike .............................................................................. 26
3.3.2 Delovi koda .............................................................................................. 28
3.3.3 Lista implementiranih metoda Web servisa .............................................. 30
3.4 Klijentska aplikacija ......................................................................................... 33
4. PRAVCI DALJEG RAZVOJA ............................................................................... 36
Generisanje izveštaja ........................................................................................... 37
Povezivanje sa sličnim sistemima......................................................................... 37
5. LITERATURA ....................................................................................................... 38
Reference ............................................................................................................. 38
Web stranice ......................................................................................................... 38
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 4
1. OPIS FUNKCIONALNOSTI APLIKACIJE
Aplikacija sadrţi forme za evaluaciju i samovrednovanje naučno – istraţivačkog rada na fakultetu. Modelovana je po uzoru na postojeći sajt [1] i prilagođena vaţećem pravilniku o postupku i načinu vrednovanja, i kvantitativnom iskazivanju naučnoistraţivačkih rezultata istraţivača [2].
Logovanje na sistem je prva forma sa kojom se susreće korisnik pri dolasku na sajt. Njen zadatak je da onemogući korisnike koji nemaju pravo pristupa da pristupaju sajtu.
Slika 1.1 Forma za logovanje
Korisnici koji prvi put pristupaju sajtu, duţni su da kreiraju novi nalog, kako bi dobili svoje korisničko ime i lozinku. Kreiranje naloga se vrši klikom na link Kreiraj novi nalog na formi za logovanje.
Slika 1.2 Forma za kreiranje naloga
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 5
Po logovanju na sistem korisniku se prikazuje glavna forma, na kojoj se mogu uočiti dve grupe ikonica.
Slika 1.3 Glavna forma
Grupa korisničkih ikonica (slika 1.4) sadrţi ikonicu “Izlaz iz programa” . Klikom na nju korisnik eksplicitno poziva formu za logovanje.
Slika 1.4 Grupa korisničkih ikonica
Ukoliko korisnik ţeli da pogleda i izmeni svoje lične podatke to moţe uraditi
klikom na ikonicu “Podaci o korisniku” , koja otvara forme sa slike 1.5. Full screen
mod se aktivira klikom na poslednju ikonicu iz ove grupe , i omogućava prikaz aplikacije po celoj radnoj površini monitora
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 6
Slika 1.5 Forme za prikaz i izmenu podataka o korisniku
Sledeću grupu ikonica čine ikonice za odabir upitnika (slika 1.6). Klikom na neku od njih korisnik selektuje upitnik sa kojim ţeli da radi. Podrţano je šest grupa upitnika: „Nučni radovi“, „Naučno–istraţivački projekti“, „Učešća na skupovima“, „Gostovanja stranih istraţivača“, „Studentski temati” i „Primena naučno-istraţivačkih rezultata u nastavi“.
Slika 1.6 Ikonice za odabir vrste upitnika
Nakon što korisnik odabere vrstu upitnika, ulazi u mod za rad sa selektovanim upitnikom. Prikazuje se tabela sa podacima koje je korisnik ranije unosio (slika 1.7) i funkcije za rad sa upitnikom (slika 1.8).
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 7
Slika 1.7 Rad sa upitnikom
Funkcije za rad sa upitnikom omogućavaju dodavanje novog elementa ,
izmenu selektovanog elementa , brisanje selektovanog elementa i
osveţavanje sadrţaja tabele (koristi se nakon izmene sadrţaja tabele, zbog asinhrone prirode aplikacije).
Slika 1.8 Funkcije za rad sa upitnikom
Ukoliko korisnik ţeli da doda upitnik potrebno je da klikne na ikonicu za dodavanje novog elementa, nakon čega mu se prikazuje prozor za dodavanje koji je potrebno popuniti (slika 1.9). Za izmenu ili brisanje neophodno je prethodno selektovati element u tabeli. Vaţno je napomenuti da će jedino podaci koje je uneo logovani korisnik biti prikazani u tabeli. Na ovaj način će svaki korisnik moći da menja i briše samo one podatke koje je sam uneo.
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 8
Slika 1.9 Primer rada sa upitnikom
Izgled prozora sa parametrima za rad sa upitnikom “Naučni rad” je prikazan na slici 1.10.
Slika 1.10 Prozor „Naučni rad“
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 9
Izgled prozora sa parametrima za rad sa upitnikom “Naučno – istraţivački projekat” je prikazan na slici 1.11.
Slika 1.11 Prozor „Naučno – istraživački projekat“
Izgled prozora sa parametrima za rad sa upitnikom “Učešća na skupovima” je prikazan na slici 1.12.
Slika 1.12 Prozor „Učešća na skupovima“
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 10
Izgled prozora sa parametrima za rad sa upitnikom “Gostovanja stranih istraţivača” je prikazan na slici 1.13.
Slika 1.13 Prozor „Gostovanja stranih istraživača“
Izgled prozora sa parametrima za rad sa upitnikom “Studentski temati” je prikazan na slici 1.14.
Slika 1.14 Prozor „Studentski temati“
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 11
Izgled prozora sa parametrima za rad sa upitnikom “Primena naučno –
istraţivačkih rezultata u nastavi” je prikazan na slici 1.15.
Slika 1.15 Prozor „Primena naučno-istraživačkih rezultata u nastavi“
Korisniku se pruţa mogućnost da popuni formu parametrima i potvrdi unos ili odustane od istog. U slučaju da korisnik ne unese ništa ili unese tekst nedozvoljenog formata (slika 1.16), nakon klika na dugme „Potvrdi”, biće upozoren od strane kontrole unosa, a unos će mu biti onemogućen.
Slika 1.16 Kontrola unosa
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 12
2. TEHNOLOGIJE I ALATI
2.1 Sybase Power Designer
PowerDesigner [3], [4] je aplikacija koja sadrţi skup alata za modeliranje. Proizveden je od strane kompanije Sybase. Procenjuje se da PowerDesigner drţi pribliţno 30% svetskog trţišta alata za modelovanje podataka. Na zvaničnom sajtu [3] se moţe preuzeti besplatna vremenski ograničena (eng. trial) verzija.
Slika 2.1 PowerDesigner Link and Synch Technology – preuzeto iz [5]
PowerDesigner pruţa podršku za:
Analiza zahteva (eng. Requirements Analysis)
Objektno modelovanje (UML 2.0 dijagrami)
Modelovanje baza podataka(radi sa većinom vodećih RDBMS sistema)
Modelovanje skladišta podataka (WarehouseArchitect)
Modelovanje poslovnih procesa (ProcessAnalyst) podrţava BPMN
XML modelovanje, podrţava XML šemu i DTD standard
Generisanje koda (Java, C#, VB .NET, Hibernate, EJB3, NHibernate, JSF, WinForm, PowerBuilder, ...)
Visual Studio 2005 / 2008 dodatak
Eclipse plugin
Podrţava Simul8 za dodavanje simulacionih funkcija u BMP module
Generisanje izveštaja
Repozitorijum (eng. Repository)
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 13
2.2 My SQL
MySQL [6],[7] je najpopularnija relaciona baza podataka otvorenog koda (eng. Open source), sa preko 100 miliona kopija distribuiranih u svojoj istoriji. Zahvaljujući svojim solidnim brzinskim performansama, pouzdanosti, lakoći korišćenja i pre svega tome što je besplatan, MySQL se smatra dobrim izborom za Web, Web 2.0, SaaS, ISV, Telekomunikacione kompanije…
Mnoge od najvecih i na svetu najbrţe rastucih organizacija kao što su Google, Facebook, Yahoo, YouTube, Wikipedia, Alcatel-Lucent, Nokia i Booking.com koriste MySQL.
Kompanija u MySQL paketu nudi i MySQL Enterprise, sveobuhvatan skup proizvodno – testnih alata, alate za proaktivno praćenje i podršku korisnicima za pristupačnu godišnju pretplatu.
MySLQ je klučni deo LAMP (Linux, Apache, MySQL, PHP / Perl / Python)
projekta, brzorastućeg poslovnog softvera otvorenog koda. Sve više kompanija na svetu koristi LAMP kao alternativu skupom softveru i zbog njegove platformske nezavisnosti.
MySQL je prvobitno osnovan i razvijan u Švedskoj od strane David Axmark, Allan Larsson and Michael "Monty" Widenius koji rade zajedno još od 1980. godine.
Trenutno aktuelna verzija je MySQL 5.5, a moţe preuzeti sa adrese [6]
Slika 2.2 Slika klijenta MySQL baze podataka
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 14
2.3 Programski jezik C#
C# (C šarp) [8], [9] je objektno orjentisan programski jezik razvijen od strane Microsoft-a kao deo .NET inicijative i kasnije prihvaćen kao standard od ECMA i ISO.
C# jezik se razvija kao proceduralni, objektno orjentisani, sintaksno baziran na C++ jeziku sa uključenjem aspekata nekoliko drugih programskih jezika (posebno značajno Delphi i Java) i sa posebnom paţnjom na uprošćenosti.
Glavni dizajner i glavni arhitekta C# programskog jezika u Microsoft-u je Anders Hejlsberg. Njegova prethodna iskustva u programskim jezicima i framework dizajnu (Visual J++, Borland Delphi, Turbo Pascal), mogu se lako uočiti u sintaksi C# jezika. C# trenutno predstavlja jedan od najkompleksnijih i najperspektivnijih programskih jezika, sa konstantnim rastom trţišnog udela.
Slika 2.3 Programming Community Index – preuzeto iz [10]
Trenutno aktuelna verzija ovog programskog jezika je 4.0, a više podataka o njoj, kao i o samom C# jeziku, moţete pronaći u knjizi (Watson, 2010).
2.4 .NET Framework
Microsoft .NET Framework [11], [12], [13] je programska komponenta, koja predstavlja deo Microsoft Windows operativnog sistema. Ona obezbeđuje veliki broj
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 15
predefinisanih kod rešenja za opšte programerske zahteve i upravljanje izvršnim programa napisanim posebno za taj framework. Ovaj framework je Microsoft-ov poklon programerima i koristi se u mnogim novokreiranim aplikacijama, koje su namenjene Windows platformi.
Predefinisana kod rešenja javljaju se u obliku biblioteka klasa (eng. Base Class Libraries) i poseduju veliki izbor programa neophodnih u oblastima: Korisničkog interfejsa, pristupa podacima, konekcija na bazu, kriptografije, kreiranja web aplikacija, numeričkih algoritama i mreţne komunikacije. Klas-biblioteke koriste programeri koji ih kombinuju sa sopstvenim kodom i na taj način kreiraju aplikacije.
.NET Framework je uključen u Windows Server 2003, Windows Server 2008, Windows XP SP3, Windows Vista i novije verzije Windows operativnog sistema, a moguće ga je instalirati i na mnoge starije verzije operativnog sistema. Trenutno su aktuelne verzije 3.5 SP1 i 4.0 Release Candidate, a instalacije se besplatno mogu preuzeti sa zvaničnog Mikrosoft MSDN sajta [13].
2.5 Microsoft Visual Studio
Visual Studio [14], [15] je alatka za razvoj programa. Prvo izdanje ovog paketa pod imenom Visual Studio 97 pojavilo se na trţištu 1997. godine i sadrţalo je odvojene IDE-ove (koji su zahtevali posebnu instalaciju) za programe Visual C++, Visual Basic, J++, i alatku poznatu kao InterDev. Program Visual Studio 6.0 imao je drastična poboljšanja koja su označila rođenje programa Visual Basic 6 i koja su oslikavala ideju skupa jedinstvenih usluga za sve jezike.
Visual Studio .NET 2002 i Visual Studio .NET 2003 su tu ideju sproveli u delo sa platformom .NET Framework. Po prvi put jedan programer je mogao da napiše aplikaciju na jeziku po svom izboru korišćenjem mogućnosti opšteg skupa alatki uključujući dizajniranje, kontrole “prevuci i otpusti” i IntelliSense.
Visual Studio 2005 je nova verzija programskog alata koja donosi novi pogled na razvojni proces. Zajedno sa porastom produktivnosti programera, došlo je i do porasta u veličini i kompleksnosti razvojnih projekata i timova. Unapređena je komunikacija i povećana produktivnost članova tima koji rade na nekom projektu. Visual Studio Team System olakšava razvoj kvalitetnih aplikacija omogućavajući članovima tima da se fokusiraju isključivo na rezultate. Razvojno okruţenje Visual Studio 2005 predstavlja velik korak napred u razvoju programskih rešenja i donosi inovacije u svim područjima, od razvoja desktop-aplikacija, preko web-aplikacija, sve do aplikacija za mobilne uređaje. Visual Studio 2005 je nastao da bi pomogao programerima u timovima različitih veličina da povećaju međusobnu saradnju i smanje kompleksnost razvoja. Sa svakim novim izdanjem, Microsoft je u projektu Visual Studio ostvarivao komunikaciju sa programerskom zajednicom kako bi dobio povratne informacije radi usavršavanja proizvoda.
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 16
Slika 2.4 Microsoft Visual Studio 2008
Najnovija verzija ovog programskog paketa je Microsoft Visual Studio 2008, koja je lansirana 19. Novembra 2007. godine, zajedno sa paketom .NET framework 3.5.
Visual Studio je moguće nabaviti u nekoliko različitih verzija: Express, Standard, Professional i Visual Studio Team System Editions.
Slika 2.5 Uporedne karakteristike verzija – preuzeto iz [15]
Trenutno aktuelna verzija je Microsoft Visual Studio 2008 SP1, a njenu besplatnu (express) verziju moţete preuzeti sa Microsoft-ovog sajta [16].
Nova verzija ovog programskog paketa, pod imenom Microsoft Visual Studio 2010, biće dostupna od 12. aprila 2010.
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 17
2.6 Web Service
Web servisi [17], [18] predstavljaju programe koji su dostupni putem javno objavljenih interfejsa i putem standardnih komunikacionih protokola.
Danas se najčešće podrazumeva da su web servisi programi dostupni putem SOAP (Simple Object Access Protocol) protokola [19], sa interfejsom za pristup opisanim pomoću WSDL (Web Services Description Language) jezika [19], koji eventualno mogu biti registrovani na UDDI (Universal Description, Discovery, and Integration) servisu [20].
Slika 2.6 Arhitektura Web servisa – preuzeto iz [17]
Osobine Web servisa:
Svi elementi arhitekture, uključujući i komunikacioni protokol, su zasnovani na XML-u. Ova osobina omogućava jednostavniju implementaciju nego kod binarnih formata i veću interoperabilnost među različitim implementacijama.
Upotreba standardnih Internet transportnih mehanizama omogućava prijateljski (firewall-friendly) odnos bezbednosnih sistema i Web servisa. Takođe povećava njihovu globalnu dostupnost.
Fokus se postavlja na interoperabilnosti. Po definiciji [21], interoperabilnost je sposobnost da dve ili više mreţa, sistema, uređaja, aplikacija ili komponenti međusobno razmenjuju i koriste razmenjene informacije.
Konverzija podataka u/iz XML format je neophodna. Zbog toga nisu pogodni za sisteme gde su performanse komunikacije od posebnog značaja.
Homogeni sistemi su u celosti implementirani na jednoj razvojnoj platformi te upotreba web servisa u implementaciji dovodi do nepotrebnog komplikovanja.
2.7 Silverlight
Silverlight [22], [23], [24] je moćna razvojna platforma (Web Application framework) za kreiranje bogatih multimedijalnih i poslovnih aplikacija za Web,
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 18
desktop i mobilne uređaje. Kreirana je po uzoru na Adobe Flash [25] sa ciljem da se integriše multimedija, grafika, animacija i interakcija unutar jednog ambijenta.
Sama platforma je napisana u C++ i C# programskim jezicima. Bazirana je na Microsoft .NET framework-u, a besplatan plug-in radi na više pretraţivača, uređaja i operativnih sistema kao što su Microsoft Windows, Linux (Novell Moonlight), Mac OS X operating systems, FreeBSD (Novell Moonlight), Windows Phone 7 Series i Symbian (Series 60).
Slika 2.7 Arhitektura Silverlight platforme – preuzeto iz [24]
Sa velikim mogućnostima dizajniranja, snaţnim komunikacionim protokolima, robusnim pristupom podacima, podrškom za interakciju sa korisnikom i multimedijom visoke definicije, Silverlight omogućava kreiranje brzih, glatkih i vizualno bogatih interfejsa. Aplikacija se moţe brzo razviti u nekom od Microsoft-ovih alata, kao što su Microsoft Web Platform, Visual Studio i Expression Studio. Više o kreiranju Silverlight aplikacija, upotrebom C# programskog jezika, moţe se pronaći u knjizi (MacDonald, 2009).
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 19
Aktuelna verzija ove platforme je Silverlight 3.0, a ona se besplatno moţe preuzeti sa adrese [26]. Nova verzija 4.0 će biti dostupna 13. aprila 2010. godine.
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 20
3. IMPLEMENTACIJA
U implementaciji aplikacije su korišćeni Power Designer 15 i MySQL 5.1, .NET Framework 3.5, Web service, ASP.NET i Silverlight 3.0 platforma.
3.1 Arhitektura projekta
Projekat se sastoji iz nekoliko slojeva, čiji je odnos prikazan na slici 3.1. Svaki sloj je u stanju da razmenjuje podatke sa slojevima koji se nalaze neposredno iznad i ispod njega.
Presentation
Business
Data
DATA MySQL
STORED PROCEDURES
WEB SERVICE .NET3.5
SILVERLIGHT 3.0
Slika 3.1 Arhitektura projekta
3.2 Baza podataka
Implementacija baze podataka uključuje analizu sistema, dizajniranje konceptualnog i fizičkog modela baze podataka, kreiranje šeme na osnovu modela, kreiranje storovanih procedura i popuna baze podacima.
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 21
3.2.1 Konceptualni model
Konceptualni model baze podataka je dizajniran pomoću alata Power Designer 15. Sastoji se iz tri grupe tabela:
User (ljubičaste boje) – korisničke tabele
View (rozle boje) – tabele upitnika
List (plave boje) – tabele entiteta
Slika 3.2 Konceptualni model baze podataka
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 22
3.2.2 Fizički model
Upotrebom programskog alata Power Designer, na osnovu konceptualnog modela baze podataka, generisan je fizički model za MySQL 5.0 bazu podataka.
Fizički model je prikazan na slici 3.3.
Slika 3.3 Fizički model baze podataka
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 23
3.2.3 Generisanje skriptova
Pomoću opcije Database → GenerateDatabase… generisan je SQL skript za kreiranje šeme baze podataka, na osnovu postojeće fizičkog modela.
Slika 3.4 Generisanje skripta šeme baze
Takođe je pomoću opcije Database → GenerateTest Data… generisan SQL skript za popunu novokreirane šeme testnim podacima.
Slika 3.5 Generisanje skripta testnih podataka
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 24
3.2.4 Storovane procedure
MySQL baza od verzije 5.0, po uzoru na ostale baze podataka, nudi mogućnost kreiranja storovanih procedura [27], [28].
U projektu biznis logika sa bazom komunicira isključivo preko storovanih procedura. Zbog toga se storovane procedure mogu posmatrati kao dodatni nivo izolacije za podatke u bazi.
Primer storovane procedure koja se poziva pri logovanju prikazan je u nastavku.
DELIMITER $$
DROP PROCEDURE IF EXISTS `Login` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Login`(
IN pUserName VARCHAR(64),
IN pPassword VARCHAR(40)
)
BEGIN
SELECT u.`UserID`, u.`UserName`, u.`FirstName`, u.`LastName`, u.`EMail`, u.`DateCreate`, u.`DateModify`, p.`PermissionID`, p.`Name` as 'PermissionName', p.`Level` as 'PermissionLevel', d.`DepartmentID`, d.`Name` as 'DepartmentName', o.`PositionID`, o.`Name` as 'PositionName'
FROM users u
INNER JOIN permissions p ON p.PermissionID = u.PermissionID
INNER JOIN departments d ON d.DepartmentID = u.DepartmentID
INNER JOIN positions o ON o.PositionID = u.PositionID
WHERE u.IsDeleted = 0
AND u.UserName = pUserName
AND u.Password = SHA1(pPassword);
END $$
DELIMITER ;
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 25
3.3 Biznis logika
Biznis logika aplikacije implementirana je u programskom alatu Visual Studio 2008 sp1, upotrebom C# programskog jezika, .NET3.5 framework-a i Web service tehnologije. Predstavlja jedan od tri dela „Slolution NIR“ projekta (slika 3.6) i nosi naziv „Server“.
Cilj „Server” projekta je da komunicira sa bazom podataka u cilju pribavljanja neophodnih podataka, da vrši obradu i filtriranje istih i da tako dobijene podatke prosledi putem Web servisa aplikaciji koja ih zahteva (u ovo slučaju Silverlight aplikaciji).
Slika 3.6 Solution Explorer - NIR Solution
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 26
3.3.1 Struktura biznis logike
Server projekat se sastoji iz nekoliko slojeva koji su predstavljeni na slici 3.7.
MODEL
CONTROLLER
WEB SERVICE
DATA BASE CONNECTOR
Slika 3.7 Arhitektura biznis logike
Data Base Connector predstavlja MySQL Connector-Net 6.1.3 komponentu, koja je zaduţena za povezivanje MySQL baze i .NET aplikacije. Komponenta se moţe preuzeti sa adrese [29]. Sloj Model sluţi da zahtev koji pristigne od kontrolera prosledi u odgovarajućem formatu Data Base connector-u koji dalje komunicira sa bazom. Informacija o tome sa kojom bazom komunicira .NET aplikacija definiše se u web.config XML datoteci tagom:
<appSettings>
<add key="ConnectionInfo" value="datasource=localhost;
username=root;password=goran;database=nir"/>
</appSettings>
Controller na osnovu zahteva koji dobije od Web servisa odlučuje kojem će modelu biti prosleđen isti. Web Service sloj sluţi za komunikaciju projekta sa drugim aplikacijama. Predviđena je upotreba standardnog SOAP protokola [30]. Za korišćenje HttpGet i HttpPost zahteva neophodno je prethodno omogućiti njihovu primenu [31], dodavanjem tagova u web.config datoteku projekta.
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 27
Solution Explorer NIR.Server projekta prikazan je na slici 3.8. U direktorijumima „Controller“ i „Model“ se nalaze kontroler i model klase, a NIRWebService.asmx i NIRWebService.asmx.cs predstavljaju Web servis komponente. Web.config sluţi za konfigurisanje aplikacije [32], dok XML datoteka crossdomain.xml opisuje prava korišćenja servisa [33].
Slika 3.8 Solution Explorer NIR.Server
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 28
3.3.2 Delovi koda
Deo koda klase NIR.Server.Model.UserModel dat je u nastavku.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MySql.Data.MySqlClient;
using System.Data;
using System.Configuration;
namespace Server.Model
{
public class UserModel
{
private MySqlConnection _mycon { get; set; }
private string _query { get; set; }
public UserModel()
{
//create a new mysqlconnection
_mycon = new MySqlConnection(ConfigurationSettings.
AppSettings["ConnectionInfo"]);
_query = string.Empty;
}
#region Login
internal string Login(string UserName, string Password)
{
try
{
_query = "Call Login('" + UserName.Trim() + "','" +
Password.Trim() + "')";
MySqlDataAdapter myadp = new MySqlDataAdapter(_query,
_mycon);
DataSet myds = new DataSet();
myadp.Fill(myds);
return myds.GetXml();
}
catch (MySqlException ex)
{
throw new Exception(ex.Message);
}
}
. . .
#endregion
}
}
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 29
Deo koda klase NIR.Server.Controller.User dat je u nastavku.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Server.Model;
namespace Server.Controller
{
public class User
{
private UserModel _User { get; set; }
private DepartmentModel _Department { get; set; }
private PositionModel _Position { get; set; }
private PermissionModel _Permission { get; set; }
#region Login
public string Login(string UserName, string Password)
{
try
{
string result = string.Empty;
_User = new UserModel();
result = _User.Login(UserName, Password);
return result;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
. . .
#endregion
}
}
Deo koda Web servisa i njegove metode Login dat je u nastavku.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using Server.Controller;
namespace Server
{
/// <summary>
/// Summary description for NIRWebService
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 30
/// </summary>
[WebService(Namespace = "http://goranpanic.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class NIRWebService: System.Web.Services.WebService
{
#region User
[WebMethod]
public string Login(string UserName, string Password)
{
try
{
User _controller = new User();
return _controller.Login(UserName, Password);
}
catch (Exception ex)
{
return ("Error: " + ex.Message);
}
}
. . .
#endregion
}
}
3.3.3 Lista implementiranih metoda Web servisa
Spisak implementiranih metoda “NIRWebService“ Web servisa:
ChangePassword – izmena šifre korisnika
CreateApplicationResult – dodavanje primene naučnih rezultata
CreateDepartment – dodavanje novog departmana
CreateForeignGuest – dodavanje stranih gostovanja
CreateForeignGuestFull – dodavanje stranih gostovanja sa dodatnim podacima
CreateInstitution – dodavanje nove institucije
CreatePIMCategory – dodavanje nove vrste učešća na skupovima
CreateParticipationInMeeting – dodavanje učešća na skupovima
CreatePermission – dodavanje prava korisniku
CreatePosition – dodavanje nove pozicije korisnika
CreateProjectType – dodavanje novog tipa naučno-istraţivačkog projekta
CreateSRPStatus – dodavanje novog statusa istraţivača
CreateSWCategory – dodavanje nove kategorije naučnih radova
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 31
CreateScientificResearchProject – dodavanje naučno-istraţivačkog projekta
CreateScientificResearchProjectFull – dodavanje naučno-istraţivačkog projekta
sa dodatnim podacima
CreateScientificWork – dodavanje naučnog rada
CreateStudent – dodavanje novog studenta
CreateStudentIssue – dodavanje sudentskog temata
CreateStudentIssueFull – dodavanje sudentskog temata sa dodatnim podacima
CreateUser – dodavanje novog korisnika
DeleteApplicationResult – brisanje primenjenih rezultata
DeleteDepartment – brisanje departmana
DeleteForeignGuest – brisanje stranih gostovanja
DeleteInstitution – brisanje institucije
DeletePIMCategory – brisanje vrste učešća na skupovima
DeleteParticipationInMeeting – brisanje učešća na skupovima
DeletePermission – brisanje prava korisnika
DeletePosition – brisanje pozicije korisnika
DeleteProjectType – brisanje tipa naučno-istraţivačkog projekta
DeleteSRPStatus – brisanje statusa istraţivača
DeleteSWCategory – brisanje kategorije naučnih radova
DeleteScientificResearchProject – brisanje naučno-istraţivačkog projekta
DeleteScientificWork – brisanje naučnog rada
DeleteStudent – brisanje studenta
DeleteStudentIssue – brisanje sudentskog temata
DeleteUser – brisanje korisnika
GetApplicationResult – vraća podatake o primenama naučnih rezultata
GetDepartment – vraća departmane
GetForeignGuest – vraća podatake o stranim gostima
GetInstitution – vraća institucije
GetPIMCategory – vraća tipove učešća na naučnim skupovima
GetParticipationInMeeting – vraća podatake o učešćima na skupovima
GetPermission – vraća prava korisnika
GetPosition – vraća pozicije korisnika
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 32
GetProjectType – vraća tipove naučno-istraţivačkih projekta
GetSRPStatus – vraća tipove naučno-istraţivačkih projekata
GetSWCategory – vraća tipove naučnih radova
GetScientificResearchProject – vraća podatake o naučno-istraţivačkim projektima
GetScientificWork – vraća podatake o naučnim radovima
GetStudent – vraća podatake o studentima
GetStudentIssue – vraća podatake o studentskim tematima
GetUser – vraća podatake o korisnicima
Login – logovanje korisnika
UpdateApplicationResult – izmena primenjenih rezultata
UpdateDepartment – izmena podataka o departmanu
UpdateForeignGuest – izmena podataka o gostovanju stranih istrţivača
UpdateForeignGuestFull – izmena podataka o gostovanju stranih istrţivača i dodatnih podataka
UpdateInstitution – izmena podataka o instituciji
UpdatePIMCategory – izmena podataka o vrsti učešća na skupovima
UpdateParticipationInMeeting – izmena podataka o učešću na skupovima
UpdatePermission – izmena podataka opravima korisnika
UpdatePosition – izmena podataka o poziciji korisnika
UpdateProjectType – izmena podataka o tipu projekta
UpdateSRPStatus – izmena podataka o tipu naučno-istraţivačkog projekta
UpdateSWCategory – izmena podataka o tipu naučnog rada
UpdateScientificResearchProject – izmena podataka o naučno-istraţivačkom projektu
UpdateScientificResearchProjectFull – izmena podataka o naučno-istraţivačkom projektu i dodatnih informacija
UpdateScientificWork – izmena podataka o naučnom radu
UpdateStudent – izmena podataka o studentu
UpdateStudentIssue – izmena podataka o studentskom tematu
UpdateStudentIssueFull – izmena podataka o studentskom tematu i ostalih podataka
UpdateUser – izmena podataka o korisniku
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 33
3.4 Klijentska aplikacija
Klijentski deo projekta predstavlja Silverlight aplikacija (slika 3.9). Mogućnosti Silverlight aplikacija opisane su u poglavlju 2.7.
Slika 3.9 Solution Explorer NIR.NIR
Projekat referencira servis NIRWebService, koji predstavlja Web servis definisan u NIR.Server projektu. Referencirani projekat obezbeđuje aplikaciji potrebne podatke.
Osnovu aplikacije predstavlja inicijalna stranica MainPage.xaml koja definiše dizajn aplikacije i implementira logiku pozivanja podređenih stranica.
Direktorijum View sadrţi (eng. Silverlight Child Window) komponente, koje opisuju forme za popunjavanje upitnika. Ove komponente se po potrebi pozivaju sa glavne strane.
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 34
Izgled Silverlight stranica definiše se pomoću XAML-a [34], dok se za definisanje osnovnih funkcionalnosti koristi C# kod u pozadini. Primer dela XAML koda koji se koristi u aplikaciji dat je u nastavku:
<controls:ChildWindow x:Class="NIR.View.LoginView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:System.Windows.Controls;
assembly=System.Windows.Controls" Width="300" Height="180"
Title="Logovanje na sistem" OverlayBrush="LightSteelBlue"
HasCloseButton="False">
<Grid x:Name="LayoutRoot" Margin="2">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="10" />
<RowDefinition Height="Auto" />
<RowDefinition Height="10" />
<RowDefinition Height="Auto" />
<RowDefinition Height="10" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="lTextUserName" Text="Korisničko ime "
Grid.Row="2" Grid.Column="0" HorizontalAlignment="Right"/>
<TextBox x:Name="lUserName" Grid.Row="2" Grid.Column="1"/>
<TextBlock x:Name="lTextPassword" Text="Lozinka " Grid.Row="4"
Grid.Column="0" HorizontalAlignment="Right"/>
<PasswordBox x:Name="lPassword" Grid.Row="4" Grid.Column="1"/>
<TextBlock x:Name="lReg" Text="Kreiraj novi nalog" Grid.Row="6"
Grid.Column="1" MouseLeftButtonUp="lReg_MouseLeftButtonUp"
Margin="0,0,5,0" FontWeight="Bold" TextDecorations="Underline"
FontSize="12" FontFamily="Vedrana" MouseEnter="lReg_MouseEnter"
MouseLeave="lReg_MouseLeave"/>
<StackPanel Orientation="Horizontal" Grid.Row="7" Grid.Column="1"
HorizontalAlignment="Right" VerticalAlignment="Bottom" >
<Button x:Name="OKButton" Content="Potvrdi" Margin="5,5,5,5"
Click="OKButton_Click" BorderBrush="Black"
BorderThickness="1" Width="75" Height="26" />
</StackPanel>
</Grid>
</controls:ChildWindow>
Direktorijum Data sadrţi klasu AppInfo koja opisuje trenutno stanje sesije korisnika i klase za validaciju podataka CheckValidation, CustomValidation i Extension.
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 35
Osnovni tip podataka koji se razmenjuje u aplikaciji predstavlja entitet. Entiteti su definisani u direktorijumu Entities i predstavljaju klase koje sadrţe sve neophodne osobine (engl. propery) [35] posmatranog objekta. Primer koda takve klase dat je u nastavku
namespace NIR.Entities
{
public class User
{
public int UserID { get; set; }
public string UserName { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string EMail { get; set; }
public string Password { get; set; }
public int PermissionID { get; set; }
public string PermissionName { get; set; }
public int PermissionLevel { get; set; }
public int DepartmentID { get; set; }
public string DepartmentName { get; set; }
public int PositionID { get; set; }
public string PositionName { get; set; }
public DateTime DateCreate { get; set; }
public DateTime DateModify { get; set; }
}
}
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 36
4. PRAVCI DALJEG RAZVOJA
Sistem je projektovan tako da omogući njegovo povezivanje sa drugim aplikacijama. Klijenti sistemu mogu pristupati putem web servisa pozivanjem nekih od njegovih metoda. Za komunikaciju je preporučljiva upotreba SOAP protokola, a odgovor se generiše i vraća u korisniku čitljivom XML formatu.
Ovakav pristup dizajniranju sistema pruţa mogućnost korisnicima da, ukoliko ţele, dizajniraju svoje nezavisne klijentske aplikacije koje će koristiti podatke i logiku postojećeg sistema. Bilo koji uređaj koji podrţava rad sa web servisima i XML-om moţe koristi serversku komponentu aplikacije.
PODACI
LOKALNA
MREŢA
INTERNET
WEB SERVICE
NIR SERVER
Slika 4.1 Povezivanje sa klijentima
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 37
4.1 Generisanje izveštaja
Praćenje i analiza rezultata od strane same institucije ili drugih institucija, čest je slučaj i obaveza. U tu svrhu koriste se izveštaji koji prikazuju određenu grupu podataka, odabranu po nekim kriterijumima, najčešće u zadatom vremenskom intervalu.
Oslanjanjem na serversku komponentu aplikacije i tehnologiju Web servisa, moţe se kreirati klijentska aplikacija za generisanje izveštaja. Praćenje izveštaja doprinelo bi boljem sagledavanju trenutnog stanja naučno-istraţivačkog rada institucije.
Klijentska aplikacija za generisanje izveštaja se moţe proslediti ustanovama nadleţnim za praćenje rada, koje bi na ovaj način bile u mogućnosti da upotrebom ovako generisanih izveštaja u svakom trenutku dobiju uvid u rad institucije.
4.2 Povezivanje sa sličnim sistemima
Sistem se moţe osposobiti tako da koristi podatke iz drugih sistema, koji se bave prikupljanjem i obradom podataka drugih naučnih institucija. Takav bi sistem bio u mogućnosti da pored obrade podataka iz svog sistema, obrađuje i prikazuje podatke iz drugih sistema.
Standardizacija propisana pravilnikom o postupku i načinu vrednovanja, i kvantitativnom iskazivanju naučnoistraţivačkih rezultata istraţivača, pruţa mogućnost poređenja rezultata. Poređenjem postignutih rezultata neke institucije sa rezultatima drugih institucija, moţe se preciznije odrediti kvalitet i kvantitet naučno –istraţivačkog rada u toj instituciji. Dobijanjem jasne slike o poziciji institucije u odnosu na ostale, moţe se poraditi na parametrima koji ne zadovoljavaju opšte standarde.
Pregledanjem i analiziranjem podataka iz sistema drugih naučnih institucija, korisnik ima mogućnost da aktivno prati pravce u kojima se kreće naučno – istraţivački rad sličnih institucija. Ovo moţe sprečiti proučavanje istih tema i bespotrebno trošenje resursa. Takođe otvara mogućnost udruţenja različitih institucija koje se bave sličnim naučno – istraţivačkim radom u cilju razmene iskustava i radu na zajedničkim projektima.
Transparentnost naučno – istraţivačkog rada, do koje se neminovno dolazi povezivanjem sistema u zajedničku mreţu, doprinosi i sprečavanju zloupotrebe istog. Preuzimanje tuđeg naučnog rada ili njegovog dela, bilo bi znatno oteţano.
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 38
5. LITERATURA
Reference
Službeni glasnik RS, br. 38/2008 (2008), “Pravilnik o postupku i načinu vrednovanja, i kvantitativnom iskazivanju naučnoistraţivačkih rezultata istraţivača”, 14. Aprila, Pravilnici str. 16. – 27.
Watson, B. (2010) “C# 4.0 How to”, Apress, New York
MacDonald, M. (2009) “Pro Silverlight 3 in C#”, Sams, Indiana
Web stranice
[1] Perun, Kvalitet nauke, dostupno na: http://perun.im.ns.ac.yu/services/pub/kvalitet_nauke/ (pregledano 31. januara 2010.)
[2] Filozofski fakultet - Univerzitet u Novom Sadu, Pravilnik, dostupno na: http://www.ff.uns.ac.rs/Files/Pravilnik o postupku i nacinu vrednovanja i kvant iskazivanju naucnoistr rez.pdf (pregledano 28. marta 2010.)
[3] Sybase, Power Designer, dostupno na: http://www.sybase.com/products/modelingdevelopment/powerdesigner (pregledano 29. marta 2010.)
[4] Wikipedia, PowerDesigner, dostupno na: http://en.wikipedia.org/wiki/PowerDesigner (pregledano 29. marta 2010.)
[5] Wikipedia, Sybase, dostupno na: http://www.csdn.net/subject/powerdesigner/techwave2005//dev427 model-driven development with powerdesigner.pdf (pregledano 29. marta 2010.)
[6] MySQL, MySQL, dostupno na: http://www.mysql.com/ (pregledano 8. aprila 2010.)
[7] Wikipedia, MySQL, dostupno na: http://en.wikipedia.org/wiki/MySQL (pregledano 8. aprila 2010.)
[8] MSDN, Visual C# Developer Center, dostupno na: http://msdn.microsoft.com/en-us/vcsharp/default.aspx (pregledano 8. aprila 2010.)
[9] Wikipedia, C Sharp (programming language), dostupno na: http://en.wikipedia.org/wiki/C_Sharp_(programming_language) (pregledano 8. aprila 2010.)
[10] Tiobe, Programming Community Index for April 2010, dostupno na: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html (pregledano 8. aprila 2010.)
[11] Microsoft, .NET, dostupno na: http://www.microsoft.com/NET/ (pregledano 8. aprila 2010.)
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 39
[12] Wikipedia, .NET Framework, dostupno na: http://en.wikipedia.org/wiki/.NET_Framework (pregledano 8. aprila 2010.)
[13] MSDN, .NET Framework Developer Center, dostupno na: http://msdn.microsoft.com/en-us/netframework/default.aspx (pregledano 8. aprila 2010.)
[14] MSDN, Microsoft Visual Studio, dostupno na: http://msdn.microsoft.com/en-us/vstudio/default.aspx (pregledano 8. aprila 2010.)
[15] Wikipedia, Microsoft Visual Studio, dostupno na: http://en.wikipedia.org/wiki/Visual_studio (pregledano 8. aprila 2010.)
[16] Microsoft, Microsoft Express – Downloads, dostupno na: http://www.microsoft.com/express/Downloads/ (pregledano 8. aprila 2010.)
[17] Wikipedia, Web service, dostupno na: http://en.wikipedia.org/wiki/Web_service (pregledano 9. aprila 2010.)
[18] Elitesecurity, FAQ Web servisi, dostupno na: http://www.elitesecurity.org/t11151 (pregledano 9. aprila 2010.)
[19] W3C, FAQ Web servisi, dostupno na: http://www.w3.org/ (pregledano 9. aprila 2010.)
[20] UDDI.XML.org, UDDI, dostupno na: http://uddi.xml.org/uddi-org (pregledano 9. aprila 2010.)
[21] BAS, Interoperabilnost, dostupno na: http://www.bas.gov.ba/glasnik1_08cl1.php (pregledano 9. aprila 2010.)
[22] Silverlight, Silverlight, dostupno na: http://www.silverlight.net/ (pregledano 9. aprila 2010.)
[23] Microsoft, Silverlight, dostupno na: http://www.microsoft.com/silverlight/ (pregledano 9. aprila 2010.)
[24] MSDN, Silverlight Architecture, dostupno na: http://msdn.microsoft.com/en-us/library/bb404713(VS.96).aspx (pregledano 9. aprila 2010.)
[25] Adobe, Adobe Flash Player, dostupno na: http://www.adobe.com/products/flashplayer/ (pregledano 9. aprila 2010.)
[26] Microsoft, Silverlight 3.050106 download , dostupno na: http://microsoft-silverlight.en.softonic.com/download (pregledano 9. aprila 2010.)
[27] Wikipedia, Stored procedure, dostupno na: http://en.wikipedia.org/wiki/Stored_procedure (pregledano 12. aprila 2010.)
[28] MySQL, MySQL 5.0 New Features Stored Procedures, dostupno na: http://dev.mysql.com/tech-resources/articles/mysql-storedprocedures.html (pregledano 12. aprila 2010.)
[29] MySQL, Download Connector/Net, dostupno na: http://dev.mysql.com/downloads/connector/net/6.1.html (pregledano 14. aprila 2010.)
Seminar 1 Upitnik za evaluaciju i samovrednovanje naučno-istraživačkog rada na fakultetu
S t r a n a | 40
[30] Wikipedia, SOAP, dostupno na: http://en.wikipedia.org/wiki/SOAP (pregledano 14. aprila 2010.)
[31] Microsoft Support, HTTP GET and HTTP POST Are Disabled by Default, dostupno na: http://support.microsoft.com/kb/819267 (pregledano 14. aprila 2010.)
[32] Microsoft Support, How To Create the Web.config File, dostupno na: http://support.microsoft.com/kb/815179 (pregledano 14. aprila 2010.)
[33] Microsoft Support, Cross-domain policy file specification, dostupno na: http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html (pregledano 14. aprila 2010.)
[34] MSDN, XAML Overview, dostupno na: http://msdn.microsoft.com/en-us/library/ms752059.aspx (pregledano 15. aprila 2010.)
[35] MSDN, Properties (C# Programming Guide), dostupno na: http://msdn.microsoft.com/en-us/library/x9fsa0sw.aspx (pregledano 15. aprila 2010.)
Top Related