Web servisi

Web servis je metoda komunikacije izmedju dva elektronska uredjaja preko mreže

Arhitektura Web servisa

Šta su Web servisi i cemu sluze:

Ulogu i značaj Web Servisa najlakše možemo razumeti ako se poslužimo primerom. Pogledajmo jednu tipičnu Web aplikaciju kao što je recimo Systran-ov on-line prevodilac ( http://www.systransoft.com ). Kako radi ova aplikacija? Korisnik startuje neki web browser, pošalje http zahtev za gorepomenuti URL i dobije HTML stranu na kojoj je između ostalog forma za unos teksta i izbor jezika. Kada unese tekst, korisnik pritisne „Translate“ i na taj način pošalje sledeći http zahtev server aplikaciji; ona prevede traženi tekst i vrati HTML stranu na kojoj se između ostalog nalazi i prevod traženog teksta. Dakle, Systran-ova aplikacija ne samo da prevodi tekst već i određuje na koji način će taj prevod biti prikazan kod korisnika. Da bi se ovaj prevodilac koristio, neophodno je imati web browser koji je podržan od strane Systran-a.

E sad, pretpostavimo da je Systran napravio svoj on-line prevodilac tako da izloži svoju osnovnu funkciju (prevođenje teksta) bez određivanja vizuelnog interfejsa kod prevodioca. Ta aplikacija bi očekivala tekst „zapakovan“ u neki standardan format, prevela bi tekst i vratila ga onom ko je tražio prevod u tom istom formatu, bez ikakvih uputstava na koji način taj prevod treba prikazati. Upravo to rade Web servisi: oni „ponude“ funkcije korisničkim programima preko interneta. Format kojim se razmenjuju poruke se zove SOAP i baziran je na XML – u. Zbog toga se ponekad upotrebljava i naziv XML Web servisi.

Prednosti Web servisa u odnosu na „klasične“ Web aplikacije:

Fleksibilniji su. Klasične Web aplikacije se mogu koristiti samo uz pomoć Web browser-a, pri čemu korisnik nema nikakvog uticaja na to kako će rezultat izgledati na njegovom ekranu, osim ako ne napravi program koji će da iz dobijenog HTML-a „izvlači“ interesantne podatke i prikazuje ih na željeni način. Web servise mogu da koriste najrazličitiji programi: počev od drugih Web servisa, preko Web aplikacija, GUI programa ili čak tzv. command-line aplikacija. Recimo servis za prevod teksta koji smo pomenuli kao primer, može da koristi Altavista.com, program za obradu teksta kao što je MS Word, može se napraviti i programčić u Unix tradiciji koji bi radio u stilu „ttx -ef mytextfile“ (prevod sadržaja fajla mytextfile sa engleskog na francuski), a mogao bi da bude korišćen i sa npr. mobilnih telefona ili ručnih računara koji imaju vezu sa internetom. Svi ovi različiti „klijenti“ bi koristili jedan isti Web servis i autori tog servisa ne bi morali ni da znaju kakve sve različite aplikacije ga koriste.
2. Štedljiviji su po pitanju opterećenja mreže i resursa servera. Ako opet pogledamo primer sa Systran-ovom Web aplikacijom, videćemo da ona najpre mora da pošalje korisniku HTML sa formom za unos teksta, a posle prevoda šalje mu ne samo prevedeni tekst, već i HTML kod koji opisuje kako taj tekst treba da bude prikazan. Web servis bi primio jedan zahtev sa originalnim tekstom i poslao jedan odgovor sa prevedenim tekstom – nikakav dodatni HTML.
3. Lakši su za razvoj, testiranje i održavanje. Kod Web aplikacije je neophodno odraditi ne samo funkciju programa, već i dizajn i sve to dobro istestirati sa raznim browserima i platformama. Ko je probao da uskladi da Web aplikacija izgleda dobro na različitim browserima zna kakva je to muka (pitajte autora ovog sajta), a kad se napravi neka izmena, proces testiranja ide iz početka. Sa Web servisima svega toga jednostavno nema. Autor servisa brine o funkciji – prikaz je na klijentima.

Kako se prave Web servisi?

A: Postoji priličan broj alata i platformi za razvoj Web servisa. Pomenućemo nekoliko:

1. ASP.NET. Razvija ga Microsoft, mada se rade i neke Open Source alternative. Osnovne dobre strane su: lakoća korišćenja, dobar alat za razvoj (VS.NET), dosta dokumentacije. Loša strana je ograničenost na Microsoft-ove operativne sisteme.

http://msdn.microsoft.com/libr…pnetwebservices.asp?frame=true

2. Rešenja zasnovana na Javi.

http://java.sun.com/webservices/

Od raznih Java alata za tu namenu izdvajamo Sun-ov ONE
http://wwws.sun.com/software/sundev/jde/index.html

IBM-ov WebSphere SDK for Web Services
http://www-106.ibm.com/developerworks/webservices/wsdk/

Borlandov JBuilder
http://www.borland.com/jbuilder/webservices/index.html

Apache SOAP
http://xml.apache.org/soap/

Glavna prednost ovakvog pristupa je zastupljenost Jave na mnogim platformama. Mane su Javine mane a i njih ima dosta…

3. C++ rešenja
Mada se u medijima najčešće pominju Java i .NET kao alati za izradu Web servisa, itekako je moguće to raditi i u C++u. Pomenimo nekoliko pristupa:

Microsoft-ov ATL Server – izvanredno rešenje ako radite na Microsoftovim platformama.
http://msdn.microsoft.com/libr…rverWebServices.asp?frame=true

Borlandov C++ Builder 6
http://www.borland.com/cbuilder/enterprise/index.html

I jedna Open Source varijanta: gSOAP
http://www.cs.fsu.edu/~engelen/soap.html

Izvor:

http://en.wikipedia.org/wiki/Web_service

http://www.elitesecurity.org

Ostavite odgovor

Popunite detalje ispod ili pritisnite na ikonicu da biste se prijavili:

WordPress.com logo

Komentarišet koristeći svoj WordPress.com nalog. Odjavite se / Promeni )

Slika na Tviteru

Komentarišet koristeći svoj Twitter nalog. Odjavite se / Promeni )

Fejsbukova fotografija

Komentarišet koristeći svoj Facebook nalog. Odjavite se / Promeni )

Google+ photo

Komentarišet koristeći svoj Google+ nalog. Odjavite se / Promeni )

Povezivanje sa %s

%d bloggers like this: