Witsml

Setiri provides WITSML-based software solutions and consulting services for the Upstream Energy/Drilling industry. WITSML, or Wellsite Information Transfer Standard Markup Languange, is increasingly being adopted as the industry standard for storing and transmitting drilling data. For more information on the WITSML standard, visit the Energistics website.

Setiri.Witsml .Net SDK

The Setiri.Witsml SDK is a .Net “WITSML Client” library which enables a .Net software developer to interact with a WITSML server in an object-oriented fashion. This product is being used by several majors and many small or mid-size drilling and services companies.

Application developers often face a steep learning curve when tasked with interacting with a WITSML data store. WITSML queries and resultsets are are complex XML documents which require precise formatting. Developers wind up wasting time tuning document formatting instead of just working with the data.The Setiri.Witsml SDK abstracts away all the XML processing, and exposes WITSML data as a .Net object model, enabling the developer to focus on building applications instead of studying a specification.

Features of the Setiri.Witsml SDK include:

  • -Performs all the standard “WITSML STORE” server functions via .Net method calls.
  • -Mapping all WITSML objects to intelligent .Net entity objects.
  • -Maps all WITSML enumerations to customized .Net enumerations.
  • -Supports full Create, Update, and Delete functionality, in addition to the basic GetFromStore (Read).
  • -Provides data validations as defined in the specification – required fields, data length restrictions.
  • -Provides all the standardized “Units of Measure” as defined in the WITSML standard, and a units conversions utility.
  • -All annotations from the WITSML standard are included as Intellisense-enabled inline code comments.
  • -The same annotations are also available in run-time form, which can be used as a “description” field in an application.
  • -Online documentation available at http://witsml.setiri.com/witsml

The SDK has been tested against many of Witsml “Store” servers on the market, including:

  • -Kongsberg SiteCom
  • -Wellstorm WSP (acquired by DrillingInfo)
  • -Petrolink Powerstore
  • -Moblize DARP
  • -NOV Falcon Server
  • -Baker Inteq Witsml Server
  • -Pason DataHub Server
  • -OIUSA RigVision Witsml Server
  • -PetroDAQ Witsml Server
  • -Performix Drilling Data Hub
  • -NOV WellData Connect

Licensing is available per developer seat, or we can quote a custom license per your requirements. Request a quote by getting in touch with us via the contact page.

nWitsml – Open Source WITSML client

nWitsml is similar to the Setiri.Witsml SDK, with the following differences:

  • -Only supports “Read” operations- no Update/Create/Delete functionality.
  • -Open Source, offered under the Apache 2.0 License

The nWitsml project was ported from the original Java-based “Jwitsml” project released by StatOil. This code is delivered as-is and Setiri LLC does not offer support for the code nor accept liability of any kind for any damages directly or indirectly caused by the use of this software.

More information and source downloads are available on the project site available through nwitsml.org website.

Witsml Realtime Connector

Setiri’s Realtime Connector is a configurable application for publishing realtime realtime data from a data source. The primary use for this software is to translate OPC data into Witsml realtime data and publish it to a subscriber. The system implements simplified Witsml Store and Publish interfaces to enable the remote subscriber to retrieve a list of the published mnemonics, and then create and manage a subscription to the selected channels.

The Realtime Connector software is quoted per project so that any required customizations can be included with the quote. Contact us today with your specific requirements.

WITSML Data Compression

Update: The SDK now supports HTTP Gzip compression for query results. Contact us for more information on configuring your SDK and WITSML server to support this feature.

Many modern data definition standard emphasize clarity and compatibility over performance. XML is built on the premise of human readable data which is also machine readable, but it is decidedly not a compact nor efficient as data that is stored in machine-readable binary encoding.
Most Witsml implementations are able to handle the extra workload of verbose WITSML documents, but in some situations – where data rates are restricted or connectivity is cost prohibitive- major benefits can be achieved by compressing Witsml data to make it much smaller and more efficient for transfer and even storage.

Setiri is in development of an alternative encoding for witsml that retains the standard’s data structure, but utilizes open-standards based binary serialization to achive major data compression. This is achieved without resorting to normal gzip-style compression. The Setiri Witsml SDK will also support this binary serializtion method natively, so that no decompression proxy would be required on the client-side. The standard product will utilized a lightweight proxy on the server end to provide the interface between the binary data and the normal xml-based server.

Contact Setiri if you are experiencing network-related performance issues or excessive network utilization form your existing Witsml implementation, and think you could benefit from our compression technology.

WITSML Consulting and Development

Setiri can assist your organization with implmenting WITSML capabilities. We offer general WITSML consulting, often in conjunction with implementing our WITSML .Net products.

We also can provide custom WITSML enabled applications tailored to your specifications. Some previous solutions we have provided include:

  • -A configurable OPC to Witsml data transfer application.
  • -Specialized Witsml reporting application, including graphing of log curve data.
  • -WITSML server compliance testing and reporting.

Contact Setiri with your requirements and see if we can assist you with your specific WITSML implementation needs.