SNAP (SeNtinel Application Platform) is an open source common architecture for European Space Agency (ESA) Toolboxes focused on the exploitation of Earth Observation data. Its latest release, based on the NetBeans Platform, has been developed over the past year.
The source code is on GitHub:
It can be extended and here's examples for doing that:
It is currently in Beta and here's what it looks like. Click to enlarge the image:
The reasons for choosing the selected architecture: "The SNAP architecture is ideal for Earth Observation processing and
analysis due to the following technological innovations: Extensibility,
Portability, Modular Rich Client Platform, Generic EO Data Abstraction,
Tiled Memory Management, and a Graph Processing Framework." (More on that here.)
Developers working for ESA on SNAP have contributed significantly to NetBeans, as described in an earlier blog entry here.
You too can create applications just like the above. Or you can base your own applications on SNAP. All the principles for doing so can be learned since the NetBeans Platform underlying SNAP is well documented: