2.1 CTA: Main Components and What They Do
|For Standard||WITSML v2.0|
NOTE: For more information about standards used in the CTA, see the CTA Overview Guide.
Each Energistics domain standard (RESQML, WITSML, and PRODML) has its own set of schemas, which include a <domain>common package (e.g., WitsmlCommon) of schemas for consistency across each ML (refer to Figure 1.3-1 ). The underlying technology to define the schemas (XSD files) for the objects, artefacts, data, and metadata is XML, with HDF5 used for large numeric arrays. Each instance of a top-level data object must be identified by a universally unique identifier (UUID).
Each domain ML leverages components of the Energistics CTA.
Energistics standards are designed using the Unified Modeling Language (UML), which is also used to produce the schemas and some documentation.
- Energistics common schemas. The common package is standardized across all Energistics domain standards; for each of the MLs, the same common package is included in the download. Like the Energistics domain schemas, these schemas are also XML XSD files. Data object schemas can be considered in these categories:
- Mandatory (for example, AbstractObject, ObjectReference, objects related to units of measure (UOM), etc.).
- Optional, available for use if wanted (for example, the Data Assurance and Activity Model objects).
- Objects defined by Energistics specifications (see next bullet), which may be optional or mandatory, depending on the specification and domain ML.
- Energistics specifications describe objects and behaviors for handling mandatory and optional functionality across domains. For example, units of measure, metadata, and object identification are mandatory. Other standards, such as packaging objects together for exchange, are optional or ML-specific. Related data objects are implemented in the Energistics common schemas. The specs describe additional behavior requirements. For the complete list of CTA resources, see 1.3.2 Energistics Common Technical Architecture Resources .
- Energistics Transfer Protocol (ETP) is the Energistics spec that serves as the new application programming interface (API) for all Energistics domain MLs. Initially designed to replace the WITSML SOAP API, ETP is based on the WebSocket protocol. It delivers real-time streaming capabilities and is being expanded to provide CRUD (create, read, update and delete) capabilities.
- Information technology (IT) standards. Energistics standard’s leverage existing IT standards for various purposes. For example:
- The Unified Modeling Language (UML) is used to develop the data model and produce the schemas and some documentation.
- XML is used to define the data object schemas (XSD) and instances of data (XML files).
- UUID (as specified by RFC 4122 from the IETF) is used to uniquely identify an instance of a data object.
- HDF5 is used when needed as a companion to the XML data object to store large numeric data sets.