2.1 CTA: Main Components and What They Do
|For Standard||CTA v2.1|
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. 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 (see 2.2.2 File Formats: XML and HDF5 ). Each instance of a top-level data object must be identified by a universally unique identifier (UUID) (see 2.2.3 Universally Unique Identifiers (UUIDs) ).
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. For more information, see 2.2.1 Data Modeling with UML and EA .
- 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.
For more information on the common data objects, see 4 The Energistics Common Package .
- 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 more information on the standards on which these specifications are based, see 2.3 Energistics Standards . For the complete list of CTA resources, see 1.4.2 CTA 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. For more information, see 2.3.1 Energistics Transfer Protocol (ETP) .
- Information technology (IT) standards. Energistics standard’s leverage existing IT standards (see 2.2 Information Technology 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.