2 Siebel CRM Architecture and Infrastructure

This chapter provides an overview of Oracle's Siebel CRM architecture and infrastructure and provides introductory information about tuning the Siebel CRM 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

About Performance and Scalability

Every implementation of Siebel CRM 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:

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

About Siebel Architecture and Infrastructure

This topic shows a generic representation of the architecture and infrastructure of a Siebel CRM 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 .

Siebel Architecture and Infrastructure Areas for Tuning

The following list provides information about tuning some 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 Monitoring Siebel Application Performance with Siebel ARM and Analyzing Siebel ARM Data.

Note: The Siebel Constraint Engine provides an integration with Oracle Advanced Constraint Technology for Siebel Product Configurator. This integration, an alternative to the traditional product configuration solution, is available as a developer preview. For more information about the role of the Siebel Constraint Engine in the product configuration process and about deploying Siebel Constraint Engine, see Siebel Product Administration Guide and Siebel Installation Guide for the operating system you are using . See also Article ID 2112562.1 on My Oracle Support. For more information about using Oracle Advanced Constraint Technology, see product documentation on the Oracle Help Center.

About Siebel User Request Flow

The following diagram illustrates how a user request is processed within the Siebel CRM 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 .


Generic User Request Flow in Siebel CRM

A typical Siebel CRM 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, to the Siebel Application Interface. The request might go through a network router, proxy server, cache engine, or other mechanism.
  3. The Siebel Application Interface receives the HTTP request and determines that it is a Siebel application request.
  4. The Siebel Application Interface parses the HTTP message and generates a SISNAPI (Siebel Internet Session Network Application Programming Interface) 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. SISNAPI connections use encryption and authentication based on Transport Layer Security (TLS).
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. The Web browser and the Siebel Web Client framework process and display the return message.

Performance Tuning Terminology

This topic provides definitions of specific terms related to performance and tuning Siebel CRM. For definitions of and , 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 Performance Tuning Terminology

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.

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

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.

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.

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.

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.

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.

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

Sizing Considerations for Siebel CRM Version 17.0 and Later

This topic provides information about sizing considerations for Siebel CRM version 17.0 and later releases, relative to prior releases. The information in this topic supersedes or modifies similar information provided elsewhere in this guide.

Sizing for Siebel CRM Tier

Siebel CRM version 17.0 introduced new business agility and cloud support capabilities, including the following:

Both Siebel Application Interface and Siebel Gateway support distributed topologies, using Siebel Application Interface load balancing or Siebel Gateway clustering. For more information about these and related product changes, see the Siebel Installation Guide for the operating system you are using and Siebel Deployment Planning Guide .

For this release and subsequent Siebel CRM 18.x and 19.x Update releases, more memory and CPU are required compared to prior releases for Siebel Application Interface, Siebel Gateway, and Siebel Server. The following are observations made during the performance and scalability tests performed by Oracle: