Task Engine 10.11 | Task Engine Webhelp | webMethods Task Engine User's Guide | Administering Tasks | Administering Task Types | Administering Indexed Task Business Data | About Business Data Field Searches
About Business Data Field Searches
When a task application is published to the My webMethods Server runtime, individual task instances can be started either automatically from a process or manually by a user. The business data for a task instance is populated from various sources as the task moves through its life cycle.
Depending on the task type configuration, Task Engine stores the business data fields and their values in the following places:
*The Task Engine stores all task business data for all tasks as a binary large object (BLOB) within a full-search database table. While this makes all business data available for all tasks, the BLOB must be de-serialized to make the information available, and it can be quite large when many tasks are present.
*When a task contains indexed business data fields, those fields are stored in a separate indexed fields database table as well as the BLOB; this table contains only indexed business data fields and their values. The indexed field table is created dynamically when a task application containing indexed business data fields is published to My webMethods Server. The indexed field table provides a limited but much faster search mechanism that is especially useful in situations when a very large number of tasks are present in a task inbox.
*When a task contains HPSTRA-enabled fields, Task Engine stores those fields in an Elasticsearch store. However, the different indexing types that Elasticsearch supports can affect how Task Engine searches and retrieves business data fields at runtime. For more information about indexing types, see webMethods BPM Task Development Help.
Task Engine maintains both database tables and the Elasticsearch index and updates them dynamically as new tasks are queued in the system or as existing tasks are deleted from the system.
Users can search within a task inbox for specific business data; the search behavior depends on how the task developer has configured the task:
*If the task is configured with a standard search provider, the search examines all business data in all the tasks in the inbox. If the number of tasks in an inbox is relatively small, this search executes quickly. However, when a large number of tasks are present, a standard (full) search can take significantly longer.
*If the task is configured with an indexed search provider, the search examines only the business data in the indexed fields table and ignores all other fields, resulting in a much faster search. In this case, the task developer must mark one or more business data fields as indexed fields, otherwise the search will return no results.
*If the task is configured to use the HPSTRA search content provider, Task Engine retrieves the task data from the Elasticsearch store. Search results are retrieved faster than those from the default search provider, even for a large number of tasks.
In addition, separate task client services are available in the WmTaskClient package to execute a full search on data in the BLOB, the limited search on the indexed field table, or a full search on an Elasticsearch store. For more information, see webMethods Task Engine API and Service Reference.
Database-indexed business data fields are available as a standard feature with Task Development Version 8.2 and later. HPSTRA-indexed business data fields are available as a standard feature with Task Development Version 10.0 and later. Task applications created with earlier versions can be modified to support any of the indexing options. Any task application, regardless of version, can be configured to use either search method. Consult with the task developer if you want to modify the search behavior of an existing task.