ALMA Case Study

“ZK has a rich set of UI components, and the MVVM pattern makes for cleaner and more maintainable code.”

About ALMA

ALMA is a publicly funded global collaboration which provides its services to the international astronomy community free of charge.

“The Atacama Large Millimeter/submillimeter Array (ALMA) -the largest astronomical project in existence- is a single telescope of revolutionary design, composed of 66 high precision antennas located on the Chajnantor Plateau, 5000 meters altitude in northern Chile. ALMA is an international partnership of the European Southern Observatory (ESO), the U.S. National Science Foundation (NSF) and the National Institutes of Natural Sciences (NINS) of Japan, together with NRC (Canada), MOST and ASIAA (Taiwan), and KASI (Republic of Korea), in cooperation with the Republic of Chile.” (https://www.almaobservatory.org)

ZK x ALMA

ALMA's Observatory Operations Support software development team, or ObOps, has implemented several tools using the ZK framework. Most of these are internal administrative tools and workflow tools that assist in observing projects for astronomers.

The first ZK tool we implemented in 2009 was a Project Tracker for monitoring and controlling observing projects through their life cycle. This tool has evolved over the years, and it is still going strong. In fact, it received a visual refresh in 2021 using the more modern ZK ice-blue compact theme. Another workflow tool we implemented with ZK is the ALMA Quality Assurance tool called AQUA. This tool is first used to check that observations meet specific quality parameters, and later that processed data is of high enough quality to be delivered.

ALMA's Project Tracker, developed using ZK with the ice-blue compact theme
Figure 1. ALMA's Project Tracker, developed using ZK with the ice-blue compact theme
ALMA's AQUA, developed with ZK tools for observation data analysis
Figure 2. ALMA's AQUA, developed with ZK tools for observation data analysis
“ZK has been actively maintained and improved for over a decade. This is a very big benefit for our long-lived project.”

The Challenge

ALMA is a prototype of itself. This meant that when we started implementing software for it before it was in operation, nobody had a clear idea of what would be required, so many initial requirements were based on educated assumptions.

As soon as the observatory went into operation, many of these had to be revised. The software had to be quickly updated to match the operational reality. ZK made this much easier due to its easy learning curve and high productivity potential.

Why ZK

We tried prototypes with GWT and a few other frameworks but decided to use ZK because we could get things done much faster. In 2008 there was also no way to guess which solution would still exist the following year, never mind a decade later. That was an essential consideration for a project that will be running for decades. In this case, we were fortunate as ZK has been actively maintained and improved for over a decade, and it shows no sign of slowing down.

We chose ZK and continue to stick with it since:

  • It has been actively maintained and improved for over a decade
  • It is easy to use for Java developers without writing JavaScript, HTML, and CSS for many tasks.

Best of ZK

ZK has a rich set of UI components, and the MVVM pattern makes for cleaner and more maintainable code. The ZK themes make it possible to update the look and feel of applications without having to make many changes. Lastly, the fact that ZK is actively maintained is a very big benefit for our long-lived project.

The Result

The Project Tracker and AQUA are now mature and vital parts of the ALMA Observatory. ZK made it easier to evolve them quickly during the early years of ALMA operations. The continued ZK maintenance releases have allowed these tools to remain reliable on ever-changing browsers.