rWMLS - A Ruby implementation of the WITSML standard
The goal of this pet-project is to develop a Ruby implementation of the WITSML standard.
WITSML consists of a set of XSD schema’s and a SOAP based API. The standard is developed and maintained by a Special Interest Group, the SIG community, which has regular phone conferences and meet in person twice a year. The documentation that comes with the standard not very comprehensive; there’s a lot of undocumented and tacit knowledge amongst the SIG members. Another goal for rWMLS is therefore to capture some of the undocumented server behavior and make it publicly available through a open-source project.
The WITSML API has two parts; the WMLS and WMLP interfaces; rWMLS implements the WMLS part, limited to the ‘getFromStore’ and ‘updateInStore’ methods. A subset of the XSD schema’s are implemented initially:
- Well
- Wellbore
- Log
- Trajectory
The implementation is based on the Ruby language, using the soap4r standalone SOAP server, and the REXML xml library. REXML has a good DOM implementation and excellent support for XPath. As for persistence back-end I have really not decided yet.
And by the way, this is NOT a RubyOnRails project!