08.06.2014 Views

Download PDF (1.3 MB) - IBM Redbooks

Download PDF (1.3 MB) - IBM Redbooks

Download PDF (1.3 MB) - IBM Redbooks

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.2.2 Process Designer architecture best practices<br />

This section presents best practices for the Process Designer.<br />

Use a fast connection between Process Designer and Process Center<br />

The Process Designer interacts frequently with the Process Center for authoring tasks. For<br />

this reason, minimize network latency to provide optimal response times. Place the Process<br />

Center in the same physical location as the Process Designer users. Also, place the Process<br />

Center in the same physical location as its database. If you cannot relocate the Process<br />

Center, you can remotely connect to the environment where the Process Center is physically<br />

located and use the Process Designer through that mechanism.<br />

Minimize use of Service Tasks<br />

Where possible, call system lane tasks with Service No Task because Service Tasks have<br />

significant performance costs. The potential performance benefit of executing Service Tasks<br />

asynchronously is usually far outweighed by the additional overhead of Service Tasks,<br />

because the Process Server persists the state and context to the database at transition<br />

points. In particular, avoid patterns such as the following pattern:<br />

JavaScript 1 Service Task 1 JavaScript 2 Service Task 2<br />

If possible, avoid Service Tasks altogether, or switch to the following example to minimize the<br />

number of times that state and context are persisted:<br />

JavaScript 1 JavaScript 2 Service Tasks 1 and 2 combined<br />

Use searchable business variables judiciously<br />

Business variables add more overhead to the Process Server, so limit business data<br />

searches to only those fields that need to be searchable in the Process Portal. As a general<br />

guideline, rarely are more than 10 searchable variables required in a BPD. If your<br />

implementation has more searchable variables than this, re-evaluate your design and<br />

re-factor as needed to reduce the number of searchable variables.<br />

Manage variable usage<br />

Variables are persisted to the database when execution contexts are saved, which happens<br />

fairly frequently (for example, when changing from BPD to service execution, and when<br />

running each coach). These persistence operations are expensive. Minimize the persistence<br />

cost in the following ways:<br />

►<br />

►<br />

►<br />

►<br />

►<br />

Minimize the number of variables used.<br />

Minimize the size of each variable.<br />

Set variables, such as DB result sets, to null when they are no longer needed.<br />

Minimize the number and size of variables that are passed to each task.<br />

If industry-standard schema are being used (for example, ACORD or HIPAA), recognize<br />

that these schema contain many fields, and use only the variables that are required from<br />

the schema. If necessary, convert to or from the industry standard schema on the edges of<br />

the application to avoid unnecessary persistence cost in the BPD processing.<br />

Chapter 2. Architecture best practices 9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!