Energistics Transfer Protocol (ETP)
The Energistics Transfer Protocol (ETP) data exchange specification enables efficient transfer of data between applications. The initial use case is for real-time data; however, it is anticipated that ETP will be expanded to include functionality for historical data queries.
ETP has been specifically envisioned and designed to meet the unique needs of the upstream oil and gas industry and especially to facilitate the exchange of data in the EnergyML family of data standards, which includes WITSML, PRODML and RESQML.
One of the goals of ETP is to replace TCP/IP WITS level 0 data transfers with a more efficient and simple-to-implement alternative.
The three main initial use cases for ETP are to move real-time data between applications, including:
- Transfer from a wellsite provider to a WITSML store (server)
- Transfer of data from WITSML store to WITSML store (replication)
- Transfer of data from WITSML store to client applications
ETP defines a discovery mechanism so data receivers do not have to poll for data and can receive new data as soon as they are available from a data provider.
OVERVIEW of etp v1.1
ETP v1.1 is an update to the successful v1.0 release. It includes minor updates to the core, streaming data and discovery protocols based on the experience gained by multiple vendors developing commercial deployments of ETP. There is also much new functionality incorporated into the specification, including a focus on security and error reporting.
The level of confidence in the developer community for protocol 4 - the Store protocol - is now considered Stable, meaning that commercial development based on it can be reasonably conducted and that backward compatibility in future versions may be possible.
Specific improvements incorporated into this release include: removal of the need for an extra Channel Streaming Start message for simple data producers, better support for a data producer to describe its capabilities, support for Avro 3.8 logical datatypes and incorporation of input from the WITSML SIG in handling of real-time and historical channel data.
Now that the four main protocols are classified as "stable", backward compatibility will become a future consideration. ETP v 1.1 is not backward compatible with prior versions, meaning that v1.0 messages will not be valid v1.1 messages.
Unless otherwise noted, these resources are located in the ETP v1.1 zip file.
||Defines content, messages and behaviors of ETP.
||Energistics Identifier Specification
||Describes rules and guidelines for Energistics identifiers.
ETP UML Data Model
The entire UML data model (used to design, document and produce schemas for ETP) that developers and architects can explore for better understanding of data objects, definitions, organization, and relationships.
Developed using Enterprise Architecture (EA) modeling software (version 12), the UML model exists as an XMI file.
Information about EA, including a free EA Lite reader, is available at the Sparx Systems website, http://www.sparxsystems.com/.
||Avro schemas as described in this document.
|BitBucket repository containing community-developed resources to assist in implementing ETP in various programning languages and platforms. These resources are not directly supported by Energistics but by members of the SIG communities.