Resolve performance issue using searchWorkItem in EngageOne 3.1.1

Product Feature: Web Service (API)

Configuration: JBoss


When there is a requirement for selectively retrieving particular resource out of a large number of documents (e.g. ONLY the Answer File from each document), it is not feasible to use searchWorkItem since it will unnecessarily return ALL resources and we will eventually hit a performance issue.

For a specific customer's template, it takes 6 - 9 seconds for one searchWorkItem call to return a response. This is not an acceptable performance figure for large scale of usage.


In version 3.1.1, searchWorkItem web service call will always return ALL resources pertinent to a document i.e. HIP, PUBX, XFORM, Answer File, etc. This web service call does not come with the option to select which resource(s) to return.


UPDATED: November 15, 2017
Starting from version 3.1.2, searchWorkItem web service call will give us more control by providing a mean for the SOAP request to specify the file(s) to be returned.
Early performance results show a sub second response time for retrieving just the Answer File, versus 6-9 seconds for retrieving all the file resources in the previous model.  

From Release Notes:
A new "types" parameter has been added to the EngageOne Generation 2 Web Services searchWorkItems() operation:
     types = optional
         type = unbounded; type TemplateFileType

This allows you to specify which type of files will be included in the searchWorkItemsResponse output response to help avoid any performance issues when transferring large files.

For more information, refer to the “Appendix B” chapter from the EngageOne Programmer’s Reference guide.