Универзитет Св. Климент Охридски Битола Факултет за Информатички и Комуникациски Технологии. студиска програма

Size: px
Start display at page:

Download "Универзитет Св. Климент Охридски Битола Факултет за Информатички и Комуникациски Технологии. студиска програма"

Transcription

1 Универзитет Св. Климент Охридски Битола Факултет за Информатички и Комуникациски Технологии студиска програма Инженерство и менаџмент на софтверски апликации Магистерски труд Microsoft алатките за веб апликаци и клиентелизмот во јавниот сектор во Република Македонија Кандидат: Драгана Анчева Ментор: Доц. д-р Снежана Савоска Битола, Јуни 2015 година

2 Комисија за оценка и одбрана: 1. доц. д-р Савоска Снежана 2. доц. д-р Елена Влаху Ѓоргиевска 3. доц. д-р Мимоза Јовановска- Богданоска

3 Изјава

4 Содржина Изјава 3 АПСТРАКТ... 9 ВОВЕД Избор на платформа за проблемскиот контекст Истражување на проблемите во јавниот сектор при работа со клиенти и можни ИТ решенија Студија на случај - подобрување на работата во јавен сектор со помош на веб апликации Развој на базата на податоци Изработка на апликативниот софтвер Концепт на клиентизам: Однос помеѓу клиентите и јавните претпријатија специфичности и како да се пресретнат Анализа на можните платформи во проблемскиот контекст Опис на програмска подршка IIS (Internet Information Services) Ентитети во IIS ASP.NET АSP.NET серверски контроли и скрипти на клиентска страна CLIENT SIDE CALLBACK ASP.NET веб серверски контроли Label серверска контрола Literal серверска контрола TextBox серверска контрола Користење на методот Focus() Користење на AutoPostBack Користење на AutoCompleteType Button серверска контрола CausesValidation својство CommandName својство Копчиња кои работат со JavaScript на клиентска страна LINKBUTTON серверска контрола IMAGEBUTTON серверска контрола HYPERLINK серверска контрола DROPDOWN LIST серверска контрола Визуелно бришење на предметите од колекцијата... 67

5 LISTBOX серверска контрола Дозвола на корисниците за избор на повеќе предмети Додавање на предмети во колекцијата CHECKBOX серверска контрола Како да се утврди дали контролните правоаголници се чекирани Доделување вредност на контролниот правоаголник Доделување текст низ целиот контролен правоаголник CHECKBOXLIST серверска контрола RADIOBUTTON серверска контрола RADIOBUTTONLIST серверска контрола IMAGE серверска контрола TABLE серверска контрола CALENDAR серверска контрола Правење селекција на дата од контролата Calendar Правење селекции на ден, недела или месец ADROTATOR серверска контрола XML серверска контрола PANEL серверска контрола PLACEHOLDER серверска контрола BULLETEDLIST серверска контрола FILEUPLOAD серверска контрола Прикачување на фајлови со употреба на контролата FileUpload MULTIVIEW И VIEW серверски контроли WIZARD серверска контрола IMAGEMAP серверска контрола CHART серверска контрола Работа со master страници Управување со веб форми ADO.NET Креирање на база на податоци и креирање врски помеѓу табелите ER дијаграми и нивно користење во апликацијата DFD дијаграми UML дијаграми Анализа на придобивките од апликацијата за корисникот Опис на програмското решение Опис на табелите во базата на податоци

6 5. Методологија на истражување Заклучок Преглед на литература Анекс А Листинзи

7 Листа на слики Слика 1. Garbage collection [16] Слика 2. Поглед на структурата на БП креирана во MS SQL Server Слика 3. Структура на кодот на апликацијата Слика 4. Приказ на екранот за логирање во веб апликацијата Слика 5.Приказ на екранот за регистрирање Слика 6. Преглед на екран за избор на веќе внесен ученик или за внес на нов ученик Слика 7. Приказ на екран за внес на податоци за нов ученик Слика 8. Приказ на екран за избор на преглед на ученик по клас или по година Слика 9. Модерна апликациска платформа за веб[30] Слика 10..NET платформа и користење на CLI [30] Слика 11. Поле за текст Слика 12. TextMode= Password Слика 13. Повеќелиниско поле за текст Слика 14. Smart TextBox Слика 15. Употреба на контролата Link Button Слика 16. DropDownList [1] Слика 17. DropDownList Page Слика 18. DropDownList Server Control Слика 19. ListBox контрола Слика 20. Употреба на контролата ListBox Слика 21. Контрола CheckBox Слика 22. RadioButton серверска контрола Слика 23. Резултат од употребата на RadioButton контролата Слика 24. RadioButtonList Слика 25. Табела со три редици Слика 26. Контрола календар Слика 27. Селекција на дата од контролата Calendar Слика 28. Селекции на ден, недела и месец Слика 29. Серверска контрола Panel Слика 30. Контрола Panel со различни хоризонтални порамнувања Слика 31. Panel серверска контрола... 87

8 Слика 32. BulletedList Слика 33. Употреба на слика како знак за подредување Слика 34. FileUpload серверска контрола Слика 35. MultiView серверска контрола Слика 36. Wizard серверска контрола Слика 37. ImageMap контрола Слика 38. Chart серверска контрола Слика 39. ER дијаграм на системскиот предлог Слика 40. DFD дијаграм на предложениот систем Слика 41. Use case diagram на предложениот систем Слика 42. Activity diagram на предложениот систем Слика 43. Sequence diagram на предложениот систем Слика 44. Приказ на табелата Logiranje Слика 45. Приказ на табелата Opstina Слика 46. Приказ на табелата Uciliste Слика 47. Приказ на табелата SrednoskolBileti Листа на табели Табела 1. HTML серверски контроли и веб серверски контроли Табела 2. Елементи на XML фајл... 83

9 АПСТРАКТ Во последните години, вкупните активности на луѓето и бизнисот воопшто се пресели на Интернет. Ова може да се потврди со тоа што денес сите вработени, соработници или корисници на производите и услугите можат својата работа да ја извршуваат од било кое место, брзо, ефикасно и навремено со користење на веб апликации. За развојот на веб апликации може да се користат многу алатки и платформи. Исто така постојат и системи со отворен код кои може да помогнат во веб развојот. Популарен пример е LAMP (Linux, Apache, MySQL, PHP) кој е достапен за бесплатно преземање преку Интернет. Постојаното растење на сетот на алатки и технологии им помага на програмерите да изградат подинамични и интерактивни апликации. Корисниците може да комуницираат преку онлајн апликациите за да креираат нова содржина. Со тоа се создаваат нови методи во комуникацијата. Добар пример за трансформација во комуникацијата предводена од веб развојот е блогот. Веб апликациите како WordPress и Movable Type создаваат блог околини кои лесно се имплементираат за индивидуалните веб апликации. Популарноста на open source системите за управување со содржината како Joomla, Drupal, XOOPS и компаниските системи за управување со содржина како Alfresco и exo Platform имаат зголемено влијание за веб развој во онлајн интеракцијата и комуникацијата. Алатките за развој на веб апликации му овозможуваат на веб програмерите да ги тестираат и да ги дебагираат нивните кодови. Предложената тема за изработка на овој магистерски труд треба да направи интеграција на две посебни области: клиентелизмот во јавниот сектор како модернизација на јавната администација со помош на ИКТ во правец на прилагодување на јавните сервиси кон потребите на граѓаните/локалната заедница во правец на постигнување клиентски ориентирана јавна администрација на локално ниво. Целта е од таа симбоза да произлезе општествено корисна алатка која ќе биде наменета за подобрување на работењето на дел од јавниот сектор сервисот за издавање повластени билети на учениците и подигнување на задоволството на корисниците од нивните услуги. Изработката на веб апликација во практичниот дел на трудот треба да покаже како на ефективен начин со помош на веб апликација креирана со алатките ASP.NET, C#.NET и ADO.NET, кои се детално обработени во трудот, може

10 да се решат проблеми како оние кои го тиштат јавниот сектор и во голема мера да ја подобрат нивната ефикасност.

11 ВОВЕД Силно влијание врз промените на начинот на работа во сите сфери на бизнисот и воопшто во јавниот сектор изврши развојот на информатичката технологија која обезбедува техничка поддршка за воведување на претпријатиски промени во сите сектори на работењето, било да се работи за бизнис секторот или за јавниот сектор. Концептот граѓанинот во центарот влијае врз институциите од јавната администрација во правец на подобрување на работењето на јавниот сектор. Врската помеѓу институциите и граѓаните понекогаш не е регулирана со облигаторски односи, туку со договори за реципрочна размена на добра и услуги кои се базирани на морални обврски што во светот е познато како клиентелизам или демократско покровителство кое поддржува административна модернизација на проекти кои претежно се однесуваат на потребите на локалните самоуправи. Во овој магистерски труд поимот е искористен за прикажување на подобрувањето на процесот на издавање на средношколски билети од страна на Јавното сообраќајно претпријатие со помош на електронско поврзување помеѓу оваа институција од јавен карактер и училиштата кои треба да ги внесат податоците за учениците кои треба да добијат средношколски билети. Не постои поефикасен начин на подобрување на ефикасноста, ефективноста и контролата на процесите, од воведувањето на информациски технологии и системи во работењето на компаниите и институциите. Веб апликациите, кои секојдневно се појавуваат на веб просторите, извршуваат огромен број на задачи во функција на зголемување на достапноста на сервисите на компаниите кон граѓаните и институциите. Со добро изработена веб апликација може да се постигне подобрување на работењето во јавниот сектор, подобрување на односите со клиентите и поголема интеграција на сите процеси во општеството. За потребите на овој магистерски труд, направена е анализа на потребите и барањата на корисниците на услугата издавање на средношколски билети од страна на Јавното сообраќајно претпријатие. Дополнително, изработена е и веб апликација со цел да се подобри ефикасноста и ефективноста на вработените во Јавното сообраќајно претпријатие (ЈСП) Скопје при издавање на билетите за јавниот транспорт за средошколците. Веб апликацијата е достапна преку Интернет и овозможува да се следи работата преку компаниската мрежа или од било која локација што има пристап до Интернет.

12 Веб апликацијата треба да им овозможи на вработените во ЈСП да ја зголемат својата ефикасност, во еден дел, со тоа што ќе ги добиваат податоците за учениците (од вработените во училиштата кои треба да ги внесуваат тие податоци). Вработените од ЈСП, користејќи ги тие податоци, ќе ги креираат и издаваат билетите. Примената на апликацијата ќе овозможи олеснување на работата на вработените и значително скратување на времето на извршување и ќе ги намали потребните документи кои треба да ги поседуваат учениците при набавка на билетите. Со тоа ќе се зголеми ефикасноста и ефективноста во работењето. Секако дека училиштата доброволно треба да ги внесуваат податоците за учениците, што претставува необлигациона обврска, но е општествено корисна. Во креирањето на оваа веб апликацијата се користи ASP.NET алатка и други делови на MS VisualStudio.NET, платформата како C#, ASP.NET и ADO.NET. Покрај оваа платформа, за истата цел може да се користат и: ASP скриптиран програмски јазик; PHP; Python објектен програмски јазик и други. Магистерскиот труд е структуриран во шест глави. Во првата глава се дадени појаснувања за проблемскиот контекст, анализата на проблемите кои треба да се решат со осврт на предложената студија на случај. Во овој дел се опфатени анализата на можните решенија како и изборот на платформа и причините за нејзин избор. Во втората глава се опишани програмската подршка за избраното решение, односно ASP.NET, C#.NET и ADO.NET. Објаснето е на кој начин се креирани базата на податоци, вклучувајќи ги табелите, поврзаноста на табелите, кверијата итн. Потоа се објаснети начините на поврзаност на базата на податоци преку алатките на Visual studio.net и Entity Framework концептот. Во оваа глава исто така се објаснети ASP.NET серверските контроли и скриптите на серверска и клиентска страна. Внимание е посветено и на работата со мастер страните и управувањето со веб формите. Во третата глава е опишано на кој начин е креирана веб апликацијата, потребите за креирање на оваа апликација, анализата и дизајнот на предложеното решение. Во оваа фаза се користени ER дијаграмите како алатка за креирање на ефикасни

13 нормализирани бази на податоци. Изгледот и функционалноста на оваа апликација исто така е опишана во овој дел. Апликацијата е изработена со алатките: MS SQL Server 2008 како систем за управување со бази на податоци и Visual studio.net платформа - C#.NET. Корисници на оваа апликација треба да бидат учениците, вработените во училиштата и вработените во ЈСП - Скопје. Преку оваа апликација, вработените во училиштата ќе ги внесуваат податоците за учениците, а тоа ќе биде основа за креирање и издавање на билети за средношколци. Исто така, опишани се придобивките на претпријатието од користењето на оваа апликација, како и начинот на кој е креирана и функционира самата веб апликација. Четвртата глава го покажува системскиот дизајн на предложениот систем изработен врз база на истражувањето на информациските потреби на корисниците на апликацијата. Петтата глава е резервирана за истражувањето за информационите потреби на корисниците, направено за оваа цел. Најнапред е опишана методологијата на истражување на проблемот која е користена, предметот, целите и методите на истражувањето, а потоа, на кој начин се обработени и интерпретирани добиените резултати. На крајот, дадени се заклучни согледувања и препораки за идни истражувања, како и препораки за примена на заклучоците од истражувањето во пракса. Не постои сомнеж дека Интернетот го менува секој ден светот во кој живееме. Иако никогаш не било полесно да се дојде до информација, да се оствари контакт и да се сподели сé со цел да се промовира нешто, секогаш постои некоја област која може да се подобри со употреба на новите технологии. Сета оваа погодност има способност да направи симбиоза во скоро сите области, па и во оваа, користење на веб апликации во функција на подобрување на клиентелизам помеѓу делови од јавниот сектор во Република Македонија. 1. Избор на платформа за проблемскиот контекст.net е платформата која Microsoft ја врзува за иднината на софверските технологии. Основната порака која ја носи оваа технологија е достапност во секој момент од секое место. Оваа платформа претставува долгорочен и стратегиски план

14 на развој не само во Microsoft..NET дава реална основа за развој на модерни апликации. Една од основните особини на оваа платформа е нејзината ориентација кон дистрибуираните апликации поврзани преку Интернет. Ова со себе носи повеќе предности [30]: Дистрибуираните апликации се повеќе објектно ориентирани; Овој стил на програмирање го забрзува креирањето на колекција на специфичен код на едно место, наспроти досегашниот стил каде се прават редундантни копии на многу места. Овој тип апликација овозможува софтверска целина расположлива за различни уреди преку интерфејс. Контролирањето на пристапот во реално време на дистрибуираните јазли (делови на една софтверска целина) може полесно да ја контролира работата на таквите апликации. Овој пристап ја поместува апликацијата од објектно ориентирани во правец на services provided. Библиотеката на класите е развиена од самиот почеток. Ова дава објектна структура, добар дизајн и добро дефинирање на основните структури. Јазична независност. Ова е постигнато со постење на меѓујазици IL (Intermediate Language, или MSIL), код напишан на било кој јазик, кој има подршка за.net, се преведува на код разбирлив за тој меѓујазик. Подршка за Web (XML Extensible Markup Language) услуги..net има развиено алатки за едноставно пишување на XML услуги (сервиси). Подобар пристап на динамички веб страници, базиран на ASP.NET технологиите. Ефикасен пристап на податоци преку ADO.NET класа..net поставува и нов пристап за заедничко користење на код. Наспроти традиционалната dll библиотека, се воведува концептот assembly. Заедничкото функционирање на различни платформи е императив во дистрибуирани апликации. Затоа било неопходно да се обезбеди стандардизација во размена на податоци. Така.NET платформата е изградена на стандардите на технологиите XML и SOAP (Simple Object Access Protocol).

15 Работата со овој вид апликации подразбира постоење на.net Framework..NET Framework содржи CLR (Common Language Runtime) како и колекции на класи на ова опкружување. CLR извршува код кој е компајлиран на.net платформа. CLR спецификацијата е отворена за сите платформи, вклучувајќи и non Windows. Исто така, сите програмски јазици може да се користат за работа со.net класи. Овие карактеристики обезбедуваат правење на дистрибуирани апликации чии целини може да работат со независни платформи, па дури и пишувани на различен програмски јазик. Сите јазици кои се опфатени со новиот пакет на Microsoft Visual Studio.NET имаат поддршка за.net класи[30] Истражување на проблемите во јавниот сектор при работа со клиенти и можни ИТ решенија Истражувањето е насочено кон тоа како веб апликациите придонесуваат за решавањето на проблемите во јавниот сектор. Предмет на овој магистерски труд се веб апликациите и констатацијата од недостаток на веб апликации за подобрување на работата на јавниот сектор во Република Македонија. Главниот акцент е ставен на односите со клиентите и како примената на веб апликацијата влијае на клиентелизмот, т.е. подобрување на квалитетот на јавните сервиси преку постигнување на поголема ефикасност и ефективност во работењето на јавниот сектор со употреба на ИКТ. Конкретниот пример на кој е покажано како да се надминат проблемите се однесува на решавање на проблемот на недостаток од податоци за средношколците во градот Скопје кои се корисници на јавниот превоз и овозможување на полесен и поефективен, поточен и побрз начин да добијат билети за средношколците преку користење на веб апликацијата. Со користењето на веб апликацијата се овозможува побрзо добивање на информациите кои се потребни за издавање на билети за средношколците од страна на ЈСП. Идејата за креирање на оваа апликација произлезе од потребата за олеснување на добивањето средношколски билети, олеснување на работата на вработените во ЈСП со побрзо добивање на податоците за учениците. Податоците за учениците треба да се внесуваат во некоја база од страна на задолжени лица од средните училишта, со што се намалува времето потребно за добивање на тие информации. Фактички - добивање на нулто доцнење на податоците и избегнување на дополнителни процедури за издавање потврди на средношколците од страна на училиштата, избегнување на нивна

16 злоупотреба и други аномалии се дел од придобивките кои произлегуваат од користењето на веб апликацијата. Преку апликацијата се овозможува задолжените вработени од училиштата, кои имаат кориснички код и лозинка, да внесуваат податоци и да ги ажурираат истите, со цел креирање на ажурна база на податоци од која може да се издадат легитимации за средношколците од страна на задолжените во ЈСП Студија на случај - подобрување на работата во јавен сектор со помош на веб апликации Студијата на случај која е користена при изработката на магистерскиот труд опфаќа анализа на потребите но и изработка на веб апликација поврзана со база на податоци. Веб апликацијата е направена во програмскиот јазик C# и ASP.NET од VisualStudio.NET пакетот. Сите.NET апликации се изградени од изворни датотеки со обичен текст. C# кодот се зачувува во.cs фајл, независно од тоа дали овој код е наменет за самостојна Windows апликација или за Интернет. C# е класифициран како еден од наследниците на јазикот C. Припаѓа во јазиците на новата генерација и вклучува современи особини [31]. Пример, се користи garbage collection кој го ослободува програмерот од размислување за делови на програмирање од ниско ниво. На сликата 1 е прикажана разликата на меморискиот отпад пред и после употребата на колекторот на мемориски отпад. Со сина боја прикажани се објектите кои се достапни од апликациските рути. Овие објекти не се субјекти на колекторот на garbage collection. Со темно сива боја прикажани се објектите кои не се достапни од апликациските рути. Овие објекти може да бидат ослободени. Додека пак со светло сива е прикажана слободната меморија. На сликата може да се забележи дека после употребата на колекторот ослободени се непотребните делови во меморијата.

17 Слика 1. Garbage collection [16] C# воведува нова врста објекти т.н. делегати кои имаат многу сличности со класите. Делегатите содржат детали за некој метод. Бидејќи C# е објектно ориентиран програмски јазик, сите наредби мора да се во класите. Со други зборови, C# нема глобален простор. Освен името на класата, на самиот почеток се наоѓа using System. Оваа наредба овозможува понатаму во кодот да се користат сите методи од просторот со име System, а експлицитно да не се наведува зборот System. Внатре во овој простор се наоѓа Windows, а во него Forms. Сите контроли кои се на располагање за.net програмирањето се креирани во System.Windows.Forms просторот. Постојат два вида променливи во C#. Тие може да бидат од вредносен или референтен тип. Вредносниот тип променливи содржи податок и не може да содржи null вредност, за разлика од референтните типови кои чуваат референци на мемориски адреси и тие се распределени на т.н. heap мемориски дел (дел од меморијата во кој динамички се распределени променливите). Програмите напишани во C# се составени од објекти, креирани од класи кои поседуваат својства и методи. Од напишаните класи во дадената програма се создаваат објекти со кои што преку дадените методи овие објекти се манипулираат. За работна околина е одбрана платформата Visual Studio.NET. Базата во која се сместуваат податоците е MS SQL Server.

18 Платформата Visual studio претставува интегрирана развојна околина каде што може брзо да се креира напредна апликација. Тоа обезбедува неколку импресивни бенефиции [25]: Интегрирана проверка на грешки: Visual Studio може да открие широк спектар на проблеми, како што се конверзациски грешки на типови на податоци, недостаток на именски простори или класи и недефинирани променливи. Дизајнер на веб форми: За да се креира веб страна во Visual studio, може едноставно да се повлечат ASP.NET контролите до соодветното место и да се конфигурираат нивните својства. Интегриран веб сервер: За извршување на ASP.NET веб апликацијата, потребно е да е инсталиран сервер кои го извршува IIS (Internet Information Services) софтверот на веб серверот. Веб серверот има јасна работа чека за барање од пребарувачот и им служи на соодветните страни. Благодарение на интегрираниот развиен веб сервер во Visual Studio, може да ја стартуваме веб страната директно од околината за дизајн. Програмер за продуктивни додатоци: Visual Studio прави брзо и ефикасно кодирање, со приказ на склопувачки код, автоматско завршување на изјава и синтакса на кодот во боја. Ситно грануларно дебагирање: Интегралниот дебагер во Visual Studio овозможува да се гледа извршувањето на кодот, да се паузира програмата во било која точка и да се провери содржината на било која променлива. Целосно проширување: Може да се креираат макроа (команди дефинирани и именувани од страна на корисникот што содржат множество на команди запишани како засебен фајл), да се променат шаблоните на проектот, па дури и да се додадат сопствени додатоци во Visual studio Развој на базата на податоци Базите на податоци (БП) се незаменлив дел во работењето со веб апликации. БП е место каде секојдневно се внесуваат, читаат, бришат и обновуваат податоци кои се

19 неопходни за работата на една веб апликација. Една од најважните предности и вредности на базите на податоци е тоа што имаат можност да чуваат и заштитат огромни количества податоци. Од аспект на веб програмирањето, нивната најважна предност се однесува на олеснувањето на начинот за работа со нив. БП може да биде било што, од обична листа за купување до листа на слики во уметничка галерија па се до големо количество податоци во претпријатиските мрежи. За додавање, пристап и обработка на податоци во БП, потребен е систем за управување со базата на податоци (СУБП) како што е SQL (структурен јазик за прашалници) најчест стандардизиран јазик за пристап до БП. SQL е најчесто користен стандард за комуникација со релационите БП. Тој е базиран на релациона алгебра, лесен е за изучување, има едноставна граматика и едноставна синтакса [29]. Според ANSI (American National Standards Institute), SQL претставува стандардизиран јазик за системите за управување со релационите бази на податоци. SQL исказите се употребуваат за извршување на задачи како што се ажурирање на податоци во базата на податоци, или за вчитување на податоци од базата на податоци, добивање прашалници (кверија) и слично. Некои општи системи за управување со релационите бази на податоци кои употребуваат SQL се: Oracle, Sybase, Microsoft SQL Server, Access, итн. Стандардните SQL команди како што се: Select, Insert, Update, Delete, Create и Drop може да се користат за извршување на речиси се што е потребно да се направи со БП. Системот на релациони БП содржи еден или повеќе објекти наречени табели. Податокот или информацијата за БП е складиран во овие табели. Табелите се идентификуваат по нивното име и се состојат од редици и колони. Колоните го содржат името на колоната, типот на податокот и други атрибути за колоната. Редиците ги содржат записите или податоците за колоните. SQL софтверот се состои од SQL сервер, од неколку дополнители нови програми кои служат за олеснување на администрацијата на БП. Исто така постојат и дополнителни програми кои се потребни за работа на серверот. SQL серверот е всушност менаџер на системот на базата на податоци. Низ него поминуваат сите инструкции на корисниците кои вршат управување врз базата на податоци. На пример, ако корисникот сака да направи нова БП, испраќа порака create new database and call it

20 newdata до SQL серверот. SQL серверот тогаш во својот фолдер прави подфолдер кој ќе носи наслов newdata. Ако сака понатаму таа база да се прошири, ќе се испрати нова команда до SQL серверот со точното одредиште каде сака податоците да се додадат. Но пред да се комуницира со серверот потребно е да се провери дали е стартуван и дали е подготвен да добива барања, задачи. Кога се користи SQL БП, тогаш сигурно станува збор за развивање на динамичка веб апликација. SQL може и да се користи и за многу други различни средини но најчесто се користи за креирање на веб апликации, веб страници итн [27]. ГЛАВНИ КАРАКТЕРИСТИКИ НА MS SQL Server Следната листа опишува некои од важните карактеристики на MS SQL Server [24]: 1. Програмата е квалификувана за целосно искористување на повеќе јадрени процесори. 2. Работи на многу различни платформи. 3. Постои поголем избор на податоци: int (цел број со или без предзнак), float, double, char, varchar, text, data, time, datetime, year, set и enum. 4. Брзо приклучување на користење на оптимизиран мулти- конектор. 5. Целосна операциона и функционална подршка во деловите SELECT и WHERE. 6. SQL функциите се имплементирани низ високо оптимизирани класни библиотеки и мора да бидат брзи колку што можат. 7. Целосна подршка за SQL GROUP BY и ORDER BY клаузулите. 8. Можност за мешање на табели од различни бази на податоци во ист прашалник. 9. Се справува со големи бази на податоци. 10. Се пишува во C и C++. А тестиран е со широк спектар на различни компајлери. 11. Многу брз систем за пронаоѓање на локација. 12. Во сите SQL Server програми има можност да се повика помош и останати асистент програми, исто така има можност и за онлајн помош. ОРГАНИЗИРАЊЕ НА БАЗАТА НА ПОДАТОЦИ Организацијата на податоци е од големо значење кога сакаме да работиме со базата на податоци. Еден од клучните аспекти на добро креирање на база на податоци, е тоа како ќе бидат организирани податоците во базата на податоци. Исто така треба да бидат лесно достапни и да овозможат лесно одржување на базата на податоци. Треба

21 да се одреди кои податоци ќе влезат во базата на податоци, потоа кои податоци ќе бидат сместени во одредени табели меѓу кои ќе биде воспоставен однос и каков е односот помеѓу тие податоци. Во интерес на намалување на бројот на грешки при запишување, ажурирање и бришење на податоци, потребно е да се нормализираат табелите во базата на податоци. Нормализацијата се смета како постапка за отстранување на аномалиите во одржувањето на релациите до кои доаѓа поради редундантноста на податоците во БП, со цел да се направат помали, добро структурирани релации [28]. Таа обично вклучува делење на големите табели во помали табели и дефинирање на врските помеѓу нив. Задачата е да се изолираат податоците со цел собирањата, бришењата и измените на полето да можат да бидат направени само во една табела и како такви да функционираат низ целата база со податоци, дефинирана со релации. Покрај редундантноста, значаен атрибут е и логичката и физичката независност на податоците. Под логичка независност на податоците се подразбира можноста да се промени целата логичка структура на податоците без да се променат апликативните програми. Додека пак, под физичка независност се подразбира можноста да се промени физичкиот распоред и организација на податоците без да се промени логичката структура на податоците и апликативните програми. Неопходно е да се управува со складирањето на податоци и чувањето на тие податоци од намерни и ненамерни уништувања, односно, да бидат запазени правилата на референцијален интегритет. Сите податоци треба да се соодветно заштитени, да се овозможи контрола на пристап на ниво на табели за корисници, да се запази законот за заштита на приватноста на податоците. Ова се нарекува тајност или приватност на податоците. КРЕИРАЊЕ НА БАЗАТА НА ПОДАТОЦИ При креирање на базата на податоци, претходно треба да ги организираме податоците, и да се одредат целите. Цели на креирањето: 1. Елиминирање на редунденција 2. Овозможување на брзо пронаоѓање на поединечни податоци 3. Конзистентност на базата на податоци податочна и логичка

22 Клучни активности при креирање на базата на податоци: 1. Моделирање на апликацијата 2. Дефинирање на етитети и релации потребни за апликацијата 3. Организирање на податоците во табелите 4. Воспоставување на врска помеѓу табелите 5. Утврдување на барањата за индексирање и евалуација на податоците 6. Изработка и зачувување на сите потребни барања во врска со апликцијата Моделирањето на апликацијата се однесува на постапка со која ги дефинираме задачите кои апликацијата треба да ги изврши. Добро би било дефинираните задачи да се специфицираат во одреден документ кој ќе помогне да бидеме фокусирани кон задачата на нашата апликација. При организирањето на податоците во табелите лесно може да се одреди дали некој податок припаѓа на одредена табела или не. Организацијата на податоците може да се разгледува од три аспекти [27]: 1. Надворешна организација гледање на податоците од страна на апликативниот програмер или крајниот корисник. Се темели на опис на датотеките во апликативните програми. 2. Физичка мемориска организација е физичко претставување и организација на податоците на единиците за меморирање. Се занимава со индекси, покажувачи, низи и други средства за физичко наоѓање на записот, со области и техники на OVERFLOW што се користат за вметнување на нови и бришење на стари записи. 3. Глобална логичка организација е целокупната организација или концепциски модел на базите на податоци од каде можат да се изведат повеќе надворешни организации. Целосно е независна од физичката организација што се опишува со јазиците за опис на податоци како дел од софтверот за управување со базите на податоци. Целите на базите на податоци се : Развојот на апликациите да биде полесен, побрз и поефикасен. Податоците да бидат сигурни, заштитени, приватни, независни од апликативните програми.

23 Групирањето на податоците да ја претставува внатрешната структура на податоците. Базата на податоци треба да има одредени перформанси во врска со времето на одзив, минималната цена, минималната редунданција, способноста за пребарување, интегритетот итн. Трансакција е дел од некоја апликативна програма со којa се обавуваат некои операции во базата на податоци. Трансакциите може да бидат: Ажурирање на БП, Пребарување на БП, Редукција на голем број податоци во форма прифатлива за корисникот. Трансакциите всушност се програми кои имаат ограничена големина и опис и кои се наменети да пристапуваат до податоците кои се поделени помеѓу повеќе корисници. Тие се низа на операции над базата на податоци со кои се изведува определена логичка функција во реалниот систем. Ако трансакцијата не може да заврши успешно, таа се пропушта и системот е задолжен да ја врати претходната состојба. Секоја трансакција мора да ја остави базата на податоци во конзистентна состојба, што е основа за сигурна работа на системот. Најчесто трансакциите се состојат од повици до системот за управување со базата на податоци или до системот на датотеки за читање и запишување, од ограничени логички и нумерички пресметки и финансиски извештаи на корисничките терминали. Процесот на трансакции употребува различни техники на заштита при работа со трансакции, но секој бара т.н. дневник (log) на дупли информации. Постапката на логирање и обнова на податоците ја обезбедува системот за управување со базата на податоци. На слика 2 е прикажан изгледот на базата на податоци за т.н. апликација за издавање на средношколски билети. Таа е составена од неколку табели (ентитети): средношколски билети, логирање, општина и училиште. Базата на податоци подразбира место каде се смесетени огромен број податоци, кои се организирани и меѓусебно поврзани според одредени критериуми и чија главна цел е обработка на тие податоци. Базата средношколски билети ги содржи податоците за учениците на кои треба да им се издадат билетите. Исто така, во оваа база се наоѓаат и податоците од логирањето, односно податоците од корисниците кои се логираат.

24 Слика 2. Поглед на структурата на БП креирана во MS SQL Server Изработка на апликативниот софтвер За изработка на апликацијата користен е програмскиот јазик C#. Тој е едноставен, модерен, повеќенаменски програмски јазик кој има објектно ориентирана синтакса која се базира на C++ но збогатена со библиотеки. C# апликациите се штедливи на меморија и потрошувачка на енергија при нивната обработка. Во оваа апликација креирани се пет форми. Формите се екрани кои им дозволуваат на корисниците да ги гледаат, променат или додадат податоците. Дозволуваат функции Insert, Delete, Update и read only. Соодветното дизајнирање на формите овозможува корисниците да добијат лесен пристап до информациите. На екраните треба да се овозможи корисничка интеракција преку овозможување на Insert,

25 Delete, Update и read only акциите преку ставање на објекти на екраните (копчиња кои овозможуваат корисничка интеракција). На сликата 3 е прикажана структурата на кодот на апликацијата составена од неколку форми, поточно прикажан е прозорецот Solution Explorer кој дозволува да се управува со секој дел од апликацијата [31]. Тој ги прикажува сите делови од фајлот на веб апликацијата. Креирана е master/ detail форма која се употребува за да се покаже еден запис на главната табела и придружените записи со повеќе од една табела. За креирање на оваа форма најпрво потребно е да се дефинираат релациите помеѓу табелите. Во оваа апликација креирани се 5 форми: форма за регистрирање, форма за логирање, форма со избор дали да се внесе нов ученик или ќе се разгледа веќе внесен, форма во која ќе се внесат податоци за нов ученик и форма за избор на преглед по клас или година. Слика 3. Структура на кодот на апликацијата На сликата 4 прикажан е екранот за логирање во веб апликацијата. Оваа форма се користи за логирање на корисниците, каде потребно е да се внесат одредени податоци за корисникот. Поставени се текст полиња каде потребно е да се внесат корисничкото име и лозинката на корисникот. Вметнати се и две копчиња, едно на кое пишува Најави се, доколку корисникот се има претходно регистрирано, ги внесува

26 податоците и се логира, и копче на кое пишува Регистрирај се, доколку корисникот прв пат пристапува до апликацијата. До копчето Најави се поставена е лабела која го информира корисникот дали се внесени точни податоци при логирањето. Слика 4. Приказ на екранот за логирање во веб апликацијата На сликата 5 прикажан е екранот за регистрирање, каде корисникот ги внесува своите податоци за да може да пристапи до апликацијата и да внесува и менува податоци за ученикот. Пристап до апликацијата имаат само вработените од училиштата и само тие може да се регистрираат. Откако ќе се внесат сите потребни податоци, се притиснува на копчето Регистрирај се кое ги испраќа податоците до одговорниот во ЈСП, односно во базата на ЈСП. До копчето Регистрирај се поставена е лабела која го информира корисникот доколку некој податок не е добро внесен. Исто така на оваа форма поставено е копче за крај, кое при негово притиснување го враќа корисникот на екранот за логирање. Слика 5.Приказ на екранот за регистрирање

27 Откако корисникот ќе ги добие податоците за логирање, пристапува до апликацијата, каде се појавува екран со избор. На тој екран постојат две копчиња, едно кое го води корисникот кон екранот за внесување на нов ученик, и друго копче кое му овозможува да направи преглед на веќе внесен ученик. Слика 6. Преглед на екран за избор на веќе внесен ученик или за внес на нов ученик Доколку корисникот избере внесување на нов ученик, се појавуваат полиња каде треба да се внесат податоците за ученикот: име, презиме, улица, број, населено место, општина, училиште, клас, година и слика на ученикот. Во делот на општина и училиште направен е data grid кој е поврзан со базата, каде корисникот може да избере од понудените опции. За избор на слика поставено е копче browse каде корисникот ја избира сликата за потребниот ученик. Откако корисникот, поточно вработениот од училиштето, ќе ги внесе податоците за новиот ученик, притиснува на копчето Внеси ги податоците, со тоа што податоците се зачувуваат во базата на податоци. Во оваа форма вметната е и лабела која јавува грешка доколку нешто не е добро внесено. Исто така поставено е и копче Крај кое го враќа корисникот на почеток.

28 Слика 7. Приказ на екран за внес на податоци за нов ученик Доколку корисникот избере преглед на внесен ученик, тогаш се појавуваат повторно две полиња каде треба да се избере дали корисникот сака да изврши преглед по година или по клас. Резултатите по притиснатото копче се појавуваат како извештај, без разлика дали станува збор за преглед по клас или по година. Слика 8. Приказ на екран за избор на преглед на ученик по клас или по година Во продолжение прикажан е извештајот на ученици по клас и извештај на ученици по година (Слика 8а и 8б).

29 Слика 8а - Извештај на ученици по клас Слика 8б - Извештај на ученици по година 1.3. Концепт на клиентизам: Однос помеѓу клиентите и јавните претпријатија специфичности и како да се пресретнат Клиентелизмот претставува однос помеѓу поединци со нееднакви економски и социјален статус ( шеф и неговите клиенти ), кој вклучува реципрочна размена на добра и услуги врз основа на лични врски која генерално се смета како морална обврска [43, 44]. Вака дефиниран поимот клиентелизам означува морална обврска посилниот да го помага послабиот на морална основа, што во светот е познато исто така познато како демократско покровителство или начин на подршка за

30 административна модернизација на проекти кои претежно се однесуваат на потребите на локалните самоуправи. Клиентелизмот е феномен што се појавил во многу различни општествени контексти, помеѓу патриции и нивните поддржувачи (во антички Рим, помеѓу лордовите и нивните слуги во фундаментално време, или помеѓу големите земјопоседници и селани во голем број рурални заедници). Клиентелистичките односи не исчезнале со доаѓањето на современите држави или нивната демократизација на 19 век. Сепак, во текот на овој процес, овие односи се трансформираат на два начина. Од една страна, тие се здобиле со специјална политичка димензија преку вметнување во рамките на институциите на секој режим. Од друга страна, за жал, клиентелистичките односи се повеќе се разбираат во негативна конотација и се прогласуваат како пречки за ефикасноста на овие институции и за почитувањето на демократските вредности. Во Француската трета република, аристократите, граѓанските сопственици на земјиште и индустријалците ја освоиле политичката функција со користење на нивната имотна и општествена положба како средство за подобрување на нивните изборни можности. До средина на 20-ти век истиот феномен бил вообичаен за селските заедници во јужниот дел на Европа и за аграрните елити во голем број земји во развој. Гласањето едноставно ја засилило општествената хиерархија. Гласовите биле разменувани за добра и услуги кои можеле да бидат поделени на лојални следбеници (земјиште, вработување, добротворни донации, итн). На тој начин, демократизацијата довела до формирање на клиентелистички мрежи, кои подоцна станале првите угледни политички партии. Кога почнале да се јавуваат масовните партии, угледните морале да се натпреваруваат со нови политички претприемачи, од средните класи, професии и синдикати. Овие профисионални политичари немале наследство кое би можеле да го претворат во клиентелистички ресурси. Наместо тоа, тие барале изборна подршка преку ширењето на идејата дека гласањето и политичката припадност треба да потекнуваат споделување на убедувања, идеологија и одбрана на колективни интереси. Клиентелизмот на партиите и политичката модернизација Меѓутоа, растечката специјализација на политичката активност не ставила крај на клиентелистичките практики. Секако, тие беа прогресивно амортизирани со нормативите на граѓанското општество и со тоа биле направени легални санкции на

31 изборните корупции. И покрај тоа, експанзијата на интервенциите од различни држави и локални власти генерирале нови можности за политичарите да можат да ги контролираат јавните ресурси и со тоа да ја мобилизираат изборната поддршка. Социјалните политики, урбанистичкото обновување и субвенциите за економски развој би можеле да се искористат за да се зајакнат овие политички машини. Без разлика за кого се однесувало, дали на американските градови во текот на првата половина од 20- ти век или пак на јужните региони во Италија после Втората Светска Војна, ваквите машинерии ја координирале клиентелистичката распределба на колективни добра (домување, работа, субвенции) во големи размери со цел да ги поддржат локалните шефови. Некои политиколози отишле до таму што започнале да го користат терминот клиентелистички и да ја квалификуваат државата како политички систем во кој доминантната партија ја презема бирократијата, колективните добра и нивната дистрибуција, со цел да ја зачува својата хегемонија. Оваа анализа истакнува некои случаи како што се на Мексиканската институционална револуционерна партија, Јапонската либерално-демократска партија, Италијанските христијански демократи и други, кои, речиси константно опстојуваа на власт помеѓу 50-тите и 80-тите години на минатиот век. Во овие случаи, клиентелистите развиле врски и односи во сите сектори (министерства, бизнис-организации, синдикати, лобирања). Спротивно на она што повеќето експерти го предвиделе до 1970-тите година, клиентелизмот го преживеал доаѓањето на демократската модернизација. Сепак досега, клиентелистичките пракси генерално се сметани за традиционален дел од политичката и социјалната еволуција, каде што руралните општества од периферијата на Европа се сметаат за примарни примери. Се мисли дека урбанизацијата ќе ги ослободи личностите од зависноста на заедницата, дека образованието ќе го охрабри граѓанското општество и дека економскиот напредок ќе овозможи социјална мобилност и униформираност на начинот на живот. Со оглед на доказите кои ја покажуваат позитивната и негативна конотација на клиентелизмот, дури и во социјално-модернизиран контекст, многу социолози и политиколози ја сменија својата гледна точка. Клиентелизмот покрај како морална обврска или демократско покровителство кое подржува административна модернизација на проекти кои претежно се однесуваат на потребите на локалните самоуправи, може да се гледа или како остаток од минатото и традицијата, како знак на лошо функционирање на демократијата, аномалија на политичките системи предизвикана од недостатокот на граѓанска култура или фаќањето на институциите од страна на политичарите, заинтересирани само да ја зачуваат својата моќ [45].

32 Клиентелизмот, на тој начин, започнал, покрај како демократска модернизација и помош на централните власти кон локалните заедници, да се перцепира како политичка патологија која ја блокира демократијата и узурпира јавни добра. Сепак, контекстот во кој е употребен терминот клиентелизам во овој магистерски труд, се однесува на неговото позитивистичко значење демократска модернизација и помош на проектите во локалната заедница. Неофицијални механизми на управување Постојат случаи во кои клиентелизмот како поим е искористен за да се прикажат активности кои одат против вредностите на современите демократии, каде се подразбира дискреционо користење на јавните средства, што е контрадикторно на правото и начелото на бирократската непристрасност. Сепак, разликата помеѓу клиентелизмот и демократската политика не е толку јасно поделена. Понекогаш, клиентелизмот бил вектор за формирањето на идентитети како социјални така и демократски. Во времето после 40-тите години на минатиот век, некои инфраструктурни проекти управувани од државата се остварувале преку импликација на локалните политичари, кои на тој начин станале посредници помеѓу државата и нејзините граѓани. Политичките и административните мрежи поставени во текот на овие проекти биле користени од страна на политичарите, со цел да се задоволат барањата на нивните избирачи, но исто така, и за длабока промена на јавните делувања и социоекономските услови на нивните соодветни региони. Во такви случаи, клиентелизмот бил инструмент користен за потикнување на политичката и административната модернизација, процес за време на кој државните активности биле преведени и прилагодени на потребите на локалните општества [44]. Значи, концептот клиентизам покрај подобрување на односите на претпријатијата кои ги вршат услугите со клиентите подразбира вид на демократско покровителство за административна модернизација и активности во насока на помагање во решавање на потребите претежно на локалните заедници. Овие односи може да не се облигаторни, но се во интерес на клиентите и институциите и понекогаш се темелат на морални обврски. Тоа е некој вид интерес на воспоставување симбиоза за поефикасно постигнување на целите на двете страни. Воспоставување на односи (релации) со клиентите и корисниците за услуги за секоја институција, сосема сигурно претставуваат најважен елемент во приватниот и деловниот живот на луѓето, но и во

33 животот на институциите. Кога се во прашање деловните односи помеѓу клиентите и јавните претпријатија (ЈП), а во контекст на градење на долгорочно задоволство и лојалност со клиентите, многу е важно да се утврди дали само ЈП го разбираат воспоставувањето на тие односи или го разбираат и клиентите. ЈП што успеваат да воспостават принципи на ефективна комуникација, ја имаат привилегијата да играат улога на успешни субјекти во денешните општествени услови на промени и динамичност. ЈП бараат начини за подобрување на ефективноста преку креирање позитивни односи помеѓу услужните претпријатија и клиентите. Ниту едно ЈП не сака да биде познато како некое кое не ги поттикнува силните односи со клиентите. Денес, скоро секаде во светот вообичаена практика е користење на Интернетот и информациската технологија во ЈП и институции за подобрување на нивното работење, посебно за овозможување фер клиенски односи базирани на морална обврска на помош на локалната заедница [43]. Значи, целта на информациската технологија е да им го олесни работењето, комуницирањето и решавањето на проблемите, а воедно и да ја забрза обработката и добивањето на податоците. Притоа, таа значително го менува правецот на развој на сите области во едно ЈП, олеснувајќи ја комуникацијата и придонесувајќи за целосно поврзување на поединците. Развојот на информациската и комуникациската технологија им понуди на ЈП разни комуникациски средства за влез во ерата на информациите. Таа го менува начинот на кој информациите се креираат како и начинот на кој се пристапува до нив. Ефектот на информациската и комуникациската технологија (ИКТ) во однос на новите можности за комуникација се сведува на побрз, подобар, поефтин начин за доаѓање до податоци и информации и помали трошоци. Намалувањето на трошоците, носи поголема конкурентност, пократко искористено време и пониски цени на производите. Веб апликација креирана за ЈП е моќна алатки за комуницирање со постоечките и потенцијалните клиенти. Преку нејзино правилно функционирање, вработените и клиентите постојано се во контакт со информациите. До веб апликацијата може да пристапат вработените во претпријатието, но и клиентите за делот за кој се задолжени. Вообичаено апликациите имаат дел кој е на увид на јавноста и може да се пристапи до него од поголема популација, но во тој дел, вообичаено податоците се само за читање и самите корисници со помош на прелистувач можат да прочитаат податоци од јавен карактер.

34 1.4. Анализа на можните платформи во проблемскиот контекст Речиси секоја апликација денес се потпира на друг софтвер: оперативни системи, софтвер за управување со базата на податоци и понекогаш софтвер кој работи во јавниот облак. Независно што прави и каде работи, во целост овој софтвер применува апликациска платформа. Апликациската платформа игра фундиментална улога во модерните компјутерски средини [30]. Апликациите и податоците кои се користат за обезбедување на сите вредности кои информациската технологија ги донесува, зависат од апликациската платформа. Модерните апликациски платформи не се едноставни. Апликациите доаѓаат во неколку различни стилови и апликациската платформа треба да ги подржи сите. Услугите обезбедени од апликациската платформа [30] може да бидат групирани во пет категории: Оперативниот систем ги спроведува основните услуги од кои сите апликации зависат. Ова го вклучува основното складирање, како што е фајл системот, и основите потребни за извршување на кодот,како што е планирањето ( scheduling). Услуги за извршување обезбедуваат библиотеки и повеќе за софтверот за извршување. Оваа голема категорија вклучува поддршка за креирање кориснички интерфејси на клиентите, комуникација со друг софтвер, структурирање како кодот се извршува (пример, со работни процеси), и многу други работи. Податочни услуги го дозволуваат апликацискиот магазин и процесот на податоци. Најважната технологија во оваа категорија денес е системот за управување со базата на податоци (DBMS). Cloud услуги нудат функционалност која апликациите ја користат. Пример, cloud услугите денес обезбедуваат информација, како мапи, или им дозволуваат на апликациите да прават работи како што се пребарување на Интернет или поврзување со други апликации. Алатки за развој им помагаат на тимовите за развој да ги креираат и да ги одржуваат апликациите. Овие алатки се движат од едноставни

35 уредувачи на код до целосно опремена алатка со поддршка за пишување на код, тестирање, развој и други аспекти за развојниот процес. Не секоја апликација ги користи сите овие компоненти, но во голема мера се понудени сите пет. На слика 9 е покажана слоевитата софтверска структура, давајќи генерална слика за модерната апликациска платформа. Слика 9. Модерна апликациска платформа за веб[30] Како што овој дијаграм сугерира, модерната апликациска платформа е широка и ги подржува сите видови апликации. Ова вклучува самостојни клиенти, дистрибуирани апликации и апликации кои користат cloud услуги. Тоа исто така е усогласено, дозволувајќи им на програмерите да ги користат истите алатки и вештини за креирање спектар на апликации кои работат под различен хардвер..net платформа.net платформата е дизајнирана од Microsoft и вклучува голема библиотека на класи позната како Framework Class Library (FCL) и обезбедува интероперабилност (секој јазик може да користи код напишан во други јазици) во неколку програмерски јазици. Програмите напишани за.net платформата се извршуваат во софтверска средина, позната како Common Language Runtime (CLR), апликациска виртуелна машина која обезбедува услуги како безбедност и управување со меморија. FCL и CLR заедно ја сочинуваат.net платформата. FCL е стандардна библиотека и претставува колекција на класи, интерфејси и вредносни типови [30]. Обезбедува кориснички интерфејс, пристап до податоци,

36 конекција на базата на податоци, криптографија, развој на веб апликација, нумерички алгоритми, и мрежни комуникации..net е наменета за повеќето нови апликации креирани за Windows платформата. Microsoft исто така обезбедува интегрирана развојна околина за.net софтверот наречена Visual Studio. CLR е виртуелна машина на Microsoft.NET платформата управува со извршувањето на.net програмите. Процесот познат како just-in-time компилација и го конвертира преведениот код во машинските инструкции кои компјутерскиот процес ги извршува. CLR обезбедува дополнителни услуги вклучувајќи ги управувањето со меморија, безбедност на тип, справување со исклучоци, собирање на отпад (garbage collection), безбедност и управување со нишки. Сите програми напишани за.net, независно од програмскиот јазик, се извршени од страна на CLR. Пример, кога корисникот поднесува барање до.net веб страна,.net услугата се извршува внатре во CLR околината, го извршува кодот и креира конечна HTML страна за да ја испрати до корисникот[30]. Common Language Infrastructure (CLI) Целта на CLI е да обезбеди јазична неутрална платформа за развој на апликации и извршување, вклучувајќи функции за управување со исклучоци, собирање на отпад, безбедност и интероперабилност. Со имплементирање на главните аспекти на.net во рамките на CLI, оваа функционалност нема да биде врзана за еден јазик но ќе биде на располагање во многу јазици подржани од платформата. Microsoft имплементацијата на CLI е CLR.

37 Слика 10..NET платформа и користење на CLI [30].NET рамката вклучува множество стандардни класни библиотеки. Класната библиотека е организирана во хиерархија од именски простори. Поголемиот дел од вградените апликациски програмски интерфејси се дел од System.* или од Microsoft.* именски простори. Овие класни библиотеки имплементираат голем број заеднички функции, како што се пишување и читање на фајл, интеракција на базата на податоци и манипулација со XML документ..net класната библиотека е поделена во два дела: FCL и BCL (Base Class Library). FCL вклучува мала подгрупа на целата класна библиотека и претставува јадрено множество на класите кои служат како основните апликациско програмски интерфејси и CLR. BCL е супермножество на FCL и се однесува на целата класна библиотека која се испраќа со.net. Вклучува проширено множество на библиотеки, вклучувајќи ги Windows Forms, ADO.NET, ASP.NET, јазично интегриран прашалник, фондација за Windows презентација, фондација за Windows комуникација, итн. BCL е многу

38 поголем во обем од стандардните библиотеки за јазиците како C++ и е споредлива по обем со стандардните библиотеки на Java. JAVA (софтверска платформа) Java е сет од компјутерски софтвер и спецификации развиен од страна на Sun Microsystems, подоцна стекнати од страна на Oracle корпорацијата, која обезбедува систем за развој на апликациски софтвер и имплеметирање во повеќе платформска компјутерска околина. Java е користена во широк спектар на компјутерски платформи од преносните уреди и мобилни телефони до организациски сервери и суперкомпјутери. Иако поретко, Java аплетите работат во безбедни околини за да обезбедат карактеристики за апликациите и да може да бидат вградени во HTML страници [36]. Пишувањето во Java програмскиот јазик е примарниот начин да се произведе код кој ќе биде распореден како бајт код во Java виртуелната машина. Компајлерите на бајт код се исто така достапни за други јазици, вклучувајќи Ada, JavaScript, Python и Ruby. Покрај тоа, неколку јазици се дизајнирани да извршуваат машински на JVM, вклучувајќи ги Scala, Clojure и Groovy. Java синтаксата позајмува многу од C и C++, но објектно ориентираните карактеристики се моделирани после Smalltalk и Objective c.[32] Java избегнува некои конструкции на ниско ниво како покажувачи и има многу едноставен мемориски модел каде секој објект е доделен на куп (heap) и сите променливи на типовите на објектот се референци. Управувањето со меморијата се управува преку интегрирано автоматско собирање на отпадот извршено од страна на JVM. Java платформата е пакет од програми кои го олеснуваат развојот и управувањето со програми напишани во Java програмски јазик. Платформата не е специфична за секој еден процесор или оперативен систем, туку виртуелната машина и компајлерот со сет библиотеки се имплементирани за различен хардвер и оперативни системи така што Java програмите може да работат идентично. Постојат повеќе платформи, секоја фокусирана на различна класа на уреди: Java картичка : Технологија која овозможува Java базираните апликации да работат безбедно на паметни картички и слични уреди со мала меморија.

39 Java ME (Micro Edition): одредува неколку различни групи на библиотеки за уреди со ограничено складирање, изложување и капацитети на моќ. Често се користи за развој на апликации за мобилните уреди, принтери и сл. Java SE (Standard Edition): За општа употреба на десктоп компјутери, сервери и слични уреди. Java EE (Enterprise Edition): Корисен за повеќе клиент сервер претпријатиски апликации. Содржи повеќе составни елементи, пример Java компајлерот го конвертира Java изворниот код во Java бајткод (среден јазик за Java виртуелната машина) и е предвиден како дел од Java Development Kit. C# и C++/ Java C# и Java се класифицирани во наследници на јазикот C. Припаѓаат во јазици на новата генерација и уклучуваат современи особини. На пример, двата јазика имаат garbage collection во управувачката динамичка меморија. Синтаксно јазиците се слични. Основна заедничка особина за двата јазика е тоа што компајлирањето се одвива со среден јазик (јазик на апстрактна машина дизајнирана да помогне во анализата на компјутерските програми). За C# тој јазик се нарекува Microsoft Intermediate Language, додека за Java Java бајткод. За двата јазика може да биде стартуван како интерпретатор или just in time -преведувач. C# пак понатаму обезбедува преминување во природно машински код мајчин код [31, 32, 37]. Не се преведува целата апликација наеднаш, туку само оние делови кои се повикуваат во текот на извршувањето на програмата. C# содржи повеќе основни типови на податоци од Java. Исто така, C# содржи енумератори и преклопување на оператори за кориснички типови. Како и Java, C# го напушта повеќекратното наследување кое постоело во C++. C# воведува нова врста на објекти кои имаат многу сличности со класите - делегати. Делегатите содржат детали за некој метод (слично како и покажувачите на функции во C++ јазикот). За разлика од Java која ја спроведува мултидимензионалната низа повеќе од еднодимензионалната (со други зборови, прави низа од низи), C# содржи вистински правоаголни низи.

40 C# во однос на C++ Една од најважните промени во споредба со C++ е во тоа што е потребен фајл со заглавија. Новиот пристап е добиен со користење на т.н. преклопени уредувачи, кои може да соберат и уништат код метод, односно да го прикаже како декларација или дефиниција на метод. Овој уредувач истото може да го направи и со коментарите..net runtime на кој се извршува C#, вклучува управување со меморија при користење на објектите - garbage collector. Поради тоа користењето на класичниот покажувач во C# е се помалку важен отколку во C++. Класичните покажувачи може да се користат во C#, но само каде што кодот е означен како незаштитен и тоа има смисла кога се перформансите најважни. Постојат уште некои измени во однос на C++. На пример: Одсуство на глобален простор, се е во класите. Нема повеќекратно наследување на класа, само интерфејс. Сигурност на типови: се гарантира дека во секоја променлива ќе биде вредноста на типот за кој променливата е декларирана. Суштинската разлика е присуството на CLR т.е. IL за C#. C# наликува на Java, JavaScript и C++ во синтаксата. Visual Basic и C# се малку слични. Иако синтаксата е различна, ја употребуваат класната библиотека на.net и се поддржани од CLR. Речиси секој блок на C# код може да биде преведен, линија по линија во еднаков блок на VB код. На кратко, и двата VB и C# се модерни јазици кои се идеални за креирање на веб апликации[38]. PHP PHP претставува рефлективен програмски јазик со отворен изворен код. Првобитно бил замислен како алатка за креирање динамички веб аплликации кои се извршуваат на софтверска страна. Со негова помош се креира HTML страница и се уредува пред таа да биде пополнета со динамичка содржина и да биде испратена до клиентот. Доколку содржината се генерира на ваков начин, клиентот не може да го види кодот што ја генерирал содржината која тој ја гледа и има само пристап до чистиот HTML код. Кратенката означува PHP: Hypertext Preprocessor. Почнувајќи од Јануари 2013, PHP е инсталиран на повеќе од 240 милиони веб сајтови и 2.1 милиони веб сервери [39]. PHP е едноставен за користење и е сличен на C и Perl (од верзија 5+

41 сличен и на Java). Еден од интересните делови на кодот на PHP е што не е само скрипт јазик. PHP може да се користи и за GUI апликации (со помош на PHP - GTK) и може да се користи од командна линија како Perl или Python. PHP дозволува интеракција со многу познати бази на податоци, како My SQL, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL и SQLite. PHP работи на многу оперативни системи, како Unix, Linux, Microsoft Windows итн. PHP кодот може да биде едноставно помешан со HTML кодот, или може да биде користен во комбинација со различни темплејти и веб рамки. PHP кодот вообичаено е обработен од страна на PHP преведувач. Откако PHP кодот е протолкуван и извршен, веб серверот испраќа излезни резултати на клиентот, обично во форма на дел на генерирана веб страница[39]. Како на пример, PHP кодот може да генерира HTML код на веб страница, слика, или некои други податоци. PHP вклучува работа со голем број на функции, различни типови на податоци, објекти, оператори. Променливите се со префикс во облик на долар, и типот нема потреба да биде наведен претходно. PHP 5 воведува наговестување на типот, кои им овозможува на функциите да ги наметнат нивните параметри да бидат предмети на одредена класа, низи, интерфејси или повратни функции. PHP има стотици функции предвидени од страна на функционалноста на јадрениот јазик и илјадници други достапни преку разни додатоци. Овие функции се добро документирани во онлајн PHP документација. Сепак, вградената библиотека има широк спектар на конвенции за именување и придружени недоследности. Во PHP, нормалните функции може да се референцирани со името директно, или динамично со променливи функции ( variable functions ). Корисничко дефинираните функции може да бидат креирани во било кое време без да бидат прототипови. Функциите може да бидат дефинирани во внатрешноста на блоковите со код. Тие се поделени во подгрупи за полесно да се разбере одредена функција: array функции, дата и време, регуларни изрази, MySQL функции, директориумски функции, сесии, стринг функции, променливи, File функции, FTP функции. Во PHP не постојат фиксни типови на податоци. Не мора да се дефинира типот на променливата пред нејзиното користење, променливата може да се декларира било каде внатре во скриптата и неа да и се придружуваат различни типови на податоци додека скриптата е активна. Типови на податоци кои ги поддржува PHP се: цели бореви (integer), реални броеви (floating-point numbers), текстуални податоци (string), низи, објекти.

42 2. Опис на програмска подршка Програмската подршка воглавно се дели на системска програмска подршка и корисничка програмска подршка. Системската програмска подршка се состои од сет програми подготвени за прифаќање и спроведување на кориснички програми. Корисничката програмска подршка се состои од програми кои се користат за да се реши одредена задача изготвена од страна на компјутерски систем. Програмата се состои од множество команди и податоци кои се користат при решавање на одредена задача IIS (Internet Information Services) Internet Information Service порано нарекуван Internet Information Server е множество од Интернет засновани сервиси за опслужувачи креирани од Microsoft за користење со Microsoft Windows. Тоа е вториот по популарност веб опслужувач по Apache Http Server. Сервисите кои ги поддржува се FTP, FTPS, SMTP, NNTP и HTTP/HTTPS. IIS е безбеден, надежен и скалабилен веб сервер, кој обезбедува лесно справување со платформа за развој и хостирање на веб апликации и сервиси. IIS е разноврсна алатка за креирање на надежна комуникациона платформа на динамички мрежни апликации. Со IIS може да се работи на многу различни средини. Мали бизниси и претпријатија можат да користат еден опслужувач да работи со IIS, за да хостира еден Веб сајт и мал интранет. Големи претпријатија, вклучувајќи и корпорации и едукативни институции, можат да управуваат со многу апликациони сервери, секој од нив да хостира илјадници Веб сајтови и апликации. IIS исто така, се користи за хостирање на FTP сајтови и рутирање новости или маил со користење на Network News Transfer Protocol (NNTP) и Simple Mail Transfer Protocol (SMTP). Бидејќи IIS (поновите верзии) ги поддржува најновите стандарди, како што се ASP.NET, XML и Simple Object Access Protocol (SOAP), тој е робустна платформа за развој, имплементација и управување со нови Веб сајтови и апликации. IIS може да работи и како апликационен сервер [33] Ентитети во IIS 7.0 IIS Windows Process Activation Service (WAS) се справува со процесот на конфигурација на апликацијата (application pool) и со создавањето на животниот век на работните процеси за HTTP и други протоколи. World Wide Web

43 Publishing Service (W3SVC) и други сервиси зависат од WAS. Тоа е нов сервис кој овозможува сајтовите да користат протоколи различни од HTTP. IIS Application Pool е групирање на URL а (разни поддатотеки и друго) кои се вкоренети во еден или повеќе работни процеси. Бидејќи множество апликации може да споделуваат еден или повеќе работни процеси, тие обезбедуваат еден удобен начин на администрирање на веб сајтови и апликации и нивни коренспондирачки работни процеси. Процесните граници го разделуваат секој работен процес, така да, еден Веб сајт или апликација во еден апликационен базен нема да биде под влијание на апликациони проблеми од други апликациони базени. Апликациските базени доста ја зголемуваат надлежноста и управувањето на Веб инфраструктурата. IIS Worker Process: IIS worker process е windows процес (w3wp.exe) кој работи со веб апликации и е одговорен за справување со барања пратени до Веб опслужувач за специфичен апликациски базен/ IIS Protocol Adapter е Windows сервис кој прима пораки од специфичен мрежен протокол и комуницира со Windows Process Activation Service (WAS) да рутира дојдовни пораки до соодветниот работен процес. IIS FTP Service овозможува Веб опслужувач да биде File Transfer Protocol (FTP) сервер. Ако овој сервис е стопиран, тогаш опслужувачот не може да комуницира како FTP сервер. IIS Web Management Service (WMSvc) овозможува оддалечено и делегирано справување и управување на еден Веб опслужувач и на неговите Веб сајтови и апликации. IIS Application Host Helper Service (AppHostSvc) овозможува IIS конфигурациона историја и application pool SID (security identifier) мапирање. Ја овозможува функционалноста на кофигурационата историја преку зачуваување на ApplicationHost.config поддатотека на разделени configuration history поддиректориуми на подесени временски интервали. IISADMIN Service ја хостира IIS 6.0 configuration compatibility component (metabase). Metabase е неопходен за работа со IIS 6.0 административни скрипти, SMTP и FTP. IIS Hosted Web Core (HWC) е компонента од ниско ниво која се користи за подигање на Веб апликации без помош на Windows Process Activation Service

44 (WAS) или на вградено IIS конфигурациско складиште (IIS configuration store) (Application.Host.config) IIS World Wide Web Publishing Service (W3SVC) или понекогаш наречена WWW Service, се справува со HTTP протоколот и HTTP performance counters. IIS Web Site е уникатна колекција од Веб страни и Веб апликации кои се хостираат на IIS Веб сервер. Веб сајтовите имаат врски кои се состојат од број на порта, IP адреса, и опционални, име на хост или имиња. Active Server Pages (ASP) овозможува Веб опслужувачите динамично да генерираат Веб страни и создаваат интерактивни Веб апликации со користење на скриптирање на серверска страна. [33] 2.2. ASP.NET ASP.NET е едноставен модел за веб развој, интегриран со.net Framework, дизајниран за да обезбеди услуги за креирање на динамички веб апликации и веб сервиси. Изграден е на CLR (Common Language Runtime) на.net рамка и ги вклучува бенефициите како: повеќе јазична интероперабилност, безбедност на тип, garbage collection и наследување [2, 4]. Марк Андерс и Скот Гатри од Microsoft ја креирале првата верзија на ASP.NET во 1992 година. Била креирана за да се овозможи развој на дистрибуирани апликации на структуриран и објектно ориентиран начин преку одвојување на презентацијата и содржината, а оттука и пишување на чист код. ASP.NET го употребува моделот на позадински код за да генерира динамички страници базирани на Model View Controller архитектура. ASP.NET се разликува од неговата претходна верзија ASP. Тие разлики се следниве: Користење на компајлиран код (наместо на интерпретиран код) Настанско управуван скриптен модел на серверска страна Управување со состојба Брз развој на апликација со користење на конторли и библиотеки од.net Framework

45 Динамичкиот програмски код е ставен посебно во фајл или во посебно определен таг. Со ова се избегнува програмскиот код да биде изменет за време на извршувањето. ASP.NET работи со Internet Information Server (IIS) за да ја достави содржината како одговор на барањата на клиентите. При обработка на барањата, ASP.NET обезбедува пристап до сите.net класи, прилагодливи компоненти и бази на податоци. Веб формите се темел на развојот на апликацијата во ASP.NET. Тие обезбедуваат многу флексибилност со тоа што дозволуваат конторлите да бидат користени на страната како објекти. Овие контроли може да управуваат со настани како што се Load, Click, и Change. Освен веб формите, ASP.NET може да биде употребуван за креирање на XML веб сервиси кои овозможуваат изградба на модуларни, дистрибуирани веб апликации, напишани на било кој јазик. Овие услуги се интероперабилни низ различни платформи и уреди. Покрај тоа, ASP.NET спроведува и управување на состојба, со испраќање на информацијата за состојбата на контролите во веб формата до серверот. Тоа обезбедува извршување на апликациите, страна по страна, на повеќе деноминации овозможувајќи им да се инсталираат на истиот систем со различни верзии на.net рамки. Исто така, користи XML поддршка за складирање на податоци, конфигурација и манипулација. Сепак, кога станува збор за безбедноста на апликациите, ASP.NET ја користи безбедноста за пристап до кодот и улогата базирана на безбедносните карактеристики на.net Framework и својствените методи на IIS за автентикацијата на корисничките ингеренции АSP.NET серверски контроли и скрипти на клиентска страна ASP.NET обезбедува два различни типа на серверски контроли HTML серверски контроли и веб серверски контроли. Секој тип на контрола е сосема поинаков, но фокусот е повеќе ставен на веб серверските контроли. HTML серверските контроли се мапираат во специфични HTML елементи. Може да се стави HTMLTable серверска контрола на ASP.NET страната која работи динамично со <table> елемент. Од друга страна, веб серверските контроли се мапираат во специфична функционалност која ја сакаме на нашата ASP.NET страница. Ова значи дека <asp: Panel> контролата може да користи <table> или некој друг елемент заедно тоа зависи

46 од способноста на пребарувачот што го прави барањето. Табелата 1 покажува кога да се користат HTML серверски контроли, а кога да се користат веб серверски контроли [3]. Табела 1. HTML серверски контроли и веб серверски контроли Контролни типови HTML Сервер Веб Сервер Кога да се користи овој контролен тип Кога се конвертираат традиционалните ASP 3.0 веб страници во ASP.NET веб страници и брзината на комплетирање е посложена. Многу е полесно да се променат HTML елементите во HTML серверски контроли отколку да се променат во веб серверски контроли. Кога повеќе преферираме HTML програмски модел. Кога сакаме експлицитно да го контролираме кодот кои се генерира за пребарувачот. Кога бараме побогат сет на функционалност за извршување на сложени барања на страница. Кога развиваме веб страници кои ке бидат видени од страна на многу пребарувачки типови и дека бараат различен код базиран врз овие типови. Кога преферираме повеќе Visual Basic програмски модел кој се основа на користење на контроли и контролни својства.[1] Некој програмери сакаат да одделат одредени контроли од останатите и да ги сместат нив во нивни категории. На пример, може да видиме референци за следниве типови на контроли [6,3]: List контроли: Овие контролни типови дозволуваат податоците да бидат обврзани од нив за прикажување на можностите на некој вид. Rich контроли: Контроли, како што е Calendar, која прикажува побогата содржина и способности од други контроли. Валидациски контроли: Контроли кои комуницираат со другите контроли на форма за да ги проверат податоците кои тие ги содржат. Кориснички контроли: Овие не се навистина контроли, но се темплејти на страница со кои може да се работи како со серверски контроли на ASP.NET страница. Custom контроли: Контроли кои ги градиме самите и ги користиме на истиот начин како и ASP.NET серверските контроли кои стандардно доаѓаат со инсталирањето на ASP.NET 4.

47 Исто така, може да се мешаат повеќе контролни типови. Може да се употребуваат и дватa, HTML серверски контроли и веб серверските контроли, на една иста страница или во рамките на истата апликација. Постојат повеќе начини за употреба на серверските контроли при конструкција на ASP.NET страница. Може да се употребуваат алатки кои се дизајнирани за работа со ASP.NET 4 кои овозможуваат повлекување и вметнување на контроли на површината за дизајн и манипулирање со особините на контролата. Исто така, може да се работи со серверските контроли директно во внатрешноста на кодот. ASP.NET овозможува да се земат HTML елементи и да се претворат во контроли на серверска страна. Потоа, може да се користат за контролирање на однесувањето и акциите на елементите имплементирани во ASP.NET страниците. Може да се постави било каков HTML на страницата. Исто така, може да се пронајде листа од HTML елементи содржани во Toolbox на Visual Studio. Влечењето и вметнувањето на било кој од HTML елементите од Toolbox во Design или Source view на ASP.NET страницата во документ прозорецот едноставно произведува соодветен HTML елемент. На пример, ставањето на HTML контролата Button во страницата, го произведува следниов код: <input id= Button1 type= button value= button /> Во оваа состојба, контролата Button не е контрола на серверска страна. Едноставно е HTML елемент, но може да се претвори во HTML серверска контрола многу лесно. Во Source view, едноставно се менува HTML елементот со додавање на runat= server на контролата: <input id= Button1 type= button value= button runat= server /> Откако елементот е конвертиран во серверска контрола, може да се работи со селектираниот елемент од страната на серверот како што се работи со било која веб серверска контрола. Листингот 1 ни покажува пример на некои HTML серверски контроли. Листинг 1 <%@ Page Language = C# %> <script runat= server > Protected void Button1_ServerClick(object sender, EventArgs e) Response.Write( Hello + Text1.Value);

48 </script> <html xmlns = <head runat= server > <title> Using HTML Server Controls</title> </head> <body> <form id= form1 runat= server > <div> What is your name? <br /> <input id= Text1 type= text runat= server /> <input id= Button1 type= button value= Submit runat= server onserverclick= Button1_ServerClick /> </div> </form> </body> </html> Контролата Button вклучува референца на настанот на серверска страна со користење на атрибутот OnServerClick. Овој атрибут укажува на настанот на серверска страна кој се активира кога крајниот корисник кликнува на копчето во овој случај Button1_ServerClick. Во рамките на Button1_ServerClick настанот, вредноста внесена во полето text е излезот преку користење на својството Value. Сите HTML серверски контроли користат класа која е добиена од HTMLControl основната класа (целосно квалифицирана како System.Web.UI.HtmlControls.HtmlControl). Овие класи изнесуваат многу својства од добиената класа на контролата. HTMLControl основната класа се употребува за оние HTML класи кои се фокусирани на HTML елеменитите кои може да бидат содржани во рамките на еден јазол. На пример, <img>, <input> и <link> елементите работат од класите добиени од HTMLControl класата. Други HTML елементи како <a>, <form> и <select>, бараат да се отворат и затворат тагови. Овие елементи употребуваат класи кои се добиени од класата HTMLContainerControl класа посебно дизајнирана за работа со HTML елементи кои бараат завршни тагови. Бидејќи класата HTMLContainerControl е добиена од класата HTMLControl, ги има сите HTMLControl класни својства и методи достапни. Најважни се InnerText и InnerHtml својстата. InnerText овозможува да се специфицира необработениот тект да биде сместен помеѓу почетните и крајните тагови на специфична контрола. InnerHtml овозможува да се специфицира содржината која може да вклучува HTML елементи да биде сместена помеѓу почетните и крајните тагови на специфичната контрола.

49 Сосема е возможно да се работи со секој HTML елемент бидејќи соодветната класа е достапна за секој од нив..net Framework документацијата ги прикажува следниве класи за работа со HTML серверски контроли [1]. HtmlAnchor го контролира <a> елементот HtmlButton го контролира <button> елементот HtmlForm го контролира <form> елементот HtmlHead го контролира <head> елементот HtmlImage го контролира <img> елементот HtmlInputButton го контролира <input type= button > елементот HtmlInputCheckBox го контролира <input type= checkbox > елементот HtmlInputFile го контролира <input type= file > елементот HtmlInputHidden го контролира <input type= hidden > елементот HtmlInputImage го контролира <input type= image > елементот HtmlInputPassword го контролира <input type= password > елементот HtmlInputRadioButton го контролира <input type= radio > елементот HtmlInputReset го контролира <input type= reset > елементот HtmlInputSubmit го контролира <input type= submit > елементот HtmlInputText го контролира <input type= text > елементот HtmlLink го контролира <link> елементот HtmlMeta го контролира <meta> елементот HtmlSelect го контролира <select> елементот HtmlTable го котролира <table> елементот HtmlTableCell го контролира <td> елементот HtmlTableRow го контролира <tr> елементот HtmlTextArea го контролира <textarea> елементот HtmlTitle го контролира <title> елементот Се добива пристап до една од овие класи кога се конвертира HTML елементот во HTML серверска контрола. На пример, <title> елементот се конвертира во серверска контрола на следниов начин: <title id = Title1 runat = Server />

50 Ова дава пристап до HtmlTitle класата за овој посебен HTML елемент. Со користењето на оваа класна инстанца, може да се извршат бројни задачи вклучувајќи обезбедување на текст вредност за насловот на страницата. Title1.text = DateTime.Now.ToString(); Може да се добијат поголем дел од HTML елементите кои се потребни со користење на овие класи, но значителен број на други HTML елементи стојат на располагање, кои не се експлицитно опфатено од страна на една од овие HTML класи. На пример, класата HtmlGenericControl обезбедува пристап на серверска страна до било кој HTML елемент. Со употребата на HtmlGenericContol класата, може да се добие пристап на серверска страна до <meta>, <p>, <span>, или други елементи што поинаку не би биле достапни. Листинг 2 ни покажува како да се промени елементот <meta> со користење на класата HtmlGenericControl. Листинг 2 <%@ Page Language = C# %> <script runat = server > Protected void Page_Load(object sender, EventArgs e) Meta1.Attributes [ Name ] = description ; Meta1.Attributes [ CONTENT ] = Generated on: + DateTime.Now.ToString(); </script> <html xmlns= > <head runat= server > <title> Using the HtmlGenericControl class</title> <meta id= Meta1 runat= server /> </head> <body> <form id= Form1 runat= server > <div> The rain in Spain stays mainly in the plains. </div> </form> </body> </html> Во овој пример, елементот <meta> од страницата е претворен во HTML серверска контрола со додавање на атрибутите id и runat. Бидејќи класата HtmlGenericControl (која ја наследува HtmlControl) може да работи со широк спектар на HTML елементи, не може да се доделуваат вредности на HTML атрибутите на истиот начин како и кога се работи со други HTML класи (како на пример HtmlInputButton). Доделување на вредности на атрибутите на HTML елемент се прави со користење на својствата за атрибути на класата HtmlGenericControl, специфицирајќи го атрибутот со кои се работи како со string вредност.

51 Кога се креира ASP.NET страници со серија контроли, многу од контролите се вгнездени и многу од нив се дури и динамички изнесени од страна на самата ASP.NET. На пример, кога се работи со кориснички контроли, GridView, ListView, Repeater и многу други, ASP.NET конструира комплетно контролно дрво кое е зададено на страницата. Програмерите генерално сакаат да вклучуваат некој од нивните JavaScript функции во нивните ASP.NET страници. Постојат повеќе начини за да се направи ова. Првиот начин е да се постави JavaScript директно во контролите на ASP.NET страниците. Како на пример, на листинг 3 прикажана е едноставната серверска контрола TextBox, која го покажува моменталното време и датата. Листинг 3 Protected void Page_Load (object sender, EventArgs e) TextBox1.Text= DateTime.Now.ToString(); Овој код го покажува моменталното време и датум на страната на крајниот корисник. Проблемот е во тоа што моменталното време и датум се точни за веб серверот кој ја генерира страната. Ако некој корисник се наоѓа на PST (Pacific time zone), а веб серверот на EST(Eastern time zone), тогаш страницата нема да биде точна за посетителот. Доколку сакаме времето да биде точно за секој што ја посетува страната, без оглед на тоа каде посетителот се наоѓа, се користи JavaScript за работа со контролата TextBox, како што е прикажано на листинг 4. Листинг 4 <%@ Page Language= C# %> <html xmlns= <head id= Head1 runat= server > <title>using JavaScript</title> </head> <body onload= javascript:document.forms[0][ TextBox1 ].value=date(); > <form id= form1 runat= server > <div> <asp:textbox ID= TextBox1 Runat= server Width= 300 > </asp:textbox> </div> </form> </body> </html>

52 Во овој пример, и покрај тоа што се користи стандардна TextBox серверска контрола од семејството на веб серверска контрола, може да се добие оваа контрола и со користење на JavaScript која е поставена во атрибутот onload во <body> елементот. Вредноста од атрибутот onload всушност укажува на специфичната серверска контрола преку анонимната функција со користење на вредноста на атрибутот ID со серверската контрола: TextBox1. ASP.NET користи Page.ClientScript својства за регистрирање и вметнување на JavaScript функциите во ASP.NET страниците. Користење на Page.ClientScript.RegisterClientScriptBlock Методата Page.ClientScript.RegisterClientScriptBlock овозможува да се постави JavaScript функцијата на врвот на станата. Ова значи дека скриптата е на место за стартување на страната во пребарувачот. Нејзината употреба е прикажана на листинг 5. true); Листинг 5 <%@ Page Language = C# %> <script runat= server > protected void Page_Load(object sender, EventArgs e) string function AlertHello() alert( Hello ASP.NET ); ; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), MyScript, myscript, </script> <html xmlns= <head runat= server > <title> Adding JavaScript</title> </head> <body> <form id= form1 runat= server > <div> <asp:button ID= Button1 Runat= server Text= Button OnClientClick= AlertHello() /> </div> </form> </body> </html> Од овој пример може да се види, дека се креира JavaScript функција AlertHello() како стринг наречен myscript. Потоа со користење на методот Page.ClientScript.RegisterClientScriptBlock, се програмира скриптата да биде сместена на страницата. Двата можни конструктори на методот Page.ClientScript.RegisterClientScriptBlock се: o RegisterClientScriptBlock(type, key, script) o RegisterClientScriptBlock(type,key,script, script tag specification)

53 Користење на Page.ClientScript.RegisterStartupScript [1] RegisterStartupScript методата не се разликува многу од RegisterClientScriptBlock методата. Голема разлика е во тоа што RegisterStartupScript е поставена на дното на ASP.NET страната наместо на врвот. Всушност, RegisterStartupScript методата дури ги има и истите конструктори како RegisterClientScriptBlock методата: o RegisterStartupScript(type, key, script) o RegisterStartupScript(type, key, script, script tag specification) За креирање на страна која вклучува едноставна контрола <asp:textbox> која содржи дифолт вредност Hello ASP.NET се користи следниов код: <asp:textbox ID= TextBox1 Runat= server >Hello ASP.NET</asp:TextBox> Потоа се користи методот RegisterStartupScript за поставување на скриптата на страната која ја користи вредноста на контролата TextBox1: Protected void Page_Load(object sender, EventArgs e) string alert(document.forms[0] [ TextBox1 ].value); ; Page.ClientScript.RegisterStartupScript(this.GetType(), MyScript, myscript, true); Користење на Page.ClientScript.RegisterClientScriptInclude Последниот метод е RegisterClientScriptInclude. Многу програмери го поставуваат нивниот JavaScript внатре во.js фајл, што се смета и за најдобар начин бидејќи е многу лесно да се направи глобална промена на JavaScript во апликацијата. Може да се регистрираат фајловите на скриптата во ASP.NET страната со користење на RegisterClientScriptInclude методот. string myscript = myjavascriptcode.js ; Page.ClientScript.RegisterClientScriptInclude( mykey, myscript); Ова ја креира следната конструкција во ASP.NET страната: <script src= myjavascriptcode.js type= text/javascript ></script> CLIENT SIDE CALLBACK ASP.NET 4 вклучува client callback карактеристика која овозможува да се враќаат вредностите на страницата и да се внесат истите на веќе генерирана страница без регенерирање на страницата [1]. Оваа способност ја прави возможна промената на вредностите на страницата без да се поминува низ целиот циклус на postback ова

54 значи дека може да се ажурира страницата без целосно прецртување на страницата. Крајните корисници не го гледаат трепкањето на страницата и преместувањето и страниците ќе имаат проток повеќе како протокот на густа клиентска апликација. Во нормална postback ситуација, настанот на некој вид на тригери на HTTP Post бара да биде испратен до веб сервер. Пример на таков настан може да биде крајниот корисник со притиснување на копчето на формата. Ова го испраќа HTTP Post барањето до веб серверот, што при тоа се процесира со PostbackEventHandler и се извршува барањето низ серија од настани на страницата. Овие настани вклучуваат вчитување на состојбата, процесирање на податоците, процесирање на postback настаните и на крај прикажувањето на страницата да биде интерпретирано со конзумирачки пребарувач, уште еднаш. Процесот уште еднаш целосно ја вчитува страницата во пребарувачот, што е причината за треперењето и реорганизацијата на страната. Од друга страна, постои алтернатива за користење на callback способностите. Во овој случај, настанот (пр. button click) предизвикува настанот да биде испратен до script event handler (JavaScript функција) кој го испраќа асихроното барање до веб серверот за процесирање. CallbackEventHandler го извршува барањето преку цевки слични на оние кои се користени со postback но се забележува дека некои од најголемите чекори (како на пример, рендерирањето на страницата) се исклучени од процесот. Откако информацијата е вчитана, резултатот е вратен на script callback објектот. Тогаш скриптниот код ги турка податоците во веб страницата користејќи ги JavaScript способностите за да се направи сето ова без освежување на страницата ASP.NET веб серверски контроли Веб серверските контроли се најкористените ASP.NET компоненти. Тие работат сосема поинаку од HTML серверските контроли. HTML серверските контроли обезбедени од страна на ASP.NET работат на тој начин што тие се мапираат во специфични HTML елементи. Излезот се контролира преку работа со HTML атрибути кои HTML елементот ги обезбедува. Атрибутите може да бидат изменети динамички од серверска страна пред тие конечно да бидат испратени до клиентот. Постојат некои способности на HTML серверскиот елемент кои едноставно не се потребни при работа со веб серверски контроли. Додека пак, веб серверските контроли не се мапираат во HTML елементи, туку овозможуваат да се дефинира функционалноста, способноста, и изгледот без атрибути кои се достапни низ колекција на HTML елементи. Кога се

55 конструира веб страница која е направена од веб серверски контроли, се опишува функционалноста, изгледот и чувството, и однесувањето на елементите на страницата. Потоа ASP.NET одлучува кој ќе биде излезот. Излезот е базиран на способностите на контејнерот кој го прави барањето. Ова значи дека секој барател може да види различен HTML излез бидејќи секој ја пребарува истата страница со различен тип или верзија на пребарувач. За разлика од HTML серверските контроли, веб серверските контроли не се само достапни за работа со заеднички елементи на форма на веб страницата (како што се text box или button), туку тие, исто така, може да донесат некои напредни способности и функционалности за веб страницата [1]. На пример, една заедничка карактеристика на многу веб апликации е календарот. Треба да се има на ум, дека кога се конструира веб серверски контроли, всушност се конструираа контрола збир од инструкции која е наменета за серверот (не за клиентот). По правило, сите веб серверски контроли обезбедени од страна на ASP.NET користат asp: на почетокот од декларацијата на контролата. Пример за типична веб серверска контрола: <asp:label1 ID= Label1 runat= server Text= Hello World ></asp:label> Како и HTML серверските контроли, така и веб серверските контроли бараат ID атрибут за повикување на контролата во кодот на серверска страна, како и runat= server декларација на атрибут. Исто така, потребно е правилно да се отворат и затворат веб серверските контроли со користење на XML синтаксни правила. <asp: Label ID= Label1 Runat= server Text= Hello World /> Label серверска контрола Label серверска контрола се користи за прикажување на текст во пребарувачот. Бидејќи ова е серверска контрола, може динамички да се менува текстот од кодот на серверска страна. При користење на контролата <asp:label>, контролата употребува text атрибут за да ја додаде содржината на контролата: <asp:label ID= Label1 runat= server Text= Hello World /> Наместо да се користи атрибутот text, може содржината да се смести помеѓу <asp:label> елементи: <asp:label1 ID= Label1 runat= server > Hello World</asp:Label> Исто така може да се обезбеди содржината за контролата преку програмски средства:

56 Label1.Text= Hello ASP.NET ; Серверската контрола Label секогаш претставува контрола која едноставно прикажува текст. Таа може да се користи за обезбедување на hot key функционалност. Hot key претставува брз начин за крајните корисници да иницијализираат акција на страницата. На пример, ако се користи Microsoft Internet Explorer, може да се притисне Ctrl + N за да се отвори нова инстанца на Intenet Explorer. Hot key се доделени со атрибутот AccessKey. Literal серверска контрола Literal серверската контрола работи на многу сличен начин како серверската контрола Label. Оваа контрола била секогаш користена во минатото за текст кој треба да се појави на пребарувачот, но да остане не променет во процесот. Контролата Label го менува излезот преку поставување на елементите <span> околу текстот: <span id= Label1 >Here is some text </span> Контролата Literal само го прикажува текстот без елементите <span>. Една карактеристика пронајдена во оваа серверска контрола е атрибутот Mode. Овој атрибут овозможува да се диктира како текстот зададен на контролата е интерпретиран од страна на ASP.NET машината. Ако ставиме некој HTML код во стринг, тогаш тоа е излезот (на пример, <b>here is some text</b>). Во оој случај, ваков ќе биде излезот: Here is some text Употребата на атрибутот е прикажана во следниот код: <asp:literal ID= Literal1 runat= server Mode= Encode Text= <b>here is some text</b> ></asp:literal> Додавањето на Mode= Encode го енкодира излезот пред да биде добиен од страна на апликацијата. Другите вредности за атрибутот Mode вклучуваат Transform и PassThrough. Не сите уреди ги прифакаат HTML елементите, така што ако вредноста на атрибутот Mode е поставена на Transform, тогаш тие елементи ќе бидат избришани од стрингот пред да биде испратено до апликацијата. Вредноста на PassThrough значи дека текстот е испратен до апликацијата без некои промени да бидат направени во стрингот.

57 TextBox серверска контрола Една од главните карактеристики на веб страницата е да нуди форми кои крајните корисници ќе може да ги користат за да ги достават нивните информации. TextBox серверската контрола е една од најчесто користените контроли. Таа обезбедува поле за текст на формата кое им овозможува на крајните корисници да внесат текст. Оваа контрола може да биде мапирана во три различни HTML елементи. Прво, TextBox контролата може да биде користена како стандардно HTML поле за текст: <asp:textbox ID= TextBox1 runat= server ></asp:textbox> Овој код креира поле за текст на формата, кое изгледа како на сликата 11. Слика 11. Поле за текст Второ, контролата TextBox им дозволува на крајните корисници да ја внесуваат нивната лозинка во формата. Ова се постигнува со промена на атрибутот TextMode на котролата TextBox во Password: <asp:textbox ID= TextBox1 runat= server TextMode= Password ></asp:textbox> Кога се прашуваат крајните корисници за нивните лозинки преку пребарувачот, најдобра практика е да се обезбеди поле за текст кое ја енкодира содржината внесена во оваа форма на елемент. Користењето на атрибут и вредност на TextMode= Password уверува дека текстот е енкодиран со ѕвезда или со точка, како што е прикажано на сликата 12. Слика 12. TextMode= Password Трето, TextBox серверската контрола може да биде користена како повеќелиниско поле за текст. Овој код ја постигнува оваа задача <asp:textbox ID= TextBox1 runat= server TextMode= Multiline Width= 300px Height= 150px ></asp:textbox> Давајќи му на TextMode атрибутот вредност Multiline, креира повеќе линиско поле за текст во кое крајните корисници може да внесат голема количина на текст во

58 формата. Width и height атрибутите ја одредуваат големината на површината за текст, но тие се опциони атрибути без нив, површината за текст е креирана во нејзина најмала големина. Сликата 13 ја прикажува употребата на претходниот код после додавањето на некој текст. Слика 13. Повеќелиниско поле за текст Кога се работи со повеќлиниско поле за текст, треба да се биде свесен за атрибутот Wrap. Кога е штиклиран (поставен на True), внесениот текст во површината за текст завршува во наредната линија, доколку е потребно. Кога е поставен на False, крајните корисници можат континуирано да пишуваат во единечна линија се додека не се притисне копчето Enter, што го доведува курсорот на наредната линија. Користење на методот Focus() Бидејќи серверската контрола TextBox е добиена од основната класа на WebControl, една од методите достапни е Focus(). Оваа метода дозволува динамично да се постави курсорот на крајниот корисник во назначениот елемент на формата. Protected void Page_Load(object sender, EventArgs e) TextBox.Focus(); Кога страната што го користи овој метод е вчитана на пребарувачот, курсорот е веќе поставен во внатрешноста на полето за текст, подготвен за да се започне со пишување. Со ова, нема потреба да се поместува глувчето за да дојде курсорот на посакуваното место, туку може да се започне само со внесување на информацијата во формата. Користење на AutoPostBack Кога акцијата на веб страницата предизвикува настан, кодот на серверска страна е започнат. Еден од повеќето заеднички настани е кликнување на копчето на формата од страна на крајниот корисник. OnClick е најчестиот заеднички настан на контролата Button. Двоен клик на контролата TextBox конструира OnTextChanged настан. Овој настан се активира кога крајниот корисник го мрда фокусот на курсорот надвор од

59 полето за текст, или со кликнување на друг елемент на страницата откако ќе се внесе нешто во полето за текст. Користењето на овој настан е прикажан на листинг 6. Листинг 6 <%@ Page Language= C# %> <script runat= server > protected void TextBox1_TextChanged(object sender, EventArgs e) Response.Write( OnTextChanged event triggered ); Protected void Button1_Click(object sender, EventArgs e) Response.Write( OnClick event triggered ); </script> <html xmlns= > <head runat= server > <title> OnTextChanged Page </title> </head> <body> <form id = form1 runat = server > <div> <asp: TextBox ID = TextBox1 runat= server AutoPostBack= True OnTextChanged= TextBox1_TextChanged ></asp:textbox> <asp:button ID= Button1 runat= server Text= Button OnClick= Button1_Click /> </div> </form> </body> </html> Откако ќе се изгради и ќе се стартува страницата, се забележува дека може да се внесе нешто во полето за текст, но штом се напушти табот, се активира настанот OnTextChanged и се извршува кодот содржан во настанот TextBox1_TextChanged. За да се направи оваа работа, мора да се додаде атрибутот AutoPostBack на контролата TextBox и да се намести на True. Користење на AutoCompleteType Една од најдобрите способности за било која веб форма е паметно автоматско комплетирање. Кога ќе се започне со внесување на информацијата во формата, може да се забележи дека како што се пишува, се појавува drop down листа под полето за текст, покажувајќи ги вредностите кои се напишани во претходна форма. Обичното поле за текст со кое е работено станува паметно поле за текст. Ваквото поле прикажано е на сликата 14.

60 Слика 14. Smart TextBox Добар аспект за TextBox контролата е атрибутот AutoCompleteType, што дозволува да се примени карактеристиката за автоматско комплетирање во сопствените форми. Можните вредности на атрибутот AutoCompleteType [1] се: BusinessCity Disabled HomeStreetAddress BusinessCountryRegion DispalyName HomeZipCode BusinessFax JobTitle BusinessPhone FirstName LastName BusinessState Gender MiddleName BusinessStateAddress HomeCity None BusinessUrl HomeCountryRegion Notes BusinessZipCode HomeFax Office Cellular Homepage Pager Company HomePhone Search Department HomeState Од оваа листа може да се забележи дека ако полето за текст прашува за домашната адреса на крајниот корисник, ќе се користи следниот код: <asp:textbox ID= TextBox1 runat= server AutoCompleteType= HomeStreetAdress ></asp:textbox> Button серверска контрола Друга заедничка контрола на веб формите е копчето кое може да биде конструирано со користење на серверската контрола Button. Button е вообичаениот елемент користен за формите за доставување, прифаќање. Најчесто користен настан на контролата Button е настанот OnClick. Protected void Button_Click(object sender, EventArgs e) //Code here

61 Контролата Button е една од најлесните контроли за користење, но постојат неколку својства за кои мора да се биде свесен: CausesValidation и CommanndName. CausesValidation својство Доколку имаме повеќе копчиња на веб страницата и работиме со серверски контроли за валидација, може нема да сакаме да ја изоставиме валидацијата за секое копче на формата посебно. Поставувањето на својството CausesValidation на False е начинот на користење на копчето кое нема да го изостави процесот на валидација. CommandName својство Може да има повеќе копчиња на формате и сите тие да работат од еден настан. Добра работа е тоа што, исто така, може да се означуваат копчињата така што кодот може да направи логичка одлуки врз основа на кое копче од формата е кликнато. На листинг 7 е прикажано конструирањето на повеќе Button контроли кои работат од една функција. Листинг 7 <asp:button ID= Button1 runat= server Text= Button1 OnCommand= Button_Command CommandName= DoSomething1 /> <asp:button ID= Button2 runat= server Text= Button2 Oncommand= Button_Command CommandName= DoSomething2 /> Од листингот 7 може да се забележи дека се користи настанот OnCommand, што укажува на настанот наречен Button_Command, наместо OnClick настанот. Исто така, може да се примети дека и двете Button контроли работат на ист настан. Но, тој разликува кое од двете кошчиња е притиснато преку вредноста сместена во CommandName својството. Во овој случај, вредностите DoSomething1и DoSomething2. На листинг 8 може да се забележи создавање на настан Button_Command со цел да се справи со двете копчиња преку едноставно внесување или избирање на Command настан од drop-down листа на достапни настани за контролата Button од code view на Visual Studio. Листинг 8 protected void Button_command(Object sender, System.Web.UI.WebControls.CommandEventArgs e) switch (e.commandname) case ( DoSomething1 ): Response.Write( Button 1 was selected ); break; Case ( DoSomething2 ):

62 Response.Write( Button 2 was selected ); break; Може да се забележи дека овој метод користи System.Web.UI.WebControls.CommandEventArgs наместо типичниот Syste.EventArgs. Ова дава пристап до членот CommandName користен во switch исказот e.commandname. Користејќи го овој објект, може да се провери вредноста на својството CommandName користено од страна на копчето кое било кликнато на формата и завземало специфична акција одредена врз основа на поминатата вредност. Копчиња кои работат со JavaScript на клиентска страна Копчињата често се користат за доставување на информација и предизвикуваат акции за да се појават на веб страницата. Може да се креира страна која ќе содржи JavaScript настан, како што е server side настанот, кои ќе биде активиран кога копчето ќе биде притиснато (Листинг 8а). Листинг 8а <%@ Page Language= C# %> <script runat= server > Protected void Button1_Click(object sender, EventArgs e) Response.Write( Postback ); </script> <script language= javascript > function AlertHello () alert( Hello ASP.NET ); </script> <html xmlns= > <head runat= server > <title>button Server Control </title> </head> <body> form id= form1 runat= server > <asp:button ID= Button1 runat= server Text= Button OnClientClick= AlertHello() OnClick= Button1_Click /> </form> </body> </html> Првата работа што може да се забележи е атрибутот за серверската контрола Button: OnClientClick. Тој укажува на функцијата на клиентска страна (client side function), за разлика од атрибутот OnClick кој укажува на настанот на серверска страна (server- side event). Овој пример користи функција JavaScript наречена AlertHello().

63 LINKBUTTON серверска контрола Серверската контрола Link Button претставува варијација на контролата Button. Се е исто, освен тоа што контролата Link Button ја завзема формата на хиперлинк. Сепак, тоа не е типичен хипер линк. Кога крајниот корисник ќе притисне на линкот, се однесува како копче. Оваа претставува идеална контрола за употреба доколку има голем број копчиња на веб формата. Link Button контролата е конструирана на следниов начин: <asp: Link Button ID= Link Button1 runat= server OnClick= Link Button1_Click > Submit your name to our database </asp: Link Button> Користењето на Link Button контролата го дава следниот резултат претставен на сликата 15. Слика 15. Употреба на контролата Link Button IMAGEBUTTON серверска контрола Контролата ImageButton претставува исто така валидација на контролата Button. Таа е речиси иста како контролата Button. Се разликува само во тоа што овозможува да се употребува прилагодлива слика како копче на формата, наместо типичното копче користено во повеќето форми. Ова значи дека може да се креира сопствено копче во вид на слики и крајниот корисник може да притисне на сликите за да ги поднесе податоците на формата. Типичната конструкција на ImageButton е следната: <asp: ImageButton ID= ImageButton1 runat= server OnClick= ImageButton1_Click ImageUrl= MyButton.jpg /> Контролата ImageButton ја специфицира локацијата на користената слика преку употреба на својството ImageUrl. Голема разлика помеѓу контролата ImageButton и

64 контрлата LinkButton или контролата Button е во тоа што контролата ImageButton завзема различна конструкција за настанот OnClick. protected void ImageButton1_Click (object sender, System.Web.UI.WebControls.ImageClickEventArgs e) // Code here Конструкцијата користи ImageClickEventArgs објект наместо System.EventArgs објект вообичајно користен со контролите LinkButton и Button. HYPERLINK серверска контрола Серверската контрола HyperLink дозволува програмски да се работи со било кои хиперлинкови на веб страниците. Хиперлинковите се линкови кои им дозволуваат на крајните корисници да се префрлат од една на друга страна. Може да се постави текст на хиперлинкот со користење на атрибутот Text на контролата. <asp: HyperLink ID= HyperLink1 runat= server Text= Go to this page here NavigateUrl= </Default2.aspx ></asp: HyperLink> Оваа серверска контрола креира хиперлинк со текст Go to this page here. Кога линкот е притиснат, корисникот е пренасочен кон вредноста која е сместена во својството NavigateUrl (во овој случај, Default2.aspx страната). Интересна работа кај серверската контрола HyperLink е тоа што може да биде користена за слики како и за текст. Наместо употребата на атрибутот Text, го користи својството ImageUrl: <asp: HyperLink ID= HyperLink1 runat= server ImageUrl= </MyLinkImage.gif NaviateUrl= </Default2.aspx > </asp: HyperLink> DROPDOWN LIST серверска контрола Серверската контрола DropDownList овозможува да се смести HTML select box на веб страницата и да се програмира врз основа на тоа. Идеална е за употреба кога има голема колекција на предмети од кои сакаме крајниот корисник да одбере еден. Обично се употребува за средна до голема колекција. Доколку големината на колекцијата е релативно мала, се разгледува употребата на серверската контрола RadioButtonList. Select Box генериран од страна на DropDownList прикажува единствен предмет и дозволува крајниот корисник да избере од поголема листа на предмети. Зависно од бројот на достапни избори во полето за избор, крајниот корисник може да скрола низ листата на предмети. Ова е кодот за контролата DropDownList:

65 <asp: DropDownList ID= DropDownList1 runat= server > <asp:listitem> Car </asp:listitem> <asp:listitem> Airplane </asp:listitem> <asp:listitem> Train </asp:listitem> </asp:dropdownlist> сликата 16. Овој код генерира DropDownList во пребарувачот, како што е прикажано на Слика 16. DropDownList [1] DropDownList контролата доаѓа во предвид кога ќе се започне со поврзување на различни продавници со податоци. Продавниците со податоци може да бидат или низи, вредности на базата на податоци, вредности на XML фајл, или вредности пронајдени на друго место. На листинг 9 е прикажано динамичко генерирање на контролата DropDownList на една од трите низи. Листинг 9 <%@ Page Language= C# %> <script runat= server > protected void DropDownList1_SelectedIndexChanged (object sender, EventArgs e) string[] cararray = new[] Ford, Honda, BMW, Dodge ; string[] airplanearray = new[] Boeing 777, Boeing 747, Boeing 737 ; string[] trainarray = new[] Bullet Train, Amtrack, Tram ; if (DropDownList1.SelectedValue == Car ) DropDownList2.DataSource = cararray; else if (DropDownList1.SelectedValue == Airplane ) DropDownList2.DataSource = airplanearray; else if (DropDownList1.SelectedValue == Train ) DropDownList2.DataSource= trainarray; DropDownList2.DataBind(); DropDownList2.Visible = DropDownList1.SelectedValue!= Select an Item ; protected void Button1_Click (object sender, EventArgs e) Response.Write ( You selected <b> + DropDownList1.SelectedValue.ToString() + : +DropDownList2.SelectedValue.ToString() + </b> ); </script>

66 <html xmlns = > < head runat= server > <title> DropDownList Page</title> </head> <body> <form id = form1 runat= server > <div> Select transportation type: <br/> <asp:dropdownlist ID= DropDownList1 runat= server OnSelectedIndexChanged= DropDownList1_SelectedIndexChanged AutoPostBack= true > <asp:listitem>select an Item </asp:listitem> <asp:listitem>car</asp:listitem> <asp:listitem>airplane</ asp:listitem> <asp:listitem>train</asp:listitem> </asp:dropdownlist> <asp:dropdownlist ID= DropDownList2 runat= server Visible= false > </asp:dropdownlist> <asp: Button ID= Button1 runat= server Text= Select Options OnClick= Button1_Click /> </div> </form> </body> </html> Во овој пример, втората drop down листа е динамички генерирана врз основа на вредноста селектирана од првата drop down листа. Како на пример, изборот на Car од првата drop down листа динамички креира втора drop down листа на формата која вклучува листа на достапни коли. Ова е возможно поради употребата на AutoPostBack карактеристиката на контролата DropDownList. Кога својството AutoPostBack е поставено на True, методот обезбеден низ настанот OnSelectedIndexChanged е отпуштен од работа кога селекцијата е направена. Во примерот, настанот DropDownList1_SelectedIndexChanged е отпуштен од работа, динамично со креирање на втората drop down листа. Во овој метод, содржината во втората drop down листа е креирана во низа и потоа се врзува со втората контрола DropDownList преку употреба на својството DataSource и методот DataBind(). Кога ќе се изгради и ќе се изврши, оваа страна изгледа како на сликата 17.

67 Слика 17. DropDownList Page Визуелно бришење на предметите од колекцијата Серверските контроли DropDownList, ListBox, CheckBoxList, и RadioButtonList даваат можност за визуелно бришење на предметите од колекцијата прикажана во контролата, иако сеуште може да се работи со предметите кои не се прикажани во кодот на серверска страна. На листинг 10 прикажано е оневозможувањето на одредени ListItems од колекцијата. Листинг 10 Page Language= C# %> <script runat= server > protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) Response.Write( You selected item number + DropDownList1.SelectedValue + <br> ) Response.Write( You didn t select item number + DropDownList1.Items [1].Value); </script> <html> <head runat= server > <title>dropdownlist Server Control</title> </head> <body> <form id= form1 runat= server > <asp:dropdownlist ID= DropDownList1 runat= server AutoPostBack= true OnSelectedIndexChanged= DropDownList1_SelectedIndexChanged > <asp:listitem Value= 1 > First Choise</asp:ListItem> <asp:listitem Value= 2 Enabled= False >Second Choise</asp:ListItem> <asp:listitem Value= 3 > Third Choise </asp:listitem> </asp:dropdownlist> </form> </body> </html> Од кодот, може да се забележи дека елементот <asp:listitem> има атрибут: Enabled. Вредноста Boolean зададен на овој елемент диктира дали предметот во колекцијата е прикажан. Ако се користи Enabled= False, предметот не е прикажан,

68 но сеуште се има способност да се работи со предметот во кодот на серверска страна прикажан во настанот DropDownList1_SelectedIndexChanged. Резултатот на излезот од исказот Response.Write е прикажан на сликата 18. Слика 18. DropDownList Server Control LISTBOX серверска контрола Серверската контрола ListBox има функција слична на DropDownList контролата. Прикажува колекција на предмети. ListBox контролата се однесува различно од DropDownList контролата во тоа што прикажува повеќе од колекцијата на крајниот корисник, и му овозможува на крајниот корисник да направи повеќе селекции од колекцијата нешто што не е возможно со DropDownList контролата. Типична ListBox контрола се појавува во код на следниов начин Листинг 10а. Листинг 10а <asp:listbox ID= ListBox1 runat= server > <asp: ListItem> Hematite</asp:ListItem> <asp:listitem>halite</asp:listitem> <asp:listitem>limonite</asp:listitem> <asp:listitem>magnetite</asp:listitem> </asp: ListBox> Ова го генерира пребарувачот прикажан на сликата 19.

69 Слика 19. ListBox контрола Дозвола на корисниците за избор на повеќе предмети Може да се користи атрибутот SelectionMode за да му дозволи на крајниот корисник да направи повеќе селекции од тоа што е прикажано преку контролата ListBox. Пример Листинг 10б: Листинг 10б <asp:listbox ID= ListBox1 runat= server SelectionMode = Multiple > <asp:listitem> Hematite</asp:ListItem> <asp:listitem>halite</asp:listitem> <asp:listitem>limonite</asp:listitem> <asp:listitem>magnetite</asp:listitem> </asp:listbox> Можните вредности на својството SelectionMode вклучуваат Single и Multiple. Поставувањето на вредноста на Multiple му овозможува на крајниот корисник да направи повеќе селекции во list box. Корисникот мора да го задржи или тастерот Ctrl или Shift додека прави селекции. Задржувањето на Ctrl му дозволува на корисникот да направи една селекција од листата додека задржувајќи ги претходните селекции. Задржувањето на Shift му овозможува на корисникот палета од повеќе селекции. Контролата ListBox прикажана на листинг 11 овозможува повеќе селекции да бидат прикажани во пребарувачот кога корисникот ќе притисне на копчето Submit. Формата треба исто така да има дополнително поле за текст и копче на врвот кое му овозможува на крајниот корисник да додаде дополнителни предмети во ListBox. Листинг 11 <%@ Page Language= C# %> <script runat= server > protected void Button1_Click(object sender, EventArgs e) ListBox1.Items.Add(TextBox1.Text.ToString()); protected void Button2_Click(object sender, EventArgs e) Label1.Text= You selected from the ListBox:<br> ; foreach (ListItem li in ListBox1.Items) if (li.selected) Label1.Text +=li.text + <br> ; </script>

70 <html xmlns= <head runat= server > <title>using the ListBox</title> </head> <body> <form id= form1 runat= server > <div> <asp:textbox ID= TextBox1 runat= server ></asp:textbox> <asp:button ID= Button1 runat= server Text= Add an additional item OnClick= Button1_Click /><br /><br /> <asp:listbox ID= ListBox1 runat= server SelectionMode= multiple > <asp:listitem>hematite</asp:listitem> <asp:listitem>halite</asp:listitem> <asp:listitem>limonite</asp:listitem> <asp:listitem>magnetite</asp:listitem> </asp:listbox><br /><br /> <asp:button ID= Button2 runat= server Text= Submit OnClick= Button2_Click /><br / ><br /> <asp:label ID= Label1 runat= server ></asp:label> </div> </form> </body> </html> Прво, некои предмети се веќе сместени во ListBox контролата. Полето за текст и копчето на врвот на формата му дозволуваат на крајниот корисник да додаде дополнителни минерали во листата. Тогаш корисникот може да направи една или повеќе селекции од ListBox, вклучувајќи ја и селекцијата од предметите кои динамички се додадени на колекцијата. Откако корисникот ќе го направи изборот и притисне на копчето, настанот Button2_Click се повторува низ ListItem инстанците во колекцијата и се прикажуваат само оние предмети кои се селектирани. Оваа контрола работи преку креирање инстанци на објектот ListItem и го користи нивното својство Selected за да се види дали одреден предмет во колекцијата е селектиран. Употребата на објектот ListItem не е ограничена за контролата ListBox. Динамично може да се додаваат или да се бришат предмети од колекцијата и да се земат предметите и нивните вредности користејќи го објектот ListItem во DropDownList, CheckBoxList, и RadioButtonList контролите. Кога оваа страна ќе се изгради и изврши, се добиваат резултати како на сликата 20.

71 Слика 20. Употреба на контролата ListBox Додавање на предмети во колекцијата За да се додаде предмет во колекцијата, може да се користи следнава синтакса: ListBox.Items.Add(TextBox1.Text) Од следниов код може да се види дека динамичката додадена вредност е текст предмет, и може да се види нејзината вредност. <select size= 4 name= ListBox1 multiple= multiple id= ListBox1 > <option value= Hematite > Hematite</option> <option value= Halite > Halite</option> <option value= Limonite >Limonite</option> <option value= Magnetite >Magnetite</option> <option value= Olivine > Olivine</option> </select> Исто така може да се додаде и инстанци на објектот ListItem за да зима различни вредности за името на предметот и вредноста: ListBox1.Items.Add(new ListItem( Olivine, MG2SIO4 ) ); Овој пример додава нова инстанца на објектот ListItem покрај тоа пто додава текстуално име на предметот, додава исто така и вредност на предметот. Се добива следниот резултат: <option value= MG2SIO4 > Olivine</option>

72 CHECKBOX серверска контрола Check box на веб формата му овозможува на корисникот или да направи селекција од колекцијата на предмети или да ја специфицира вредноста на предметот да биде yes/no, on/off или true/ false. Се употребува или контролата CheckBox или контролата CheckBoxList за да се вклучи check box во веб формата. Контролата CheckBox овозможува да се постави еден check box на веб формата, додека контролата CheckBoxList овозможува да се постават колекции на check box на веб формата. На листинг 12 претставен е пример за употребата на контролата CheckBox. Листинг 12 Page Language= C# %> <script runat= server > protected void CheckBox1_CheckedChanged(object sender, EventArgs e) Response.Write( Thanks for your donation! ); </script> <html xmlns= <head runat= server > <title> CheckBox control</title> </head> <body> <form id= form1 runat= server > <div> <asp: CheckBox ID= CheckBox1 runat= server Text= Donate $10 to our cause! OnCheckedChanged= CheckBox1_CheckedChanged AutoPostBack= true /> </div> </form> </body> </html> Ова произведува страна која содржи еден Check box за монетарна донација. Користејќи го настанот CheckedChanged, употребуван е OnCheckedChanged во рамките на контролата CheckBox. Вредноста на атрибутот укажува на настанот CheckBox1_CheckedChanged, кој се активира кога корисникот го чекира контролниот правоаголник. Тоа се случува само доколку својството AutoPostBack е поставено на true. Со извршување на ова, страната го произведува следново:

73 Слика 21. Контрола CheckBox Како да се утврди дали контролните правоаголници се чекирани Доколку не сакаме да ја употребуваме карактеристиката AutoPostBack на контролниот правоаголник, но сакаме да утврдиме дали контролниот правоаголник е чекиран откако формата е вратена на серверот, тогаш може да се користи исказот If..Than. If (CheckBox1.Checked == true) Response.Write ( Checkbox is checked! ); Чекирањето е завршено на вредноста на CheckBox со користење на својството Checked на контролата. Вредноста на својството е Boolean, и или е True(checked) или е False(not checked). Доделување вредност на контролниот правоаголник Исто така може да се користи својството Checked за да се провери дали контролниот правоаголник е чекиран врз основа на други динамички вредности: If (Member == true) CheckBox1.Checked = true; Доделување текст низ целиот контролен правоаголник Со употребата на својството TextAlign на контролата CheckBox, може да се направи промена на страната на текстот,со тоа што ако бил на левата страна контролниот правоаголник, да се појави на десната страна. <asp:checkbox ID= CheckBox1 runat= server Text= Donate $10 to our cause! OnCheckedChanged= CheckBoc1_CheckedChanged AutoPostBack= true TextAlign= Left />

74 Можните вредности на својството TextAlign или Right или Left. Ова својство е исто така достапно и за контролите CheckBoxList, RadioButton и RadioButtonList. CHECKBOXLIST серверска контрола Серверската контрола CheckBoxList е доста слична на контролата CheckBox, освен што претходната овозможува да се работи со колекција предмети наместо со еден предмет. Page Language= C# %> <script runat= server > Protected void Button1_Click(object sender, EventArgs e) Label1.Text= You selected: <br> ; Foreach(ListItem li in CheckBoxList1.Items) If(li.Selected == true) Label1.Text += li.text + <br ; </script> <html xmlnx= <head runat= server > <title>checkboxlist control </title> <head> <body> <form id= form1 runat= server > <div> <asp:button ID= Button1 runat= server Text= SubmitChoices OnClick= Button1_Click /><br /> <br /> <asp:label ID = Label1 runat= server ></asp: Label> <br/> <asp:checkboxlist ID= CheckBoxList1 runat= server DataSource ID= SqlDataSource1 DataTextField= CompanyName RepeatColumns= 3 BorderColor= Black BorderStyle= Solid BorderWidth= 1px > </asp:checkboxlist> <asp:sqldatasource ID= SqlDataSource1 runat= server SelectCommand= SELECT [CompanyName] FROM [Customers] ConnectionString= <%$ ConnectionStrings:AppConnectionString1 %> > </asp:sqldatasource> </div> </form> </body> </html> Оваа ASP.NET страна има SqlDataSource контрола на страницата која ја вади информацијата која е потребна од базата на податоци. Од SELECT исказот користен во контролата, може да се види дека се вчитува полето CompanyName од секое листање во табелата Customers. CheckBoxList контролата се врзува со контролата SqlDataSource користејќи неколку својства.

75 <asp:checkboxlist ID= CheckBoxList1 runat= server DataSourceID = SqlDataSource1 DataTextFeild= CompanyName RepeatColumns= 3 BordesColor= Black BorderStyle= Solid BorderWidth= 1px > </asp: CheckBoxList> Својството DataSourceID е користено за да ја поврзе контролата CheckBoxList со резултатот кои се враќа од контролата SqlDataSource. Тогаш DataTextFeild својството е користено за вчитување на името на полето со кое сакаме да се работи, од резултатите. Во овој пример е само едно поле кое е достапно: CompanyName. Останатиот код ги содржи својствата за стил. Својствата BorderColor, BorderStyle и BorderWidth овозможуваат да се постави рамка низ целиот check box list. Својството RepeatColumns специфицира колку колони ќе бидат користени за да се прикаже резултатот. RADIOBUTTON серверска контрола Серверската контрола RadioButton е доста слична на серверската контрола CheckBox. Поставува радио копче на веб страницата. За разлика од контролниот правоаголник, радио копчето на формата не и дава многу смисла. Радио копчињата се генерално елементи на формата кои бараат најмалку две опции. Типичниот сет на контроли RadioButton на страната ја завземаат следната конструкција. <asp: RadioButton ID= RadioButton1 runat= server Text= Yes GroupName= Set1 /> <asp: RadioButton ID= RadioButton2 runat= server Text= No GroupName= Set1 /> Сликата 22. Го покажува резултатот од конструкцијата на контролата RadioButton. Слика 22. RadioButton серверска контрола Во кодот може да се забележи својството GroupName, кое може да биде поставено во една од RadioButton контролите за да одговори на тоа што е поставено во другата. Ова им овозможува на радио копчињата на веб формата да работат заедно за крајниот корисник. Тие работат заедно на тој начин што кога едно радио копче на формата е чекирано, кругот поврзан со избраниот предмет е пополнет. Било кое друго пополнето кругче од истата група во колекцијата е отстрането, со тоа што се осигурува

76 дека само едно радио копче е селектирано. На листинг 13 прикажан е пример за употребата на RadioButton контролата. Листинг 13 Page Language= C# %> <script runat= server > protected void RadioButton_CheckedChanged(object sender, EventArgs e) If(RadioButton1.Checked == true) Response.Write ( You selected Visual Basic ); Else Response.Write( You selected C# ); </script> <html xmlns= <head runat= server > <title> RadioButton control </title> </head> <body> <form id= form1 runat= server > <div> <asp:radiobutton ID= RadioButton1 runat= server Text= Visual Basic GroupName= LanguageChoice OnClickedChanged= RadioButton_CheckedChaned AutoPostBack= True /> <asp:radiobutton ID= RadioButton2 runat= server Text= C# GroupName= LanguageChoice OnClickedChanged= RadioButton_CheckedChanged AutoPostBack= True /> </div> </form> </body> </html> Како и CheckBox, така и RadioButton контролата има CheckedChanged настан кој го става атрибутот OnClickedChanged во контролата. Вредноста на атрибутот укажува на настанот на серверска страна кои е повикан кога селекцијата е направена користејќи едно од двете радио копчиња на формата. За да работи ова нормално потребно е својството AutoPostBack да биде поставено на True. На сликата 23 прикажан е резултатот од употребата на RadioButton контролата.

77 Слика 23. Резултат од употребата на RadioButton контролата RADIOBUTTONLIST серверска контрола Серверската контрола RadioButtonList прикажува колекција од радио копчиња на веб страницата. Контролата RadioButtonList е доста слична на CheckBoxList и други контроли со листа во кои е дозволено повторување за да се види што корисникот селектирал, да се направи пресметки, или да се извршат други акции. Типичната контрола RadioButtonList е напишана на страницата на следниов начин Листинг 13а: Листинг 13а <asp: RadioButtonList ID= RadioButtonList1 runat= server > <asp:listitem Selected = True >English</asp:ListItem> <asp:listitem>russian</asp:listitem> <asp:listitem>finnish</asp:listitem> <asp:listitem>swedish</asp:listitem> </asp: RadioButtonList> Како и другите контроли со листа, исто така и оваа користи инстанци на објектот ListItem за секој предмет содржан во колекцијата. Од примерот може да се забележи дека доколку својството Selected е поставено на True, еден од предметите е избран кога страницата е генерирана за прв пат. Резутатот од ова е прикажан на сликата 24. Слика 24. RadioButtonList

78 Исто така контролата RadioButtonList може да се користи за да се провери вредноста селектирана од страна на крајниот корисник во било кој метод на страната. Листинг 14 ни го прикажува настанот Button1_Click кој ја прикажува селектираната вредност во RadioButtonList колекцијата. Листинг 14 PageLanguage= C# %> <script runat= server > protected void Button1_Click (object sender, EventArgs e) Label1.Text = You selected: + RadioButtonList1.SelectedItem.ToString(); </script> IMAGE серверска контрола Серверската контрола Image овозможува да се работи со слики кои се појавуваат на веб страницата од кодот на серверска страна. Таа е едноставна серверска контрола, но може да даде моќ да се утврди како сликата е прикажана на екранот на пребарувачот. Типичната контрола Image е конструирана на следниот начин: Листинг 14а <%@ PageLanguage= C# %> <script runat= server > protected void Button1_Click( object sender, EventArgs e) Image1. ImageUrl= ~/MyImage2.gif ; </script> <html xmlns= <head runat= server > <title>image control</title> </head> <body> <form id= form1 runat= server > <div> <asp: Image ID= Image1 runat= server ImageUrl= ~/MyImage.gif /><br /> <br /> <asp:button ID= Button1 runat= server Text= Change Image OnClick= Button1_Click /> </div> </form> </body> </html> Во овој пример, сликата (MyImage1.gif) е прикажана во пребарувачот кога страна е вчитана за прв пат. Кога крајниот корисник ке го притисне копчето на страната, новата слика (MyImage2.gif) е вчитана во postback процесот. Посебни околности може да го спречат крајниот корисник од гледање на сликата која е дел од веб страната. Тие физички нема да бидат во можност да ја видат сликата, или ќе може

79 да употребуваат text-only пребарувач. Во овие случаеви, пребарувачите гледаат за атрибутот longdesc на елементот<img> кој укажува на фајлот кој содржи долг опис на сликата која е прикажана. За овие случаеви, серверската контрола Image вклучува атрибут DescriptionUrl. Доделената вредност е текст фајл кој содржи целосен опис на сликата со која е поврзана. <asp: Image ID= Image1 runat= server DescriptionUrl= ~/Image01.txt /> Овој код го произведува следниот резултат во пребарувачот: <img id = Image1 src= INETA.jpg longdesc= Image01.txt alt= /> TABLE серверска контрола Табелите се еден од поовеќето заеднички елементи на веб страницата, бидејќи HTML елементот <table> е еден возможен формат кој е користен за контролирање на изгледот на веб страницата (CSS е другиот). Типичната конструкција на серверската контрола Table е прикажана на листинг 14б: Листинг 14б <asp: Table ID= Table1 runat= server > <asp: TableRow Runat= server Font-Bold= True ForeColor= Black BackColor= Silver > <asp: TableHeaderCell>First Name </asp: TableHeaderCell> <asp:tableheadercell>lastname</asp: TableHeaderCell> </asp: TableRow> <asp: TableRow> <asp: TableCell>Bill</asp: TableCell> <asp: TableCell>Evjen</asp: TableCell> </asp: TableRow> <asp: TableRow> <asp: TableCell>Devin</ asp: TableCell> <asp: TableCell>Rader</asp: TableCell> </asp: TableRow> </asp: Table> Ова ја произведува табелата со три редици прикажана на сликата 25. Слика 25. Табела со три редици

80 Може многу да се прави со контролата Table. Пример, може динамички да се додаваат редици во табелата, како што е прикажано на листинг 15. Листинг 15 protected void Page_Load (object sender, EventArgs e) TableRow tr = new TableRow(); TableCell fname = new TableCell(); fname.text= Scott ; tr.cells.add(fname); TableCell lname= new TableCell(); lname.text = Hanselman ; tr.cells.add(lname); Table1.Row.Add(tr); За да се креира една редица во контролата Table, мора да се креира инстанца на TableRow и на TableCell објектите. Прво се креираат објектите TableCell и потоа се сместуваат во рамките на TableRow објектот кој е додаден во објектот Table. Серверската контрола Table содржи некои екстра карактеристики. Една од поедноставните карактеристики е способноста да се додадат наслови на табелите на веб страниците. За да се додаде наслов на табелата, се користи атрибутот Caption во контролата Table. По правило, насловот е сместен во центарот на врвот на табелата, но тоа може да се контролира со користење на атрибутот CaptionAlign. Можни подесувања се: Botton, Left, NotSet, Right и Top. CALENDAR серверска контрола Серверската контрола Calendar е богата контрола која овозможува да се постави целосно опремен календар директно на веб страниците. Контролата Calendar, во наједноставната форма, се кодира на следниов начин. <asp: Calendar ID= Calendar1 runat= server > </asp: Calendar> Овој код произведува каледнар на веб страната без никакви додадени стилови.

81 Слика 26. Контрола календар Правење селекција на дата од контролата Calendar Календарот овозможува движење низ месеците во годината и селектираање специфични денови во месецот. На листинг 16 прикажана е едноставна апликација која му овозможува на корисникот да избере ден од месецот. Листинг 16 Page Language = C# %> <script runat= sserver Protected void Calendar1_SelectionChanged(object sender, EventArgs e) Response.Write ( You selected: + Calendar1.SelectedDate.ToShortDateString()); </script> <html xmlns= <head id= Head1 runat= server > <title>using the Calendar Control </title> </head> <body> <form id= form1 runat= server > <div> <asp:calendar ID= Calendar1 runat= server OnSelectionChanged= Calendar1_SelectionChanged > </asp:calendar> </div> </form> </body> </html> Извршувањето на оваа апликација го вметнува календарот во пребарувачот, така што крајниот корисник може да селектира дата. Откако датата е селектирана, настанот Calendar1_SelectionChanged се активира и дозволува користење на атрибутот OnSelectionChanged. Овој настан ја запишува вредноста на селектираната дата на екранот. Резултатот е прикажан на сликата 27.

82 Слика 27. Селекција на дата од контролата Calendar Правење селекции на ден, недела или месец Контролата Calendar овозможува да се направи селекции на еден ден. Со употреба на својството SelectionMode може да се направи промена, со тоа што корисникот ќе може да направи селекција и на недела и на месец. Можните вредности на ова својство вклучуваат Day, DayWeek, DayWeekMonth, и None. Слика 28. Селекции на ден, недела и месец ADROTATOR серверска контрола Со AdRotator, може да се конфигурира апликацијата за да покаже серии на реклами на крајните корисници. Со оваа контрола, може да се употребуваат податоците за реклама од поинакви извори отколку од стандардниот XML фајл.

83 Доколку се користи XML извор за ad информацијата, прво се креира XML фајл за реклама. Овој фајл овозможува да се вклучат некои елементи кои ќе дадат контрола над изгледот и однесувањето на рекламите. Листинг 17 покажува пример за XML фајл за реклама. Листинг17 <?xml version= 1.0 encoding = utf-8?> <Advertisements xmlns= > <Ad> <ImageUrl>book1.gif</ImageUrl> <NavigateUrl> <AlternateText>Visit Wrox Today!</AlternateText> <Impressions>50</Impressions> <Keyword>C#.NET</Keyword> </Ad> <Ad> <ImageUrl>book2.gif</ImageUrl> <NavigateUrl> <AlternateText>Visit Wrox Today!</AlternateText> <Impressions>50</Impressions> <Keyword>XML</Keyword> </Ad> </Advertisements> Овој XML фајл, користен за складирање на информацијата за рекламите кои се појавуваат во апликацијата, има само неколку елементи кои се прикажани во табела 2. Табела 2. Елементи на XML фајл Елемент ImageUrl NavigateUrl AlternateText Опис Завзема string вредност која укажува на локацијата на сликата за употреба Завзема string вредност кои укажува на URL то кое се објавува кога ќе се притисне на сликата Завзема string вредност која е користена за прикажување дали сликите се исклучени во пребарувачот на клиентот или ако сликата не е пронајдена Impressions Завзема нумеричка вредност која укажува на веројатноста да сликата биде

84 селектирана за прикажување Keyword Завзема string вредност која ја поставува категоријата на сликата со цел да се дозволи филтрирање на рекламите Кога XML фајлот е поставен на место, може едноставно да се употребува контролата AdRotator за читање од овој фајл. Покрај XML фајлот, може да се користат и други извори на податоци за сместување на информацијата. На пример, AdRotator може да се поврзе со објектот SqlDataSource кој ја прибира информацијата од SQL Server на следниов начин: <asp:adrotator ID= AdRotator1 runat= server DataSourceId= SqlDataSource1 AlternateTextField= AlternateTF ImageUrlField= Image NavigateUrlField= NavigateUrl /> Својствата AlternateTextField, ImageUrlField и NavigateUrlField укажуваат на имињата на колоните кои се користени во SQL Server. XML серверска контрола Серверската контрола XML обезбедува средства за добивање XML и трансформирање со употреба на XML стилска страница. Контролата XML може да работи со XML на неколку различни начини. Наједноставниот метод е преку користење на конструкција прикажан на листинг 18. Листинг 18 <asp:xml ID= Xml1 runat= server DocumentSource= ~/MyXMLFile.xml TransformSource= MyXSLFile.xslt ></asp:xml> Овој метод опфаќа неколку атрибути: DocumentSource, кој укажува на патеката на XML фајлот, и TransformSource, кои обезбедува XSLT фајл за употреба во трансформирањето на XML документот. Друг начин за употреба на серверската контрола XML е да се вчита XML во објектот и потоа да се предаде објектот на контролата Xml, како што е прикажано на листинг 19. Листинг 19 XmlDocument MyXmlDoc = new XmlDocument(); MyXmlDoc.Load(Server.MapPath( Customers.xml ));

85 XslCompiledTransform MyXsltDoc = new XslCompiledTransform(); MyXsltDoc.Loas(Server.MapPath( CustomersSchema.xslt )); Xml1.Document = MyXmlDoc; Xml1.Transform = MyXslDoc; За да работи ова, мора да се провери дали System.Xml и System.Xml.Xsl именските простори се вметнати во страницата. Примерот ги вчитува и XML и XSL фајловите и потоа ги назначува овие фајлови како вредности на својствата Document и Transform. PANEL серверска контрола Серверската контрола Panel концизира сет на контроли кои може да се употребуваат за манипулирање или издавање на ASP.NET страни. Тоа е всушност обвивка за други контроли, која овозможува да се земе група на серверски контроли заедно со други елементи (како HTML и image) и да се стават во една единица. Предноста од употребата на серверската контрола Panel за концизирање на сет други елементи е во тоа што може да се манипулира со тие елементи како единствена единица користејќи еден поставен атрибут во контролата Panel. На пример, поставувањето на атрибутот Font-Bold на True предизвикува секој предмет во контролата Panel да го прифати овој атрибут. Контролата Panel исто така има способност да скролува со лизгачи кои се појавуваат автоматски зависно од количеството на информација кои ги содржи контролата Panel. Исто така може да се специфицира како лизгачите треба да се појавуваат. Пример за употребата на лизгачи е прикажан на листинг 20. Листинг 20 <%@ Page Language= C# %> <html> <head runat= server > <title> Panel Server Control Page </title> </head> <body> <form id= form1 runat= server > <asp:panel ID= Panel1 runat= server Height= 300 Width= 300 ScrollBars= auto > <p>lorem ipsum dolor sit amet.. </p> </asp:panel> </form> </body> </html> Со назначување на вредностите на атрибутите Height и Width на серверската контрола Panel и употребата на атрибутот ScrollBars (во овој случај, поставен на Auto),

86 може да се прикаже информацијата содржана во рамките на дефинираната површина користејки лизгачи. Слика 29. Серверска контрола Panel Како што може да се види, едниот вертикален лизгач е додаден на поставената површина од 3000 x 3000 пиксели. Контролата Panel го завршува текстот по дифолт. За да се промени оваа особина, се користи атрибутот Wrap, што има вредност Boolean: <asp:panel ID= Panel1 runat= server Height= 300 Width= 300 ScrollBars= Auto Wrap= False /> Друг интересен атрибут кој овозможува промена на однесувањето на контролата Panel е HorizontalAlign. Возможни вредности на овој атрибут се NotSet,Center, Justify, Left и Right. Сликата 30 ни прикажува колекција на контроли Panel со различни хоризонтални порамнувања.

87 Слика 30. Контрола Panel со различни хоризонтални порамнувања. Исто така возможно е да се премести вертикалниот лизгач на левата страна на контролата Panel со користење на атрибутот Direction. Direction може да биде поставен на NotSet, LeftToRight, и RightToLeft. Ако лизгачот е префрлен на левата страна и атрибутот HorizontalAlign е поставен на Left, тогаш содржината ќе наликува како а сликата 31. Слика 31. Panel серверска контрола PLACEHOLDER серверска контрола Серверската контрола PlaceHolder работи како што и самото име кажува тоа е резервирано место за уфрлање на објектите динамички во страната. Може да се замисли како маркер со кој може да се додадат други контроли. Способноста да се додадат други контроли на страната во одредена точка, исто така работи со контролата

88 Panel. На листинг 21 може да се види поставеноста на контролата PlaceHolder на страната и потоа додадените контроли од кодот на серверска страна. Листинг 21 Label NewLabelControl= new Label(); NewLabelControl.Text = Hello there ; PlaceHolder1.Controls.Add(NewLabelControl); Овој пример креира нова инстанца на контролата Label и ја населува со вредноста која е додадена во контролата Panel. Може да се додадат повеќе од една контрола на една инстанца на контролата PanelHolder. BULLETEDLIST серверска контрола Еден заеднички HTML елемент на веб страна е колекција од предмети во нумерирани листи. Серверската контрола BulletedList е наменета за прикажување на нумерираната листа со предмети на подреден (со користење на HTML <ol> елементот)или неподреден(со користење на HTML <ul> елементот) начин. Контролата BulletedList може да биде конструирана од неограничен број на <asp:listitem> контроли. Листингот 22 ја прикажува нумерираната листа во нејзина наједноставна форма. Листинг 22 <%@ Page Language= C# %> <html xmlns= <head runat= server > <title>bulletedlist Server Control</title> </head> <body> <form id= form1 runat= server > <asp:bulletedlist ID= BulletedList1 runat= server > <asp:listitem>united States</asp:ListItem> <asp:listitem>united Kingdom</asp:ListItem> <asp:listitem>finland</asp:listitem> <asp:listitem>russia</asp:listitem> <asp:listitem>sweden</asp:listitem> <asp:listitem>estonia</asp:listitem> </asp:bulletedlist> </form> </body> </html> Употребата на елементот <asp:bulletedlist>, заедно со <asp:listitem> елементите, произведува едноставен излез на нумерирана листа, како што е прикажано на сликата 32.

89 Слика 32. BulletedList Контролата BulletedList исто така овозможува лесно да се промени стилот на листата со само еден или два атрибута. Атрибутот BulletStyle го менува стилот. Возможни вредности се Numbered, LowerAlpha, UpperAlpha, LowerRoman, UpperRoman, Disc, Circle, Square, NotSet и CustomImage. За да се употреби слика како знак за подредување се користи CustomImage во контролата BulletedList. Исто така мора да се користи атрибутот BulletImageUrl на следниот начин: <asp:bulletedlist ID= BulletedList1 runat= server BulletStyle= CustomImage BulletImageUrl= ~/myimage.gif > Слика 33. Употреба на слика како знак за подредување Контролата BulletedList има атрибут наречен DisplayMode кој има три можни вредности: Text, HyperLink, и LinkButton. Употребата на Text значи дека предметите во нумерираната листа се прикажани само како текст. HyperLink значи дека секој од предметите е вклучен во хиперлинк секој корисник што кликнува на линкот се

90 префрла на друга страна, што е специфициран преку атрибутот Value на контролата <asp:listitem>. На листингот 23 прикажана е употребата на вредноста на LinkButton за атрибутот DisplayMode. Листинг 23 Page Language= C# %> <script runat= server > protected void BulletedList1_Click (object sender, System.Web.UI.WebControls.BulletedListEventArgs e) Label1.Text = The index of item you selected: + e.index + <br>the value of the item selected: + BulletedList1.Items [e.index].text; </script> <html xmlns= > <head runat= server > <title> BulletedList Server Control</title> </head> <body> <form id= form1 runat= server > <asp: BulletedList ID= BulletedList1 runat= server OnClick= BulletedList1_Click DisplayMode= LinkButton > <asp:listitem>united States</asp:ListItem> <asp:listitem>united Kingdom</asp:ListItem> <asp:listitem>finland</asp:listitem> <asp:listitem>russia</asp:listitem> <asp:listitem>sweden</asp:listitem> <asp:listitem>estonia</asp:listitem> </asp: BulletedList> <asp:label ID= Label1 runat= server > </asp:label> </form> </body> </html> Во овој пример, DisplayMode атрибутот е поставен на LinkButton, и OnClick атрибутот е користен за да укаже на настанот BulletedList1_Click. BulletedList1_Click го користи објектот BulletedListEventArgs, кој само изложува Index својство. Користејќи го својството, може да се одреди бројот на индекси на селектираниот предмет. Може директно да се пристапи до вредноста на Text на селектираниот предмет преку користење на својството Items, или пак може да се користи истото својство за да се постави инстанца на објектот ListItem. ListItem blselectedvalue= BulletedList1.Items [e.index]; FILEUPLOAD серверска контрола Со употреба на серверската контрола HTML FileUpload може да се прикачат фајлови. Оваа контрола го става елементот <input type= file на веб страницата за да му овозможи на крајниот корисник да прикачува фајлови на серверот. Кога и се дава на

91 страната можност за прикачување на фајлови, едноставно се вклучува контролата <asp: FileUpload> и понатаму ASP.NET превзема контрола, вклучувајќи додавање на атрибутот enctype на елементот на страницата <form>. Прикачување на фајлови со употреба на контролата FileUpload Листинг 24 прикажува пример за употребата на контролата FileUpload. Страната содржи една контрола FileUpload, плус Button и Label контрола. Листинг 24 Page Language= C# %> <script runat= server > protected void Button1_Click(object sender, EventArgs e) If(FileUpload1.HasFile) try FileUpload1.SaveAs( C:\\Uploads\\ + FileUpload1.FileName); Label1.Text= File name: + FileUpload1.PostedFile.FileName + <br> + FileUpload1.PostedFile.ContentLength + kb<br> + Content type: + FileUpload1.PostedFile.ContentType; catch (Exception ex) Label1.Text= ERROR: + ex.message.tostring(); else Label1.Text= You have not specified a file ; </script> <html xmlns= > <head runat= server > <title> FileUpload Server Control </title> </head> <body> <form id= form1 runat= server > <asp:fileupload ID= FileUpload1 runat= server /> <p> <asp:button ID= Button1 runat= server Text= Upload OnClick= Button1_Click /></p> <p> <asp:label ID= Label1 runat= server > </asp:label></p> </form> </body> </html> Од овој пример, може да се забележи дека целиот процесот е доста едноставен. Едното копче го иницира процесот на прикачување. Контролата FileUpload сама по себе не го иницира процесот на прикачуваање. Мора да се иницира преку друг настан како што е Button_Click.

92 Кога се компајлира и извршува оваа страна, може да се забележат неколку работи во генерираниот изворен код на страната. Примерот на генерираниот изворен код е претставен: <html xmlns= > <head id= Head1 ><title> FileUpload Server Control </title></head> <body> <form name= form1 method= post action= FileUpload.aspx id= form1 enctype= multipart/form-data > <div> <input type= hidden name= _VIEWSTATE id= _VIEWSTATE value= /wepdwukmti3odm5mzq0mg9kfgicaw8wah4hzw5jdhlwzqutbxvsdglwyxj0l2zvcm0tzgf0y WRkrSpgAFaEKed5+5/8+zKglFfVLCE= /> </div > <input type= file name= FileUpload1 id= FileUpload1 /> <p> <input type= submit name= Button1 value= Upload id= Button1 /></p> <p> <span id= Label1 ></span></p> <div> <input type= hidden name= _EVENTVALIDATION id= _EVENTVALIDATION value= /wewagl1wlwicakm54rgbqfr8mhzidwvowox+tuvybg5xj0y /> </div></form> </body> </html> Првата работа што може да се забележи е дека, бидејќи контролата FileUpload е на страната, ASP.NET го модифицира елементот на страната <form> преку додавање на соодветен атрибут enctype. Исто така може да се забележи дека контролата FileUpload е конвертирана во HTML елемент <input type = file >. Откако фајлот е прикачен, првиот чек (направен во Button1_click event handler) истражува дали референцата на датотеката е всушност поставена во рамките на елементот <input type = file >. Ако фајлот е специфициран, се прави обид да се прикачи референтниот фајл на серверот со употреба на методата SaveAs() на контролата FileUpload. Методот зема еден стринг параметар, кој треба да ја вклучи локацијата каде што сакаме да го зачуваме фалот. Во стринг параметарот користен во листинг 24, може да се види дека фајлот е зачуван во фолдер наречен Uploads, кој е лоциран во C:\drive. Атрибутот PostedFile.FileName е употребуван за да му даде на зачуваниот фајл исто име како на фајлот од кој е копиран. Доколку сакаме да се именува фајлот со поинакво име, едноставно се употребува SaveAs() методата на следниов начин: FileUpload1.SaveAs( C:\Uploads\UploadedFile.txt ) прикачен: Исто така може да се даде и име на фајлот кое ќе го специфицира времето кога е

93 FileUpload1.SaveAs( C:\Uploads\ & System.DateTime.Now.ToFileTimeUtc() &.txt ) Откако прикачувањето е успешно комплетирано, контролата Label на страната е населена со мета податоци од прикачениот фајл. Во примерот, името на фајлот, големината, и типот на содржина се превземени и прикажани на страната за крајниот корисник. Кога фајлот е прикачен на серверот, генерираната страна е слична на прикажаната на сликата 34. Слика 34. FileUpload серверска контрола MULTIVIEW И VIEW серверски контроли Multiview и view серверските контроли работат заедно за да дадат способност за да исклучуваат и вклучуваат секции на ASP.NET страната. Вклучувањето и исклучувањето на секциите, што значи активирање и деактивирање на серии на контролите на view во рамките на multiview контролата, е слично со промената на видливоста на Panel контролите. Секциите, или погледите, не се менуваат на клиентска страна, туку, тие се менуваат со postback на серверот. Може да се стави неограничен број на елементи и контроли во секој поглед, и крајниот корисник може да работи преку погледите засновани на секвенцијални броеви кои се доделени на погледите. Контролите може да се креираат директно во кодот, како што е претставено на листинг 25. Листинг 25 <%@ Page Language= C# %> Protected void Page_Load(object sender, EventArgs e) If(!Page.IsPostBack) MultiView1.ActiveViewIndex = 0; void NextView(object sender, EventArgs e)

94 MultiView1.ActiveViewIndex +=1; </script> <html xmlns= > <head runat= server > <title>multiview Server Control</title> </head> <body> <form id= form1 runat= server > <asp: MultiView ID= MultiView1 runat= server > <asp:view ID= View1 runat= server > Billy s Famous Pan Pancakes<p/> <i> Heat ½ tsp of butter in cast iron pan. <br/> Heat oven to 450 degrees Fahrenheit. <br/> </i> <p/> <asp:button ID= Button1 runat= server Text= Next Step OnClick= NextView /> </asp:view> <asp:view ID= View2 runat= server > Billy s Famous Pan Pancakes<p/> <i> Mix ½ cup flour, ½ cup milk and 2 eggs in bowl. <br/> Pour in cast iron pan. Place in oven. </i> <p/> <asp: Button ID= Button2 runat= server Text= Next Step OnClick= NextView /> </asp:view> </asp:multiview> </form> </body> </html> Примерот ни прикажува три погледи изразени во контролата MultiView. Секој поглед е конструиран со серверската контрола <asp: View> која исто така има потреба од ID и Runat атрибутите. Копчето е додадено за секој од првите два погледи (View1 и View2) на контролата MultiView. Копчињата укажуваат на настанот на серверска страна кој предизвикува контролата MultiView да прогресира кон следниот поглед во рамките на сериите на погледите. Пред да биде притиснато на било кое од копчињата,на атрибутот ActiveViewIndex од контролата MultiView, му е доделена вредност. По дифолт, ActiveViewIndex, кој го опишува погледот кој треба да се прикаже, е поставен на 1. Ова значи дека не се прикажува поглед кога страната е генерирана. За да се стартува првиот поглед кога страната е подготвена, се поставува својството ActiveViewIndex на 0, што е првиот поглед бидејќи е индекс базиран на нула. Затоа, кодот од листинг 25 прво проверува дали страната е во postback ситуација, и доколку не е, ActiveViewIndex е доделен на првата View контрола. Секое од копчињата во MultiView контролата предизвикува NextView метод. NextView едноставно додава една од ActiveViewIndex вредностите, со тоа што се покажува следниот поглед во сериите се додека последниот поглед е прикажан. Сериите на поглед се прикажани на сликата 35.

95 Слика 35. MultiView серверска контрола Во прилог на копчето Next Step на првиот и вториот поглед, може да се постави и копче во вториот и третиот поглед со цел да му се овозможи на крајниот корисник да се движи наназад низ погледите. За да се направи ова, се креираат две копчиња именовани Previous Step во последните два погледи и се насочуваат на следниот метод во нивниот OnClick настан: void PreviousView(object sender, EventArgs e) MultiView1.ActiveViewIndex -= 1; Методот PreviousView одзима една од ActiveViewIndex вредноста, и на тој начин го прикажува предходниот поглед во сериите на поглед. Друга опција е додавање на бројач на чекори кои ќе прикажува (на Label контрола) кој чекор во сериите на крајниот корисник моментално се извршува. Во настанот Page_PreRender, се додава следната линија: Label1.Text = Step + (MultiView1.ActiveViewIndex + 1).ToString()+ of + MultiView1.Views.Count.ToString();

96 Сега кога се работи низ контролата MultiView, крајниот корисник го гледа чекорот 1 од 3 на првиот поглед, кој се менува во чекорот 2 од 3 на наредниот поглед, итн. WIZARD серверска контрола Серверската контрола Wizard овозможува да се изгради низа од чекори која е прикажана на крајниот корисник. Кога се конструира чекор-по-чекор процес кој вклучува логика за превземените чекори, се користи контролата Wizard за да управува со целиот процес. Кога прв пат се употребува контролата Wizard, може да се забележи дека овозможува далеку подобар степен на прилагодување од MultiView контролата. Во наједноставна форма, контролата Wizard може да биде само <asp: Wizard> елемент со неограничен број на <asp: WizardStep> елементи. Листинг 26 креира Wizard контрола која работи низ три чекори. Листинг 26 <%@ Page Language= C# > <html xmlns= > <head runat= server > <title> Wizard server control</title> </head> <body> <form id= form1 runat= server > <asp: Wizard ID= Wizard1 runat= server DisplaySideBar= true ActiveStepIndex= 0 > < WizardSteps> <asp: WizardStep runat= server title= Step 1 > This is the first step. </asp: WizardStep> <asp: WizardStep runat= server title= Step 2 > This is the second step. </asp: WizardStep> <asp: WizardStep runat= server title= Step3 > This is the third and final step. </asp: WizardStep> </ WizardSteps> </asp: Wizard> </form> </body> </html> Во овој пример, дефинирани се три чекори со контролата <asp: WizardSteps>. Секој чекор содржи содржина едноставен текст во овој случај. Редоследот на кои WizardSteps се дефинирани е базиран целосно на редоследот на кои тие се појавуваат во рамките на < WizardSteps> елементот. <asp: Wizard> елементот содржи пар важни атрибути. Првиот е DisplaySideBar. Во овој пример, е поставен на True по дифолт што значи дека системот на навигациска страна во прикажаната контрола му овозможува на крајниот корисник брзо да се движи на други чекори во процесот.

97 Атрибутот ActiveStepIndex на контролата Wizard го дефинира првиот wizard чекор. Во овој случај, тоа е првиот чекор -0. Трите чекори на примерот за контролата Wizard се прикажани на сликата 36. Слика 36. Wizard серверска контрола Навигациската страна овозможува лесен пристап до дефинираните чекори. Контролата Wizard додава соодветни копчиња на чекорите во процесот. Првиот чекор има едноставно Next копче, средниот чекор има копчиња Previous и Next, и последниот чекор има Previous и Finish копчиња. Корисникот може да се движи низ копчињата со употреба на навигациска страна или со помош на копчињата на секој од чекорите. IMAGEMAP серверска контрола Серверската контрола ImageMap овозможува да се претвори слика во навигациско мени. Со контролата ImageMap, може да се земе една слика и да се специфицира одредени жаришта на сликата со употреба на кординати. На листинг 27 е прикажан пример. Листинг 27 Page Language= C# > <script runat= server > <protected void ImageMap1_Click(object sender, System.Web.UI.WebControls.ImageMapEventArgs e) Response.Write( You selected: + e.postbackvalue );

98 </script> <html xmlns= > <head runat= server > <title> ImageMap Control </title> </head> <body> <form id= form1 runat= server > <asp: ImageMap ID= ImageMap1 runat= server ImageUrl= Kids.jpg Width= 300 OnClick= ImageMap1_Click HotSpotMode= PostBack > <asp:rectanglehotspot Top= 0 Bottom= 225 Left= 0 Right= 150 AlternateText = Sofia PostBackValue= Sofia > </asp:rectanglehotspot> <asp:rectanglehotspot Top= 0 Bottom= 225 Left= 151 Right= 300 AlternateText = Henri PostBackValue= Henri > </asp:rectanglehotspot> </asp: ImageMap> </form> </body> </html> Страната ја става сликата на my children. Ако се притисне на левата страна на сликата, се селектира Sofia, и ако се притисне на десната страна на сликата, се селектира Henri. Се гледа кое дете е селектирано преку изказот Response.Write, како што е прикажано на сликата 37. Слика 37. ImageMap контрола

99 Контролата ImageMap овозможува да се одредат жариштата на неколку различни начини. Од листинг 27, може да се види дека жариштата се сместени на правоаголен начин користејќи го елементот <asp:rectanglehotspot>. Контролата ги зема кординатите на правоаголникот (горни, долни, лево и десно). Покрај <asp:rectanglehotspot> контролата, може да се користат и контролите <asp:circlehotspot> и <asp:polygonhotspot>. Секоја контрола ги зема кординатите зависно од нивниот облик. Откако ќе се дефинираат жариштата на сликата, може да се одговори на кликот жариштето на крајниот корисник на неколку начини. Прво се одредува како да се справи со притиснувањата на жариштето во основниот <asp: ImageMap> елемент со употребата на атрибутот HotSpotMode. Atributot HotSpotMode може да ги земе вредностите PostBack, Navigate и InActive. Во примерот, HotSpotMode вредноста е поставена на PostBack- што значи дека откако крајниот корисник ќе притисне на жариштето, се одвива postback на серверот и се справува со кликот на таа точка. Откако корисникот ќе притисне на едно од жариштата, процедурата на настанот ја прикажува вредноста која е избрана во исказот Response.Write. Покрај postback, може исто така да се движи кон различна URL кога одредено жариште е избрано. Ова се постигнува со тоа што се менува атрибутот HotSpotMode во главниот елемент <asp: ImageMap> во вредноста Navigate. Тогаш, во рамките на <asp:rectanglehotspot> елементите, едноставно се употребува Navigate атрибутот и се назначува локацијата на која крајниот корисник треба да биде директно ако тоа соодветно жариште е притиснато Листинг 27а. Листинг 27а <asp: ImageMap ID= ImageMap1 runat= server ImageUrl= Kids.jpg HotSpotMode= Navigate > <asp:rectanglehotspot Top= 0 Bottom= 225 Left= 0 Right= 150 AlternateText= Sofia NavigateUrl= SofiaPage.aspx > </asp:rectanglehotspot> <asp:rectanglehotspot Top= 0 Bottom= 225 Left= 151 Right= 300 AlternateText= Henri NavigateUrl= HenriPage.aspx > </asp:rectanglehotspot> </asp: ImageMap> CHART серверска контрола Серверската контрола Chart подржува многу типови на графикони вклучувајќи ги: Point, FastPoint, Bubble, Line, Spline, StepLine, FastLine, Bar, StackedBar, StackedBar100, Column, StrackedColumn, StrackedColumn100, Area, SplineArea, Pie, Stock, Range, Radar, Polar, ErrorBar, BoxPlot, ThreeLineBreak, Pyramid итн. Овие се

100 многу различни стилови на графикони. Оваа контрола е дел од именскиот простор System.Web.DataVisualization. Листинг 28 На листинг 28 прикажано е мапирање со новата Chart серверска контрола. Page Language= C# AutoEventWireup= true CodeBehind= WebForm1.aspx.cs Inherits= WebServerControls.WebForm1 %> Register Assembly= System.Web.DataVisualization, Version= , Culture= neutral, PublicKeyToken= 31bf3856ad364e35 Namespace= System.Web.UI.DataVisualization.Charting TagPrefix= asp %> <html xmlns= > <head runat= server > <title> MultiView Server Control</title> </head> <body> <form id= form1 runat= server > <div> <asp:chart ID= Chart1 runat= server DataSourceID= SqlDataSource1 Width= 500px > <Series> <asp: Series ChartType= Bar Name= Series1 XValueMember= Name YValueMembers= OrderQty YValuesPerPoint= 2 > </asp:series> </Series> <ChartAreas> <asp:chartarea Name= ChartArea1 > </asp:chartarea> </ChartAreas> </asp:chart> <asp:sqldatasource ID= SqlDataSource1 runat= server ConnectionString= <%$ ConnectionStrings:ConnectionString %> SelectCommand= SELECT TOP (5) Production.Product.Name, Sales.SalesOrderDetail.OrderQty FROM Sales.SalesOrderDetail INNER JOIN Production.Product ON Sales.SalesOrderDetail.ProductID= Production.Product.ProductID ORDER BY Sales.SalesOrderDetail.OrderQty DESC > </asp:sqldatasource> </div> </form> </body> </html> Од ова, може да се види дека со додавањето на оваа серверска контрола Chart на страната, всушност се додава на врвот на страната. Во рамките на елементот <Series> на оваа контрола, може да се има серии колку што се посакува. Со извршување на овој код, се добиваат резултати како на сликата 38.

101 Слика 38. Chart серверска контрола Работа со master страници Повеќето веб страни денес имаат заеднички елементи кои се користат во текот на целата апликација или на поголемиот дел на страници во рамките на апликацијата. Master страниците претставуваат лесен начин да се обезбеди шаблон кој може да биде користен од страна на неограничен број на ASP.NET страници во апликацијата. При работа со master страници се креира master фајл кој претставува шаблон референциран од страна на подстраниците или содржинската страница. Master страниците ја употребуваат екстензијата.master file, додека содржинската страница ја користи екстензијата.aspx file. Во master страниците може да се смести се што сакаме да биде вклучено како дел од шаблонот. Ова може да вклучи header, footer, навигација. Содржинската страница ја содржи целата содржина на страната освен за елементите на master страниците. За време на извршување, ASP.NET машината ги комбинира овие елементи во една страница за крајниот корисник. Додавањето на master страници е доста слично со.aspx страниците. Add New Item дијалогот овозможува да се избере помеѓу master страници кои употребуваат модел на внатрешно кодирање или master страници кои ги сместуваат нивните кодови во различен фајл. Доколку не се сместува серверскиот код во различен фајл тоа значи дека се употребува моделот на внатрешно кодирање за страницата која се креира. Оваа опција креира single. master страница. Изборот на опцијата да се смести кодот во различен фајл значи дека се употребува модел на нов позадински код со страницата која се креира.

102 Master страницата е нормална HTML страница дизајнирана како шаблон за други директивата ја дефинира како master страница. Откако ќе се дефинира master страницата во апликацијата, може да се употребува овој шаблон за било која содржинска страница во апликацијата. Се притиска десен клик на апликацијата во Solution Explorer и се избира Add New Item за да се креира нова содржинска страница во рамките на апликацијата. За да се креира содржинска страница или страница која ќе ја користи оваа master страница како нејзин шаблон, се избира типична Web form од листата на опции во дијалогот Add New Item. Серверската контрола <asp:content> е дефинирана содржинска област која ја мапира специфичната <asp:contentplaceholder> серверска контрола на master страницата. Во рамките на содржинската страница, нема потреба да се обрнува внимание за специфицирањето на локацијата на содржината бидејќи е веќе дефинирана во рамките на master страницата. Интересна работа при користењето на master страниците е тоа што може да се употребува различен модел на кодирање (inline, code-behind). Може слободно да се мешаат овие елементи во рамките на апликацијата бидејќи работат одлично заедно. Може да се употребува master страница која е креирана претходно, знаејќи дека е креирана со употреба на модел на внатрешно кодирање и потоа да се изградат содржински страници со употреба на модел на позадински код. Покрај тоа што може да се мешаат моделите на кодирање, исто така може да се мешаат и програмските јазици кои се употребуваат за master или содржинските страници. Само за тоа што е изградена master страницата во C# не значи дека треба да се користи C# за сите содржински страници кои ја употребуваат оваа master страница. Кога се креира содржински страници во апликацијата, по правило сите тие содржински страници автоматски го користат насловот кој е деклариран во master страницата. Ова може да се избегне преку специфицирање на насловот на страницата со користење на атрибутот title во во содржинската страница. За да се постигне ова, во кодот на содржинската страница, се употребува master објект. Master објектот има својство наречено Title. Вредноста на ова својство е насловот на страницата кој е користен за соджинската страница.

103 Исто така, кога се работи со master страници од содржинската страница, се има пристап до контролите и својствата кој master страницата ги изложува. Master станицата, кога е референцирана од страна на содржинската страница, изложува својство наречено Master. Ова својство се користи за да се добијат вредностите на контролата или да се прилагодат својствата кој се содржани во master страницата. Покрај тоа што може да се добијат серверски контроли кои се во master страницата, може да се прилагодат својствата кои master страницата може да ги изведе. Од било која содржинска страница, може програмски лесно да се додели master страница. Master страницата се доделува на содржинската страница со користење на Page.MasterPageFile својството. Може да се употребува ова својство независно од тоа дали друга master страница веќе е доделена во За да се додели master страница со својството Page.MasterPageFile се користи настанот PreInit. Настанот PreInit е важен настан за да се забележи кога се работи со master страници, бидејќи е единствената точка каде може да се влијае и на двете, master и содржинаската страница, пред да бидат комбинирани во единствена инстанца. Кога се работи со master страници и содржински страници, и двете може да користат исти настани (како што е Load настанот). Кога крајниот корисник ќе ја побара содржинската страница во пребарувачот, тогаш подредувањето на настанот е на следниот начин: 1. Master page child controls initialization: Сите серверски контроли содржани во рамките на master страницата се први иницијализирани. 2. Content page child controls initialization: Сите серверски контроли содржани во содржинската страница се иницијализирани. 3. Master page initialization: Master страницата сама по себе е иницијализирана. 4. Content page initialization: Содржинската страница е иницијализирана. 5. Content page load: содржинската страница е вчитана (ова е настанот Page_Load проследен од страна на настанот Page_LoadComplete) 6. Master page load: Master страницата е вчитана (ова исто така е настан Page_Load проследен од страна на настанот Page_LoadComplete) 7. Master page child controls load: Серверските контроли на master страницата се вчитани на страницата.

104 8. Content page child controls load: Серверските контроли на содржинската страница се вчитани на страницата. ASP.NET AJAX И MASTER СТРАНИЦИ Неколку години наназад, се повеќе и повеќе програмери развиваат AJAX- достапни веб апликации. AJAX достапните веб страници употребуваат голем број на поврзани веб технологии. Креирањето на AJAX ASP.NET апликации е неверојатно лесно благодарение на ASP.NET AJAX рамката на Microsoft. Секоја страница која е направена со AJAX способности мора да има ScriptManager контрола на страницата. Доколку страницата која употребува AJAX е содржинска страница која користи master страница, тогаш мора да се смести контролата ScriptManager на master страницата. На страницата може да се има само една ScriptManager контрола. Листингот 29 прикажува пример на AJAX master страница. Листинг 29 Master Language= C# > <script runat = server > </script> <html xmlns = > <head runat= server > <title></title> <asp:contentplaceholder id= head runat= server > </asp: ContentPlaceHolder> </head> <body> <form id= form1 runat= server > <div> <asp:scriptmanager ID= ScriptManager1 runat= server /> <asp:contentplaceholder id= Content PlaceHolder1 runat= server > </asp: ContentPlaceHolder> </div> </form> </body> </html> Како што може да се види од листинг 29, единствената вистинска разлика помеѓу AJAX master страницата и стандардната master страница е вклучувањето на ScriptManager серверската контрола. ScriptManager контролата на master страницата исто така е корисна доколку се има заеднички JavaScript елементи кои ќе се сместат на сите страници на веб апликацијата. На пример, на листинг 30 е прикажано како лесно може да се вклучи JavaScript на секоја страница преку master страницата.

105 Листинг 30 Master Language = C# %> <html xmlns= > <head runat= server > <title> </title> <asp:contentplaceholder id= head runat= server > </asp:contentplaceholder> </head> <body> <form id= form1 runat = server > <div> <asp:scriptmanager ID= ScriptManager1 runat= server > <Scripts> <asp:scriptreference Path= myscript.js /> </Scripts> </asp:scriptmanager> <asp:contentplaceholder id = ContentPlaceHolder1 runat= server > </asp:contentplaceholder> </div> </form> </body> </html> Во овој пример, фајлот myscript.js е вклучен на секоја содржинска страна која употребува AJAX master страница. Доколку содржинската страница исто така има потреба од користење на AJAX способностите, тогаш едноставно не може да се додаде друга Script Manager контрола на страницата. Наместо тоа, содржинската страница ќе има потреба да користи ScriptManager контрола која е веќе присутна на master страницата. Доколку содржинската страница треба да додаде дополнителни елементи на Script Manager контролата, тогаш возможно е да се пристапи до оваа контрола на master страницата со користење на Script ManagerProxy серверската контрола. Употребата на Script ManagerProxy контролата овозможува способност да се додаде бесконечно елементи на Script Manager кои се целосно специфични за инстанцата на содржинската страница која прави подмножества. На пример, листинг 31 е прикажано како содржинската страница додава дополнителни скрипти на страницата преку Script ManagerProxy контролата. Листинг 31 <%@ Page Language= C# MasterPageFile= ~/AjaxMaster.master %> <asp:content ID = Content1 ContentPlaceHolderID= head runat= Server > </asp:content> <asp:content ID= Content2 ContentPlaceHolderID= ContentPlaceHolder1 runat= Server > <asp: Script ManagerProxy ID= Script ManagerProxy1 runat= server > <Scripts> <asp:scriptreference Path= myotherscript.js /> </Scripts> </asp: Script ManagerProxy> </asp:content>

106 Во овој случај, содржинската страница ја користи Script ManagerProxy контролата за да додаде дополнителна скрипта на страницата. Оваа Script ManagerProxy контрола работи исто како и главната Script Manager контрола освен тоа што е намената за содржинските страници да се употребуваат на master страницата. Тогаш Script ManagerProxy контролата комуницира со Script Manager контролата на страницата за да се извршат потребните акции Управување со веб форми Веб формите се еден од трите програмски модели за креирање на ASP.NET веб страни и веб апликации. Тие се најстариот ASP.NET програмски модел, со настан предводени веб страници напишани како комбинација од HTML, серверски контроли и серверски код. Сите серверски контроли мора да се прикажат во рамките на <form> таг и <form> тагот мора да содржи runat= server атрибут. Овој атрибут укажува на тоа дека формата треба да биде процесирана на серверот. Исто така, укажува на тоа дека приложените контроли може да бидат достапни преку серверски скрипти: <form runat= server > HTML + server controls </form> Кога се додава веб форма на проектот, Visual studio креира три фајлови. Првиот фајл е самата веб форма и има aspx екстензија. Овој фајл е Default.aspx во примерот прикажан на листинг 32. Листинг 32 <%@ Page Language= C# AutoEventWireup= true CodeBehind= Default.aspx.cs Inherits= WebForms.Default %> <! DOCTYPE html> <html xmlns= <head runa= server > <title></title> </head> <body> <form id= form1 runat = server > <div> </div> </form> </body> </html> Вториот фајл е класа на позадински код, кој има CS фајл екстензија и која најчесто е именована по веб формата со која е поврзана. Овој фајл е Default.aspx.cs на листинг 33, каде се прикажани содржините на Default.aspx.cs.

107 Листинг 33 Using System; Using System.Collections.Generic; Using System.Linq; Using System.Web; Using System.Web.UI; Using System.Web.UI.WebControls; Namespace WebForms Public partial class Default: System.Web.UI.Page Protected void Page_Load(object sender, EventArgs e) Последниот фајл е designer фајлот, кој има фајл екстензија DESIGNER.CS. Веб формите им овозможуваат на програмерите да дизајнираат стандардни влезни страници. Кога корисникот, на пример, ќе притисне на копчето Submit, сите податоци во влезните контроли се ставени заедно во долга низа од текст и се испраќаат до веб серверот. На серверска страна, апликацијата ги обработува податоците. Со други зборови, ако корисникот избере check box или внесува некој текст, апликацијата дознава за тоа откако формата е поднесена ADO.NET ADO.NET е фамилија од технологии кои им овозможуваат на.net програмерите да комуницираат со податоците на стандардни, структурирани и првенствено неврзани начини. ADO.NET, изразен преку System.Data именски простор, имплементира мал сет на библиотеки кои одземаат и манипулираат со големи износи на едноставни и јасни податоци. ADO.NET управува со двата вида на податоци, внатрешни податоци податоци креирани во меморијата и користени во рамките на апликацијата и надворешно податоци - податоци сместени во површината за складирање која е дел од апликацијата, како на пример во релационата база на податоци или текст фајл. ADO.NET генерализира релевантни податоци и ги доставува до кодот во табелата колони и редици. Кога се комуницира со надворешните складишта на податоци, ADO.NET ги претставува неврзаните (disconnected) податоци. ADO.NET претставува сет од класи кои доаѓаат со Microsoft.Net платформата за да се олесни пристапот до податоците од менаџирани јазици. Јачината на ADO.NET првично е во тоа што дозволува апликацијата да пристапува до различни типови на податоци со употреба на иста методологија. Второ, ADO.NET обезбедува два модели за пристап на податоци:

108 поврзан модел каде може да се задржи конекцијата со базата на податоци и да се изврши пристап до податоци, и другиот начин е да се обезбедат сите податоци во ADO.NET објектите кои ќе овозможат да се изврши пристапот до податоци на неврзаните објекти[19]. System.Data именскиот простот вклучува многу различни ADO.NET класи кои работат заедно за да обезбедат пристап до табеларните податоци. Библиотеката вклучува две главни групи на класи: оние кои управуваат со реалните податоци во рамките на софтверот и оние кои комуницираат со системите на надворешните податоци. Во срцето на библиотеката се наоѓа DataTable. DataTable управува со сите вредности на реалните податоци за кои програмерите и изворниот код се заинтересирани. Секоја DataTable содржи нула или повеќе редици на податоци, со индивидуални вредности на податоци на секоја идентификувана редица од страна на дефинициите на колоната на табелата. Секоја табела дефинира DataColumn елементи, секој претставувајќи индивидуални вредности на податоци кои се појавуваат во рекордите на табелата. DataColumn дефинициите вклучуваат декларација на тип на податоци базиран на видот на податоци наменет за секоја колона. За секој рекорд на складираните податоци во рамките на табелата постои еден DataRow запис, кој обезбедува пристап до различни колумнарни вредности на податоците. ADO.NET вклучува методи кои дозволуваат да се додава, да се брише, менува и да се пребарува секој ред на објектот DataTable. Исто така, може да се воспостави врска помеѓу табелите на податоци со користење на DataRelation записите. Табелите може да бидат групирани заедно во DataSet. DataTable инстанците и нивните поврзани објекти се доволни за работа со внатрешни податоци. За да се поврзе со надворешните податоци од базата на податоци, ADO.NET прикажува неколку data providers, вклучувајќи и прилагодлив провајдер за Microsoft SQL Server. Платформите на базата на податоци без специфичен провајдер користат повеќе генерички ODBC и OLE DB провајдери, кои се вклучени во ADO.NET. Целата комуникација со надворешниот извор на податоци се одвива преку објектот Connection. ADO.NET подржува конекциско здружување за да се зголеми ефикасноста помеѓу кверијата. DataAdapter објектот снабдува стандардни дефиниции на кверија за комуникација со базата на податоци, отстранувајќи ја монотоноста од константната потреба за изградба на SQL извештаи за секој рекорд и помага да се автоматизираат некои ADO.NET поврзани задачи. DataReader објектот обезбедува брз,

109 read only пристап до резултатите на кверито за оние моменти кога е потребно само да се земат брзо податоците Креирање на база на податоци и креирање врски помеѓу табелите Базата на податоци претставува колекција на податоци. Таа може да биде толку едноставна како текст фајл со листа на имиња. Или може да биде комплексна како голем релационен систем за управување со базата на податоци, исполнет со вградени алатки за помош при одржување на податоците. Ставките во секоја редица се разделени со колони. Секоја редица се нарекува рекорд. Најдобар начин да се зачуваат податоците во базата на податоци е со употреба на специјализиран софтвер на базата на податоци, како што е Microsoft Access. Базата може да се замисли како компјутеризиран плакар кој се полни од корисниците од организацијата кои ги одржуваат базите а кои се однесуваат на организацијата. Системот на бази на податоци се состои од: 1. Hardware (физички медиуми како дискови, дискети, други мемориски уреди) и 2. Software (медиум преку кој корисниците пристапуваат до физичките записи на податоците, DBMS, им овозможува на корисниците да зачуваат, пристапат, ажурираат или избришат податоци од базата без да имаат знаења за физичката организација на базите и податоците и како во нив се зачувани податоците. Според нивото на комплексност и софистицираност, постојат три класи на DB системи: o Компански бази на податоци големи бази на податоци кои работат на еден или повеќе сервери и можат да имаат повеќе корисници кои се распоредени на многу локации. Користат софистицирани сигурносни мерки и можат да овозможат повеќе нивоа на пристап на корисниците клиентите. Пример ORACLE, DB2(IBM). o Workgroup бази на податоци работат на сервери и дистрибуираат информации на неколку клиентски машини на LAN мрежи. Нивото на трансакциско процесирање е малку пониско од она на компаниските бази на податоци. DBMS може да се справи со многу клиенти кои независно генерираат трансакции кои ја менуваат содржината на една или повеќе бази кои конкурентно работат во моментот. Најпозната ваква база е MS

110 SQL server која содржи механизми за подршка на client-server архитектурата. Конкурентска база од овој тип е MySQL. o Лични бази на податоци работат на единечни персонални компјутери. Имаат пониско ниво на можности за справување со трансакции. Лесни се за користење за поединечни корисници за помали проекти и за еден корисник. Пример MS Access. Со системот за управување на БП, многу задачи може да бидат завршени или преку програмирање или кориснички интерфејс. Креирањето на базите на податоци не е исклучок. Многу администратори на базите на податоци (DBAs) користат Structured Query Language (SQL) за да извршат задачи. ANSI го дефинира овој стандарден јазик за манипулација со релационите бази на податоци. SQL стандардизираното креирање на бази и структуирањето на табели е претставено на листинг 34. Листинг 34 CREATE DATABASE <database name> ([ID_atribut_1], <data type>,.. [ID_atribut_n], <data type>, CONSTRAINT [INDEX] PRIMARY KEY (ID_atribut_1)); Многу системи на БП го прават креирањето на базата на податоци преку кориснички интерфејс. Системите за управување со базата на податоци вообичаeно има Design View за креирање на табели. Тоа овозможува да се креираат имињата на секоја колона, да се специфицира типот на податоци, како и специфицирање на други ограничувања. Ограничувањата на типот на податоци за секоја колона е многу важна и помага во одржување нз интегритетот на податоците. Постојат повеќе начини за додавање на податоци во табелата на базата на податоци: директно внесување, форми, SQL. Може директно да се внесува во табелата додека таа е во datasheet view. Ова изгледа како најбрз, и наједноставен метод, но сепак не е погоден доколку има голем број на податоци. Доколку се користи програм на база на податоци (како што е MS Access), може да се постават форми. Еднаш кога ќе се постават формите, податоците автоматски се внесуваат во табелите. Формите може да вметнат податоци во повеќе табели. Исто така, може да се користи програмскиот јазик SQL за да се вметнат податоци.[29] Една предност на ова е тоа што може да се зачува SQL скриптата за повторна употреба.

111 За да се управува со интегритетот на базата на податоци, некој атрибут од секоја табела мора да се употреби како примарен клуч. Тој мора да е со единствена вредност во секоја колона. При креирањето на табелите во базите на податоци, треба да се декларираат атрибутите кои се примарен клуч и ако тој е единствен, колоната може да се декларира како примарен клуч. Атрибутните полиња кои се однесуваат на повеќе енитети во една табела од прмарниот клуч- атрибут претставува друга табела и е наречена надворешен клуч. Всушност, во таквите табели, тие клучеви се комбинација на повеќе атрибути кои покажуваат на релациите кон податоците за тие ентитети, каде тие клучеви се примарни клучеви. Кога се креира база на податоци, разумот диктира дека се употребуваат одделни табели за различни типови на ентитети. Но потребно е да има врски помеѓу тие табели. Тие врски потребно е да бидат претствени во базата на податоци. За да се постигне референцијален интегритет, мора надворешниот клуч на табелата да се поврзе со примарниот клуч на друга табела. Во релациониот модел на бази на податоци, терминот кардиналност го опишува типот на врска кои табелите го имаат. Постојат три главни типови на кардиналност на моделот на бази на податоци. Еден спрема еден рекордот од една табела се совпаѓа со еден рекорд од друга табела. Еден спрема многу еден рекорд од родител табелата има нула или повеќе дете рекорди во друга табела. Многу спрема многу- еден рекорд од првата табела е поврзан со нула или повеќе рекорди од втората табела, и секој рекорд во втората табела, исто така, може да биде поврзан со нула или повеќе рекорди во првата табела. Исто така, кога се превземаат податоци со SQL, потребно е да се користат одредени типови на JOIN кверија за да се превземе тоа што е потребно. Односно, за прикажување на податоците од повеќе табели неопходно е да се изврши спојување на табелите. JOIN ги поврзува n-торките од различните табели со користење на заедничките атрибути. Постојат повеќе типови на спојување: Декартов производ, еквиспојување, природно спојување и надворешно спојување.

112 3. Креирање на веб апликација 3.1. ER дијаграми и нивно користење во апликацијата ER (Entity - relationship) дијаграмите се стандардизирани алатки за анализа и дизајнирање на информациските системи. Тие им помагаат на аналитичарите да го разберат организацискиот систем и податоците зачувани во организацијата. Моделот (ER) е основа за унифицирање на различните погледи врз податоците. Го претставува реалниот свет преку ентитетни множества и релации, вклучувајќи важни семантички информации. Претставува основа на т.н. концепциско проектирање[40]. За да се креира ER дијаграм потребно е да се направат следните чекори: 1. Да се креира листа на ентитети во организацијата; 2. Да се изберат клучните ентитети за да се намали делокругот на проблемот; 3. Да се идентификуваат примарните ентитети. Во нашиот случај, креиран е ЕР дијаграм за проблемот за кој креираме веб апликација. Дијаграмот е креиран според правилата за креирање ER дијаграми, и е употребена алатката MS Visio. ER дијаграм креиран за изработената веб апликација е претставен на слика 39.

113 Слика 39. ER дијаграм на системскиот предлог 3.2. DFD дијаграми Data Flow Diagram е графичко претставување на протокот на податоци низ информацискиот систем, моделирајќи ги неговите процесни аспекти [41]. DFD често е користен како концептуален модел и е прв чекор при креирање на системски предлог. Тој исто така може да биде користен за визуализација на процесите (структуриран дизајн). DFD прикажува каков вид информација ќе биде внесен и изнесен од системот, од каде податоците доаѓаат и каде одат и каде податоците ќе бидат складирани. Тој не ја прикажува информацијата поврзана со времето на процесирање или информацијата за тоа дали процесите ќе работат во низа или паралелно. Дијаграмот на проток на податоци графички го карактеризира процесирањето на податоци и протокот во бизнис системот. Се опишува преку влезови, процеси и излези. За да се претстават и анализираат детални процедури во поширокиот систем, може да се користи серија на

114 нивовски дијаграм на проток на податоци. Предностите на дијаграмот на проток на податоци се ослободување од грешки при извршување на техничката имплементација премногу рано, разбирање на поврзаноста на системите и подсистемите, комуницирање на тековното системско знаење за корисниците и анализа на предложениот систем. Контекс нивото на дијаграмот на проток на податоци е важна алатка за да се согледаат влезовите и излезите од системот. Тој овозможува преглед на поставувањата на окружувањето на системот кој постои (чиј ентитет носи и прима податоци/ информации). Најважно е што контекст дијаграмот се состои од еден процес кој го опишува целиот систем. Содржи ентитети (надворешни) и проток на податоци од надворешните ентитети до процесите. Слика 40. DFD дијаграм на предложениот систем 3.3. UML дијаграми Унифициран јазик за моделирање или UML е стандарден јазик за визуелно претставување и моделирање на објектите. Преку графички симболи прави апстрактен модел на системот. Во ова истражување направени се неколку UML дијаграми. 1. Дијаграм на кориснички сценарија (Use case diagram)

115 Овој дијаграм се употребува за идентификација на основните елементи и процеси кои што формираат еден систем. Основните елементи се нарекуваат актери, кои во случајот се вработените во училиштата и вработените во ЈСП. Додека пак процесите се нарекуваат кориснички сценарија. Овој дијаграм покажува кој актер во кое корисничко сценарио дејствува. На сликата 41 прикажан е овој дијаграм. На него се прикажани процесите кои ги извршуваат вработените од училиштата, како најавување на веб апликацијата, внесување на нов ученик, преглед на веќе внесен ученик и сл. Исто така прикажани се и процесите на вработените од ЈСП. Слика 41. Use case diagram на предложениот систем 2. Дијаграм на активности (Activity diagram) Тековите на процесите во системот се опфатени во дијаграмот на активности. Овој дијаграм се состои од активности, акции, премини, почетна и завршна состојба. На слика 42 е прикажан Activity дијаграм, каде е опфатен процесот на барање на податоците за учениците за креирање на средношколските легитимации.

116 Слика 42. Activity diagram на предложениот систем 3. Секвенцијален дијаграм (Sequence diagram) Секвенцијалниот дијаграм претставува заемно дејство помеѓу различни објекти. Важен аспект на овој дијаграм е тоа што е временски подреден. Ова значи дека една секвенца на интеракција помеѓу два објекти е претставена постепено. Различни објекти во дијаграмот на секвенции комуницираат едни со други со праќање на пораки. Во овој дијаграм претставени се три објекти: вработен во училиште, база на податоци и вработен во ЈСП. На сликата 43 прикажан е овој дијаграм. Слика 43. Sequence diagram на предложениот систем

117 3.4. Анализа на придобивките од апликацијата за корисникот Имплементирањето на апликацијата има многу придонеси за корисниците. Со добро изработена веб апликација може да се постигне подобрување на работењето на вработените во дел од Јавниот сектор, подобрување на односите со клиентите и поголема интеграција на сите процеси во општеството. Веб апликацијата е достапна преку Интернет и овозможува да се следи работата преку компаниската мрежа или од било која локација што има пристап до Интернет. Таа ќе им овозможи на вработените во училиштата да ја зголемат својата ефикасност, во еден дел, да внесуваат податоци за учениците, за помош при креирање и издавање на средношколски билети. Вработените од ЈСП, користејќи ги тие податоци, ќе ги креираат и издаваат билетитe нa средношколците. Примената на апликацијата ќе овозможи олеснување на работата на вработените и значително скратување на времето во извршувањето на работата, што значи зголемување на ефикасноста и ефективноста во работењето.

118 4. Опис на програмското решение За пристап до веб апликацијата потребна е Интернет конекција. За да се стартува не е потребно да се инсталира апликација на клиентска страна. Таа наместо извршни датотеки, генерира множество на документи кои може да се видат со помош на веб пребарувач кој поддржува HTML, XTML или XML. Веб апликацијата динамички генерира HTML документ кој може да се види со помош на веб индикатор. Корисникот може податоците да ги пренесе со помош на веб форма која е активирана на самата страница. Веб пребарувачот е интерфејс помеѓу корисникот и веб апликацијата. Кај веб апликацијата постои архитектура кај која најважни се следните три слоеви: Презентациски слој врши прикажување на информациите од корисникот Апликациски слој се однесува на управување на активностите кои апликацијата треба да ги изврши Податочен слој се однесува на складирање на податоците во базата на податоци и прикажување на податоците од базата на податоци со помош на сервер. За презентацискиот слој се користи веб пребарувач, за апликацискиот слој се користи динамичка веб технологија, додека пак за податочниот слој се користат системи за управување со бази на податоци. Веб апликацијата се стартува од серверот, се испраќаат наредбите до серверот, тие се обработуваат од страна на софтверот, а потоа се добива одговор кој се вчитува преку веб пребарувач. Во овој труд за креирање на апликацискиот слој користен е програмскиот јазик ASP.NET [42]. Пред да се внесат податоци, потребно е корисникот (вработениот во училиштето) да направи регистрација (доколку прв пат се логира). Откако ќе се регистрира, потребно е да се внесат корисничкото име и лозинката. Тоа е направено со цел да се спречи внесување на податоците од страна на трети лица. На листингот 35 (Анекс А) прикажан е кодот од првиот екран Default.aspx. Функцијата на овој код е да се провери дали податоците на корисникот постојат во базата, односно дали тој корисник претходно е регистриран. Преку кверито SELECT FROM се превземаат податоците од базата, со тоа што корисникот се најавува на апликацијата. При тоа може да се појави грешка, доколку корисничкото име и

119 лозинката се дуплираат, лозинката е празна, или корисничкото име е празно. На овој екран креирано е и копче Регистрирај се, чија функција е да изврши регистрација, доколку корисникот претходно се нема регистрирано. Деталниот изглед на екранот Default.aspx е прикажан на Листинг 36 (Анекс А) На наредниот листинг 37 (Анекс А) прикажан е кодот од формата registriranje.aspx. Функцијата на овој код е да му се овозможи на корисникот да се регистрира, при што, преку кверито INSERT INTO, податоците се внесуваат во базата. Податоците за корисникот кои еднаш се внесени, може да се користат за секое следно најавување на корисникот. Во Листинг 38 (Анекс А), опфатен е целосниот изглед на екранот registriranje.aspx. Всушност опфатен е стилот на екранот, боите, позадините, маргините итн. На листинг 39 (Анекс А) прикажан ни е кодот од формата WebForm2.aspx, каде корисникот може да направи избор помеѓу внес на нов ученик или преглед на веќе внесен ученик. Зависно од изборот што ќе го направи корисникот, се пренасочува кон наредната форма. Понатаму е прикажан кодот кој детално го прикажува изгледот на екранот WebForm2.aspx (Листинг 40 - Анекс А). Функцијата на кодот од WebForm3, прикажан на листинг 41 (Анекс А), е вушност да се направи запис на нов ученик. Потребна е конекција со базата, за да може да се внесат податоците, а воедно и да се направи избор на училиште и општина од dropdown листа. Податоците се внесуваат во базата преку кверито INSERT INTO. Функцијата на кодот во Листинг 42 (Анекс А) е да се опфати изгледот на страната, односно како да изгледа екранот WebForm3.aspx. На листинг 43 (Анекс А), прикажан е кодот од WebForm4, чија функција е да се направи избор на преглед на ученик, по година или по клас. Во зависност од изборот кој е направен, преку gridview кој е поврзан со базата, се прикажуваат податоците за учениците. Додека пак, во кодот од листинг 44 (Анекс А), прикажан е изгледот на екранот WebForm4.aspx.

120 4.1. Опис на табелите во базата на податоци Другиот дел од изработката на веб апликацијата е креирањето на базата на податоци - креирање и дизајнирање на табели. Базата на податоци се креира врз основа на претходно изработениот ER дијаграм. Во изработката на веб апликацијата креирана е база на податоци наречена srednoskolski_bileti. Оваа база составена е од четири табели кои меѓусебно се поврзани. Креирана е една табела Logiranje во која се запишуваат податоците за корисникот, односно податоците за вработените на училиштата кои се најавуваат на веб апликацијата. Оваа табела се состои од три колони, ID, корисничко име и пасворд. Во оваа табела примарниот клуч е поставен на ID, и податочниот тип е поставен на int,односно ова значи дека прима целобројни типови на податоци. Потоа корисничкото име и пасвордот се поставени на nvarchar(100). На сликата 44 прикажана е табелата Logiranje, како и дел од најавените корисници, всушност вработени во училиштата. Слика 44. Приказ на табелата Logiranje Потоа креирани се две табели Opstina и Uciliste, кои се составени од ID и име, каде што ID е од податочен тип int, додека име е од податочен тип nvarchar. Во табелата училиште додадена е уште една колона LogiranjeID која претставува надворешен клуч на табелата Logiranje. На наредните слики 45 и 46, прикажани се и двете табели, како и дел од можните училишта и општини.

121 Слика 45. Приказ на табелата Opstina

122 Слика 46. Приказ на табелата Uciliste На крај креирана е табела SrednoskolBileti каде се внесуваат сите податоци на учениците, односно каде се зачувуваат податоците за секој нов ученик. Исто така преку оваа табела може да се изврши преглед на веќе внесени ученици. Во оваа табела внесени се тринаесет променливи, кои се од различен тип. На сликата 47 прикажана е табелата SrednoskolBileti, како и дел од внесените ученици.

123 Слика 47. Приказ на табелата SrednoskolBileti

Структурно програмирање

Структурно програмирање Аудиториски вежби 1 Верзија 1.0, 20 Септември, 2016 Содржина 1. Околини за развој.......................................................... 1 1.1. Околини за развој (Integrated Development Environment

More information

Март Opinion research & Communications

Март Opinion research & Communications Март 2014 Opinion research & Communications Метод: Телефонска анкета Примерок: 800 испитаници кои следат македонски спорт стратификуван со репрезентативен опфат на сите етнички заедници, урбани и рурални

More information

УПАТСТВО ЗА КОРИСТЕЊЕ НА СИСТЕМОТ ЗА ЕЛЕКТРОНСКО БАНКАРСТВО КОРПОРАТИВНО

УПАТСТВО ЗА КОРИСТЕЊЕ НА СИСТЕМОТ ЗА ЕЛЕКТРОНСКО БАНКАРСТВО КОРПОРАТИВНО УПАТСТВО ЗА КОРИСТЕЊЕ НА СИСТЕМОТ ЗА ЕЛЕКТРОНСКО БАНКАРСТВО КОРПОРАТИВНО Содржина: - Најава на системот...2 1. Сметки...3 2. Провизии...5 3. Курсна листа...5 4. Плаќања...6 НАЈАВА НА СИСТЕМОТ По добивањето

More information

м-р Марјан Пејовски Сектор за регулатива

м-р Марјан Пејовски Сектор за регулатива Трета анализа на пазар за Физички пристап до мрежна инфраструктура (целосен и поделен разврзан пристап) на фиксна локација и четврта анализа на пазар за услуги со широк опсег м-р Марјан Пејовски Сектор

More information

Односот помеѓу интерната и екстерната ревизија. Презентира: Верица Костова

Односот помеѓу интерната и екстерната ревизија. Презентира: Верица Костова Односот помеѓу интерната и екстерната ревизија Презентира: Верица Костова Што е ревизија http://www.youtube.com/watch?v=rjmgrdjhufs&sns=em Регулирање на внатрешната ревизија Закон за банки Закон за супервизија

More information

ЕНаука.мк 1 милион Сајт на годината ( Образование, Наука и Култура )

ЕНаука.мк 1 милион Сајт на годината ( Образование, Наука и Култура ) Инфо ЕНаука.мк е единствениoт интернет пoртал вo Р.Македoнија кoј ги следи и пренесува најактуелните нoвoсти, истражувања и достигнувања во повеќе научни области. Главни цели на порталот се враќање на

More information

УПАТСТВО. Како да започнам со користење на сертификат издаден на Gemalto IDPrime PKI токен во Mozilla Firefox?

УПАТСТВО. Како да започнам со користење на сертификат издаден на Gemalto IDPrime PKI токен во Mozilla Firefox? УПАТСТВО Како да започнам со користење на сертификат издаден на Gemalto IDPrime PKI токен во Mozilla Firefox? Верзија: 4.0 Датум: 18.01.2018 103.29 КИБС АД Скопје 2018 КИБС АД Скопје, сите права задржани

More information

Биланс на приходи и расходи

Биланс на приходи и расходи 1 of 5 06.03.2016 12:00 ЕМБС: 05196248 Целосно име: Здружение за советување,лекување,реинтеграција и ресоцијализација на лица зависни од психоактивни супстанции ИЗБОР-Струмица Вид на работа: 540 Тип на

More information

Биланс на приходи и расходи

Биланс на приходи и расходи 1 of 5 28.02.2015 23:20 ЕМБС: 05196248 Целосно име: Здружение за советување,лекување,реинтеграција и ресоцијализација на лица зависни од психоактивни супстанции ИЗБОР-Струмица Вид на работа: 540 Тип на

More information

1. Наслов на наставниот предмет Имплементација на системи со отворен код. Implementation of open source systems. 7. Број на ЕКТС кредити

1. Наслов на наставниот предмет Имплементација на системи со отворен код. Implementation of open source systems. 7. Број на ЕКТС кредити 1. Наслов на наставниот предмет Имплементација на системи со отворен код Implementation of open source systems 2. Код CSEW514 3. Студиска програма ИКИ, КНИ, ЕТ 4. Организатор на студиската програма (единица,

More information

ФОНД ЗА ЗДРАВСТВЕНО ОСИГУРУВАЊЕ НА МАКЕДОНИЈА ПРИРАЧНИК ЗА РАБОТА СО МОДУЛОТ ПОДНЕСУВАЊЕ НА БАРАЊЕ ЗА БОЛЕДУВАЊЕ ПРЕКУ ПОРТАЛОТ НА ФЗОМ

ФОНД ЗА ЗДРАВСТВЕНО ОСИГУРУВАЊЕ НА МАКЕДОНИЈА ПРИРАЧНИК ЗА РАБОТА СО МОДУЛОТ ПОДНЕСУВАЊЕ НА БАРАЊЕ ЗА БОЛЕДУВАЊЕ ПРЕКУ ПОРТАЛОТ НА ФЗОМ ФОНД ЗА ЗДРАВСТВЕНО ОСИГУРУВАЊЕ НА МАКЕДОНИЈА ПРИРАЧНИК ЗА РАБОТА СО МОДУЛОТ ПОДНЕСУВАЊЕ НА БАРАЊЕ ЗА БОЛЕДУВАЊЕ ПРЕКУ ПОРТАЛОТ НА ФЗОМ Скопје, март 2015 година Содржина 1 Процес на поднесување на барање

More information

Структурирани бази на наставни материјали и дигитална трансформација. студија на случај Република Македонија

Структурирани бази на наставни материјали и дигитална трансформација. студија на случај Република Македонија Структурирани бази на наставни материјали и дигитална трансформација 2 Содржина Листа на табели... 7 Листа на графикони... 10 1. ВОВЕД... 11 1. 1. Мотивација, предмет и цел на истражувањето... 11 1. 2.

More information

Функционалност и употреба на вметнување на зависности (Dependency Injection) во Java

Функционалност и употреба на вметнување на зависности (Dependency Injection) во Java Универзитет Св. Климент Охридски - Битола ТЕХНИЧКИ ФАКУЛТЕТ - БИТОЛА -магистерска работа - Функционалност и употреба на вметнување на зависности (Dependency Injection) во Java Ментор: Илија Јолевски Кандидат:

More information

Преземање сертификат користејќи Mozilla Firefox

Преземање сертификат користејќи Mozilla Firefox УПАТСТВО Преземање сертификат користејќи Mozilla Firefox Верзија: 4.0 Датум: 10.01.2018 103.11 КИБС АД Скопје 2017 КИБС АД Скопје, сите права задржани http://www.kibstrust.mk Содржина 1. Како да го преземам

More information

Дизајнирање на архитектура на микросервиси: развој на бот базиран микросервис за управување со анкети

Дизајнирање на архитектура на микросервиси: развој на бот базиран микросервис за управување со анкети Универзитет Св. Климент Охридски - Битола Факултет за информатички и комуникациски технологии Битола Отсек за информатика и компкутерска техника Дизајнирање на архитектура на микросервиси: развој на бот

More information

Advanced databases. Факултет за информатички науки и компјутерско инженерство ФИНКИ. 7. Број на ЕКТС кредити. Бази на податоци

Advanced databases. Факултет за информатички науки и компјутерско инженерство ФИНКИ. 7. Број на ЕКТС кредити. Бази на податоци 1. Наслов на наставниот предмет Напредни бази на податоци Advanced databases 2. Код CSES619 3 Студиска прогама КНИ, ЕТ,АСИ 4. Организатор на студиската програма (единица, односно институт, катедра, оддел)

More information

Универзитет Гоце Делчев - Штип. Факултет за информатика. Катедра за софтверско инженерство ЗОРАН МИЛЕВСКИ ЕДУКАТИВНО ПОДАТОЧНО РУДАРЕЊЕ СО MOODLE 2.

Универзитет Гоце Делчев - Штип. Факултет за информатика. Катедра за софтверско инженерство ЗОРАН МИЛЕВСКИ ЕДУКАТИВНО ПОДАТОЧНО РУДАРЕЊЕ СО MOODLE 2. Универзитет Гоце Делчев - Штип Факултет за информатика Катедра за софтверско инженерство ЗОРАН МИЛЕВСКИ ЕДУКАТИВНО ПОДАТОЧНО РУДАРЕЊЕ СО MOODLE 2.4 -МАГИСТЕРСКИ ТРУД- Штип, јули 2015 Комисија за оценка

More information

За обуката ВОВЕД ВО НОВИОТ ПРЕДМЕТ

За обуката ВОВЕД ВО НОВИОТ ПРЕДМЕТ За обуката ВОВЕД ВО НОВИОТ ПРЕДМЕТ Распоред на активности 10.00-11.30 прв блок часови 11.30-11.40 пауза 11.40 13.10 втор блок часови 13.10 13.50 пауза за ручек 13.50 15.20 трет блок часови 15.20 15.30

More information

ПРОМЕНИ ВО РАКОВОДЕЊЕТО НА ОРГАНИЗАЦИЈА ЧИЈА ОСНОВНА ДЕЈНОСТ Е ИНЖЕНЕРИНГ

ПРОМЕНИ ВО РАКОВОДЕЊЕТО НА ОРГАНИЗАЦИЈА ЧИЈА ОСНОВНА ДЕЈНОСТ Е ИНЖЕНЕРИНГ 6. СОВЕТУВАЊЕ Охрид, 4-6 октомври 2009 Игор Трајковски, дипл.ел.инг. NETRA ltd. Telecommunication engineering, Скопје Проф.д-р. Атанас Илиев, дипл.ел.инг. ФЕИТ, Скопје ПРОМЕНИ ВО РАКОВОДЕЊЕТО НА ОРГАНИЗАЦИЈА

More information

УПАТСТВО. Kористење безбедно средство за електронско потпишување на Gemalto (PKI Smart Card и PKI Token)

УПАТСТВО. Kористење безбедно средство за електронско потпишување на Gemalto (PKI Smart Card и PKI Token) УПАТСТВО Kористење безбедно средство за електронско потпишување на Gemalto (PKI Smart Card и PKI Token) Верзија: 3.0 Датум: 26.04.2012 КИБС АД Скопје 2012 КИБС АД Скопје, сите права задржани http://ca.kibs.com.mk

More information

Д Е К Л А Р А Ц И Ј А за Вклученост на Заедницата

Д Е К Л А Р А Ц И Ј А за Вклученост на Заедницата Д Е К Л А Р А Ц И Ј А за Вклученост на Заедницата British Embassy Skopje Проектот е финансиран од Британска Амбасада - Скопје, а спроведен од Здружението за одржлив развој и соработка АЛКА од Скопје. The

More information

Обука за електронски систем на учење МИКРОУЧЕЊЕ. Материјал за учесници

Обука за електронски систем на учење МИКРОУЧЕЊЕ. Материјал за учесници MIOA301-P5-Z2 Министерство за информатичко општество и администрација Обука за електронски систем на учење МИКРОУЧЕЊЕ Овој материјал е изработен од страна на Министерството за информатичко општество и

More information

Универзитет за туризам и менаџмент во Скопје 2014/2015. Проф. д-р Сашо Кожухаров

Универзитет за туризам и менаџмент во Скопје 2014/2015. Проф. д-р Сашо Кожухаров Универзитет за туризам и менаџмент во Скопје 2014/2015 Проф. д-р Сашо Кожухаров Детерминирање на менаџирањето на ризикот Процес на менаџирање на ризикот Одлучување и донесување одлуки Системи за поддржувањето

More information

ПЕТТО СОВЕТУВАЊЕ. Охрид, 7 9 октомври 2007 SCADA - КОМПОНЕНТА НА ДИСПЕЧЕРСКИ ТРЕНИНГ СИМУЛАТОР

ПЕТТО СОВЕТУВАЊЕ. Охрид, 7 9 октомври 2007 SCADA - КОМПОНЕНТА НА ДИСПЕЧЕРСКИ ТРЕНИНГ СИМУЛАТОР ПЕТТО СОВЕТУВАЊЕ Охрид, 7 9 октомври 2007 Асс. Сања Велева Трпевска Евица Проф. д-р Марија Кацарска Факултет за електротехника и информациски технологии, Скопје SCADA - КОМПОНЕНТА НА ДИСПЕЧЕРСКИ ТРЕНИНГ

More information

Бизнис информатика. Современи науки и технологии. Магистер по компјуерски науки / Oбласт: Бизнис информатика

Бизнис информатика. Современи науки и технологии. Магистер по компјуерски науки / Oбласт: Бизнис информатика Study program Факултет Циклус на студии Бизнис информатика Современи науки и технологии Втор циклус (Постдипломски) ЕКТС 120 Титула Магистер по компјуерски науки / Oбласт: Бизнис информатика Архивски број

More information

ЛИСТА НА ЛЕКОВИ КОИ ПАЃААТ НА ТОВАР НА ФОНДОТ ЗА ЗДРАВСТВЕНО ОСИГУРУВАЊЕ НА МАКЕДОНИЈА

ЛИСТА НА ЛЕКОВИ КОИ ПАЃААТ НА ТОВАР НА ФОНДОТ ЗА ЗДРАВСТВЕНО ОСИГУРУВАЊЕ НА МАКЕДОНИЈА Врз основа на член 9 став 1а точка 8 и став 1в точка 2 и член 56 став 1 точка 3 од Законот за здравственото осигурување ( Службен весник на РМ бр. 25/2000, 34/2000, 96/2000, 50/2001, 11/2002, 31/2003,

More information

15.1. Предавања теоретска настава 30 часови активности

15.1. Предавања теоретска настава 30 часови активности 1. Наслов на наставниот предмет Програмирање и алгоритми 2. Код. Студиска програма Сите студиски програми 4. Организатор на студиската програма Факултет за електротехника и информациски технологии 5. Степен

More information

Зошто ни е потребен слободниот пристап до информации од јавен карактер и што претставува овој концепт?

Зошто ни е потребен слободниот пристап до информации од јавен карактер и што претставува овој концепт? ,,Secrecy, being an instrument of conspiracy, ought never to be the system of a regular government. Зошто ни е потребен слободниот пристап до информации од јавен карактер и што претставува овој концепт?

More information

Заштита на личните податоци во Република Македонија. Охрид, 27 мај 2014 година

Заштита на личните податоци во Република Македонија. Охрид, 27 мај 2014 година Заштита на личните податоци во Република Македонија Охрид, 27 мај 2014 година 1 1 Правна рамка за заштита на личните податоци 2 Закон за заштита на личните податоци ( Службен весник на Република Македонија

More information

Апстракт Вовед Цели и методологија на изработка на магистерскиот труд Cloud технологии и нивната примена во бизнисите...

Апстракт Вовед Цели и методологија на изработка на магистерскиот труд Cloud технологии и нивната примена во бизнисите... СОДРЖИНА Апстракт... 5 Вовед... 7 Цели и методологија на изработка на магистерскиот труд... 8 Глава 1: 1. Cloud технологии и нивната примена во бизнисите... 9 1.1 Cloud технологија и нејзиниот развој...

More information

Siemens собни термостати. За максимален комфорт и енергетска ефикасност. siemens.com/seeteam

Siemens собни термостати. За максимален комфорт и енергетска ефикасност. siemens.com/seeteam . За максимален комфорт и енергетска ефикасност siemens.com/seeteam 1 СОБНИ ТЕРМОСТАТИ ЗА ФЕНКОЈЛЕРИ RAB11 / RAB21 / RAB31 СОБЕН ТЕРМОСТАТ ЗА ФЕНКОЈЛЕРИ RDF110.2 / RDF110 / RDF110/IR RAB11 Електромеханички

More information

ISA SERVER - ПОЛИТИКИ ЗА РЕГУЛИРАЊЕ НА ИНТЕРНЕТ СООБРАЌАЈ ВО МРЕЖИ Јасминка Сукаровска Костадиновска, Доц Др.Сашо Гелев

ISA SERVER - ПОЛИТИКИ ЗА РЕГУЛИРАЊЕ НА ИНТЕРНЕТ СООБРАЌАЈ ВО МРЕЖИ Јасминка Сукаровска Костадиновска, Доц Др.Сашо Гелев УДК: 004.738.056.057.4 ISA SERVER - ПОЛИТИКИ ЗА РЕГУЛИРАЊЕ НА ИНТЕРНЕТ СООБРАЌАЈ ВО МРЕЖИ Јасминка Сукаровска Костадиновска, Доц Др.Сашо Гелев 1 Европски Универзитет Скопје, Р. Македонија, sukarovska.jasminka@live.eurm.edu.mk

More information

ФАКУЛТЕТ ЗА ЕЛЕКТРОТЕХНИКА И ИНФОРМАЦИСКИ ТЕХНОЛОГИИ АВТОМАТСКА КОМПОЗИЦИЈА НА СЕМАНТИЧКИ ВЕБ СЕРВИСИ

ФАКУЛТЕТ ЗА ЕЛЕКТРОТЕХНИКА И ИНФОРМАЦИСКИ ТЕХНОЛОГИИ АВТОМАТСКА КОМПОЗИЦИЈА НА СЕМАНТИЧКИ ВЕБ СЕРВИСИ Универзитет,,Св. Кирил и Методиј ФАКУЛТЕТ ЗА ЕЛЕКТРОТЕХНИКА И ИНФОРМАЦИСКИ ТЕХНОЛОГИИ Институт за компјутерска техника и информатика Милош Јовановиќ АВТОМАТСКА КОМПОЗИЦИЈА НА СЕМАНТИЧКИ ВЕБ СЕРВИСИ -магистерски

More information

МАГИСТЕРСКИ ТРУД. Значењето на е-crm за остварување на конкурентска предност на компаниите

МАГИСТЕРСКИ ТРУД. Значењето на е-crm за остварување на конкурентска предност на компаниите МАГИСТЕРСКИ ТРУД Значењето на е-crm за остварување на Кандидат Вршкоска Лидија Ментор Проф.Д-р.Маргарита Јанеска Прилеп, јуни, 2014 Содржина Вовед... 4 1.Предмет, цели и методологија на истражување...

More information

Современи науки и технологии. Магистер по компјутерски науки / Насока: Информациски системи

Современи науки и технологии. Магистер по компјутерски науки / Насока: Информациски системи Study program Факултет Циклус на студии Компјутерски науки Современи науки и технологии Втор циклус (Постдипломски) ЕКТС 120 Титула Магистер по компјутерски науки / Насока: Информациски системи Архивски

More information

Современи науки и технологии. Дипломиран по компјутерски науки

Современи науки и технологии. Дипломиран по компјутерски науки Study program Факултет Циклус на студии Компјутерски науки Современи науки и технологии Прв циклус (Додипломски) ЕКТС 180 Титула Дипломиран по компјутерски науки Архивски број [180] 03-680/2 Accreditation

More information

Дизајн и имплементација на модул за извештаи и администрација на СМС систем за паркирање

Дизајн и имплементација на модул за извештаи и администрација на СМС систем за паркирање Универзитет Св. Климент Охридски Битола Факултет за информатички и комуникациски технологии - Битола Дизајн и имплементација на модул за извештаи и администрација на СМС систем за паркирање -Магистерски

More information

Упатство за инсталација на Gemalto.NET токен во Mozilla Firefox

Упатство за инсталација на Gemalto.NET токен во Mozilla Firefox Упатство за инсталација на Gemalto.NET токен во Mozilla Firefox Содржина Воведни препораки... 3 1. Подесување на Trust... 4 2. Инсталација на софтвер за Gemalto.NET токен... 5 3А. Инсталирање на драјвери

More information

Основи и развој на. Основи и развој на е-влада

Основи и развој на. Основи и развој на е-влада Основи и развој на е-влада Основи и развој на е-влада 1 Издавачи: УСАИД/Проект за е-влада Министерство за информатичко општество Фондација Метаморфозис За издавачите: Елена Стаматоска, директор на УСАИД/Проект

More information

МОДЕЛИРАЊЕ И ЕВАЛУАЦИЈА НА ПЕРФОРМАНСИТЕ НА СИСТЕМИТЕ НА БИЗНИС ИНТЕЛИГЕНЦИЈА ВО КОМПАНИИТЕ

МОДЕЛИРАЊЕ И ЕВАЛУАЦИЈА НА ПЕРФОРМАНСИТЕ НА СИСТЕМИТЕ НА БИЗНИС ИНТЕЛИГЕНЦИЈА ВО КОМПАНИИТЕ Универзитет Св. Климент Охридски - Битола Економски факултет - Прилеп Дејан Здравески, м-р. МОДЕЛИРАЊЕ И ЕВАЛУАЦИЈА НА ПЕРФОРМАНСИТЕ НА СИСТЕМИТЕ НА БИЗНИС ИНТЕЛИГЕНЦИЈА ВО КОМПАНИИТЕ - ДОКТОРСКА ДИСЕРТАЦИЈА

More information

Универзитет Св. Климент Охридски - Битола Факултет за туризам и угостителство Охрид. Дипломиран организатор по туризам и угостителство

Универзитет Св. Климент Охридски - Битола Факултет за туризам и угостителство Охрид. Дипломиран организатор по туризам и угостителство Кратка биографија ЛИЧНИ ИНФОРМАЦИИ Презиме и име: Контакт адреса: Татјана Димоска Телефон: +389 46 262 147/ 123 (работа) Факс: +389 46 264 215 E-mail: Националност: Македонка Дата на раѓање: 16.10.1974

More information

МАГИСТЕРСКИ ТРУД АНАЛИЗА НА ПЕРФОРМАНСИТЕ НА КОНЦЕПТОТ Е-ВЛАДА ВО РЕПУБЛИКА МАКЕДОНИЈА

МАГИСТЕРСКИ ТРУД АНАЛИЗА НА ПЕРФОРМАНСИТЕ НА КОНЦЕПТОТ Е-ВЛАДА ВО РЕПУБЛИКА МАКЕДОНИЈА Универзитет Св. Климент Охридски - Битола ЕКОНОМСКИ ФАКУЛТЕТ ПРИЛЕП МАГИСТЕРСКИ ТРУД АНАЛИЗА НА ПЕРФОРМАНСИТЕ НА КОНЦЕПТОТ Е-ВЛАДА ВО РЕПУБЛИКА МАКЕДОНИЈА Ментор: Проф. д-р Марјан Ангелески Кандидат: Прилеп

More information

КОСМО ИНОВАТИВЕН ЦЕНТАР

КОСМО ИНОВАТИВЕН ЦЕНТАР КОСМО ИНОВАТИВЕН ЦЕНТАР бул. Јане Сандански бр.113, 1000 Скопје фах.+389 2 244 8240 тел.+389 2 244 8077 contact@cosmoinnovate.com.mk ЦЕНОВНИК НА ОБУКИ ЗА 2011/2012 ГОДИНА Со овие обуки кандидатите ги надополнуваат

More information

БАРAЊE ЗА ИЗДАВАЊЕ/ПРОДОЛЖУВАЊЕ НА ДОЗВОЛА ЗА ПРИВРЕМЕН ПРЕСТОЈ APPLICATION FOR ISSUE/EXTENSION OF TEMPORARY RESIDENCE PERMIT

БАРAЊE ЗА ИЗДАВАЊЕ/ПРОДОЛЖУВАЊЕ НА ДОЗВОЛА ЗА ПРИВРЕМЕН ПРЕСТОЈ APPLICATION FOR ISSUE/EXTENSION OF TEMPORARY RESIDENCE PERMIT Образец бр.2 Назив на органот до кој барањето се поднесува Name of the receiving authority Priemen штембил Stamp of receipt БАРAЊE ЗА ИЗДАВАЊЕ/ПРОДОЛЖУВАЊЕ НА ДОЗВОЛА ЗА ПРИВРЕМЕН ПРЕСТОЈ APPLICATION FOR

More information

Вовед во мрежата nbn. Што е тоа австралиска nbn мрежа? Што ќе се случи? Како да се префрлите на мрежата nbn. Што друго ќе биде засегнато?

Вовед во мрежата nbn. Што е тоа австралиска nbn мрежа? Што ќе се случи? Како да се префрлите на мрежата nbn. Што друго ќе биде засегнато? Вовед во мрежата nbn 1 Што е тоа австралиска nbn мрежа? 2 Што ќе се случи? 3 Како да се префрлите на мрежата nbn 4 Што друго ќе биде засегнато? 5 Што треба следно да сторите 1 Што е тоа австралиска nbn

More information

КАРАКТЕРИСТИКИ НА НАСТАВНИТЕ ПРОГРАМИ ПО МАТЕМАТИКА ЗА ОСНОВНО ОБРАЗОВАНИЕ ( , , )

КАРАКТЕРИСТИКИ НА НАСТАВНИТЕ ПРОГРАМИ ПО МАТЕМАТИКА ЗА ОСНОВНО ОБРАЗОВАНИЕ ( , , ) МАТЕМАТИЧКИ ОМНИБУС, 2 (2017), 107 121 КАРАКТЕРИСТИКИ НА НАСТАВНИТЕ ПРОГРАМИ ПО МАТЕМАТИКА ЗА ОСНОВНО ОБРАЗОВАНИЕ (1996 1998, 2007 2009, 2013 2015) Лидија Кондинска 1 Снежана Ристовска 2 Промените во наставата

More information

ПРИРАЧНИК ЗА ПРОЕКТЕН МЕНАЏМЕНТ

ПРИРАЧНИК ЗА ПРОЕКТЕН МЕНАЏМЕНТ ОБУКА ЗА ПРИРАЧНИК ЗА (пример од глава I) Предавач: Андријана Богдановска Ѓуровиќ KNOWLEDGE CENTER, 2011 ГЛАВА 1 ВОВЕД И КОНЦЕПТ НА ПРОЕКТНИОТ МЕНАЏМЕНТ Цели Целта на воведот е даде преглед на проектниот

More information

ИНТЕРНЕТ ТЕХНОЛОГИИ ПРЕНОС НА ПОДАТОЦИ

ИНТЕРНЕТ ТЕХНОЛОГИИ ПРЕНОС НА ПОДАТОЦИ ИНТЕРНЕТ ТЕХНОЛОГИИ ПРЕНОС НА ПОДАТОЦИ Доц. д-р Иван Краљевски ПРЕНОС НА ПОДАТОЦИ FTP FTP (File Transfer Protocol) протокол за пренос на датотеки. Преземањето на датотеки (Down-Load) е само еден дел од

More information

Коисмение.Штозначиме.

Коисмение.Штозначиме. Коисмение.Штозначиме. Исто како стоките и податоците, така GW ги движи и луѓето кои доаѓаат во контакт со портокаловата мрежа, внатрешно или надворешно. Ние се движиме напред со нашите клиенти, со напреден

More information

Развојот и примената на UBUNTU оперативниот систем

Развојот и примената на UBUNTU оперативниот систем ФОН УНИВЕРЗИТЕТ ФАКУЛТЕТ ЗА ИНФОРМАЦИСКО-КОМУНИКАЦИСКИ ТЕХНОЛОГИИ Развојот и примената на UBUNTU оперативниот систем Семинарски труд КОМПЈУТЕРСКИ АЛАТКИ Ментор: Проф. Д-р Симе Арсеновски Студент: Влатко

More information

МОДЕЛИ И ТЕХНИКИ НА ГРУПНО ОДЛУЧУВАЊЕ И НИВНАТА ПРИМЕНА ВО ДЕЛОВНИТЕ СУБЈЕКТИ ОД ПЕЛАГОНИСКИОТ РЕГИОН

МОДЕЛИ И ТЕХНИКИ НА ГРУПНО ОДЛУЧУВАЊЕ И НИВНАТА ПРИМЕНА ВО ДЕЛОВНИТЕ СУБЈЕКТИ ОД ПЕЛАГОНИСКИОТ РЕГИОН У Н И В Е Р З И Т Е Т С В. К Л И М Е Н Т О Х Р И Д С К И Е К О Н О М С К И Ф А К У Л Т Е Т П Р И Л Е П МОДЕЛИ И ТЕХНИКИ НА ГРУПНО ОДЛУЧУВАЊЕ И НИВНАТА ПРИМЕНА ВО ДЕЛОВНИТЕ СУБЈЕКТИ ОД ПЕЛАГОНИСКИОТ РЕГИОН

More information

СИСТЕМ ЗА УПРАВУВАЊЕ СО ДОКУМЕНТИ (DMS)

СИСТЕМ ЗА УПРАВУВАЊЕ СО ДОКУМЕНТИ (DMS) РЕПУБЛИКА МАКЕДОНИЈА УНИВЕРЗИТЕТ СВ. КЛИМЕНТ ОХРИДСКИ ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ И KОМУНИКАЦИСКИ ТЕХНОЛОГИИ - БИТОЛА Последипломски студии-информатика и компјутерска техника СИСТЕМ ЗА УПРАВУВАЊЕ СО ДОКУМЕНТИ

More information

ПРОЦЕС НА ПРОМЕНИ ВО МАРКЕТИНГ СТРАТЕГИЈАТА И СТРУКТУРАТА

ПРОЦЕС НА ПРОМЕНИ ВО МАРКЕТИНГ СТРАТЕГИЈАТА И СТРУКТУРАТА ПРОЦЕС НА ПРОМЕНИ ВО МАРКЕТИНГ СТРАТЕГИЈАТА И СТРУКТУРАТА Апстракт Организациската промена е компонента на современото претпријатие,бидејќи се смета дека процесот на промените го подобрува работниот систем.при

More information

University St.Kliment Ohridski - Bitola Scientific Tobacco Institute- Priep ABSTRACT

University St.Kliment Ohridski - Bitola Scientific Tobacco Institute- Priep   ABSTRACT Тутун / Tobacco, Vol.64, N⁰ 1-6, 46-55, 2014 ISSN 0494-3244 Тутун/Tobacco,Vol.64, N⁰1-6, 62-69, 2014 UDC: 633.71-152.61(497) 2008/2012 633.71-152.61(497.7) 2008/2012 Original Scientific paper DYNAMIC PRESENTATION

More information

Algorithms and Data Structures. 7. Број на ЕКТС кредити

Algorithms and Data Structures. 7. Број на ЕКТС кредити 1. Наслов на наставниот предмет Алгоритми и податочни структури Algorithms and Data Structures 2. Код CSEW301 3. Студиска програма 4. Организатор на студиската програма (единица, односно институт, катедра,

More information

ИЗРАБОТКА НА JLEGO БИБЛИОТЕКА ЗА РАЗВИВАЊЕ НА ANDROID АПЛИКАЦИИ ЗА КОМУНИКАЦИЈА И УПРАВУВАЊЕ НА LEGO NXT РОБОТСКИ СИСТЕМ

ИЗРАБОТКА НА JLEGO БИБЛИОТЕКА ЗА РАЗВИВАЊЕ НА ANDROID АПЛИКАЦИИ ЗА КОМУНИКАЦИЈА И УПРАВУВАЊЕ НА LEGO NXT РОБОТСКИ СИСТЕМ Универзитет Св. Климент Охридски - Битола Технички Факултет Битола ИЗРАБОТКА НА JLEGO БИБЛИОТЕКА ЗА РАЗВИВАЊЕ НА ANDROID АПЛИКАЦИИ ЗА КОМУНИКАЦИЈА И УПРАВУВАЊЕ НА LEGO NXT РОБОТСКИ СИСТЕМ - МАГИСТЕРСКИ

More information

Ф а б р и ч е н п л и н с к и у р е д

Ф а б р и ч е н п л и н с к и у р е д Ф а б р и ч е н п л и н с к и у р е д Вовед Возилата GREAT WALL со бензински мотори можат да бидат дополнително опремени со фабрички гасен уред со течно вбризгување на горивото (Liquid Propane Injection

More information

на јавната свест за Архуска конвенција и еколошкото законодавство на Европската Унија

на јавната свест за Архуска конвенција и еколошкото законодавство на Европската Унија Анализа на наоди од истражување на јавната свест за Архуска конвенција и еколошкото законодавство на Европската Унија Justice and Environment 2013 a Udolni 33, 602 00, Brno, CZ e info@justiceandenvironment.org

More information

Издавач: Центар за управување со промени, Центар за одржлив развој АЛКА

Издавач: Центар за управување со промени, Центар за одржлив развој АЛКА НАСОКИ ЗА ОТВОРЕНИ ПОДАТОЦИ ВО ЕДИНИЦИТЕ НА ЛОКАЛНАТА САМОУПРАВА Издавач: Центар за управување со промени, Центар за одржлив развој АЛКА За издавачот: Неда Малеска Сачмароска, Центар за управување со промени

More information

УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ ШТИП ФАКУЛТЕТ ЗА ИНФОРМАТИКА Информациски технологии Штип

УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ ШТИП ФАКУЛТЕТ ЗА ИНФОРМАТИКА Информациски технологии Штип УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ ШТИП ФАКУЛТЕТ ЗА ИНФОРМАТИКА Информациски технологии Штип ЃОРЃЕ ГИЧЕВ НАПРЕДНО ПРЕБАРУВАЊЕ ИНФОРМАЦИИ КАЈ ERP АПЛИКАЦИИ - МАГИСТЕРСКИ ТРУД - Штип, Јули 2014 КОМИСИЈА ЗА ОЦЕНКА И

More information

Универзитет Св. Климент Охридски- Битола. Факултет за информатички и. комуникациски технологии - Битола. Студиска програма:

Универзитет Св. Климент Охридски- Битола. Факултет за информатички и. комуникациски технологии - Битола. Студиска програма: Универзитет Св. Климент Охридски- Битола Факултет за информатички и комуникациски технологии - Битола Студиска програма: Администрирање со јавни политики Влатко Степаноски ВЛИЈАНИЕТО НА ПРЕТПРИСТАПНИТЕ

More information

ПОИМ ЗА КОМПЈУТЕРСКИ МРЕЖИ КАРАКТЕРИСТИКИ НА КОМПЈУТЕРСКИТЕ МРЕЖИ

ПОИМ ЗА КОМПЈУТЕРСКИ МРЕЖИ КАРАКТЕРИСТИКИ НА КОМПЈУТЕРСКИТЕ МРЕЖИ ПОИМ ЗА КОМПЈУТЕРСКИ МРЕЖИ КАРАКТЕРИСТИКИ НА КОМПЈУТЕРСКИТЕ МРЕЖИ 1. Компјутерски мрежи Компјутерска мрежа претставува збир од два или повеќе компјутери кои се поврзани преку комуникациски медиум и кои

More information

Штип. Кристина Анчевска

Штип. Кристина Анчевска УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ - ШТИП ЕКОНОМСКИ ФАКУЛТЕТ МБА - Менаџмент Штип Кристина Анчевска ВЛИЈАНИЕТО НА МЕНАЏМЕНТ КОНТРОЛАТА ВРЗ УСПЕШНОСТА НА РАБОТЕЊЕТО НА КОМПАНИИТЕ (со посебен осврт на текстилната дејност

More information

Преземање сертификат користејќи Internet Explorer

Преземање сертификат користејќи Internet Explorer УПАТСТВО Преземање сертификат користејќи Internet Explorer Верзија: 4.0 Датум: 09.01.2018 103.10 КИБС АД Скопје 2017 КИБС АД Скопје, сите права задржани http://www.kibstrust.mk Содржина 1. Подготовка за

More information

РЕПУБЛИКА МАКЕДОНИЈА. Универзитет Св. Климент Охридски Битола. Економски факултет - Прилеп

РЕПУБЛИКА МАКЕДОНИЈА. Универзитет Св. Климент Охридски Битола. Економски факултет - Прилеп РЕПУБЛИКА МАКЕДОНИЈА Универзитет Св. Климент Охридски Битола Економски факултет - Прилеп КВАЛИТЕТ НА УСЛУГИТЕ ЗА МОБИЛНА ТЕЛЕФОНИЈА И МОБИЛЕН МАРКЕТИНГ ВО РЕПУБЛИКА МАКЕДОНИЈА -магистерски труд - Кандидат:

More information

2015/16 ИНФОРМАТИЧКИ НАУКИ И КОМУНИКАЦИСКО ИНЖЕНЕРСТВО

2015/16 ИНФОРМАТИЧКИ НАУКИ И КОМУНИКАЦИСКО ИНЖЕНЕРСТВО ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ И КОМУНИКАЦИСКИ ТЕХНОЛОГИИ Б И Т О Л А 2015/16 ИНФОРМАТИЧКИ НАУКИ И КОМУНИКАЦИСКО ИНЖЕНЕРСТВО четиригодишни академски студии од прв циклус (240 ) со 9 различни профили на специјализација/диференцијација

More information

УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ ШТИП

УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ ШТИП УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ ШТИП ЕКОНОМСКИ ФАКУЛТЕТ МБА Менаџмент Штип Ивица Костадинов ДИЗАЈНИРАЊЕ И ИНСТИТУЦИОНИРАЊЕ НА ОРГАНИЗАЦИСКА СТРУКТУРА И КУЛТУРА - МАГИСТЕРСКИ ТРУД- Штип, декември 2015 Апстракт

More information

Финансиско управување и контрола во рамките на општите реформи на јавната администрација

Финансиско управување и контрола во рамките на општите реформи на јавната администрација A joint initiative of the OECD and the European Union, principally financed by the EU Финансиско управување и контрола во рамките на општите реформи на јавната администрација Клас Клаас Виш советник за

More information

eтвининг Заедница на училишта во ЕВРОПА

eтвининг Заедница на училишта во ЕВРОПА etwinning n ng eтвининг CREATIVITYCONFIDENCEPRACTICE TRAVELINGFRIENDSHIPACTIVITY MOBILITYSKILLSCULTRE QUALITYEXPERIENCEEXCHANGE PERSPECTIVEINNOVATION Заедница на училишта во ЕВРОПА Е-ТВИНИНГ Содржина Што

More information

МАГИСТЕРСКИ ТРУД. Универзитет Св. Климент Охридски Битола. Економски факултет - Прилеп

МАГИСТЕРСКИ ТРУД. Универзитет Св. Климент Охридски Битола. Економски факултет - Прилеп Универзитет Св. Климент Охридски Битола Економски факултет - Прилеп МАГИСТЕРСКИ ТРУД ТЕМА: "ВНАТРЕШНА РЕВИЗИЈА НА ЈАВНИОТ СЕКТОР ВО РЕПУБЛИКА МАКЕДОНИЈА" МЕНТОР: Проф. Д-р Пеце Николовски КАНДИДАТ: Ѓоршеска

More information

1. Значење на менаџментот

1. Значење на менаџментот Д-р Златко Јаковлев Значење и цели на менаџментот Вовед Круцијалната улога или значењето на менаџментот, а со тоа и на менаџерите се состои во тоа што го водат претпријатието кон остварување на целите

More information

ПАРЛАМЕНТАРНА КОНТРОЛА НАД РАБОТАТА НА БЕЗБЕДНОСНИТЕ И РАЗУЗНАВАЧКИ СЛУЖБИ ВО РЕПУБЛИКА МАКЕДОНИЈА

ПАРЛАМЕНТАРНА КОНТРОЛА НАД РАБОТАТА НА БЕЗБЕДНОСНИТЕ И РАЗУЗНАВАЧКИ СЛУЖБИ ВО РЕПУБЛИКА МАКЕДОНИЈА ПАРЛАМЕНТАРНА КОНТРОЛА НАД РАБОТАТА НА БЕЗБЕДНОСНИТЕ И РАЗУЗНАВАЧКИ СЛУЖБИ ВО РЕПУБЛИКА МАКЕДОНИЈА Автор: М-р Теодора Христовска Јануари, 2016 ВОВЕД Модерните држави, за време на процесот на обезбедување

More information

УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ - ШТИП ЕКОНОМСКИ ФАКУЛТЕТ МБА Менаџмент Штип. Иван Стефанов

УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ - ШТИП ЕКОНОМСКИ ФАКУЛТЕТ МБА Менаџмент Штип. Иван Стефанов УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ - ШТИП ЕКОНОМСКИ ФАКУЛТЕТ МБА Менаџмент Штип Иван Стефанов КРЕИРАЊЕ НА ПРЕПОЗНАТЛИВА ДЕЛОВНА ЕТИКА И ОПШТЕСТВЕНА ОДГОВОРНОСТ ВО ОРГАНИЗАЦИИТЕ ВО ФУНКЦИЈА НА ПОСТИГНУВАЊЕ СОПСТВЕН

More information

ФАКУЛТЕТ ЗА ОБРАЗОВНИ НАУКИ НАУЧНО - СТРУЧНА ТРИБИНА

ФАКУЛТЕТ ЗА ОБРАЗОВНИ НАУКИ НАУЧНО - СТРУЧНА ТРИБИНА ФАКУЛТЕТ ЗА ОБРАЗОВНИ НАУКИ НАУЧНО - СТРУЧНА ТРИБИНА УЧИТЕЛОТ И СРЕДИНАТА ЗА УЧЕЊЕ И РАЗВОЈ (одржана на ден 02.10.2015 година, Факултет за образовни науки, Штип) 2016, Штип За издавачот: проф. д-р Соња

More information

Стратегија за развој на Македонски интегриран здравствен информатички систем

Стратегија за развој на Македонски интегриран здравствен информатички систем Министерство за здравство на РМ Проект за управување со здравствениот сектор Стратегија за развој на Македонски интегриран здравствен информатички систем Предговор и абстракт за менаџментот Примарната

More information

РАЗВОЈ НА АНДРОИД АПЛИКАЦИЈА

РАЗВОЈ НА АНДРОИД АПЛИКАЦИЈА РАЗВОЈ НА АНДРОИД АПЛИКАЦИЈА ЗА БАЛАНСИРАНА ИСХРАНА Магистерски труд Павле Стојановски Број на индекс: 21068 КОМИСИЈА ЗА ОЦЕНКА И ОДБРАНА НА ТРУДОТ: 1. Проф. д-р Милка Здравковска претседател 2. Проф.

More information

ТОЛКОВНИК НА ПОИМИ, ТЕРМИНИ И ИМИЊА ОД ОБЛАСТА НА ТУРИЗМОТ (АНГЛИСКО-РУСКО-МАКЕДОНСКИ)

ТОЛКОВНИК НА ПОИМИ, ТЕРМИНИ И ИМИЊА ОД ОБЛАСТА НА ТУРИЗМОТ (АНГЛИСКО-РУСКО-МАКЕДОНСКИ) ТОЛКОВНИК НА ПОИМИ, ТЕРМИНИ И ИМИЊА ОД ОБЛАСТА НА ТУРИЗМОТ (АНГЛИСКО-РУСКО-МАКЕДОНСКИ) Современост, Скопје, 2013 За издавачот: м-р Славчо Ковилоски Рецензенти: проф. д-р Марија Ацковска проф. д-р Толе

More information

Прирачник за управување со општинскиот имот

Прирачник за управување со општинскиот имот Прирачник за управување со општинскиот имот (прирачник за оние кои ги донесуваат одлуките на локално ниво) ноември 2014 год. ОСНОВНИ ПОДАТОЦИ Клиент: Финансирано од: Меѓународна консултантска компанија:

More information

ЗАКОН ЗА ЕЛЕКТРОНСКО УПРАВУВАЊЕ -ПОДЗАКОНСКИ АКТИ

ЗАКОН ЗА ЕЛЕКТРОНСКО УПРАВУВАЊЕ -ПОДЗАКОНСКИ АКТИ ЗАКОН ЗА ЕЛЕКТРОНСКО УПРАВУВАЊЕ -ПОДЗАКОНСКИ АКТИ Александар Цветановски Игор Црвенов 1 Единствен околина Насоки за техничките барања во однос на софтверската, хардверската и комуникациската инфраструктура

More information

consultancy final presentation conceptual presentation of proposals projects Feasibility Cost Study for converting space

consultancy final presentation conceptual presentation of proposals projects Feasibility Cost Study for converting space recording existing state of the facility listening to client s requests real assessment of space capabilities assessment of state of structual elements recomendation for improvement of stability of existing

More information

КОНЦЕПТ: ОДРЖЛИВ ЛОГИСТИЧКИ МОДЕЛ НА СИСТЕМ ЗА СОБИРАЊЕ НА КОМУНАЛЕН ОТПАД ВО ОПШТИНА БИТОЛА 2

КОНЦЕПТ: ОДРЖЛИВ ЛОГИСТИЧКИ МОДЕЛ НА СИСТЕМ ЗА СОБИРАЊЕ НА КОМУНАЛЕН ОТПАД ВО ОПШТИНА БИТОЛА 2 м-р Николче ТАЛЕВСКА 1 УДК/UDK 628.4.032:005.936.5(497.774) КОНЦЕПТ: ОДРЖЛИВ ЛОГИСТИЧКИ МОДЕЛ НА СИСТЕМ ЗА СОБИРАЊЕ НА КОМУНАЛЕН ОТПАД ВО ОПШТИНА БИТОЛА 2 Апстракт Императив на секоја Општина е да обезбеди

More information

КАРАКТЕРОТ НА МЕНАЏМЕНТОТ

КАРАКТЕРОТ НА МЕНАЏМЕНТОТ м-р Весна Гроздановска UDK/UDK 005 КАРАКТЕРОТ НА МЕНАЏМЕНТОТ ВОВЕД Менаџментот е создавање и одржување на систем. Компаниите зависат од можностите на менаџерите да постават визија на организацијата и да

More information

ИМПЛЕМЕНТАЦИЈА НА ЗДРАВСТВЕН ИНФОРМАЦИСКИ СИСТЕМ И ЗДРАВСТВЕНА ЕЛЕКТРОНСКА КАРТИЧКА ВО РЕПУБЛИКА МАКЕДОНИЈА

ИМПЛЕМЕНТАЦИЈА НА ЗДРАВСТВЕН ИНФОРМАЦИСКИ СИСТЕМ И ЗДРАВСТВЕНА ЕЛЕКТРОНСКА КАРТИЧКА ВО РЕПУБЛИКА МАКЕДОНИЈА УНИВЕРЗИТЕТ Св. Климент Охридски Битола ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ И КОМУНИКАЦИСКИ ТЕХНОЛОГИИ ИМПЛЕМЕНТАЦИЈА НА ЗДРАВСТВЕН ИНФОРМАЦИСКИ СИСТЕМ И ЗДРАВСТВЕНА ЕЛЕКТРОНСКА КАРТИЧКА ВО РЕПУБЛИКА МАКЕДОНИЈА магистерски

More information

УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ ШТИП ЕКОНОМСКИ ФАКУЛТЕТ МБА Менаџмент Штип. Весна Денчова

УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ ШТИП ЕКОНОМСКИ ФАКУЛТЕТ МБА Менаџмент Штип. Весна Денчова УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ ШТИП ЕКОНОМСКИ ФАКУЛТЕТ МБА Менаџмент Штип ОБУКА И РАЗВОЈ НА ЧОВЕЧКИТЕ РЕСУРСИ ВО ЛОКАЛНАТА АДМИНИСТРАЦИЈА ВО ОПШТИНА ШТИП МАГИСТЕРСКИ ТРУД Штип, Комисија за оценка и одбрана Ментор

More information

а) Сексуално и репродуктивно здравје - Пристап до информации - Лица со оштетен вид и слух - Македонија - Истражувања

а) Сексуално и репродуктивно здравје - Пристап до информации - Лица со оштетен вид и слух - Македонија - Истражувања 1 CIP - Каталогизација во публикација Национална и универзитетска библиотека «Св. Климент Охридски», Скопје 613.88-056.262/.263(497.7)(047.3) ПРИСТАП до информации и услуги за сексуално и репродуктивно

More information

КРЕИРАЊЕ НА СТАНДАРДИЗИРАНА ЛОКАЛИЗИРАНА ЗБИРКА НА ОБЈЕКТИ ЗА УЧЕЊЕ ОД АСПЕКТ НА ИНТЕРОПЕРАБИЛНОСТ

КРЕИРАЊЕ НА СТАНДАРДИЗИРАНА ЛОКАЛИЗИРАНА ЗБИРКА НА ОБЈЕКТИ ЗА УЧЕЊЕ ОД АСПЕКТ НА ИНТЕРОПЕРАБИЛНОСТ УНИВЕРЗИТЕТ СВ. КИРИЛ И МЕТОДИЈ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ СКОПЈЕ ИНСТИТУТ ЗА ИНФОРМАТИКА Зоран Здравев КРЕИРАЊЕ НА СТАНДАРДИЗИРАНА ЛОКАЛИЗИРАНА ЗБИРКА НА ОБЈЕКТИ ЗА УЧЕЊЕ ОД АСПЕКТ НА ИНТЕРОПЕРАБИЛНОСТ

More information

Значајни подрачја за раститенија, птици и пеперутки во Македонија. Славчо Христовски

Значајни подрачја за раститенија, птици и пеперутки во Македонија. Славчо Христовски Значајни подрачја за раститенија, птици и пеперутки во Македонија Славчо Христовски Иницијативи за заштита Птици Растенија Пеперутки Лилјаци Заштитата на сите загрозени видови поединечно е практично невозможна.

More information

Петти состанок на Локалната советодавна група Записник од состанокот

Петти состанок на Локалната советодавна група Записник од состанокот Technical Assistance for Civil Society Organisations Macedonian Office This project is funded by the European Union. Петти состанок на Локалната советодавна група Записник од состанокот Датум: 26ти Октомври

More information

2.3 ЗАКОН ЗА БЕЗБЕДНОСТ И ЗДРАВЈЕ ПРИ РАБОТА. Службен весник на Република Македонија бр. 53 од 11 април 2013 година

2.3 ЗАКОН ЗА БЕЗБЕДНОСТ И ЗДРАВЈЕ ПРИ РАБОТА. Службен весник на Република Македонија бр. 53 од 11 април 2013 година 2.3 ЗАКОН ЗА БЕЗБЕДНОСТ И ЗДРАВЈЕ ПРИ РАБОТА Службен весник на Република Македонија бр. 53 од 11 април 2013 година ОСНОВНИ БАРАЊА ЗА БЕЗБЕДНОСТ И ЗДРАВЈЕ ПРИ РАБОТА Со Законот за безбедност и здравје при

More information

СОЗДАВАЊЕ ИНОВАТИВНИ УЧИЛИШТА: ПОДГОТВУВАЊЕ НА УЧЕНИЦИТЕ ЗА 21-ОТ ВЕК

СОЗДАВАЊЕ ИНОВАТИВНИ УЧИЛИШТА: ПОДГОТВУВАЊЕ НА УЧЕНИЦИТЕ ЗА 21-ОТ ВЕК СОЗДАВАЊЕ ИНОВАТИВНИ УЧИЛИШТА: ПОДГОТВУВАЊЕ НА УЧЕНИЦИТЕ ЗА 21-ОТ ВЕК Скопје, 2009 Проект за основно образование ПРИРАЧНИК ЗА УЧИЛИШНИTE ТИМОВИ ЗА ПРОФЕСИОНАЛЕН РАЗВОЈ Скопје, 2009 Проект за основно образование

More information

Стојанче Спасов ВЕБ СЕРВИС ЗА ПОВЕЌЕЗНАЧНА ТРАНСЛИТЕРАЦИЈА НА ЦЕЛИ РЕЧЕНИЦИ ОД ЛАТИНИЦА ВО КИРИЛИЦА

Стојанче Спасов ВЕБ СЕРВИС ЗА ПОВЕЌЕЗНАЧНА ТРАНСЛИТЕРАЦИЈА НА ЦЕЛИ РЕЧЕНИЦИ ОД ЛАТИНИЦА ВО КИРИЛИЦА УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ ШТИП ФАКУЛТЕТ ЗА ИНФОРМАТИКА Катедра по информациски технологии Стојанче Спасов ВЕБ СЕРВИС ЗА ПОВЕЌЕЗНАЧНА ТРАНСЛИТЕРАЦИЈА НА ЦЕЛИ РЕЧЕНИЦИ ОД ЛАТИНИЦА ВО КИРИЛИЦА - МАГИСТЕРСКИ

More information

СТАРИ ПРОМОТИВНИ ПОНУДИ ЗА ПОСТПЕЈД ТАРИФНИ МОДЕЛИ ЗА УСЛУГИ НА ФИКСНА ЛОКАЦИЈА И КОМБИНИРАНИ ПАКЕТИ УСЛУГИ

СТАРИ ПРОМОТИВНИ ПОНУДИ ЗА ПОСТПЕЈД ТАРИФНИ МОДЕЛИ ЗА УСЛУГИ НА ФИКСНА ЛОКАЦИЈА И КОМБИНИРАНИ ПАКЕТИ УСЛУГИ СТАРИ ПРОМОТИВНИ ПОНУДИ ЗА ПОСТПЕЈД ТАРИФНИ МОДЕЛИ ЗА УСЛУГИ НА ФИКСНА ЛОКАЦИЈА И КОМБИНИРАНИ ПАКЕТИ УСЛУГИ Промотивнo бесплатнo користење на дополнителен ТВ ресивер и NOW... 2 Промотивнo NOW бесплатно

More information

Општествена интеграција на жртвите на трговија со луѓе: Проценка на институционалните капацитети на Македонија за заштита на жртвите на трговија со

Општествена интеграција на жртвите на трговија со луѓе: Проценка на институционалните капацитети на Македонија за заштита на жртвите на трговија со Општествена интеграција на жртвите на трговија со луѓе: Проценка на институционалните капацитети на Македонија за заштита на жртвите на трговија со луѓе 06 Ноември 2009 Реинтеграцијата на жртвите на трговија

More information

СОВРЕМЕНИ СТРАТЕГИИ ЗА УПРАВУВАЊЕ НА ИНТЕЛИГЕНТНИ ЕЛЕКТРОЕНЕРГЕТСКИ МРЕЖИ

СОВРЕМЕНИ СТРАТЕГИИ ЗА УПРАВУВАЊЕ НА ИНТЕЛИГЕНТНИ ЕЛЕКТРОЕНЕРГЕТСКИ МРЕЖИ 8. СОВЕТУВАЊЕ Охрид, 22 24 септември Александра Крколева Матеска Весна Борозан Факултет за електротехника и информациски технологии - Скопје СОВРЕМЕНИ СТРАТЕГИИ ЗА УПРАВУВАЊЕ НА ИНТЕЛИГЕНТНИ ЕЛЕКТРОЕНЕРГЕТСКИ

More information

ПРИСТАП ДО ПРОГРАМИТЕ НА РАДИОДИФУЗЕРИТЕ ЗА ЛИЦАТА СО ОШТЕТЕН ВИД И СЛУХ

ПРИСТАП ДО ПРОГРАМИТЕ НА РАДИОДИФУЗЕРИТЕ ЗА ЛИЦАТА СО ОШТЕТЕН ВИД И СЛУХ ПРИСТАП ДО ПРОГРАМИТЕ НА РАДИОДИФУЗЕРИТЕ ЗА ЛИЦАТА СО ОШТЕТЕН ВИД И СЛУХ ПОТРЕБИ И ПОНУДА М-Р САШО БОГДАНОВСКИ ПРИСТАП ДО ПРОГРАМИТЕ НА РАДИОДИФУЗЕРИТЕ ЗА ЛИЦАТА СО ОШТЕТЕН ВИД И СЛУХ, ПОТРЕБИ И ПОНУДА

More information

ДОКУМЕНТ ЗА ПОЛИТИКИ ПОГОЛЕМА ПАРТИЦИПАЦИЈА, ПОМАЛА МОЖНОСТ ЗА КОРУПЦИЈА

ДОКУМЕНТ ЗА ПОЛИТИКИ ПОГОЛЕМА ПАРТИЦИПАЦИЈА, ПОМАЛА МОЖНОСТ ЗА КОРУПЦИЈА ДОКУМЕНТ ЗА ПОЛИТИКИ ПОГОЛЕМА ПАРТИЦИПАЦИЈА, ПОМАЛА МОЖНОСТ ЗА КОРУПЦИЈА Скопје, декември 2014 Издавач: Центар за управување со промени www. cup.org.mk info@cup.org.mk Kоординатор на проект: Наталија Шикова

More information

РЕФОРМАТА НА ЈАВНАТА АДМИНИСТРАЦИЈА ВО РЕПУБЛИКА МАКЕДОНИЈА

РЕФОРМАТА НА ЈАВНАТА АДМИНИСТРАЦИЈА ВО РЕПУБЛИКА МАКЕДОНИЈА Проектот ИПА 2 Механизам за граѓанските организации e спроведуван од ЕВРОТИНК, Еко-свест, Реактор и Зенит. Овој проект е финансиран од Европската Унија, ИПА Програма за граѓанско општество и медиуми 2014,

More information

УПАТСТВО ЗА КОРИСТЕЊЕ

УПАТСТВО ЗА КОРИСТЕЊЕ Македонска берза АД Скопје www.mse.com.mk www.bestnet.com.mk УПАТСТВО ЗА КОРИСТЕЊЕ НА МОДУЛОТ МОЕ ПОРТФОЛИО Ноември 2009 Содржина 1. ВОВЕД... 3 1.1. ШТО ВИ НУДИ МОДУЛОТ МОЕ ПОРТФОЛИО... 3 2. ПРВАТА СТРАНИЦА...

More information

УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ ШТИП ЕКОНОМСКИ ФАКУЛТЕТ. МБА Менаџмент. Штип. Слаџана Стефанова

УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ ШТИП ЕКОНОМСКИ ФАКУЛТЕТ. МБА Менаџмент. Штип. Слаџана Стефанова УНИВЕРЗИТЕТ ГОЦЕ ДЕЛЧЕВ ШТИП ЕКОНОМСКИ ФАКУЛТЕТ МБА Менаџмент Штип Слаџана Стефанова ВЛИЈАНИЕТО НА РЕГРУТИРАЊЕТО И СЕЛЕКТИРАЊЕТО НА ВРАБОТЕНИТЕ ВРЗ УСПЕШНОСТА НА РАБОТЕЊЕТО НА ОРГАНИЗАЦИИТЕ - МАГИСТЕРСКИ

More information