4.1.2.2 Flow Sequence
Topic Version | 1 | Published | 10/16/2017 | |
For Standard | ETPW14 v1 |
When the consumer/aggregator initiates the connection, the recommended sequence of activities to stream data using ETP is described in the table below.
Producer (Sensor)/ETP Server |
Consumer (Aggregator)/ETP Client |
|
---|---|---|
1 |
Provide an ETP WebSocket server at a known URL (see Preconditions above). |
|
2 |
Protocol 0: Open WebSocket via HTTP call to WebSocket URL. |
|
3 |
Send RequestSession message and role as a “consumer”. |
|
4 |
Send OpenSession. Include ProtocolCapabilities of SimpleStreamer = true. |
|
5 |
Protocol 1: Send Start message, which may contain throttling parameters. |
|
6 |
Send ChannelMetadata message(s), which contains local identifiers for the channel(s). |
|
7 |
Decode ChannelMetadata, assigning channels to a well/wellbore/log/logCurveInfo hierarchy. This decoding and assigning of channels must be completed before any channel data can be received. |
|
8 |
Begin a sending loop, sending ChannelData messages for all channel data as they are available. |
|
9 |
Decode each ChannelData message and append it to the appropriate WITSML log object and/or makes it available as ETP channel data to other consumers. |
|
10 |
Protocol 0: To terminate data transfer, send CloseSession. |
To terminate the session, the consumer typically sends the CloseSession message, but the producer can also send a CloseSession message if, for some reason, it had to stop sending data.