Note: this module is currently found in /modules/unsupported/process/
The purpose of the Process API is to define an operations API and allow developers to easily wrap up processes for reuse. Processes can then be used within various contexts, such as Web Process Services (WPS). This API allows developers to
- define and implement processes with a map of parameters
- find and create all process implementations
- execute processes
- track the progress of an executing process
A main design goal of this module is to make a process quick and easy to implement. The following sections will show the design of this module, how to implement a new process, and how to use the processes within a GUI application.
API Design
A Process defines an operation that can be executed. Each process has a list of input parameters specific to its operation, as well as a list of results that it will return. An example would be a buffer process which accepts a geometry and a buffer value as input parameters, and returns a new geometry that has been buffered as the result. The following pages describe the various interfaces in more detail:
Implementing a new Process
This API was designed with the goal of making the implementation of new processes quick. Using the interfaces described above, it is easy to create a new process. The following section describe an example of creating a new process:
Using Processes in a GUI
Once you have some processes implemented, there are various ways to execute them in the context of an application. The following section explains how you might wrap this API into a GUI application, and provides a quick example of a working Swing GUI.