WITSML API Interface Definition Prototype Implementation.
-
Upload
rosalind-webb -
Category
Documents
-
view
240 -
download
3
Transcript of WITSML API Interface Definition Prototype Implementation.
WITSML API
• Interface Definition
• Prototype Implementation
WITSML API - Interfaces
• STORE (WMLS) Interface: Provides access to Persistent Store
Returns/Accepts entire WITSML Data Objects as XML Documents
• DOCUMENT (WMLD) Interface: Routes to Local or Remote STORE (WMLS) Interface Returns/Accepts entire WITSML Data Objects as XML Documents
• ITEM (WMLI) Interface: Provides access to WITSML Data Object at individual data item level(isolates application from XML)
Provides synchronous validation against schema
• REALTIME (WMLR and WMLP) Interfaces: Transport of REALTIME WITSML Data ObjectsSubscribe/Publish Paradigm
WITSML API - Interfaces
WMLI (Item Interface)API Implementation
WMLD (Document Interface) API Implementation
Realtime SubscriberInterface (WMLR)
API Implementation
CLIENT APPLICATION
LOCALPERSISTENT
STORE(black box)
WMLI_function_call WMLD_function_call WMLR_function_call
WMLD_function_call
CALL DATAITEM
CALL XMLDocument
XMLDocument
CALL CALL
using the ITEMInterface
using the DOCUMENTInterface
using the REALTIMESubscriber Interface
CLIENT APPLICATION
Local WMLS (Store Interface)API Implementation
CLIENT APPLICATIONusing the STORE
Interface
WMLS_function_call
CALL
XMLDocument
WMLD_function_call
XMLDocument
CALLCALL XMLDocument
Remote WMLS (Store Interface)API Implementation
REMOTEPERSISTENT
STORE(black box)
IMPLEMENTATION-SPECIFIC FORMAT
WMLD_function_call
SOAP
Realtime Publisher(WMLP)
API Implementation
CLIENT APPLICATIONusing the REALTIME
Publisher Interface
WMLP_function_call
CLIENT APPLICATION
CALL
SOAP
POST
WITSML API - TYPICAL FUNCTION CALLS
• STORE (WMLS) Interface: GetFromStore, AddToStore, ...
• DOCUMENT (WMLD) Interface: GetDocument, AddDocument, ...
• ITEM (WMLI) Interface: GetObject, GetNext, GetNextChild, ...
• REALTIME SUBSCRIBER (WMLR) Interface: Subscribe, Cancel, ...
• REALTIME PUBLISHER (WMLP) Interface: Publish, Cancel, ...
WITSML API - Hidden Persistence
WMLS (Store)API Implementation
CLIENTAPPLICATION
PERSISTENTSTORE
(black box)
WMLS_function_call()
IMPLEMENTATION-SPECIFIC FORMAT
XML ONLY
WITSML API - Network Protocol - Data Object Access
WMLS (Store)GetFromStore
Implementation
PERSISTENTSTORE
(black box)
CLIENTAPPLICATION
InvokesWMLI_GetObject()
WMLI (ITEM)GetObject
Implementation
WMLD(DOCUMENT)GetDocument
Implementation
InvokesWMLD_GetDocument()
InvokesWMLS_GetFromStore
via SOAP
SOAP Client
SOAP ServerInvokes
WMLS_GetFromStore
retrieves WITSMLobject and returns it
as XML
XML
XML
SOAP RPC over HTTP over TCP/IP
XML
XML
Individual Data Items accessible by subsequent calls to WMLI
WITSML API - Network Protocol - Realtime Transfer - Subscribe
WMLP(REALTIME
PUBLISHER)Subscribe
Implementation
CLIENTAPPLICATION
InvokesWMLR_Subscribe()
WMLR (REALTIMESUBSCRIBER)
SubscribeImplementation
InvokesWMLP_Subcribe()
via SOAP
SOAP Client
SOAP Server
InvokesWMLP_Subscribe()
stores subscriberinformation
SOAP RPC over HTTP over TCP/IP
WMLP (REALTIMEPUBLISHER)
Publish Implementation
Web ServerPUBLISHER
APPLICATION
WMLR (REALTIMESUBSCRIBER)
Publish Implementation
InvokesWMLP_Publish()
retrieves subscriberinformation
Sends data via HTTPPOST to subscriberHTTP POST
InvokesWMLR_Publish()
Stores or forwardsreceived data
WMLR (REALTIMESUBSCRIBER)HTTP Listener
WITSML API - Network Protocol - Realtime Transfer - Publish
WITSML API – ActiveX Prototype Implementation - General
• Interfaces implemented as ActiveX (COM) objects
• Windows 2000
• Visual Basic 6
• DOM (msxml3)
• SQL Server 2000 for persistent store
• Microsoft SOAP SDK 2.0
WITSML API – ActiveX Prototype Implementation - Availability
• Version 1.0.0 available now via FTP @
www.witsml.org
-or-
ftp.npsinc.com/witsml
• Includes source code, W2K setup files, restorable SQL Server database
with sample data, SOAP SDK and documentation
• Prototype STORE (WMLS) Interface now accessible via SOAP @
www.npsinc.com/witsml
• Version 1.0.1 scheduled for September:
bug fixes
revised WITSML Data Object names
improved documentation
WITSML API – ActiveX Prototype Implementation - Support/Training
• Support
Defect corrections by NPSi
Installation assistance via email: [email protected]
Integration assistance available: [email protected]
• Developer's Classes
Aug 29-30th (Houston)
others to be held based on demand
WITSML API – ActiveX Prototype Implementation - Limitations
• STORE (WMLS) supports a subset of WITSML Data Objects:
well, wellbore, trajectory, trajectoryStation, log and realtime
• REALTIME (WMLR/WMLP) implementations are skeletons
(no subscription storage/retrieval mechanism).
• REALTIME Publisher (WMLP) implementation is synchronous
(blocking) - VB6 does not support multi-threading
• ITEM (WMLI) Interface is limited to constructs presently
utilized in supported object types’ schema definitions (above)