Plugin is currently missing a checked exception. Create one and use it wherever appropriate.
Also refine SPIs wrt remote Orchestration Engine.
Currently SPEs update the domain.xml directly. But updating domain.xml should not be done by the SPE implementations. Instead, the Orchestrator should take care of updating domain.xml using the ProvisionedService (or provisioning events) returned by the SPE.
IMS layer also should also throw the appropriate exception message to the upper level consumers like SPEs. Currently all IMS errors are abstracted as "unable to allocate virtual machine using any server pool" without much details. It is hard to find out the real cause.