Architecture

Documentation > Developer Guide

The core components of PDS WITSML technology are divided into these areas:

PDS WITSMLstudio Store and WITSMLstudio Desktop utilize the core WITSML libraries.

The “PDS.WITSMLstudio” solution provides reusable components referenced by all PDS WITSMLstudio applications containing the following projects:

Core

Contains common classes related to WITSML and are referenced by other projects, including but not limiting to the following:

  • ChannelDataReader - facilitates parsing and reading of log channel data
  • DataObjectNavigator - a framework for navigating a WITSML document
  • WitsmlParser - static helper methods to parse WITSML XML strings
  • Extension methods – commonly used methods for WITSML classes
Core.UnitTest

Contains unit tests for PDS WITSMLstudio.

Framework

Provides the composition container used to resolve dependencies.

Framework.Web

Configures the composition container to resolve dependencies for web projects and provides security.

Store.Core

Hosts WITSML store service implementation, including service interfaces and high level data provider implementation, including:

  • WitsmlDataAdapter – encapsulates basic CRUD functionality for WITSML data objects
  • WitsmlDataProvider – implements support for WITSML API functions
  • WitsmlQueryParser – handles parsing of WITSML input in a request
  • EtpDataProvider – implements support for ETP API functions
Store.IntegrationTest

Contains integration tests for PDS WITSMLstudio Store.

Store.Jobs

Implements scheduled and recurring jobs for PDS WITSMLstudio Store.

Store.Web

Implements configuration and security for WITSML and ETP endpoints.

Documentation > Developer Guide