Uvod

U savremenom svetu informacionih tehnologija, gotovo nijedna aplikacija ne funkcioniše izolovano. Web sajtovi, mobilne aplikacije i desktop programi međusobno razmenjuju podatke, često u realnom vremenu. Osnovni mehanizam koji omogućava ovu komunikaciju naziva se web servis.

Web servisi omogućavaju da različiti sistemi, napisani u različitim programskim jezicima i pokrenuti na različitim platformama, međusobno komuniciraju na standardizovan način.


Šta je web servis?

Web servis je programski modul dostupan preko mreže (najčešće interneta), koji omogućava drugim aplikacijama da mu pošalju zahtev i dobiju odgovor.

Možemo reći i da je Web servis „posrednik“ između dve aplikacije.

Na primer ako aplikacija za vremensku prognozu pošalje zahtev ka web serveru, server vraća podatke o temperaturi a onda aplikacija te podatke prikazuje korisniku

U ovom procesu aplikacija je klijent, a web servis je deo servera


Kako funkcionišu web servisi?

Komunikacija se odvija putem HTTP protokola, koji se koristi i za učitavanje web stranica.

Proces izgleda ovako:

  1. Klijent šalje zahtev (request)

  2. Web servis prima zahtev

  3. Obradi podatke

  4. Vraća odgovor (response)

Primer zahteva može biti: „Daj mi kurs evra za današnji dan“ ili „Prevedi ovaj tekst u ćirilicu“


Struktura komunikacije

Svaka komunikacija sa web servisom ima dva dela:

1. Zahtev (Request)

Sadrži:

  • adresu (URL)

  • tip zahteva (GET, POST…)

  • eventualne podatke

2. Odgovor (Response)

Sadrži:

  • rezultat obrade

  • podatke u određenom formatu


Formati podataka koji se koriste

Podaci koje web servis šalje i prima moraju biti u standardnom formatu.

Najčešće se koriste:

JSON (JavaScript Object Notation)
{
  "valuta": "EUR",
  "kurs": 117.5
}

Prednosti njegovog korišćenja su što je jednostavan, lako čitljiv i u poslednje vreme široko korišćen.


XML (Extensible Markup Language)
<kurs>
  <valuta>EUR</valuta>
  <vrednost>117.5</vrednost>
</kurs>

Prednosti ovog formata su stroga struktura, mada je ovo ranije bio standard, a u poslednje vreme se ipak najviše koristi JSON


Vrste web servisa

1. SOAP web servisi
  • koriste XML

  • strogo definisana pravila

  • složeniji za implementaciju

Koriste se u:

  • bankarskim sistemima

  • velikim poslovnim aplikacijama


2. REST web servisi
  • jednostavniji

  • koriste HTTP metode

  • često koriste JSON

Najčešće korišćeni u modernim aplikacijama.


HTTP metode

REST web servisi koriste standardne HTTP metode:

  • GET – preuzimanje podataka

  • POST – slanje (dodavanje) podataka

  • PUT – izmena podataka

  • DELETE – brisanje podataka

Primer:

GET /kurs?valuta=EUR

Primer:  Zamislimo aplikaciju za kursnu listu:

  • Korisnik prvo bira datum i valutu.
  • Aplikacija šalje zahtev web servisu.
  • Web servis čita podatke iz baze ili fajla i vraća kurs
  • Aplikacija onda prikazuje rezultat korisniku

Web servisi u ASP.NET okruženju

U okviru .NET platforme, web servisi se mogu praviti na više načina. U starijim verzijama (kao što je Visual Studio 2010), često se koriste .asmx web servisi.

Primer metode:

[WebMethod]
public double ProcitajKurs(string valuta)
{
    return 117.5;
}

Objašnjenje:

  • [WebMethod] označava da je metoda dostupna klijentima

  • metoda prima parametar

  • vraća rezultat


Prednosti web servisa

*** Omogućavaju komunikaciju između sistema
*** Ne zavise od programskog jezika
*** Mogu se koristiti na različitim platformama
*** Podržavaju modularnost (razdvajanje sistema)


Nedostaci:

!!! Zavise od internet konekcije
!!! Mogu biti sporiji zbog mrežne komunikacije
!!! Zahtevaju dodatnu bezbednost


Bezbednost web servisa

Pošto su dostupni preko mreže, web servisi moraju biti zaštićeni.  Najčešće metode zaštite su: 

  • autentifikacija (ko pristupa servisu)

  • autorizacija (šta sme da radi)

  • enkripcija (HTTPS)


Primena: Web servisi se koriste gotovo svuda: kod mobilnih aplikacija (Instagram, Viber), online bankarstva, vremenske prognoze, e-trgovine, društvenih mreža, ...

Šta radimo dalje

U daljem radu, učenici će koristiti web servise za izradu konkretnih aplikacija, kao što su:

  • konvertor teksta

  • kursna lista


Poslednja izmena: уторак, 24. март 2026, 10:49