Siebel CRM Performance Tuning Guide Siebel Innovation Pack 2017 E24801-01 |
|
![]() Previous |
![]() Next |
View PDF |
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
Siebel Deployment Planning Guide
Siebel Installation Guide for the operating system you are using
Siebel System Administration Guide
Using Siebel Tools
Configuring Siebel Business Applications
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 in to 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".
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.
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 the Siebel Application Interface, 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. Siebel applications like Siebel Call Center or Siebel Self Service, Siebel Web Tools, and Siebel Mobile applications on mobile devices all use the Siebel Web Client.
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, the Siebel Application Interface, the Siebel database, and the Siebel application configuration (represented in the Siebel runtime repository). 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 Product Configurator. Siebel Product Configurator supports order management and product configuration functions for Siebel applications.
Siebel Product 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 Product 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 RESTful interfaces are part of the EAI framework and are also used extensively in contexts such as Siebel Management Console configuration.
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, including its Web client counterpart Siebel Web 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."
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.
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.
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.
The request goes through the network, using a new or an existing HTTP connection, to the Siebel Application Interface. The request might go through a network router, proxy server, cache engine, or other mechanism.
The Siebel Application Interface receives the HTTP request and determines that it is a Siebel application request.
The Siebel Application Interface parses the HTTP message and generates a Siebel Internet Session Network Application Programming Interface (SISNAPI) message, based on the content of the HTTP message. Siebel Application Interface also parses the incoming cookie to obtain the user session ID.
The Siebel Application Interface and Siebel Gateway work together to provide Siebel Server load balancing. When a user requests a new application connection, Siebel Application Interface sends a request to Siebel Gateway, which returns a connect string for the least-loaded Application Object Manager from among the Siebel Servers supporting that component. The user session will use this Application Object Manager.
SISNAPI is a messaging format that runs on top of the TCP/IP protocol. It is used for network communication between Siebel Servers and Siebel Application Interface.
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.
The Siebel Application Object Manager receives and processes the SISNAPI message sent from Siebel Application Interface.
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.
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 Siebel Application Interface that originated it.
The Siebel Application Interface receives the SISNAPI message, and translates it back to HTTP. The message is now in the form of Web page content.
The Siebel Application Interface load balancing configuration, if present, then forwards the Web page content through the original HTTP connection to the end user's Web browser.
The Web browser and the Siebel Web Client framework process and display the return message.
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