Towards a CMOP SOA: The CMOP Product Factory

I thought I'd write down some thoughts about the design of the product factory I've been pushing here at CMOP.

Original Goals

Goal 1: Provide user-configurable, real-time web products
How: Replace static, pre-generated products with products generated directly from query results.

Goal 2: Simplify the development of internal and external web applications involving CMOP observations.
How: Provide a web service so that including a configurable CMOP product in your application requires just one line of code.

Goal 3: Significantly reduce the amount of code required to create a new configurable CMOP product.
How: Distill each product to 1) a set of parameters, 2) a SQL statement, and 3) a plotting script. Ensure that *all* other code is written only once and is 100% generic.

Goal 4: Significantly reduce the amount of code required to keep web products in sync with incoming data.
How: Dynamically-generated products don't need to be kept in sync. (Some slow queries may require caching and pre-generation.)

Goal 5: Provide public access to our data.
How: Make sure every product allows access to its source data. That is, every application that includes products automatically becomes a data access application.

Non-Goals

-- Replace PHP with Python.

-- Replace Mapserver with matplotlib.

-- Provide a comprehensive web UI service (See salesforce.com's work for an example of someone who *is* trying to provide this).

The UI features are there only to allow a minimally functional web-app to be created with a single line of code.

Recommendations

-- Focus on robust and simple products. We should make sure we grab all the low-hanging fruit.

-- Don't rely on products for anything but plots. The dashboard is a "mash-up" of several web services, only one of which is the factory.

-- Keep maps in mapserver (or maybe OpenLayers eventually). Matplotlib doesn't seem adequate to replace Mapserver. Also, Mapserver has lots of features that we haven't fully explored (clickable maps, better colors).

Vision

Develop a suite of CMOP services and use them in a Service-Oriented Architecture: one for maps, one for plots, one for tables of data, several for IOOS standards, one for KML, one for model data access, etc.

Events

« November 2008 »
SuMTuWThFSa
1
2345678
9101112131415
16171819202122
23242526272829
30

User login

Search CMOP

Research Feature

CMOP scientists study plankton blooms in the Columbia River. Read More

Profile

Lydie Herfort is a post-doctoral fellow and aquatic microbiologist. Read More

Outreach

4th IEEE International Conference
CMOP researchers will present on Dec. 11th at the conference in Indiana. Learn More

Director's Welcome

CMOP is an outstanding opportunity to address regional and national priorities in ocean policy, and beyond.
More ...