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.
The four tiers are browser, network, servers, and databases:<br />
► Browser<br />
►<br />
►<br />
►<br />
AJAX applications, by definition, perform work (to some extent) on the client side, inside<br />
the browser. All typical client work, such as building the user interface (UI), is done on the<br />
client side, which differentiates these applications from classical web applications, where<br />
only the rendering of HTML is done in the browser. Optimizing the browser and client<br />
system are key to delivering excellent performance (as described in 2.4.2, “Use a<br />
high-performing browser” on page 18 through 2.4.5, “Use modern desktop hardware” on<br />
page 18).<br />
Network<br />
In contrast to static web pages, AJAX applications load the content of a page dynamically<br />
as needed, instead of loading the complete page immediately. Instead of one or several<br />
requests with significant payloads, AJAX applications often send many requests with<br />
smaller payloads. Therefore, delays in the network can have significantly affect response<br />
times because they add time to each message. Ultimately, network delays can add up to<br />
the most significant factor for the overall page-response time.<br />
Figure 2-1 on page 16 is simplified because the network also plays a role in<br />
communications between the servers and the databases and even between servers in a<br />
clustered setup. However, because of the nature of AJAX applications, the first point to<br />
analyze for delays is generally between the browser and the servers.<br />
Servers<br />
The server infrastructure is responsible for handling the requests from the clients that are<br />
attached to it, running business applications (processes, state machines, web services,<br />
and other applications) and integrating back-end services. The configuration of this<br />
infrastructure heavily depends on the chosen topology.<br />
The following servers play an important role for Business Process Manager solutions:<br />
– HTTP server<br />
An HTTP server is not part of all topologies. However, for environments that aim to<br />
serve thousands of users, an HTTP server is indispensable. Both static and dynamic<br />
requests from clients come to the HTTP server. This server can cache and then send<br />
the static (cached) content back to the client and route dynamic requests to the<br />
WebSphere Process Server REST API. Furthermore, an HTTP server can provide<br />
load balancing and support high-availability scenarios.<br />
– Business Process Manager V8.0 servers (Process Server or Process Center)<br />
Business Process Manager V8.0 servers execute various business logic (such as<br />
BPEL and BPMN business processes), querying task lists, creating and claiming tasks,<br />
and other functions. In addition, the Process Center executes authoring requests<br />
initiated by the Process Designer.<br />
Databases<br />
There are multiple relevant databases depending on the client that is used (Process<br />
Designer, Process Portal, or Business Space). Each of these databases must be properly<br />
configured and tuned to support the anticipated load.<br />
Use a network with low latency and high bandwidth. Each Business Process Manager client<br />
uses multiple HTTP requests per user action, so minimizing the network delay per request is<br />
crucial. Network bandwidth is also crucial because some HTTP requests return a significant<br />
amount of data. Where possible, use a dedicated network that is both high-speed and<br />
high-bandwidth (1 Gb or faster) for connectivity between Business Process Manager clients<br />
and servers.<br />
Chapter 2. Architecture best practices 17