With the current implementation of the FormService, retrieving a form key is slow and inconvenient. On the one hand FormService#getTaskFormData(String).getFormKey() requires an SQL-Query although the form key is already available in memory via the process definition cache. On the other hand users often struggle to find the form key in the API.
Add two new methods to the FormService:
String getStartFormKey(String processDefinitionId)
String getTaskFromKey(String processDefinitionId, String taskDefinitionKey)
This is especially useful for users that only need the form key, but no form properties, e.g., when using JSF or HTML5 forms. In addition to that, it plays nicely, with custom task queries that may not return Task entities.