Programming is an activity that requires a special set of cognitive skills. While the industry has developed processes and tools to ensure the quality of software artifacts, the act of writing code is a craft in itself. Developers pride themselves on the “big picture” results they achieve, but the activity of programming is definitely a humbling experience: it’s easy to introduce bugs, and regardless of whether I catch them right away or later in the pipeline, I hate to be reminded I am inherently flawed and have introduced a defect. For this article, I will focus on simple methods to avoid bugs, not before or after you write code, but while you write that code.
One of the unique features of the IVAAP backend SDK is that you can develop your own data connectors and services with the IDE you are already familiar with. The data backbone of IVAAP is meant to be deployed in a cluster made of multiple nodes for scalability and reliability. However, despite the distributed nature of such a deployment, our SDK requires no particular plugin to compile or execute your code. The tools needed to develop a plugin for IVAAP’s backend are identical to the tools you would need to develop classic Java Servlets: a Java SDK (Oracle, OpenJDK), an IDE (Eclipse, NetBeans) and an application server (Tomcat, Glassfish).
Over the last few months, there have been a lot of activities and discussions with upstream majors on how to make subsurface data easier to search and discover and how to automate some of the geophysical and/or petrophysical workflows. This process has typically been very challenging. From a user experience perspective, the ideal scenario would be to do this from one system versus doing this very manually from current siloed applications. We’ve been able to do this successfully here at INT.
It’s been two years since Oracle announced the donation of the NetBeans source code to the Apache software foundation. This move was much more than a licensing change — it was a bit of a new beginning for NetBeans. With the release of NetBeans 10, now is a good time to look back and recognize the changes that this transition to Apache brought.
The purpose of IVAAP’s backend is to access data from many data sources and present this data in a unified manner to the IVAAP HTML5 client. Performance is key, and some data stores are faster to access than others. In a web service configuration, a smart caching strategy is required so that the same web/HTTP calls are not made to the same data store twice while a service request is being fulfilled, regardless of its complexity. This is where the concept of scope comes in.
As a new member of the software development team, I had no prior experience with development on IVAAP, INT’s HTML5 visualization framework for upstream E&P solutions. My first task was to add a data connector, so to gain knowledge of IVAAP and to understand more about the IVAAP software development kit, I used the IVAAP developer’s guide. I found this guide quite useful as it made the key points behind IVAAP easily understandable. Coding with IVAAP is actually easy, and I was surprised by several features of the platform and SDK that make it quite simple to learn.
With the explosion of storage capacity, cloud computing, and bandwidth availability, a trend has emerged in the oil and gas industry over the last few years. Data that was previously aggregated and discarded is now maintained and stored, creating an opportunity for the industry. Coupled with new advancements in machine learning and Al, this data availability is poised to drive more data driven decision making in well planning, drilling & completions, and well operations.