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!



Not All Supernovae Are Created Equal: Rethinking the Universe’s Measuring Tools

Not All Supernovae Are Created Equal: Rethinking the Universe’s Measuring Tools

6/3/2025

Rethinking the Reliability of Type 1a Supernovae   How do astronomers measure the universe? It all starts with distance. From gauging the size of a galaxy to calculating how fast the universe is expanding, measuring cosmic distances is essential to understanding everything in the sky. For nearby stars, astronomers use... Read More >

Using LLMs To Research Remote Sensing Software: Helpful, but Incomplete

Using LLMs To Research Remote Sensing Software: Helpful, but Incomplete

5/26/2025

Whether you’re new to remote sensing or a seasoned expert, there is no doubt that large language models (LLMs) like OpenAI’s ChatGPT or Google’s Gemini can be incredibly useful in many aspects of research. From exploring the electromagnetic spectrum to creating object detection models using the latest deep learning... Read More >

From Image to Insight: How GEOINT Automation Is Changing the Speed of Decision-Making

From Image to Insight: How GEOINT Automation Is Changing the Speed of Decision-Making

4/28/2025

When every second counts, the ability to process geospatial data rapidly and accurately isn’t just helpful, it’s critical. Geospatial Intelligence (GEOINT) has always played a pivotal role in defense, security, and disaster response. But in high-tempo operations, traditional workflows are no longer fast enough. Analysts are... Read More >

Thermal Infrared Echoes: Illuminating the Last Gasp of a Dying Star

Thermal Infrared Echoes: Illuminating the Last Gasp of a Dying Star

4/24/2025

This blog was written by Eli Dwek, Emeritus, NASA Goddard Space Flight Center, Greenbelt, MD and Research Fellow, Center for Astrophysics, Harvard & Smithsonian, Cambridge, MA. It is the fifth blog in a series showcasing our IDL® Fellows program which supports passionate retired IDL users who may need support to continue their work... Read More >

A New Era of Hyperspectral Imaging with ENVI® and Wyvern’s Open Data Program

A New Era of Hyperspectral Imaging with ENVI® and Wyvern’s Open Data Program

2/25/2025

This blog was written in collaboration with Adam O’Connor from Wyvern.   As hyperspectral imaging (HSI) continues to grow in importance, access to high-quality satellite data is key to unlocking new insights in environmental monitoring, agriculture, forestry, mining, security, energy infrastructure management, and more.... Read More >

1345678910Last
21439 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.