DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Planiranje i usability (http://www.devprotalk.com/forumdisplay.php?f=35)
-   -   API za web aplikaciju (http://www.devprotalk.com/showthread.php?t=1149)

Ilija Studen 18. 06. 2006. 10:49

API za web aplikaciju
 
Da li je neko do sada pravio API za web aplikaciju? Iskustva?

Cilj: jasan API za aplikaciju koja ima brdo asinhronih zahteva. Kad se već pravi nek bude napravljeno tako da može da se koristi i spolja, po potrebama.

Bojan Zivanovic 18. 06. 2006. 18:27

Nisam pravio, al kad bi pravio, REST all the way :1074:

Pedja 19. 06. 2006. 13:11

Ilija, da li mislis na API u nekom skript jeziku ili bas API u smislu neko kompletno okruzenje?

ivanhoe 19. 06. 2006. 16:42

Citat:

Originalno napisao Pedja
Ilija, da li mislis na API u nekom skript jeziku ili bas API u smislu neko kompletno okruzenje?


mozda sam ja glup, ali ja sam ziveo u ubedjenju da je API naprosto unapred definisani interfejs koji aplikacija implementira (odnosno spisak funkcija koje mozes pozvati)... o kakvom kompletnom okruzenju pricate i kakve ima veze u kom jeziku je API implementiran ? Poenta API-ja je da nije bitno u kom je jezikupravljen, nego samo da znas kako da ga pozoves..

Ilija Studen 19. 06. 2006. 18:28

Upravo tako, API je jasno definisan interfejs kojim spoljni programi mogu da komuniciraju sa samom aplikacijom. Jednostavno. Pravio sam gomile skripti koje imaju javan API - osoba koji radi Flash deo kaže koji podaci mu trebaju, ja kažem kako da formira upit i dobije te podatke kao XML iz PHP skripte. Samo što to nikad nisam zvao APIjem :)

Mada, ima tu i kvaka: autentifikacija, najbolje prakse itd. To je ono što me je zanimalo. Čisto ćeretanje na temu, dosta se nauči iz toga :D

--

Ono što je mene najviše zanimla je upravo autentifikacija. Generiše se API key koji je vezan za klijentovi IP adresu. Za JS same aplikacije on se generiše i dodeljuje automatski, za spoljne aplikacije genriše se na zahtev. Na osnovu ključa se određuje ko je korisnik i šta sme da radi. Sama razmena je klasika: na XML zahtev dobija se XML odgovor s tom razlikom što JS aplikacije može da traži i neke dodatne informacije kao što je recimo sažvakan template koji samo umetne u stranicu itd.

Neko radio nešto slično?

Dragi Tata 19. 06. 2006. 18:48

A što ne pogledaš SOAP? To je baš pravljeno za tu svrhu i radi manje-više kako treba. Doduše, koristio sam ga samo iz C++a i C#a ali sam siguran da postoji neka biblioteka i za PHP.

nixa 19. 06. 2006. 18:50

postoji preko PEAR ako se ne varam ....

Ilija Studen 19. 06. 2006. 19:57

Po tekstovima na koje sam nailazio čujem da je SOAP kabast, nepraktičan, preglomazan i sve što ga drži su velike firme i njihova PR mašinerija. Nikad ga nisam koristio niti sam se nešto udubljivao, ali previše pametnih ljudi (nemam linkove, na te tvrdnje sam nailazio povremeno) kaže da je smeće što je meni dovoljan razlog da ga obiđem.

Uglavnom, videh jedno krajnje jednostavno rešenje: XML zahtev - XML odgovor (možeš zatražiti i neki drugi format, YAML, JSON, bilo šta...). Za autentifikaciju se koristi najprostija HTTP autentifikacija (ili se može zakomplikovati ukoliko je potrebno). Jednostavno, radi posao i široko je podržano.

Dragi Tata 19. 06. 2006. 20:19

Citat:

Originalno napisao Ilija Studen
Po tekstovima na koje sam nailazio čujem da je SOAP kabast, nepraktičan, preglomazan i sve što ga drži su velike firme i njihova PR mašinerija. Nikad ga nisam koristio niti sam se nešto udubljivao, ali previše pametnih ljudi (nemam linkove, na te tvrdnje sam nailazio povremeno) kaže da je smeće što je meni dovoljan razlog da ga obiđem.

SOAP ima svojih mana, ali radi posao sasvim dobro i daje tačno ono što si tražio. Ako ti deluje preglomazno, pogledaj recimo XML-RPC koji je lakši i jednostavniji ali naravno i manje moćan.

marinowski 19. 06. 2006. 21:38

Ja preporucujem da se pogleda na koji nacin to rade 'veliki', pa da se na osnovu toga formira API. Izuzetno popularan je Flickrov api ( http://www.flickr.com/services/api/ ), ja sam ga koristio dosta puta, radi bez greske (ali sa namerno ogranicenom brzinom).

Za authentikaciju: sve zavisi do kojeg nivoa hoces da ides, uobicajeno je da se generise secret key koji se vezuje za unapred definisan user ID.


Vreme je GMT +2. Trenutno vreme je 15:12.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.