[Moims-sc] Options for MO MAL Binding to HTTP Transport
Mehran.Sarkarati at esa.int
Mehran.Sarkarati at esa.int
Thu Aug 13 13:52:58 UTC 2015
Dear SM&C WG,
As mentioned during the technical meetings in Pasadena and in the last
web-ex, we have started the work on ESA side to define a binding between
MAL and HTTP transport.
The main motivation for this binding is to use mainstream Internet
infrastructure on the ground.
HTTP protocol is based on a request/response model.
For all MAL interaction patterns except for INVOKE, PUBSUB and PROGRESS,
there is a simple mapping to the HTTP Request/Response model.
It gets more complicated for the above mentioned three interaction
patterns, when the provider needs to asynchronously initiate a connection
to the consumer for delivering a response (request in the other
direction). This is specially problematic when the consumer/provider are
behind firewalls and also when consumers are dynamically added and removed
(hence the firewalls cannot be configured statically).
The options we have been discussing are:
a) implement a mapping to pure HTTP request/response model for all MAL
interaction patterns. For INVOKE, PUSUB and PROGRESS use active/long
poling if the consumer is not addressable or behind a firewall (the OASIS
WS Make Connection specification can be the model, which uses additional
headers to correlate the messages).
b) implement a mapping to HTTP request/response for all MAL interaction
patterns except for INVOKE, PUBSUB and PROGRESS. For these use
web-sockets. Web-Sockets are a different protocol than HTTP. It is a
message oriented bi-directional protocol on top of tcp/ip. It uses HTTP
for initiating the connection and then establishes a bi-directional
connection, using the tcp/ip channel below, which was opened by the HTTP.
Long polling is clearly less elegant than web-sockets. At the other side
for many of our space domain scenarios the consumer and provider are known
to each other and the firewalls must be configured anyway.
If I take the example of ESA data distribution systems (DDS/EDDS) on the
DMZ, even for making a simple http request/response to the DDS, the
consumer IP address must to be added to a white list.
The scenarios translate therefore to:
1. HTTP Request/Response based mapping to all MAL interaction patterns:
This is either when
a) there are no firewalls involved (not very realistic) : No
polling involved, simple http request/response
b) consumer and provider are known up front and firewalls are
configured accordingly to allow the traffic pass through in both
directions (in my opinion more likely/realistic case): no polling
involved, simple http request/response
c) consumers are added and removed dynamically at run-time and
firewalls do not allow out-bound connection initiation from provider side:
Only for this particular case pooling techniques shall be adopted on top
of simple HTTP request/response pattern
2. HTTP Request/Response based mapping to all MAL interaction patterns
except for INVOKE/PROGRESS and PUBSUB for which web-sockets shall be used:
this would use web-sockets for any scenario (even for scenario a and b,
where it would not be necessary and one could do simple http
request/response with no polling)
3. A mixture of 1 and 2. Baseline is (1) but for PUBSUB and PROGRESS the
consumer can decide if it wants to use web-sockets or long polling. This
would be indicated with a header field in the initiating HTTP request
(which is needed for both cases). I am not sure if this 3 option is
possible without over complicating the binding.
I would like to ask you to
a) check the setup of the DMZ and firewalls in your organisation and tell
us if in your today's setup the firwall/IDS would let web-socket traffic
through or would detect and prevent it for port that is specified as http
port (e.g. port 80)
b) Which of the three options you think we should take for MAL to http
binding.
I would appreciate your feedback by mid September.
Kind Regards
Mehran
This message and any attachments are intended for the use of the addressee or addressees only.
The unauthorised disclosure, use, dissemination or copying (either in whole or in part) of its
content is not permitted.
If you received this message in error, please notify the sender and delete it from your system.
Emails can be altered and their integrity cannot be guaranteed by the sender.
Please consider the environment before printing this email.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ccsds.org/pipermail/moims-sc/attachments/20150813/7f11f1d1/attachment.html>
More information about the MOIMS-SC
mailing list