WebProcessingService development overview
3. Processing of requests
Requests may be made through the following mechanisms:
For GetCapabilities, DescribeProcess and Execute, the requests are converted from the input format to an associated request object (GetCapabilities, DescribeProcessRequest or ExecuteRequest). These objects are then passed on to the appropriate !WPSController.do* method.
If status=true and storeExecuteResponse=true then the process will be run asynchronously. This is done in ExecutionManager.handleResponseDocumentOutput by wrapping the process in a PrcoessWorker and launching the process with the Java concurrent ExecutorService.
3.4. Status Reporting
The user's Processlet interfaces with the status reporting mechanisms through the ProcessletExecutionInfo interface. That interface is implemented by org.deegree.services.controller.wps.ProcessletExecution. When the progress is set by the user's processlet, the process is simply stored in the structure. Upon completion the status of the process is serialized out to a temporary file by the StorageManager and the ProcessletExecution object is discarded.
If status is requested by "GetResponseDocument" and the process is still running the current status is requested directly from the ProcessletExecution, otherwise the process' status is returned from the previously serialized file.