The Workspace Service allows a client to manage and inspect a workspace after it has been instantiated as a WSRF resource by the factory service. The service's WSDL can be viewed online. It references a separate types schema.
There are two operations besides standard WSRF operations: start and shutdown.
Start is used in two situations: 1) a workspace may be shutdown by a client before it is scheduled to be and 2) a workspace resource can be created with a deployment request that specifies a state other than Running to move the workspace to. In both cases, the client can "manually" start the workspace.
The shutdown operation can be used to halt the workspace. It has one parameter, a choice from an enumeration of shutdown options: Normal, Pause, Serialize, Reboot, Trash, and ReadyForTransport.
The Normal shutdown option sends a halt signal to the virtual machine and waits for it shut down properly. The Workspace Service is configured to wait a specific time for the normal shutdown to succeed -- after this time the workspace service will force the removal of the virtual machine (similar to hard powering off a physical node). In this case, the workspace service will mark the workspace corrupted.
The Pause shutdown option will remove the VM from the VMM's CPU scheduler, "pausing" its execution of instructions. It will not however serialize the virtual machine to files (some VMMs combine these steps).
The Serialize shutdown option will remove the VM from the VMM entirely, serializing its current state to files. Serialize is not supported in this version.
The Reboot shutdown option will send a reboot signal to the VM.
The Trash shutdown option will immediately power off the VM and remove what partition files are only used by the VM (what the client can remove will be policy controlled).
The ReadyForTransport shutdown option moves the workspace files to a storage node. In the future this step may be accompanied by other steps, for example taking digests of workspace files and signing its metadata. ReadyForTransport is discussed in the deployment page's WorkspaceState section.
There are currently two supported resource properties, WorkspaceDeployment and logistics available for inspection. In this version, there is no support for client modifications of a workspace RP that propagate changes to the workspace - this will be included in future versions.
The service is a NotificationProducer and the client distributed with the Workspace Service subscribes for notifications of changes to these resource properties (for example, a workspace state change can produce useful notifications).