Migrate Process API to supported status
---------------------------------------

                 Key: GEOT-3688
                 URL: https://jira.codehaus.org/browse/GEOT-3688
             Project: GeoTools
          Issue Type: Improvement
          Components: process
    Affects Versions: 8.0-M1
            Reporter: Jody Garnett
            Priority: Minor


I assume at this stage with geoserver wps being released to the wild that the 
interfaces are stable/good enough.

With that in mind here is a plan for taking the results of gt-process up to 
supported status.

Thoughts:
- Documentation is already pretty good
- Most of the actual work should be merged into the geotools library (as it is 
not worth while standing on its own)

Feedback:
- There was some confusion over why a Process data structure was needed; the 
static methods are more handy for day to day coding obviously. With that in 
mind a tutorial that covered the use of a ThreadPoolProcessExecutor (as a great 
alternative to Swing worker) would be useful.
- The inclusion of process implementations "out of the box" is not good in a 
controlled environment like GeoServer where the control of exactly what is 
published is desired.

Planning:

1) gt-process
- Rescuing from aaime's experiment in geoserver (mostly annotations and a few 
nice classes)
- Review and Document the base classes / annotations
- Write a small advanced tutorial showing how to make one process
- Migrate the processes implementations that were included as examples into 
individual (and optional plugins)

2) gt-process-geometry
- Migrate GeometryProcessFactory from geoserver; this is still a good example 
of how to use the annotations

3) gt-process-raster
- migrate raster to vector for gt-process
- not sure what else goes here; jgrasstools stole most of the reason for this 
one to live

4) gt-process-feature
- not sure if we have many feature based processes yet; the ones in geoserver 
are specific to their catalog near as I can tell (or perform simple things like 
returning a "count")

5) Moving the good bits into the library
- the actual interfaces can move to gt-api
- the core implementations to gt-main (my preference) or gt-metadata depending 
on if they are useful for raster processing?
- this would leave plugins/process as an optional plugin that contains only 
basic "literal" processes

So at the end of the day:
- modules/library/api - contains the Process interface, ProcessFactory along 
with DescribeProcess annotations etc...
- modules/library/main - contains the base factory implementations; 
ThreadPoolProcessExecutor and so on
- modules/plugins/process - contains simple things often working on literals; 
possibly a bridge to geotools functions
- modules/plugins/process-geometry
- modules/plugins/process-feature
- modules/plugins/process-raster
- modules/unsupported/wps - contains a client allowing web processing service 
to be used in the same manner as a normal local process



--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to