Only once: Add+trust certification-authority (ca) certificate manually, multiple trusted CAs are possible
GET /broker/ca.cert (outside of TLS area) or other way to retrieve cert chain from ssl connection: http://stackoverflow.com/questions/6755180/java-ssl-connect-add-server-cert-to-keystore-programatically )
if ca.cert not trusted, abort with message "Broker not trusted (add CA name)"
if no private key, generate private key
if no response from CA in keystore,
display certification request to submit to CA
display textfield to paste response
abort
connect with keystore to broker
GET /broker/welcome
Show welcome message
goto query exchange
Query exchange
--------------
Outbound connections during fixed times or on-demand
IF unsubmitted queries pending
Node connects to Pool
Node submits query results
Node closes connections to Pool
ENDIF
Node connects to Broker (HTTP keep-alive, gzip-compression)
Node submits node status
IF first time
Node requests open queries
ELSE
Node requests queries (modified since last-contact)
END IF
Node stores queries
Node submits status for all queries (modified since last contact)
Node closes connection to Broker
Node sets last-contact to timestamp when the broker-connection was established.
Message Feature
--------
Broker may store messages (broadcasts), which can be
fetched by the nodes.
```
<request>
<id>unique request id</id>
...
...
@@ -60,85 +112,6 @@ Query exchange
</broker>
</query>
<request-status ref="123">
<last-modified>max timestampt der nachfolgenden</last-modified>