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.

Choose between business state machines and business processes<br />

Business state machines (BSMs) provide an attractive way of implementing business flow<br />

logic. For some applications, it is more intuitive to model the business logic as a state<br />

machine, making the resultant artifacts easier to understand. However, a BSM is<br />

implemented using the business process infrastructure, so there is always a performance<br />

impact when choosing BSM over business processes.<br />

If an application can be modeled using either BSM or business processes, and performance<br />

is a differentiating factor, choose business processes. Also, more options are available for<br />

optimizing business process performance than for BSM performance.<br />

Minimize state transitions in business state machines<br />

Where possible, minimize external events to drive state transitions in BSMs. External<br />

event-driven state transitions are costly from a performance perspective. In fact, the total time<br />

it takes to run a BSM is proportional to the number of state transitions that occur during the<br />

life span of the BSM.<br />

For example, if a state machine transitions through states A B B B C (four<br />

transitions), making transitions through states A B C (two transitions) is twice as<br />

time-consuming. Also, automatic state transitions are much less costly than event-driven<br />

state transitions. Consider these principles when designing a BSM.<br />

2.3 Topology<br />

In this section, we provide information about choosing an appropriate topology for your<br />

solution.<br />

2.3.1 Deploy appropriate hardware<br />

It is important to pick a hardware configuration that contains the resources necessary to<br />

achieve high performance in a Business Process Manager environment. The following factors<br />

are key considerations in picking a hardware configuration:<br />

► Processor Cores<br />

Ensure that Business Process Manager servers (Process Servers and Process Centers)<br />

are installed on a modern server system with multiple processor cores. Business Process<br />

Manager scales well, both for single JVM servers through symmetric multiprocessing<br />

(SMP) scaling, and horizontally through clustering.<br />

► Memory<br />

Business Process Manager servers benefit from both a robust memory subsystem and an<br />

ample amount of physical memory. Ensure that the chosen system has server-class<br />

memory controllers and as large as possible L2 and L3 caches (optimally, use a system<br />

with at least a 4 <strong>MB</strong> L3 cache). Make sure that there is enough physical memory for all the<br />

combined applications (JVMs) that are expected to run concurrently on the system. For<br />

64-bit JVMs (the recommended configuration), 4 GB per JVM is needed if the maximum<br />

heap size is 3 GB or less. Add additional physical memory for heap sizes larger than 3 GB.<br />

When using a 32-bit JVM, a rough guideline is 2 GB per JVM instance.<br />

► Disk<br />

Ensure that the systems hosting the message and data stores (The Process Server<br />

nodes, and the database tiers), and also the Process Server and Process Center cluster<br />

members, have fast storage. Fast storage typically means using Redundant Array of<br />

Chapter 2. Architecture best practices 13

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

Saved successfully!

Ooh no, something went wrong!