Skip to main content

         This documentation site is for previous versions. Visit our new documentation site for current releases.      

This content has been archived and is no longer being updated.

Links may not function; however, this content may be relevant to outdated versions of the product.

Advantages of work objects over fixed record structures

Updated on September 13, 2021


A developer asks: What is the difference between Process Commander's concept of a work object and ordinary database records?

My past database designs have included information about who updated each record, on what date and time, and so on.


Suggested Approach

Use work objects in your applications wherever the concept of units of work is relevant.  Pegasystems has made major investments building work object capabilities and they add a lot of value even if your application doesn't naturally appear to benefit from using flows. 

By using work objects, users automatically create history information which is useful in understanding how a decision was made and to enables the use of reporting and analytics capabilities. 

By default, databases treat most rows of a table as equal. Work objects have a life cycle — an initial period of change, followed in most cases by a longer period of no change, when the work is "done" or resolved. (Of course, because work objects are stored in a conventional relational database, the full power of searching, sorting, and reporting is available for both open and resolved work objects.)

Work objects also provide excellent testing capabilities.  You can create a simple work object from (from a harness rule) and a minimal flow, which allow you to test without requiring an external process or having to study the clipboard.  This also gives you a way to demonstrate your work and show others what you are doing.

Experienced developers who are new to Process Commander sometimes express reluctance to use work objects because they fear this will produce excess overhead, based on C++ or Java experience with inheritance and classes.

Process Commander implements class extensions differently.   In C++ or Java, extending or inheriting from a class has a performance impact, as this causes disk and memory to be set up for the full size of the extended class. When you create a class in Process Commander, no fixed amount of memory or disk is reserved. Process Commander allocates memory only as needed, and as items are used. Thus you can get the full power of Process Commander's class structure without undue overhead.

Have a question? Get answers now.

Visit the Support Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best. is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us