REST
  ili kao sam se prestao brinuti
       o HTTP-u i zavolio ga
(HTTP Server sa RFID driverom)


            Dobrica Pa...
Zašto?

    Razviti podršku za
 posuđivanje i vraćanje
knjiga RFID tehnologijom
     preko browsera!

Kartica na čitaču tr...
3M RFID protokol
●   3M software za korisnike
     – Visual Basic iz 90-tih
     – Ne prikazuje SID-ove RFID čipova
     –...
3M RFID protokol
●   Portmon za pregled USB prometa
     – Windowsi pod KVM-om
●   Otkriti sve mogućnosti
     – čitanje 2...
Comet = Meteor + RFID




 http://www.youtube.com/watch?v=ptWv4fFJ6Q8
ETOOMUCH

                    Koha           HTTP
                                   Koha
RFID                HTTP        ...
KISS: JSONP

                    Koha           HTTP
                                   Koha
 RFID
driver                 ...
RFID + HTTP/JSONP




  http://www.vimeo.com/9348504
REST
●   Scan
GET http://localhost:9000/scan?callback=foo
foo({"time":1265896293,"tags":
[{"sid":"E00401001F778B5D","custo...
REST
●   Security
     – Vraćanje (check-in)
     – Posuđivanje (check-out)
     – Automatski kod programiranja
GET http:/...
HTTP tweaks
●   Etag: visible-E00401001F77478C
     – Not supported in our jQuery 1.2.3 until
       http://github.com/jqu...
Koha modifications
●   Find element to     ●   Append your data
    hook into




●   Minimalne modifikacije aplikacije
  ...
Koha + RFID = RIA
         ●   In-browser!
         ●   JSONP /scan
         ●   Inteligentan form
             fill-in + ...
Buzzword Bingo
●   Napravite prototip
●   Ako izgleda prekomplicirano – jest
●   KISS – keep it simple and stupid!
●   Sve...
Više informacija
Portmon for Window (serial sniffer)
 ● http://technet.microsoft.com/en-
   us/sysinternals/bb896644.aspx
...
Pitanja?
   42
Upcoming SlideShare
Loading in …5
×

REST ili kao sam se prestao brinuti o HTTP-u i zavolio ga (HTTP Server sa RFID driverom)

3,162 views

Published on

Ako imate samo čekić, svaki problem izgleda kao čavao. Ako vaša predznanja uključuju razvoj web aplikacija, vjerojatno nećete ići pisati podršku za RFID. Ili...
Naravno da hoćete! Jer, što je drugo browser nego korisničko sučelje?
Nekoliko linija koda, malo Comet trikova i imate svoj sustav. Ali nemate dobar osjećaj o tome. Možda je web ipak krivi čekić za ovaj čavao.
Naravno da ne! Pogledajte dijelove svojeg sustava, izdvojite dijelove koji nemaju stanje (tako da dobro pašu na HTTP request/response ciklus), dizajnirajte lijepi REST API, natjerajte browser da dovlači podatke sa različitih izvora podataka koristeći JSONP i... napisali ste HTTP server sa RFID driverom!

održano: IT Showoff, 2010-02-12, Zagreb

http://www.itshowoff.com/

http://www.slideshare.net/itshowoff/dobrica-pavlinui-rest-it-showoff

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,162
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

REST ili kao sam se prestao brinuti o HTTP-u i zavolio ga (HTTP Server sa RFID driverom)

  1. 1. REST ili kao sam se prestao brinuti o HTTP-u i zavolio ga (HTTP Server sa RFID driverom) Dobrica Pavlinušić http://www.rot13.org/~dpavlin/ HULK, Knjižnica Filozofskog fakulteta u Zagrebu ITShowoff, Zagreb, 12. veljače 2010.
  2. 2. Zašto? Razviti podršku za posuđivanje i vraćanje knjiga RFID tehnologijom preko browsera! Kartica na čitaču treba dvosmjernu komunikaciju sa Kohom!
  3. 3. 3M RFID protokol ● 3M software za korisnike – Visual Basic iz 90-tih – Ne prikazuje SID-ove RFID čipova – Prikazuje 5 čipova istovremeno – Automatski copy/paste u drugu Windows aplikaciju ● USB serial protokol sa RFID čitačem
  4. 4. 3M RFID protokol ● Portmon za pregled USB prometa – Windowsi pod KVM-om ● Otkriti sve mogućnosti – čitanje 25 čipova istovremeno – koliko podataka stane na RFID čip – kako funkcionira security ● Protokol ima CCITT checksum – StackOverflow korisnik selwyn rješio moj problem!
  5. 5. Comet = Meteor + RFID http://www.youtube.com/watch?v=ptWv4fFJ6Q8
  6. 6. ETOOMUCH Koha HTTP Koha RFID HTTP Web driver book info browser socket HTTP striped book info Meteor Comet server: single point of falure
  7. 7. KISS: JSONP Koha HTTP Koha RFID driver Web JSONP browser HTTP JSONP 127.0.0.1:9000 Svaki JSONP poziv je nezavisan! Pull RFID čitača iz browsera
  8. 8. RFID + HTTP/JSONP http://www.vimeo.com/9348504
  9. 9. REST ● Scan GET http://localhost:9000/scan?callback=foo foo({"time":1265896293,"tags": [{"sid":"E00401001F778B5D","custom":0,"content":"","library":0, "branch":0,"total":0,"u1":0,"u2":0,"security":"00","type":0,"se t":0}]}) ● Program GET http://localhost:9000/program?E00401001F778B5D=201002120042 302 Location GET http://localhost:9000/program?E00401001F778B5D=blank
  10. 10. REST ● Security – Vraćanje (check-in) – Posuđivanje (check-out) – Automatski kod programiranja GET http://localhost:9000/secure?E00401001F778B5D=DA 302 Location GET http://localhost:9000/secure?E00401001F778B5D=D7 302 Location GET http://localhost:9000/secure.js?E00401001F778B5D=DA JSONP GET http://localhost:9000/secure.js?E00401001F778B5D=D7 JSONP
  11. 11. HTTP tweaks ● Etag: visible-E00401001F77478C – Not supported in our jQuery 1.2.3 until http://github.com/jquery/jquery/commit/28 – RFID driver zna promjene pa bi ih mogao gurnuti klijentu za DOM update ● HTTP je state-less – Omogućava povezivanje više klijenata istovremeno (trenutno lokalni i Koha)
  12. 12. Koha modifications ● Find element to ● Append your data hook into ● Minimalne modifikacije aplikacije – <script src="koha-rfid.js"> – 2.5K JavaScript-a...
  13. 13. Koha + RFID = RIA ● In-browser! ● JSONP /scan ● Inteligentan form fill-in + submit ● Screen scraping za security ● Nema modfikacije Kohe! ● Single-origin policy je pain
  14. 14. Buzzword Bingo ● Napravite prototip ● Ako izgleda prekomplicirano – jest ● KISS – keep it simple and stupid! ● Sve može biti web-enabled!
  15. 15. Više informacija Portmon for Window (serial sniffer) ● http://technet.microsoft.com/en- us/sysinternals/bb896644.aspx Izvorni kod ● http://svn.rot13.org/index.cgi/RFID/ CCITT checksum pitanje ● http://stackoverflow.com/questions/149617/how- could-i-guess-a-checksum-algorithm Meteor Comet server with RFID ● http://blog.rot13.org/2009/04/comet_experiment_rfid_ reader_with_koha_data_in_browser.html Hitchhiker's guide to RFID ● http://saturn.ffzg.hr/rot13/index.cgi? hitchhikers_guide_to_rfid
  16. 16. Pitanja? 42

×