Skip Headers
Siebel CRM Performance Tuning Guide
Siebel Innovation Pack 2015, Rev. A
E54321_01
  Go to Documentation Home
Home
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
 
Next
Next
View PDF  

2 Siebel Architecture and Infrastructure

This chapter provides an overview of Oracle's Siebel Business Applications architecture and infrastructure and provides introductory information about tuning the Siebel applications for performance and scalability. It contains the following topics:

Related Books

About Performance and Scalability

Every implementation of Siebel Business Applications is unique. Your Siebel application architecture, infrastructure, and configurations might differ depending on your business model.

Performance and scalability are defined as follows in the context of this guide:

  • Performance. A Siebel application's ability to function, generally measured in response time or throughput.

    For example, measures of performance might include the time required to log into the Siebel application or to display a Siebel view in the Siebel Web Client, or the volume of transactions (sometimes referred to as requests) that a server component can process in a given time period.

    Some typical inhibitors of performance are inadequate hardware, excessive network round trips, heavy customizations, and poor networking infrastructure.

  • Scalability. A Siebel application's ability to continue to perform well as volumes increase.

    Scalability is generally measured in hardware terms; for example, maintaining acceptable performance after adding new processors on existing computers (vertical scalability) or new Siebel Server computers (horizontal scalability) to process an increased number of users.

    Some typical inhibitors of scalability are an inflexible application module structure and an inability to run parallel processes.

For more definitions of terminology related to performance and scalability, see "Performance Tuning Terminology".

About Siebel Architecture and Infrastructure

Figure 2-1 shows a generic representation of the architecture and infrastructure of a Siebel Business Applications deployment. Your Siebel applications might be deployed differently. For descriptions of individual entities included in this illustration, see Siebel Deployment Planning Guide, Siebel System Administration Guide, and the Siebel Installation Guide for the operating system you are using.

Figure 2-1 Generic Architecture of Siebel Business Application


Siebel Architecture and Infrastructure Areas for Tuning

The following list provides information about tuning specific areas of the Siebel applications architecture and infrastructure.

Performance in many of these areas can be monitored and analyzed using Siebel Application Response Measurement (Siebel ARM), which is described in Chapter 14, "Monitoring Siebel Application Performance with Siebel ARM," and Chapter 15, "Analyzing Siebel ARM Data."

  • Siebel Application Object Managers. Siebel Application Object Managers are Siebel Server components that reside on a Siebel Server and support users accessing Siebel applications through the Siebel Web Client and a Web server, or through external applications.

    Running Siebel Application Object Manager components has significant performance and scalability implications. In general, the goal for tuning a Siebel Application Object Manager is to maximize scalability with little or no performance degradation as more users use Siebel applications.

    Although Siebel Application Object Manager components can be tuned for optimal performance, capacity for this and all other Siebel Server components is ultimately limited by Siebel Server computer resources such as CPU and memory. For more information about tuning this area, see Chapter 3, "Tuning the Siebel Application Object Manager for Performance."

  • Siebel Web Client. The means for end users to access Siebel application features and data. Siebel Web Client uses a Web browser.

    The response time experienced by the Siebel Web Client end user is subject to the configuration and tuning of Siebel Enterprise elements such as the Siebel Application Object Manager, network bandwidth and latency, Web server, Siebel database, and the Siebel application configuration (represented in the Siebel repository file). It is also subject to local computer resources and settings, including browser settings such as those for caching.For more information about tuning this area, see Chapter 5, "Tuning Siebel Web Client for Performance," See also Chapter 12, "Tuning Customer Configurations for Performance."

  • Siebel Communications Server. Siebel Communications Server provides an infrastructure to support several kinds of communications activities for Siebel Business Applications users, including session communications (such as voice calls) and inbound and outbound communications (such as email).

    Siebel Communication Server processing can affect end user response time, and might demand additional Siebel Application Object Manager resources to support user sessions. Performance and scalability is subject to third-party server configuration and capacity and Siebel Server computer resources and configuration. For more information about tuning this area, see Chapter 6, "Tuning Siebel Communications Server for Performance."

  • Siebel Workflow. Siebel Workflow is an interactive environment that automates business processes such as automating escalation of events and notification of appropriate parties; routing and assigning work; processing work; and enforcing authorization and transition rules.

    Siebel Workflow processing can affect end user response time (for synchronous requests), and might demand additional Siebel Application Object Manager resources to support user sessions. Performance and scalability is subject to Siebel Server computer resources and configuration. For more information about tuning this area, see Chapter 7, "Tuning Siebel Workflow for Performance."

  • Siebel Configurator. Siebel Configurator supports order management and product configuration functions for Siebel applications.

    Siebel Configurator processing can affect end user response time (for configuration sessions), and might demand additional Siebel Application Object Manager resources to support user sessions. Performance and scalability is subject to Siebel Server computer resources and configuration. For more information about tuning this area, see Chapter 8, "Tuning Siebel Configurator for Performance."

  • Siebel Enterprise Application Integration (Siebel EAI). Siebel EAI provides components for integrating Siebel Business Applications with external and internal applications, and provides inbound and outbound interfaces to and from a Siebel application.

    Siebel EAI processing can affect end user response time (for real-time interfaces), and might demand additional Siebel Application Object Manager resources to support user sessions. Performance and scalability is subject to Siebel Server computer resources and configuration.

    For more information about tuning this area, see Chapter 9, "Tuning Siebel EAI for Performance."

  • Siebel Enterprise Integration Manager (Siebel EIM). Siebel EIM provides components that transfer data between the Siebel database and other corporate data sources. For more information about tuning this area, see Chapter 10, "Tuning Siebel EIM for Performance."

  • Siebel Remote. Siebel Remote provides components that allow Siebel Mobile Web Clients (typically operating remotely, in disconnected mode on a laptop) to connect to a Siebel Server and exchange updated data and files, a process known as synchronization. For more information about tuning this area, see Chapter 11, "Tuning Siebel Remote for Performance."

  • Siebel Tools. Siebel Tools is an integrated development environment for configuring aspects of a Siebel application, including elements in the data objects, business objects, and user interface objects layers. Siebel scripting languages are also managed in the Siebel Tools environment.

    Siebel Tools configurations and scripting play a critical role in the performance and scalability of a configured Siebel application. Customizations made through Siebel Tools partly determine the degree to which performance and scalability of a particular deployment differs from the original installation.

    Appropriate configuration optimizes operations in the Siebel database and does not add unnecessary overhead to supporting user sessions. (Siebel Tools itself does not play a role in the Siebel applications at run-time.)

    For more information about tuning this area, see Chapter 12, "Tuning Customer Configurations for Performance."

  • Operating systems. For more information about tuning your Microsoft Windows or UNIX operating system, see Chapter 13, "Tuning Operating Systems for Performance."

About Siebel User Request Flow

Figure 2-2 illustrates how a user request is processed within the Siebel Business Applications architecture and infrastructure (generically presented), and shows potential areas for performance tuning. For a description of each portion of this data flow, see Siebel System Administration Guide and other relevant documents on the Siebel Bookshelf.

Figure 2-2 Generic User Request Flow in Siebel Business Application


A typical Siebel client request flows from the user's Siebel Web Client through the system, and back again, following the general flow outlined below.

  1. A user performs an action that initiates a request. For example, the user clicks a link in the Site Map to navigate to a particular view. The request is generated by the Web browser and Siebel Web Client framework.

  2. The request goes through the network, using a new or an existing HTTP connection. The request might go through a network router, proxy server, cache engine, or other mechanism.

  3. If present, Web server load balancing software evaluates the request and determines the best Web server to forward the request to. It then forwards the request to a Web server.

  4. The Web server receives the HTTP request, determines that it is a Siebel application request, and forwards the request to the Siebel Web Server Extension (SWSE) installed on the Web server.

  5. The SWSE parses the HTTP message and generates a Siebel Internet Session Network Application Programming Interface (SISNAPI) message, based on the content of the HTTP message. SWSE also parses the incoming cookie to obtain the user session ID.

    • If you are using Siebel load balancing, then SWSE forwards the request to a Siebel Server in round-robin fashion.

    • If you are using a third-party HTTP load balancer, then SWSE forwards the request to the load balancer. The load balancer uses customer-configured routing rules to forward the request to a Siebel Server.

    SISNAPI is a messaging format that runs on top of the TCP/IP protocol. It is used for network communication between Siebel Servers and SWSE.

  6. On the Siebel Server, the SCBroker component receives the initial request for a session and forwards it to a Siebel Application Object Manager process. Subsequent communication for the session does not use SCBroker. For more information, see "Siebel Application Object Manager Infrastructure" and related topics.

  7. The Siebel Application Object Manager receives and processes the SISNAPI message sent from SWSE.

    If a database query is needed to retrieve the information, the Siebel Application Object Manager formulates the SQL statement and sends the request to the Siebel database over a database connection. The database request goes through the database connection, using a protocol format that is specific to the database connector.

  8. The database executes the SQL statement and returns data back to the Siebel Application Object Manager. The Siebel Application Object Manager forwards the message to the Web server that originated it. If you are using a third-party HTTP load balancer, then the message might go through the load balancer before reaching the Web server.

  9. The SWSE on the Web server receives the SISNAPI message, and translates it back to HTTP. It then forwards the HTTP message to the Web server. The message is now in the form of Web page content.

  10. The Web server load balancer, if present, then forwards the Web page content through the original HTTP connection to the end user's Web browser.

  11. The Web browser and the Siebel Web Client framework process and display the return message.

Performance Tuning Terminology

Table 2-1 provides definitions of specific terms related to performance and tuning Siebel Business Applications. For definitions of performance and scalability, see "About Performance and Scalability".

For more information about some of these terms and concepts (including concurrent users and think time) in the context of tuning Siebel Application Object Manager components, see "Performance Factors for Siebel Application Object Manager Deployments".

Table 2-1 Performance Tuning Terminology

Term Definition

Concurrent users

The number of application users actively using and accessing the Siebel application, or a particular element, such as a Siebel Application Object Manager process, at a particular time. It is useful to distinguish between concurrently connected users and concurrently active users: both sets of users consume memory, but only active users consume CPU (processor) resources.

Latency

Delay experienced in network transmissions as network packets traverse the network infrastructure.

Think time

The wait time between user operations. For example, if a user navigates to the Account screen and reviews data for 10 seconds before performing another operation, then the think time in this case is 10 seconds.

Average think time is a critical element in performance and scalability tuning, particularly for Siebel Application Object Manager. When think time values are correctly forecasted, then actual load levels will be close to anticipated loads.

Process

An operating system (OS) process. For example, a Siebel Server component such as Siebel Application Object Manager consists of multiple OS processes, referred to as multithreaded processes.

Multithreaded process (or MT server)

A process running on a multithreaded Siebel Server component that supports multiple threads (tasks) per process. Siebel Application Object Manager components run multithreaded processes that support threads.

Task

A concept for Siebel applications of a unit of work that can be done by a Siebel Server component. Siebel tasks are typically implemented as threads.

Thread

An operating system feature for performing a given unit of work. Threads are used to implement tasks for most Siebel Server components. A multithreaded process supports running multiple threads to perform work such as to support user sessions.

Response time

Amount of time the Siebel application takes to respond to a user request, as experienced by the end user. Response time is an aggregate of time incurred by all server processing and transmission latency for an operation. Response time is based on processing related to the request and to processing for other requests that might affect this user request.

Throughput

Typically expressed in transactions per second (TPS), expresses how many operations or transactions can be processed in a set amount of time.