Changes between Version 2 and Version 3 of WikiStart/OngoingWork/WebService


Ignore:
Timestamp:
05/27/14 14:11:50 (6 years ago)
Author:
sylvain.joyeux
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart/OngoingWork/WebService

    v2 v3  
    11= Protocol 
    22 
    3 * JSON 
    4  * or BSON (Binary JSON, only a few libs) 
    5 * request based 
    6 * socket or http? 
    7  * http has requests included 
     3* marshalling formats 
     4 * JSON 
     5 * BSON 
     6 * google protobufs 
     7* two modes of operatoins 
     8 * request based 
     9 * stream-based (mostly useful for reading ports to avoid the overhead of repeating requests, could be generalized to any orocos/async events) 
     10* custom protocol or http (REST) ? 
     11 * REST protocol has good library support both client and server side 
     12   * very well suited for browser-based interaction (because it is a very common pattern) 
     13   * can easily be upgraded to a rich server (i.e. having things rendered server-side) 
    814 * Sockets don't need a webserver running 
    9   * websocket or plain socket? 
     15   * '''Sylvain''' IMO a non-issue, Ruby libraries as e.g. Rack have very good support to start thin webservers "out of the box" 
    1016   * websocket protocol implemented in browser 
    1117   * socket don't need a websocket library 
    1218 
    1319== requests 
    14  * running tasks 
    15  * input port types 
    16  * output port types 
    17  * single port data (by task/port_name) 
     20 * '''Sylvain''' IMO most requests that can be made on the orocos.rb API: 
     21   - nameservice browsing 
     22   - task states 
     23   - full model 
     24   - port reading/writing 
     25   - property reading/writing 
    1826 
    1927= Ruby 
    2028 
    2129* gem Yail-ruby promising JSON parser 
     30 * having done a bit of research, the best JSON support out there is given by multijson - simply uses the best JSON library available on the system 
    2231 * sending via socket, websocket possible and tested (only JSON decode on socket untested) 
    2332 * parser can handle nested types 
     
    5665 
    5766= Browser 
    58 * websocket preferred 
     67* websocket preferred (I would think "REST - i.e. HTTP - preferred" '''Sylvain''') 
    5968* JSON parser integrated (no external .js lib) 
    6069* jQuery UI looks like a nice UI lib 
    6170 * http://jqueryui.com/accordion/ might be used for TaskInspector 
    6271 
    63  
    6472= generic interface 
    6573 * socket, but no UI tools