technical team witsml sig dubai - november 2008 john shields / gary masters
TRANSCRIPT
![Page 1: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/1.jpg)
Technical Team
WITSML SIGDubai - November 2008John Shields / Gary Masters
![Page 2: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/2.jpg)
WITSML Technical Team
• Representatives mainly from service companies
• Energistics (Gary) keeps a global issue list accessible via private area on Energistics web site
• Monthly conference calls• Twice a year face-to-face
meetings at WITSML SIG working meetings
![Page 3: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/3.jpg)
WITSML Issues List
![Page 4: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/4.jpg)
Dubai 2008 Topics
Focus on Automation and Interoperability
• Standard Queries• New Query API• Schema and Versioning• WITS Data
![Page 5: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/5.jpg)
Query Templates
Issues• WITSML query templates are very flexible but allow
infinite variations on the types of queries that can be made
• Makes it very difficult to implement WITSML servers with predictable behavior or prerformance
• Lots of special cases for queries on specific types of objects
• Queries need to be independent of underlying server technology. Cannot use SQL or XQuery
![Page 6: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/6.jpg)
Query Templates
• Review test queries from interoperability team• Well navigation queries, return name and uid list
– Get name/uid for all wells in server– Wells by country, field, operator, region, block, status– Wild card (*)– Wells by coordinate system and lat, long
• General Queries for all objects– Get name/uid for all objects of a type– Get complete object from a uid– Get name/uid and dTimLastChanged for a specified object type > dTimLastChanged
• Wellbore queries– Get all well/wellbore name/uid information– Get all wellbore name/uid in a well
• Growing Objects– Get summary header data for all objects of a specified type in a wellbore
• For log/wellLog this would not include logCurveInfo– Get range of data for a specific object uid on depth– Get range of data for a specific object uid on time
• Log Queries– Get data for a specified set of curves in a log– Get logs containing specified classWitsml curves
![Page 7: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/7.jpg)
Queries for range of data
• For growing objects, client must determine the index units that the server is using then query for a range of data in those units– Client queries log/mudlog/trajectory header to determine
start/end index and units– Client requests range of data in the same units as the server
specifies– Discussion on server handling of data range queries
• Server should interpret the units in a range query and return data in the specified range
![Page 8: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/8.jpg)
Query Interfaces
• Short Term: Simplify and standardize current template queries by defining a set of WITSML ‘standard’ queries that are incorpotrated into the test and certification process for WITSML clients and servers
• Longer Term: Develop a new API or APIs with more specific queries based on the standard templates
![Page 9: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/9.jpg)
Versioning & Namespaces
Issues• When a schema version changes, code generation
tools (typically in .NET or Java) create a new set of code classes that are not compatible with classes from the previous version
• XQuery does not work across multiple schema versions. Need to run separate queries on each version then combine results
• How to extend existing WITSML schemas without breaking existing program code?
![Page 10: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/10.jpg)
Versioning & Namespaces
• XML Schema namespace should not change for minor versions or for compatible versions e.g. 1.3.1 to 1.4
• Suggest removing version section from namespace in the next major version. We already have a “version” attribute
<logs xmlns="http://www.witsml.org/schemas/140" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.witsml.org/schemas/140 ../XSD_Schemas/obj_log.xsd" version="1.4.0.0">
• Use different namespaces for WITSML and PRODML (and common objects)?
– Allows WITSML and PRODML to progress in parallel• Can we change this for WITSML 1.4?
– Use generic namespace as xmlns="http://www.witsml.org/schemas/1– Implement extensibility mechanism
• Add <xsd:any> to commonData and customData• Add name/value pair extension element to all recurring data structures
– Re-instate and deprecate deleted elements in 1.4.0
![Page 11: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/11.jpg)
Schema Extension
• Add extension element to selected container objects e.g. <logCurveInfo>
• Add extension element to <commonData>– Extension element has
• Kind (defined in enumValues.xml [or local])• Data type (string, double, etc.)• Value• Uom (for numeric types)
• Extension type defined in enumValues.xml for global approved extensions. Private (local) extensions may also be allowed
• Alternatively use <xsd:any> to define extension data
![Page 12: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/12.jpg)
WITS Data
Issues• Provide an easy transition from WITS to WITSML• Preserve the efficiency of WITS data stream
• Translate to WITSML Log object – enables persistence at server
• Need to evaluate more efficient syntax for data transfer
![Page 13: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/13.jpg)
Technical Team
If you want to contribute – join the SIG!
![Page 14: Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters](https://reader036.vdocuments.net/reader036/viewer/2022062408/56649ee65503460f94bf63b3/html5/thumbnails/14.jpg)
Thank you