SlideShare une entreprise Scribd logo
1  sur  23
From Monolith to
Microservices:
Why Building Smaller
Creates Opportunity for
Cleaner Code, Scalability
Thierry Danard,
INT VP of Core Platform Technologies
Steven Reynolds,
INT Senior Product Manager
2© 2018 Interactive Network Technologies, Inc.
Steven Reynolds
Senior Product Manager
Thierry Danard
VP Core Platform Technologies
Speakers
Passionate about engineering and dedicated to
creating software that truly helps and inspires
clients, Thierry Danard is the driving force behind
INTViewer and the architect of INT’s IVAAP
backend. Thierry obtained a computer science
engineering degree from ENSEEIHT and is an
active member of the NetBeans community.
Highly skilled at software development,
middleware, database software, and visualization
software, Steven Reynolds received his BSEE
from University of Texas at Austin and his PhD in
electrical engineering from Rice University. At
INT, Steven guides innovation in microservices
architecture, back end data access management,
and integration for major oil and gas companies
around the world.
3© 2018 Interactive Network Technologies, Inc.
80Software
Engineers,
fully dedicated to
the oil & gas
industry
110+leading E&P companies
use INT for complex
data visualization
25+years as an
established software
company
Expertise in E&P Visualization and Data
Access Libraries & Platforms in the Cloud
GRAPHIC & WIDGET
LIBRARIES
DATA VISUALIZATION
PLATFORM
Developer toolkit for G&G, E&P
2D and 3D visualization
Cloud and mobile-enabled (HTML5)
data visualization enterprise framework
Services
IVAAP
GeoToolkit
CUSTOM VISUALIZATION
DEVELOPMENT
About INT
Did you
know??
• INT offers interesting
jobs and
internships
• Many current and
former INT
employees are UH
alumni
• Our founder sits on
UH Dean’s Board
4© 2018 Interactive Network Technologies, Inc.
Why This Topic? Why Now?
The Oil and Gas industry (and many other industries) is using digital technology to transform how they
work.
Disparate System
(Apps, Files,
Data Silos
Move to
Cloud
Data
Service
Business Drivers
• Make data searchable and accessible across the enterprise
• Reduce decision times through Machine Learning, Artificial Intelligence
• Improve efficiency through continuous application delivery and modular and mobile-first architecture
strategy
App
s
ML
AI
Files
App
s
Visu
Real World
Modular Development
(in Java)
Thierry Danard
6© 2018 Interactive Network Technologies, Inc.
What Is Modular Programming?
Small pieces make a bigger whole
Code separation by functionality
Separation of implementation and declaration
Interchangeable implementations
Works well with Object-Oriented Programming.
7© 2018 Interactive Network Technologies, Inc.
Examples of Programs Using Modules
Eclipse IDE
NetBeans IDE
Linux Operating System
IVAAP Backend (Web application)
INTViewer (Desktop application)
IVAAP
INTViewer
8© 2018 Interactive Network Technologies, Inc.
INT is a software company with multiple, major clients.
All of these clients want to use IVAAP, but they all need
customizations to fit their business.
Business View of Modular =
Same Code/Same Build, Different Deployment Options
Why Is Modular Programming Useful?
9© 2018 Interactive Network Technologies, Inc.
Modular Programming: A Good Way to Implement Options
If each time you need to implement an option, you
add a checkbox to some preferences screen, you:
• Make the UI more complex for users who don’t
need these options
• Leak to one of your client competitors what your
client does
Solution: Use some lookup system.
10© 2018 Interactive Network Technologies, Inc.
Modular ProgrammingClassic Programming
Lookup System vs. Options
11© 2018 Interactive Network Technologies, Inc.
Declaration of the Functionality
12© 2018 Interactive Network Technologies, Inc.
Implementations of the Functionality
13© 2018 Interactive Network Technologies, Inc.
Aug 27, 2018 10:23:44 AM
com.interactive.ivaap.lookup.annotations.LookupRegistrat
ionLoader loadSelfRegistrations
INFO: Self registered instance of class
com.interactive.ivaap.sample.FormalGreeter for lookup
class com.interactive.ivaap.sample.AbstractGreeter
Aug 27, 2018 10:23:44 AM
com.interactive.ivaap.lookup.annotations.LookupRegistrat
ionLoader loadSelfRegistrations
INFO: Self registered instance of class
com.interactive.ivaap.sample.CasualGreeter for lookup
class com.interactive.ivaap.sample.AbstractGreeter
@SelfRegistration(lookupClass =
AbstractGreeter.class, position = 200)
public class FormalGreeter extends
AbstractGreeter
@SelfRegistration(lookupClass =
AbstractGreeter.class, position = 100)
public class CasualGreeter extends
AbstractGreeter {
Lookup Implementation
14© 2018 Interactive Network Technologies, Inc.
• More code to write
• More CPU consumed
• Slower startup
• Inspecting binaries for annotations
requires specific Java libraries
• Easy to add more options (for INT and its
customers): no code to change.
• Clean separation of functionality and options:
easy to maintain.
• Deliverables are the options. Options become a
“DevOps” concern, not a programmer concern.
• Developers can be productive with annotations.
• Refactoring class name doesn’t affect behavior.
Benefits vs. Drawbacks
Technical Architecture
Steven Reynolds
16© 2018 Interactive Network Technologies, Inc.
Digital E&P Platform: Enterprise Data Visualization
Digital Oilfield Platform (Exploration, Drilling, Production)
Application Services Integration
Cloud Infrastructure / On-Premise
Basin
Modeling
Enterprise Cloud Viewer (IVAAP)
User Interface
Dashboard-Centric Map-Centric Well-Centric
API/SDK Services
• Custom Data Connector
• Back-End SDK
• Front-End SDK
• Math Engine
• Alarms
Data Aggregation
• WITSML
• SQL
• LAS, DLIS, SEG-Y
• MongoDB
• PPDM
• Peloton Wellview
• P2 Procount
• OSIsoft
Domain Visualization
• WellLog
• Seismic
• Real-Time Monitoring
• Production Monitoring
• Schematics
• Rig Activities
• Drilling
Management
• User-Managed
Dashboard
• Templates
• Admin
• Security
• Auditing
• Dashboard Publishing
• Data Lake Ingestion
• Machine Learning
• Artificial Intelligence
• Analytics
• Workflows
Microservice
s
Architecture
17© 2018 Interactive Network Technologies, Inc.
IVAAP Architecture
JavaScript/HTML5
Client
Play
Akka
Microservices Data
Sources
Node.JS
External Auth Systems
Geoscience
data
User
data
18© 2018 Interactive Network Technologies, Inc.
IVAAP Node.js Architecture
DAL Passport
Basic SAML Cognito
Users Access Control Files
…Postgres
19© 2018 Interactive Network Technologies, Inc.
IVAAP Client Architecture
20© 2018 Interactive Network Technologies, Inc.
IVAAP Geoscience Backend
Play
admin
S3
GIS
Akka
Microservices
http
REST API
AWS S3
SQLSQL
Mongo
SQL db
Mongo
…
21© 2018 Interactive Network Technologies, Inc.
Akka Actors
• Messaging independent of route
• Can go across machines
• Natural mapping to what’s possible
• Built-in load-balancing, clusters, …
Play Framework
• Modern dynamic web server
• Asynchronous I/O
• Not thread per request
• Easy Integration with Akka
IVAAP Geoscience Backend
22© 2018 Interactive Network Technologies, Inc.
Akka Actors
• Messaging independent of route
• Can go across machines
• Natural mapping to what’s possible
• Built-in load-balancing, clusters, …
Play Framework
• Modern dynamic web server
• Asynchronous I/O
• Not thread per request
• Easy Integration with Akka
IVAAP Geoscience Backend
Benefits
• Horizontal scaling
• Simpler errors
• Easy robustness and fault tolerance
Thank You

Contenu connexe

Tendances

Running Data Platforms Like Products
Running Data Platforms Like ProductsRunning Data Platforms Like Products
Running Data Platforms Like Products
VMware Tanzu
 

Tendances (20)

Developing Digital Twins
Developing Digital TwinsDeveloping Digital Twins
Developing Digital Twins
 
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlexTechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
 
Migite presents iLeap, the premier low code application development platform
Migite presents iLeap, the premier low code application development platformMigite presents iLeap, the premier low code application development platform
Migite presents iLeap, the premier low code application development platform
 
Mendix Factsheet
Mendix  FactsheetMendix  Factsheet
Mendix Factsheet
 
Running Data Platforms Like Products
Running Data Platforms Like ProductsRunning Data Platforms Like Products
Running Data Platforms Like Products
 
IBM Hybrid integration reference architecture for digital transformation
IBM Hybrid integration reference architecture for digital transformationIBM Hybrid integration reference architecture for digital transformation
IBM Hybrid integration reference architecture for digital transformation
 
IBM bBluemix to accelerate your digital transformation
IBM bBluemix to accelerate your digital transformationIBM bBluemix to accelerate your digital transformation
IBM bBluemix to accelerate your digital transformation
 
Encanvas digital transformation data sheet
Encanvas digital transformation data sheetEncanvas digital transformation data sheet
Encanvas digital transformation data sheet
 
EdgeX Foundry - Open Interop Platform for the IoT Edge.
EdgeX  Foundry - Open Interop Platform for the IoT Edge. EdgeX  Foundry - Open Interop Platform for the IoT Edge.
EdgeX Foundry - Open Interop Platform for the IoT Edge.
 
Bringing Digital Transformation Into Focus
Bringing Digital Transformation Into FocusBringing Digital Transformation Into Focus
Bringing Digital Transformation Into Focus
 
What all it takes to build a successful hybrid integration strategy?
What all it takes to build a successful hybrid integration strategy? What all it takes to build a successful hybrid integration strategy?
What all it takes to build a successful hybrid integration strategy?
 
Cross Section and Deep Dive into GE Predix
Cross Section and Deep Dive into GE PredixCross Section and Deep Dive into GE Predix
Cross Section and Deep Dive into GE Predix
 
Cloud Native Batch Processing: Beyond the What and How
Cloud Native Batch Processing: Beyond the What and HowCloud Native Batch Processing: Beyond the What and How
Cloud Native Batch Processing: Beyond the What and How
 
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready EnterpriseRe-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
 
Mobile Enterprise Application Platform
Mobile Enterprise Application PlatformMobile Enterprise Application Platform
Mobile Enterprise Application Platform
 
[WSO2Con USA 2018] Integration Is The New App Foundation
[WSO2Con USA 2018] Integration Is The New App Foundation[WSO2Con USA 2018] Integration Is The New App Foundation
[WSO2Con USA 2018] Integration Is The New App Foundation
 
Design, Innovate, Digitize. Building Skills to Solve Future Problems
Design, Innovate, Digitize. Building Skills to Solve Future ProblemsDesign, Innovate, Digitize. Building Skills to Solve Future Problems
Design, Innovate, Digitize. Building Skills to Solve Future Problems
 
How to Assure Performance in Hybrid Cloud Ecosystems
How to Assure Performance in Hybrid Cloud EcosystemsHow to Assure Performance in Hybrid Cloud Ecosystems
How to Assure Performance in Hybrid Cloud Ecosystems
 
The Evolution of Integration
The Evolution of IntegrationThe Evolution of Integration
The Evolution of Integration
 
[WSO2Con EU 2018] Will Your Agile Practices be the Death of Architecture?
[WSO2Con EU 2018] Will Your Agile Practices be the Death of Architecture?[WSO2Con EU 2018] Will Your Agile Practices be the Death of Architecture?
[WSO2Con EU 2018] Will Your Agile Practices be the Death of Architecture?
 

Similaire à INT Inc | Benefits of a Microservices Architecture

¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...
¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...
¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...
Denodo
 
Software panel
Software panelSoftware panel
Software panel
MassTLC
 

Similaire à INT Inc | Benefits of a Microservices Architecture (20)

Mindsphere: an open cloud-based IoT operating system for Industry
Mindsphere: an open cloud-based IoT operating system for IndustryMindsphere: an open cloud-based IoT operating system for Industry
Mindsphere: an open cloud-based IoT operating system for Industry
 
Digital Reinvention by NRB
Digital Reinvention by NRBDigital Reinvention by NRB
Digital Reinvention by NRB
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
Veritas + MongoDB
Veritas + MongoDBVeritas + MongoDB
Veritas + MongoDB
 
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
Learn Why your Technology Toolkit needs a Low Code Platform Upgrade!
 
Ihs juniper webinar disaggrgation&automation-2019
Ihs juniper webinar disaggrgation&automation-2019Ihs juniper webinar disaggrgation&automation-2019
Ihs juniper webinar disaggrgation&automation-2019
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
 
How to monitor all aspects of Citrix NetScaler usage and performance within t...
How to monitor all aspects of Citrix NetScaler usage and performance within t...How to monitor all aspects of Citrix NetScaler usage and performance within t...
How to monitor all aspects of Citrix NetScaler usage and performance within t...
 
Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?
Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?
Intelligent data summit: Self-Service Big Data and AI/ML: Reality or Myth?
 
New Delhi Cloud Summit 05 26-11
New Delhi Cloud Summit 05 26-11New Delhi Cloud Summit 05 26-11
New Delhi Cloud Summit 05 26-11
 
LeanIX TBM Conference 2018
LeanIX TBM Conference 2018LeanIX TBM Conference 2018
LeanIX TBM Conference 2018
 
¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...
¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...
¿Cómo las manufacturas están evolucionando hacia la Industria 4.0 con la virt...
 
Getting Started: How to Set Up Your "Data as a Feature" Project
Getting Started: How to Set Up Your "Data as a Feature" ProjectGetting Started: How to Set Up Your "Data as a Feature" Project
Getting Started: How to Set Up Your "Data as a Feature" Project
 
Managing the End User Experience with GPU-Powered Insights
Managing the End User Experience with GPU-Powered InsightsManaging the End User Experience with GPU-Powered Insights
Managing the End User Experience with GPU-Powered Insights
 
Cubitic: Predictive Analytics
Cubitic: Predictive AnalyticsCubitic: Predictive Analytics
Cubitic: Predictive Analytics
 
CloudOne Continuous Engineering for IoT
CloudOne Continuous Engineering for IoTCloudOne Continuous Engineering for IoT
CloudOne Continuous Engineering for IoT
 
Webinar VB6 apps to html5
Webinar VB6 apps to html5Webinar VB6 apps to html5
Webinar VB6 apps to html5
 
Gartner 2017 London: How to re-invent your IT Architecture?
Gartner 2017 London: How to re-invent your IT Architecture?Gartner 2017 London: How to re-invent your IT Architecture?
Gartner 2017 London: How to re-invent your IT Architecture?
 
Software panel
Software panelSoftware panel
Software panel
 
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssenDatenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
 

Dernier

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Dernier (20)

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

INT Inc | Benefits of a Microservices Architecture

  • 1. From Monolith to Microservices: Why Building Smaller Creates Opportunity for Cleaner Code, Scalability Thierry Danard, INT VP of Core Platform Technologies Steven Reynolds, INT Senior Product Manager
  • 2. 2© 2018 Interactive Network Technologies, Inc. Steven Reynolds Senior Product Manager Thierry Danard VP Core Platform Technologies Speakers Passionate about engineering and dedicated to creating software that truly helps and inspires clients, Thierry Danard is the driving force behind INTViewer and the architect of INT’s IVAAP backend. Thierry obtained a computer science engineering degree from ENSEEIHT and is an active member of the NetBeans community. Highly skilled at software development, middleware, database software, and visualization software, Steven Reynolds received his BSEE from University of Texas at Austin and his PhD in electrical engineering from Rice University. At INT, Steven guides innovation in microservices architecture, back end data access management, and integration for major oil and gas companies around the world.
  • 3. 3© 2018 Interactive Network Technologies, Inc. 80Software Engineers, fully dedicated to the oil & gas industry 110+leading E&P companies use INT for complex data visualization 25+years as an established software company Expertise in E&P Visualization and Data Access Libraries & Platforms in the Cloud GRAPHIC & WIDGET LIBRARIES DATA VISUALIZATION PLATFORM Developer toolkit for G&G, E&P 2D and 3D visualization Cloud and mobile-enabled (HTML5) data visualization enterprise framework Services IVAAP GeoToolkit CUSTOM VISUALIZATION DEVELOPMENT About INT Did you know?? • INT offers interesting jobs and internships • Many current and former INT employees are UH alumni • Our founder sits on UH Dean’s Board
  • 4. 4© 2018 Interactive Network Technologies, Inc. Why This Topic? Why Now? The Oil and Gas industry (and many other industries) is using digital technology to transform how they work. Disparate System (Apps, Files, Data Silos Move to Cloud Data Service Business Drivers • Make data searchable and accessible across the enterprise • Reduce decision times through Machine Learning, Artificial Intelligence • Improve efficiency through continuous application delivery and modular and mobile-first architecture strategy App s ML AI Files App s Visu
  • 5. Real World Modular Development (in Java) Thierry Danard
  • 6. 6© 2018 Interactive Network Technologies, Inc. What Is Modular Programming? Small pieces make a bigger whole Code separation by functionality Separation of implementation and declaration Interchangeable implementations Works well with Object-Oriented Programming.
  • 7. 7© 2018 Interactive Network Technologies, Inc. Examples of Programs Using Modules Eclipse IDE NetBeans IDE Linux Operating System IVAAP Backend (Web application) INTViewer (Desktop application) IVAAP INTViewer
  • 8. 8© 2018 Interactive Network Technologies, Inc. INT is a software company with multiple, major clients. All of these clients want to use IVAAP, but they all need customizations to fit their business. Business View of Modular = Same Code/Same Build, Different Deployment Options Why Is Modular Programming Useful?
  • 9. 9© 2018 Interactive Network Technologies, Inc. Modular Programming: A Good Way to Implement Options If each time you need to implement an option, you add a checkbox to some preferences screen, you: • Make the UI more complex for users who don’t need these options • Leak to one of your client competitors what your client does Solution: Use some lookup system.
  • 10. 10© 2018 Interactive Network Technologies, Inc. Modular ProgrammingClassic Programming Lookup System vs. Options
  • 11. 11© 2018 Interactive Network Technologies, Inc. Declaration of the Functionality
  • 12. 12© 2018 Interactive Network Technologies, Inc. Implementations of the Functionality
  • 13. 13© 2018 Interactive Network Technologies, Inc. Aug 27, 2018 10:23:44 AM com.interactive.ivaap.lookup.annotations.LookupRegistrat ionLoader loadSelfRegistrations INFO: Self registered instance of class com.interactive.ivaap.sample.FormalGreeter for lookup class com.interactive.ivaap.sample.AbstractGreeter Aug 27, 2018 10:23:44 AM com.interactive.ivaap.lookup.annotations.LookupRegistrat ionLoader loadSelfRegistrations INFO: Self registered instance of class com.interactive.ivaap.sample.CasualGreeter for lookup class com.interactive.ivaap.sample.AbstractGreeter @SelfRegistration(lookupClass = AbstractGreeter.class, position = 200) public class FormalGreeter extends AbstractGreeter @SelfRegistration(lookupClass = AbstractGreeter.class, position = 100) public class CasualGreeter extends AbstractGreeter { Lookup Implementation
  • 14. 14© 2018 Interactive Network Technologies, Inc. • More code to write • More CPU consumed • Slower startup • Inspecting binaries for annotations requires specific Java libraries • Easy to add more options (for INT and its customers): no code to change. • Clean separation of functionality and options: easy to maintain. • Deliverables are the options. Options become a “DevOps” concern, not a programmer concern. • Developers can be productive with annotations. • Refactoring class name doesn’t affect behavior. Benefits vs. Drawbacks
  • 16. 16© 2018 Interactive Network Technologies, Inc. Digital E&P Platform: Enterprise Data Visualization Digital Oilfield Platform (Exploration, Drilling, Production) Application Services Integration Cloud Infrastructure / On-Premise Basin Modeling Enterprise Cloud Viewer (IVAAP) User Interface Dashboard-Centric Map-Centric Well-Centric API/SDK Services • Custom Data Connector • Back-End SDK • Front-End SDK • Math Engine • Alarms Data Aggregation • WITSML • SQL • LAS, DLIS, SEG-Y • MongoDB • PPDM • Peloton Wellview • P2 Procount • OSIsoft Domain Visualization • WellLog • Seismic • Real-Time Monitoring • Production Monitoring • Schematics • Rig Activities • Drilling Management • User-Managed Dashboard • Templates • Admin • Security • Auditing • Dashboard Publishing • Data Lake Ingestion • Machine Learning • Artificial Intelligence • Analytics • Workflows Microservice s Architecture
  • 17. 17© 2018 Interactive Network Technologies, Inc. IVAAP Architecture JavaScript/HTML5 Client Play Akka Microservices Data Sources Node.JS External Auth Systems Geoscience data User data
  • 18. 18© 2018 Interactive Network Technologies, Inc. IVAAP Node.js Architecture DAL Passport Basic SAML Cognito Users Access Control Files …Postgres
  • 19. 19© 2018 Interactive Network Technologies, Inc. IVAAP Client Architecture
  • 20. 20© 2018 Interactive Network Technologies, Inc. IVAAP Geoscience Backend Play admin S3 GIS Akka Microservices http REST API AWS S3 SQLSQL Mongo SQL db Mongo …
  • 21. 21© 2018 Interactive Network Technologies, Inc. Akka Actors • Messaging independent of route • Can go across machines • Natural mapping to what’s possible • Built-in load-balancing, clusters, … Play Framework • Modern dynamic web server • Asynchronous I/O • Not thread per request • Easy Integration with Akka IVAAP Geoscience Backend
  • 22. 22© 2018 Interactive Network Technologies, Inc. Akka Actors • Messaging independent of route • Can go across machines • Natural mapping to what’s possible • Built-in load-balancing, clusters, … Play Framework • Modern dynamic web server • Asynchronous I/O • Not thread per request • Easy Integration with Akka IVAAP Geoscience Backend Benefits • Horizontal scaling • Simpler errors • Easy robustness and fault tolerance