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:
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
Contains unit tests for PDS WITSMLstudio.
Provides the composition container used to resolve dependencies.
Configures the composition container to resolve dependencies for web projects and provides security.
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
Contains integration tests for PDS WITSMLstudio Store.
Implements scheduled and recurring jobs for PDS WITSMLstudio Store.
Implements configuration and security for WITSML and ETP endpoints.
Architecture - PDS WITSMLstudio Store
The “PDS.WITSMLstudio.Store” solution builds PDS WITSMLstudio Store with MongoDB for data storage and configures Witsml.Web as an IIS web application. It contains the following projects:
Configures and hosts PDS WITSMLstudio Store on IIS.
Contains the WitsmlDataAdapter implementation for MongoDB.
Integration tests for Store.MongoDb.
Architecture - PDS WITSMLstudio Desktop
The “PDS.WITSMLstudio.Desktop” solution builds PDS WITSMLstudio Desktop, a Windows desktop application written in C# and WPF using plug-in technology that can connect to any WITSML server via SOAP or ETP.
It contains the following projects:
Provides the main application user interface for PDS WITSMLstudio Desktop.
A collection of reusable components and plug-in framework.
Contains integration tests for the WITSML Browser plug-in and core functionality.
Data Producer plug-in that simulates streaming data in and out of a WITSML server.
ETP Browser plug-in to communicate with a WITSML server via ETP protocol.
Object Inspector plug-in that displays WITSML data objects with corresponding Energistics schema information.
WITSML Browser plug-in to communicate with a WITSML server via SOAP.
Unit tests for the WITSML Browser and core functionality.