Visualising Energistics WITSML XML Data Structures in Data Models. ECIM E&P conference, Haugesund Norway, September 2013.
chris.bradley@dmadvisors.co.uk
1. 1
Use this layout for text on
top of a horizontally
striped picture.
Visualising WITSML using
Entity-Relationship Models
Christopher Bradley
Information StrategistECIM 2013
Haugesund, Norway
5. 5
What is WITSML?
Energistics is industry recognised body that provides
a neutral environment for the development of
common data exchange standards
Wellsite Information Transfer Standard Markup
Language is one such standard
XML-based markup language
For the transfer of wellsite information
7. 7
Example: WITSML Wellbore Trajectory
This message describes the
trajectory of a wellbore (a unique,
oriented path from the bottom of
a drilled borehole to the surface of
the Earth)
Structured
But a bit cryptic…
dTimTrajStart
aziVertSect
For uninitiated, difficult see overall
organisation
… and it’s difficult to see the
context.
XML Message
Q. Would you show this to a
business person?
9. 9
How is WITSML Defined?http://w3.energistics.org/schema/WITSML_v1.4.1.1_Data_Schema/witsml_v1.4.1.1_data/doc/witsml_schema_overview.htm
1. List of WITSML
Data Objects
10. 10
How is WITSML Defined?
Click
http://w3.energistics.org/schema/WITSML_v1.4.1.1_Data_Schema/witsml_v1.4.1.1_data/doc/witsml_schema_overview.htm
1. List of WITSML
Data Objects
11. 11
How is WITSML Defined?
l
The tree reflects
the hierarchical
structure.
Each XSD defines a
type of XML
element.
2. Tree of Element
Types
(for a Data Object)
12. 12
How is WITSML Defined?
l
The tree reflects
the hierarchical
structure.
Each XSD defines a
type of XML
element.
Click
2. Tree of Element
Types
(for a Data Object)
13. 13
How is WITSML Defined?
Each XSD defines
a type of
element
including
Attributes
Nested Elements
3. XSD Element
Definition
14. 14
How is WITSML Defined?
Each XSD defines
a type of
element
including
Attributes
Nested Elements
Click
3. XSD Element
Definition
15. 15
How is WITSML Defined?
There can be many
levels of nesting
The schema for a single
data object spans many
files
3a. XSD Element
Definition
(Nested Element)
Q. Would you show this
to a business person?
16. 16
How is WITSML Defined?
There can be many
levels of nesting
The schema for a single
data object spans many
files
3a. XSD Element
Definition
(Nested Element)
Q. Would you show this
to a business person?
21. 21
XML implementation of ER model
An XML schema generated from this model must choose one “parent”
We could choose BOOK as the root, in which case WRITER would
become a child of BOOK AUTHORSHIP
We could choose WRITER as the root, in which case BOOK would
become a child of BOOK AUTHORSHIP
22. 22
Book
Constraints
Book ISBN code
Amazon URL
Book name
Category
Publication date
Publisher
Recommended price
Book Authorship
Constraints
Agreement id
Book ISBN code
Writer id
Writer
Royalty %
Draft delivery date
Profile delivery date
Constraints
Writer id
Writer name
Specialism
Affiliation
XML implementation of ER model
Book
Book Authorship Writer
23. 23
WITSML Logical Model Objectives
Digestible for business users
Meaningful names for entities and attributes
Appropriate level of detail – hide “noise”
Show appropriate logical relationships or business rules
Not just the tree structure
Easy to review
24. 24
WITSML Logical Model Objectives
Precise for IT users
Accurate reflection of the WITSML standard
Traceable to the WITSML standard
Detailed
Distinguish between physical and logical constructs
Normalised, but showing hierarchical structure of messages
Rigorous, formal analysis and design process
Precise meaning of terms and symbols and rules
Definitions support rigour
25. 25
WITSML Logical Model Objectives
Incorporate within Enterprise Data Model (EDM)
Map objects to the relevant layer(s) in EDM
Link enterprise level data assets through to WITSML Objects…more on this later
Baseline for data requirements analysis and data modelling efforts
undertaken at the project level
Reduce the time taken for impact analysis
Minimise rework
Promote reuse.
26. 26
Making sense of WITSML
1. Submodel:
WITSML Data
Objects
1. List of WITSML
Data Objects
27. 27
Making sense of WITSML
1. Submodel:
WITSML Data
Objects
1. List of WITSML
Data Objects
28. 28
Making sense of WITSML
2. Submodel for a
Data Object
2. Tree of Element
Types
(for a Data Object)
29. 29
Making sense of WITSML
2. Submodel for a
Data Object
2. Tree of Element
Types
(for a Data Object)
Shows the
tree
structure
(inside the box
labelled “Data
Object: Trajectory”)
Also shows
the context
(outside the box
labelled “Data
Object: Trajectory”)
32. 32
Making sense of WITSML
Attribute Definition
Azimuth: Azimuth used for
vertical section plot/computations.
Entity Definition
Trajectory: A set of Trajectory
Stations that describes the path
of a section of a wellbore or of
the entire wellbore.
33. 33
Can we turn XSDs into E/R
models automatically?
Yes and No!
Yes: Tools such as E/R Studio and PowerDesigner can create
models by inspecting XSDs. They can…
Identify entities, attributes, and data types
Import definitions from <xsd:documentation> nodes
Infer relationships based on nesting of element types.
But the human touch is needed too!
34. 34
Can we turn XSDs into E/R
models automatically?
No: Manual effort is needed to…
Create logical names
Identify implied relationships
Normalise / denormalise
Classify into subject areas and map to conceptual models
Layout diagrams
35. 35
XML versus E/R Structures
XML
Hierarchical - tree
structure.
Each entity has just one
parent.
Used for transfer of data.
Shared data appears
multiple times in
multiple messages.
E/R Structures
Relational - network
structure.
Each entity can have
many parents.
Used for storage and
maintenance of data.
Shared data typically
appears just once.
37. 37
Using the Logical Model
Scenario 1: Impact analysis
Proposal to allow multiple fluids to be specified in
the schema for the cementJob object
What is the overall organisation of things the object
describes?
What is the impact on the business rules?
Do the definitions still reflect the essence of the object
that are impacted?
41. 41
Entity Definition
Cement Pump Schedule:
Records the elapsed time, fluid
rate and other pump related
properties for the Cement Stage.
Definitions
42. 42
So…
Is the Cement Pump Schedule for the Cement
Stage? or
For each Cementing Fluid?
…does relaxing the constraint require the definition
of the Cement Pump Schedule to be revised?
Remember, definitions add rigor to models!
43. 43
So What?
Reduces the time taken for impact analysis
Definitions and business rules highlight
issues/questions
Informed response to proposal
Better quality model/WITSML
44. 44
Using the Logical Model
Scenario 2: Fit with existing application architecture
Requirements to integrate data supplied in XML
messages with existing systems
Inc. reporting, data warehouse
Or when assessing suitability of a system/application
with business data requirements, e.g. SiteCom
46. 46
Identify candidate target objects
Entity Definition
A set of Trajectory Stations that
describe the path of a section of a
wellbore or of the entire wellbore.
47. 47
Identify candidate target objects
Entity Definition
A set of Trajectory Stations that
describe the path of a section of a
wellbore or of the entire wellbore.
48. 48
Benefits
Can be used to highlight:
Fit and Integration challenges early in project
Gaps and redundancy
Data element sourcing issues – data type and size
Help estimate development effort
Overlap points to reuse
Gaps require development – understand size and complexity
50. 50
Enterprise
Data Model
Conceptual Domain
Model
Application
Logical Data Model
Physical Data Model
Described in more
detail by
Generates
schema of
Described in more
detail by
Domain of an Enterprise
data concept
Within subject
area/domain
Reverse engineered
into
Implemented in Reverse
engineered into
Physical IT
System
Implementation
focus
(Low)
(High)
(High)
(Low)
Communication
focus
Data Model Levels” Models
52. 52
In Summary
Representing WITSML through data models:
Easy to review by business and technical alike – ‘a picture
paints a thousand words’
Facilitates a shared understanding of concepts
Rigorous, formal analysis and design process
Reduce the time taken for impact analysis
Minimise rework
Promote reuse
53. 53
Contact details
Chris Bradley
Information Strategist
Chris.Bradley@dmadvisors.co.uk
+44 1225 923000
My blog: Information Management, Life & Petrol
http://infomanagementlifeandpetrol.blogspot.com
@InfoRacer
Hinweis der Redaktion
Replace last bullet with slide over?
Note that the model shows logical names (with physical names in brackets). This is especially important for the more cryptic names such as wbGeometry = Wellbore Geometry.
Note that the model shows logical names (with physical names in brackets). This is especially important for the more cryptic names such as wbGeometry = Wellbore Geometry.
Q. What do the square brackets mean? What about IMPLIED?This will be explained laterQ. Why does it show “DEPRECATED Grid Correction Used” and “Grid Correction Used”The model allows the use of a deprecated element called gridCorUsed, and a replacement element called gridConUsed.
Q. What do the square brackets mean? What about IMPLIED?This will be explained laterQ. Why does it show “DEPRECATED Grid Correction Used” and “Grid Correction Used”The model allows the use of a deprecated element called gridCorUsed, and a replacement element called gridConUsed.
Tools can sometime infer relationships based on the hierarchical structure of XML messages. But they can’t infer implied relationships between items in multiple messages or differing branches of the same message that are based on name references.
CurrentA Cement Stage may specify one and only one Cementing FluidA Cementing Fluid may be specified by one and only one Cement StageA Cementing Fluid may be delivered using one and only one Cement Pump ScheduleA Cement Pump Schedule may be for one and only one Cementing FluidProposedA Cement Stage may specify one or more Cementing FluidsA Cementing Fluid may be specified by one and only one Cement StageA Cementing Fluid may be delivered using one and only one Cement Pump ScheduleA Cement Pump Schedule may be for one and only one Cementing Fluid
Cement JobA single Cement Job. One of Primary, Plug, Squeeze. tickCement StageSet of stages for the Cement Job (usually 1 or 2).Cementing FluidThe cementing fluid used during the course of a Cement Stage. One of Mud, Wash, Spacer, Slurry.Cement Pump ScheduleRecords the elapsed time, fluid rate and other pump related properties for the Cement Stage.