X

NV5 Geospatial Blog

Each month, NV5 Geospatial posts new blog content across a variety of categories. Browse our latest posts below to learn about important geospatial information or use the search bar to find a specific topic or author. Stay informed of the latest blog posts, events, and technologies by joining our email list!



Mapping Earthquake Deformation in Taiwan With ENVI

Mapping Earthquake Deformation in Taiwan With ENVI

12/15/2025

Unlocking Critical Insights With ENVI® Tools Taiwan sits at the junction of major tectonic plates and regularly experiences powerful earthquakes. Understanding how the ground moves during these events is essential for disaster preparedness, public safety, and building community resilience. But traditional approaches like field... Read More >

Comparing Amplitude and Coherence Time Series With ICEYE US GTR Data and ENVI SARscape

Comparing Amplitude and Coherence Time Series With ICEYE US GTR Data and ENVI SARscape

12/3/2025

Large commercial SAR satellite constellations have opened a new era for persistent Earth monitoring, giving analysts the ability to move beyond simple two-image comparisons into robust time series analysis. By acquiring SAR data with near-identical geometry every 24 hours, Ground Track Repeat (GTR) missions minimize geometric decorrelation,... Read More >

Empowering D&I Analysts to Maximize the Value of SAR

Empowering D&I Analysts to Maximize the Value of SAR

12/1/2025

Defense and intelligence (D&I) analysts rely on high-resolution imagery with frequent revisit times to effectively monitor operational areas. While optical imagery is valuable, it faces limitations from cloud cover, smoke, and in some cases, infrequent revisit times. These challenges can hinder timely and accurate data collection and... Read More >

Easily Share Workflows With the Analytics Repository

Easily Share Workflows With the Analytics Repository

10/27/2025

With the recent release of ENVI® 6.2 and the Analytics Repository, it’s now easier than ever to create and share image processing workflows across your organization. With that in mind, we wrote this blog to: Introduce the Analytics Repository Describe how you can use ENVI’s interactive workflows to... Read More >

Deploy, Share, Repeat: AI Meets the Analytics Repository

Deploy, Share, Repeat: AI Meets the Analytics Repository

10/13/2025

The upcoming release of ENVI® Deep Learning 4.0 makes it easier than ever to import, deploy, and share AI models, including industry-standard ONNX models, using the integrated Analytics Repository. Whether you're building deep learning models in PyTorch, TensorFlow, or using ENVI’s native model creation tools, ENVI... Read More >

1345678910Last
22657 Rate this article:
No rating

Apps Deconstructed

Anonym

Last week, I discussed what enterprise architecture for deploying GEOINT apps might look like (read the Apps and Enterprise Architectures blog).  This week, I want to revisit that topic with a focus on the components that make up a sophisticated GEOINT app.  I’m defining a GEOINT app as a web-based or mobile application used to perform geospatial data visualization, processing, or analysis.  The figure below is my attempt to show the components of an app and how they might be represented in an enterprise architecture.

 

Apps_Deconstructed

 

In this figure, app users are shown on the left, and the developers who participate in app development are shown along the bottom.  The middleware, web services, and data that an app uses are shown in the central part of the diagram and are hosted in the Cloud.  The point of this diagram is to show that an app is not just one piece of software.  The software that runs on the device or the web client interface and is displayed in the browser are pieces of a larger, interconnected system.  Multiple software components make up most sophisticated apps.

Let’s take App B from the diagram as an example.  Assume that this is a line-of-sight app that the user has downloaded from the App Store to his mobile device. When this app runs, it expects to connect through the internet (or the cloud) to app-specific middleware that will access image, map, and analytic services to produce the desired results.  The line-of-sight app initially presents a map where the user selects the area of interest.  The middleware calls an image service to locate relevant imagery in the correct format and then calls a line-of-sight analytic service.  Results are returned to the app interface, or client, running on the mobile device.  If you follow the lines for Apps C and D, you’ll see that they are similarly constructed.  I included App A to illustrate the case where an app connects directly to a web service without any middleware.

The various components that make up the app may not be written by the same developer or organization.  Some organizations may just provide services that are consumed by a number of apps, such as a map service.  Others may leverage those services and create the clients and middleware in order to construct robust applications.  These various components may not be on the same server, or even part of the same network.  The use of standards is key to the success of these distributed applications.

The services do the bulk of the ‘heavy lifting’ in this type of app.  Well written services can be used in a variety of applications, both interactive and automated.  A developer could create a set of services that can be deployed in multiple ways to meet a wide variety of user needs.  Notice in the diagram that each service is a component in multiple apps.  In my line-of-sight example, the analytic service that supports the line of sight analysis in the interactive app could also be used as part of an automated process to generate a line-of-sight result on all images as they are ingested.

I’m excited about the possibilities of this model where a single service meets many needs through a variety of applications.  I’m also curious as to how these services will be managed from source code control through deployment into enterprise environments.

Please login or register to post comments.