Task Service
The Task service is useful for determining what outstanding tasks a user has, as well as batch-actioning tasks that a user might have actioned while they were offline.
This data returned via the Task service is designed to be cached offline on the client. It is recommended that a configurable polling/syncing interval be provided in the client application.
ITaskService is very simple, but it mostly requires that data is sent in the POST payload (as opposed to the GET parameters) and does not encourage “URL exploration”. It is built for sync and not for web apps. So when you ask ITaskService for Task(1_18) you will get that Task (worklist item) and there is no way to drill down into it – you get ALL the data and are expected to cache it.
IWorklistNamespaceService, however, can be used in a way that most of the data can be returned directly from GET without having to manually poke into objects that are returned. For example, we could get the WorklistItem(1_18) and that would return EVERYTHING in the process, but we could also drill down and only get data from inside it (e.g. WorklistItem(1_18)/DataFields(CustomerName)).