Show / Hide Table of Contents

WITSML Server

In this WITSML Project customer wants to implement the process which reads incoming well/wellbore data from the field on an edge gateway and and then update the information at the server running on the Gateway or send it to the WITSML server repository to create/update the associated well/wellbore information.

The edge application was built to run on any Agora Edge Gateway, and it is leveraging the Agora Edge App SDK (2.0) and C# .NET 6.0 for configuration, logging, and sending/receiving data from the Agora Edge App MQTT Broker.

In WITSML we have major 2 components :-

  • WITSML Client
  • WITSML Server

WITSML Server will provide data from the edge Gateway to a WITSML Client. Data will be stored on the gateway and made available to authenticated/authorized WITSML Client using basic Auth (username/password) as described by the WITSML server specification.

` Agora

Figure 1: WITSML Server

Technical Overview

The application is developed using C# .NET Core 6 and leverages the existing Agora Edge Apps SDK with facilities for Logging, Configuration, and communicating to the gateway's Message Broker.

WITSML Server

The WITSML Server app is on the same network as a WITSML Client. The application listens for data published by other apps on the gateway using the MQTT broker as well as responds to WITSML requests from external WITSML Clients using a web endpoint.

The following are the points to consider for the WITSML Server Application:

  1. Should have the capability to authenticate the incoming requests against configurable username/passwords (not stored as clear text). a. A password configuration file (not part of the AEA2 SDK Configuration) will act as User Database.
    b. The password configuration file should be stored in the config folder so that AgoraOps can update the users allowed to access the system. c. Should have the capability to reload the config file if some user changes the username/password in the config file.
  2. If the user is authenticated, the app will allow those users to access the data that they want to access if authorized. (CRUD Operations)
  3. App stores the data locally in a File structure.
  4. App will only support Well, Wellbore, Log, and Log Curve WITSML data types.

Architectural Overview

This section provides a brief overview regarding the architecture showing how Agora applications and edge devices are being used, how they transmit log data, and how they store log data.

Agora

Figure 1 : Agora Edge Apps Field Architecture

  • Agora gateways are installed on rig/well site for data collection.
  • Apps are developed for the gateway using the Agora Edge App SDK 2.0 (AEA2 SDK) using .NET Core 6.0.
  • Agora Edge Apps (AEAs) are packaged as Docker containers.
  • AEAs are deployed and configured on the gateway by AgoraOps personnel.
  • The WITSML Client or Server are AEAs and may receive data from other applications running on the gateway or externally using the WITSML protocol.
  • The WITSML Client creates/reads/writes/updates data on external WITSML Servers, such as InterAct.
  • The WITSML Server provides a web endpoint that will allow external WITSML Clients to create/read/write/update data.
  • The WITSML Server stores data on the gateway using files.

Technical Details

Agora

Server Details

InterAct Server

Env Development and Testing Purpose
Server URL https://evt.interact.slb.com/Witsml/Store/Store.asmx

Create Connection with WITSML Server (InterACT)

For making the connection with the InterACT Test server the following information shall be provided in the AEA.json file.

  • Server URL
  • Username
  • Password (clear text)
"WITSMLSender": {
    "ServerURL": "https://evt.interact.slb.com/Witsml/Store/Store.asmx",
    "Username": "username",
    "Password": "password",

  • Improve this Doc
In This Article
Back to top Copyright © 2023 SLB, Published Work. All rights reserved.