Volání lokální API s obousměrnou komunikací rubrika: Programování: JavaScript

5 Jakub Bárta
položil/-a 8.9. 12:01
 
upravil/-a 8.9. 12:03

Ahoj,
řešíme momentálně na projektu problém s komunikací mezi webovou aplikací a lokálním serverem. Pro představu:

  • Webová intranetová aplikace - není potřeba specifikovat více
  • Lokální server (Java) - nainstalovaná lokální aplikace, která poskytuje REST API s daty z lokálních HW periférií (v tomto problému jde o RFID čtečku karet)

Situace je taková, že chceme, aby webová aplikace reagovala na přiložení karty ke čtečce a máme dvě varianty jak řešit tuto komunikaci z prohlížeče:

  1. Otevřený Websocket s lokálním serverem a reagovat na příchozí data
  2. Opakované volání REST API endpointu (~500ms) zda se na čtečce nenachází karta

Můj favorit je Websocket, ale máme tu oponenty, takže bych rád znal názor více lidí.
Díky!

Komentáře

  • harrison314 : 3. REST v opacnom smere, Lokalny server odosle REST-om, ze sa nieco stalo webovej apliacii. - Za to by som hlasoval ja. 4: MSMQ 8.9. 13:19
  • Jakub Bárta : harrison314: Potřebujeme i cíleně posílat nějaká data na ten server (třeba při zápisu na kartu). 8.9. 14:16
  • harrison314 : tak potom by som sa rozhodoval podla dostupnych technologii, osobne by som siel po nejakej messagingovej technlogii alebo Web soketoch. 8.9. 14:36
  • Wal De Mar-Lad : Ak to má byť "realtime", tak jednoznačne websockets. Tam nie je o čom, je to dobre podporovaná api skrz prehliadače a pomerne jednoducho sa používa. Nematuroval by som nad ničím iným, ale siahol po tomto, prakticky natívnom riešení. A ws už nie je problém ani v Java, ani v PHP. 8.9. 16:03
  • harrison314 : Ja som s otazky pochopil, ze to je server to server komunikacia. 9.9. 7:55
odkaz Vyřešeno
8 petersirka
odpověděl/-a 9.9. 9:05

Určite by som použil WebSocket. Implementácia na client-side je jednoduchá a jediný problém, ktorý vidím je implementácia na server-side (ale tam si písal, že ten si môžete meniť ako chcete). Ďalej nikde nie je napísané, že nemôžete miešať REST a WebSocket. Ak máte hotovú už nejakú interakciu na client-side cez REST, tak to vôbec nemusíte meniť a WebSocket použijete len na zmeny "nejakých" stavov.

Komentáře

  • Jakub Bárta : Díky za názor. :-) 10.9. 16:08

Pro zobrazení všech 6 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.