package org.eclipse.osbp.bpm.api;

public interface IBPMServiceTask extends IBlipBPMUserTask {
	ServiceExecutionMode getExecutionMode();
	int getTimeoutInSecs();
	ServiceImplementation getImplementation();
	String getFunctionLibraryClass();
	String getFunctionLibraryMethod();
	String getWebServiceInterface();
	String getWebServiceOperation();
	String getJavaInterface();
	String getJavaOperation();
	String getParameterType();
}
