Веб-апликације

Из Википедије, слободне енциклопедије

Веб апликација је апликација којој се приступа од стране корисника преко мреже као што је Интернет или интранет. Термин такође означава и примену компјутерског софтвера који је кодиран у веб претраживачу који подржава програмске језике (као што су JavaScript, у комбинацији са језиком који служи за обележавање као што је HTML) и ослања се на заједничком веб претраживачу да донесе извршну апликацију.

Веб апликације су популарне због свеприсутности веб претраживача, а погодност коришћења веб прегледача као клијента се понекад зове танки или мршави клијент. Способност да се ажурира и одржава веб апликације без дистрибуције и инсталирања софтвера на хиљаде потенцијалних клијенатских рачунара је кључни разлог за њихову популарност. Уобичајене веб апликације укључују слање поште, интернет трговину, аукцију, и многе друге функције.

Horde-portal.png

Историја[уреди]

У ранијим рачунарским моделима, нпр. у клијент-сервер периоду, захтеви за апликације су подељени измђу кода који је на серверу и код који је инсталиран на сваком клијентском рачунару. Другим речима, апликација има свој клијентски програм, то би био његов кориснички интерфејс и морао је да се посебно инсталира на личном рачунару сваког корисника. Надоградња кода на серверској страни ће обично захтевати и надоградњу кода на клијентској страни, дајући на тај начин повољнију цену и смањујући продуктивности.

Насупрот томе, веб апликације користе веб документе написана у неком од стандардних формата као што су HTML и ЈаvaScript, који су подржани од стране различитих веб претраживача. Веб апликације се може сматрати као специфична варијанта клијент-сервер софтвера где клијентски софтвер преузима на машини приликом посете одговарајуће веб странице, применом стандардних поступака као што је HTTP протокол. Током сесије, веб претраживач тумачи и приказује странице, и делује као универзални клијент за било коју веб апликације.

У почетку Мреже свака веб страница је достављена клијенту као статички документ, али је редослед страница могао да обезбеди интерактивно искуство, када је кориснику унос враћен преко елемената веб формулара уграђеног у HTML страници.

Године 1995. Нетскејп (енг. Netscape) је увео скрипт који се извршава на страни клијента, познат као JavaScript. Дакле, уместо слања података на сервер да би генерисали целу страницу, уграђени скриптови са преузете странице могу да обављају различите задатке, као што су валидација уноса или приказивање/скривање делова страница.

Године 1996. Макромедија уводи Флеш (енг.Flash), векторску графику која се може додати претраживачу као додатак (енг. Plug-in) како би омогућио приказ анимације на веб страни. То је омогућава употребу скрипт језика за извршавање програма на страни клијента без потребе за комуникацију са сервером.

Године 1999. , концепт „веб апликација“ је уведен у језику Јава,kao Servlet Specification верзија 2.2 . У то време и JavaScript и XML су већ развијени, али Ajax још увек није постојао.

Године 2005. , је настао термин Ајаx и апликације као што су Gmail и почео да чини клијентске стране повезанијим. Скриптови могу да комуницирају са сервером на тај начин што ће складиштити/преузимати податаке без преузимања целу веб страницу.

Године 2011. , HTML5 је завршен, са графичким и мултимедијалним могућностима без потребе за додацима на страни клијента. HTML5 је обогатио семантички садржај докумената. WebGL API је отворио пут напредној 3D графици базирану на HTML5 и ЈаvaScript језику.

Интерфејси[уреди]

Кроз Јаva, ЈаvaScript, DHTML, Flash, Silverlight и друге технологије, омогућене су методе, као што су цртање на екрану, репродукцију звука и приступ тастатури и мишу. Многи сервиси су искомбиновали све ово у познатом интерфејсу који је близак изгледу оперативног система. Технике опште намене као што је превуци-и-пусти такође подржавју ове технологије. Веб програмери често користе скриптове на клијетској страни да допринесу функционалности, а посебно да се створи интерактивни доживљај који не захтева освежавање страница. Недавно, технологије су развијене тако да координирају скриптове на клијентској страни са технологијама на серверској страни као што је РНР. Ајах, техника за веб развој која користи комбинацију различитих технологија, пример је технологија која ствара интерактивно искуство.

Структура[уреди]

Апликације су обично подељена на логичке делове под називом „слојеви“, где је сваком слоју додељена улога. Традиционалне апликације су сачињене само од једаног слоја, који се налази на клијентској машини, али природно веб апликације подешавју себе за н-тослојни приступ. Иако су могуће многе варијације, најчешће структура је трослојна апликација. У својој најчешћој форми, три слоја се називају презентација, апликација и складиштење, у овом редоследу. Веб претраживач је први слој (презентација), као покретач који користи неке технологије са динамичким Веб садржајем (као што су ASP, ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Perl, Python, Ruby) је средњи слој (апликациона логика), а база података је трећи слој (складиштење). Веб претраживач шаље захтеве средњем слоју, који их опслужује прваљењем упита и ажурирањем базе података и генерише кориснички интерфејс.

За сложеније апликације, 3-слојно решење може бити недовољно, па је потребно да се користи н-слојно приступ, где је највећа добит дељење апликационог слоја, која почива на апликативном слоју. Још једна предност је додавање интеграционог слоја која раздваја слој података од осталих слојева пружајући интерфејс за приступ подацима кога је лако користитие.

Постоје неки који виде веб апликацију као двослојну архитектуре. То може бити „паметан“ клијент који обавља све послове и упите и „глупи“ сервер, или „глупи“, клијент који се ослања на „паметан“ сервер . Клијент би се бавио презентационим слојем, сервер базом података, апликациони слој ће бити на једном од њих или на оба. Док то повећава скалабилност апликација и раздваја екран и базу података, још увек не омогућава праву специјализацију слојева, тако да већина апликација ће прерасти овај модел.

Коришћење у пословне сврхе[уреди]

Нова стратегија за компаније апликативног софтвера је да омогући приступ веб софтверу који је претходно дистрибуирана као локална апликација. У зависности од врсте апликације, може се захтевати развој потпуно другачијих интерфејса базираних на браузеру или само прилагођавање постојеће апликације да користе различите презентационе технологије. Ови програми омогућавају кориснику да плаћа месечну или годишњу накнаду за коришћење софтверских апликација, без потребе да га инсталирате на локалном диску. Компанија која прати ову стратегију је познат као провајдера услуга апликација (АСП), а АСП тренутно привлачи велику пажњу у софтверској индустрији.

Нарушавања безбедности на ове врсте апликација је велики проблем, јер могу да укључују и информације предузећа као и приватне податаке корисника. Заштита ове имовине је важан део сваке веб апликације и постоје неке кључне оперативне области које морају бити укључене у процес развоја. Ово укључује процесе за аутентификацију, ауторизацију, логовање.

Писање веб апликација[уреди]

Писање веб апликација се често поједностављује софтвером отвореног кода као што су Django, Ruby on Rails који представљају развојнио окружење веб апликација. Они омогућавају брз развој апликација тако што дозвољавају развојном тиму да се фокусира на делове њиховое апликације које су јединствене за њихове циљеве, без решавања уобичајних проблема у развоју. Иако су многи од ових развојних окружења отвореног кода, они нису обавезни за коришћење.

Употреба развојних окружења у веб апликацијама често може да се смањи број грешака у програму, чинећи код једноставнијим, и омогућавајући једном тиму да се концентрише на ражвојно окружење, док се други фокусирају на одређене случајеве коришћења. У апликацијама које су изложене сталном хаковању на Интернету, проблеми везани за безбедност могу бити последица грешке у програму. Развојна окружења могу промовисати коришћење најбољих пракси, као што су GET после POST-а.

Поред тога, постоји потенцијал за развој апликација на Интернет оперативним системима, иако тренутно нема пуно одрживе платформе које одговарају овом моделу.

Апликације[уреди]

Примери веб апликације су једноставни канцеларијски софтвер (програми за обраду текста, онлајн унакрсне табеле и презентациони алати), али може да укључи неке напредхије апликације као што су, компјутерски дизајн, видео монтажа.

Предности[уреди]

  • Веб апликације не захтевају сложену „избаци“ процедуру за употребу у великим организацијама. Компатибилни Интернет претраживач је све што је потребно;
  • Претраживаче апликације обично захтевају мало или нимало простора на клијенту;
  • Они не захтевају поступак надоградње јер се све нове функције спроводе на серверу и аутоматски достављају корисницима;
  • Веб апликације се лако интегришу у веб процедурама на серверској страни, као што су е-маил и претраживање.
  • Они такође пружају компатибилност на више платформа у већини случајева (нпр. Windows, Mac, Linux, итд.) јер они раде у оквиру прозора веб претраживача.

Мане[уреди]

  • Веб апликације захтевају апсолутно компатибилне веб претраживаче. Ако продавац прегледача одлучи да не имплементита одређене функције, или напусти одређену платформу или верзију оперативног система, то може утицати на велики број корисника;
  • Апликације претраживача се ослањају на приступ датотекама на удаљеним серверима преко Интернета. Стога, када се веза прекине, апликација више није употребљив. Међутим, ако се користи HTML5 API као што је офлајн кеширање Веб апликација, може се преузети и инсталирати на локалном нивоу, за офлајн коришћење;
  • Будући да многи веб апликације нису отвореног кода, постоји губитак флексибилности, не дозвољавајући прилагођавања на софтверу и спречава кориснике од покретања апликација офлајн (у већини случајева). Међутим, ако је лиценциран, власнички софтвер се може прилагодити и покренути на жељени сервер законитих права;
  • Они су у потпуности зависе од могућности сервера да достављања апликације. Ако предузеће оде у стечај, а сервер се искључи, корисници имају мало приступа. Традиционални инсталиран софтвер чува функционалност и након пропасти компаније која га је произвела (мада неће бити апдејта или пружања услуга);
  • Исто тако, компанија има много већу контролу над софтвером и функционалности. Они могу да избаце нове функције кад год желе, чак и ако корисник жели да сачека док се багови не отклоне пре надоградње. Опција једноставног прескакања слабије верзије софтвера често није доступна. Компанија може убацивати неке нежељене функције корисницима или смањити трошкове смањењем протока. Наравно, компаније ће покушати да задржи задовољство својих клијената, али корисници веб апликација имају у оваквим случајевима мање опција осим уколико произвођач понуди бољи производ;
  • Компанија може теоретски да прати било шта што корисници раде. То може изазвати проблеме приватности.

Види још[уреди]

Викиостава
Викимедијина остава има још мултимедијалних датотека везаних за: Веб-апликације