Download PDF (1.3 MB) - IBM Redbooks
Download PDF (1.3 MB) - IBM Redbooks
Download PDF (1.3 MB) - IBM Redbooks
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