Energistics Standards DevKit


This page provides the information on the development kits available for developers interested in implementing Energistics standards and ETP.

Standards DevKit

The Standards DevKit is designed to remove the complexity of using the WITSML, PRODML and RESQML standards so a developer can concentrate on integrating these standards into their business solution.


The WITSML, PRODML and RESQML schemas provide the definition for standard data exchange formats within the oil and gas industry. However, developing a software solution that uses these standard formats has not always been simple. The Standards Devkit removes the complexity of using the WITSML, PRODML and RESQML standards and lets the developer concentrate on the important work of integrating the standards into their business solution.

The Standards Devkit wraps the WITSML, PRODML and RESQML schemas with Microsoft .NET objects. The developer can work directly with these objects rather than having to deal with the XML definition itself. It provides all of the conveniences that .NET developers are familiar with such as full IntelliSense support,  XML Serialization, .NET naming conventions, enumerations, and more.

In addition to dealing with the data format itself, the Devkit also provides direct interfaces to the WITSML and PRODML APIs so the developer does not have to handle the details of web service communication with backend servers. The Devkit provides synchronous and asynchronous methods for all WITSML and PRODML web methods. It also provides a wrapper for WMLS that provides simplified calls, secure password management, and error handling.

RESQML differs from the other Energistics standards in that it contains a binary representation of large data arrays using an HDF5 file but this functionality is not currently supported in the Standards DevKit.


Note: instruction video will be updated soon to include RESQML instructions.


Standards DevKit download (via BitBucket)

NOTE: The Standards DevKit has not been updated for Release Candidate versions of WITSML, PRODML and RESQML (posted here). Contact [email protected] for more information following the conclusion of Public Review (March 18, 2022).


The Devkit is provided as an open source project under the Apache License, Version 2.0. It includes a code generator that parses the WITSML, PRODML and RESQML XSD files into .NET 3.5 classes, which makes extending the Devkit for future versions of the standards easy. It also includes documentation, sample code, and a basic data browser application to help developers learn how to use the Devkit.

The Standards DevKit was developed by ExxonMobil and is licensed to Energistics for maintenance, support and administration. Further development will be guided by Energistics and the user community.

ETP DevKit

The ETP DevKit provides a common foundation and basic infrastructure to simplify and standardize creating applications that transfer WITSML, PRODML and RESQML data via the Energistics Transfer Protocol.


The ETP Specification defines the messages and interfaces that can be used to exchange data between applications that support the EnergyML family of data standards: WITSML, PRODML and RESQML.  The messages define the content that is exchanged between applications and the interfaces define the expected behavior in exchanging messages.  More information about ETP resources can be found  here.

The ETP DevKit is a .NET library providing a common foundation and the basic infrastructure needed to communicate via the Energistics Transfer Protocol (ETP).  The library is written in C# using the .NET Framework version 4.5.2.  It is designed to simplify and standardize ETP client and server development by integrating the necessary dependencies and abstracting away the lower level details of communicating via ETP.  It builds on the ETP Messages library, which provides .NET definitions for the ETP messages and associated data structures.

The ETP DevKit provides a definition and base implementation of each interface described in the ETP Specification.  Each interface implementation has been developed as a protocol handler that can be used out of the box or extended to provide additional functionality.  This abstracts away the low level details of sending and receiving messages between clients and servers.  Customized processing of messages can be achieved either by registering handlers for the various interface events or by deriving from the library’s protocol handlers and overriding the virtual message handling methods.

The aim of the ETP DevKit is to reduce the time it takes to develop and evaluate the latest version of the standards utilizing the Energistics Transfer Protocol and to provide a shared and tested framework for establishing and facilitating communication between applications needing to exchange data.


The ETP DevKit has been updated for v1.2 and is available on Bitbucket.


The ETP DevKit is provided as an open source project under the Apache License, Version 2.0.  The library can be built from source or added as a NuGet package reference using the links above.

The ETP DevKit was developed by Petrotechnical Data Systems (PDS) and contributed to Energistics.  Further development will be guided by Energistics and the user community.

Energistics Standards DevKit

Data Driven Drilling and Production

Energistics Standards DevKit