You are on page 1of 117

Module 1:

Siebel 7.7 on the


Siebel Global Deployments
Microsoft
Platform
©Siebel Systems 2005 – Do not distribute or re-use without permission
Siebel on Microsoft

Siebel has run on Microsoft servers


since first released
 Siebel is optimised and stable on the
Microsoft platform

All tiers of Siebel architecture


supported on Microsoft platform
 Database Server - SQL Server
 Application Server - Windows Server
 Web Server - IIS
 Client - Internet Explorer
Siebel Analytics on Microsoft

Siebel Analytics is Siebel’s Business


Intelligence (OLAP) Product
Separate technical architecture to
Siebel CRM (OLTP)
 Similar 4-tier web architecture
 Separate web, application and database
servers
 Integrated with Siebel CRM client or
standalone client
All tiers supported on Microsoft
platform
 Includes SQL Server 2000 for database
Originally developed on Microsoft
platform
Siebel 7.7 on the Microsoft
Platform

Scalability / Performance /
Availability

Siebel Technical Architecture

Covering Siebel 7.7 CRM

Follow down through application stack

Focus on new functionality in 7.7

Database covered in separate session


Siebel 7.7 on the Microsoft
Platform

Introduction to Siebel Architecture

From the Browser to the Web Server

Web Server Scalability and Availability

From the Web Server to the Siebel


Server

< Break >

Siebel Server Scalability

Siebel Server Availability


Siebel 7 Infrastructure Overview

Connected Web Connected Web Mobile Client


Wireless Web User User PDA
Browser User Browser User
(Employee) Browser User
(External) Browser UI
Interface Interface Interface
Object
WAP Gateway
Manager
Server
Web Server Data Manager
Siebel Web Server
SIEB
Extension
SYNC
Local
DB

Gateway Name Server Load Balancer


Load Balancer Siebel
Remote Voice
External
Applications Siebel Enterprise Interaction
Siebel
eAI
Siebel Object Manager Object Manager
Replication Data Manager Data Manager Email
Interaction
Regional
Siebel
DB
Server
Central Siebel DB Server
Major Client Types

All accessed through a browser


High Interactivity (Employee facing)
 Very demanding on browser
 Can only run on strictly defined browser configurations
 Rich user interface
Standard Interactivity (Customer facing)
 Less demanding on browser
 Can run on wide variety of browsers
 Standard web user interface
Mobile Client
 Has local copy of Siebel database
 Local server functionality
 Uses High Interactivity interface
Siebel Enterprise Server – SWSE

Siebel Web
IIS Web Server Server
SWSE
Extensions
(SWSE)

Gateway
Web Server
Name Server Plug-In
Manages
Enterprise Server
communications
Siebel Server Siebel Server
to Siebel
Enterprise
Component Component

Component Component
Includes cache
for static files
(images, etc)
Architecture Overview – Siebel
Server

Framework for
IIS Web Server
running server
SWSE components
Obtains
Gateway configuration
Name Server information from
the Gateway
Name Server
Enterprise Server
Siebel Server Siebel Server Runs as a
Component Component Windows service
Component Component Siebel Enterprise
Server is a
logical grouping
of Siebel Servers
Architecture Overview –Server
Components

Server Program
IIS Web Server
executed as Task
SWSE
Examples:
 Object Manager
Gateway
Name Server - User Sessions
 Workflow Process
Enterprise Server Manager
Siebel Server Siebel Server - Business
Component Component Processes
Component Component  File System
Manager
- Access to
attachments
Siebel Enterprise Server –
Gateway Name Server

Holds Enterprise
Configuration
IIS Web Server
Stores
SWSE
component
definitions,
Gateway parameters, and
Name Server connectivity
information
Enterprise Server  Stored in
Siebel Server Siebel Server siebns.dat file
Component Component
Dynamically
Component Component registers Siebel
Server and
component
availability
Architecture Overview – Server
Component Types

Background
Background operations for the Siebel Server.
Runs until you explicitly stop the task, or until
the Siebel Server itself is shut down.
Interactive
Start automatically in response to client
requests. Run as long as the client maintains
the session, and end when the client
disconnects.
Batch
Execute in response to requests. Batch mode
component tasks execute until they finish
processing.
Architecture Overview –
Component Execution Platforms

Single Threaded
Single threaded components have one
execution stream per process. So each
operating system process supports a single
Siebel Task.
i.e. EIM

Multi-Threaded
Multi-threaded components have multiple
execution streams within a single process. So
each operating system process can support
multiple Siebel Tasks.
i.e. Object Managers
Siebel 7.7 on the Microsoft
Platform

Introduction to Siebel Architecture

From the Browser to the Web


Server

Web Server Scalability and Availability

From the Web Server to the Siebel


Server

Siebel Server Scalability

Siebel Server Availability


Network Scalability –Browser
Settings

Browser Settings
Don’t clear cache except when necessary
Ensure ‘Empty Temporary Internet Files
Folder when browser is closed’ option is
not enabled.
Network Scalability – Content
Expiration

Uncached GET: ‘icon.gif’

25KB

           icon.gif
DATE: 10/08/03 07:14
RESPONSE: ‘icon.gif’
DATE: 10/10/03 09:25:08
LAST­MODIFIED: 10/08/03 07:14
Network Scalability – Content
Expiration

GET: ‘icon.gif’
Cached IF­MODIFIED­SINCE: 10/10/03 09:25

2KB

icon.gif            icon.gif
DATE: 10/10/03 09:25 DATE: 10/08/03 07:14
RESPONSE: Not­modified
Network Scalability – Content
Expiration

Cached with Expiration

0KB

icon.gif            icon.gif
DATE: 10/10/03 09:25  DATE: 10/08/03 07:14
EXPIRES: 10/12/03 14:13:08
Network Scalability – Content
Expiration

IIS Settings
Set Content Expiration
2 days is typical setting
Set through Internet Information Services
Administration
HTTP Headers > Content Expiration
Network Scalability – Web Server

Use HTTP keep-alive


Reduces the need to negotiate TCP
sessions for each HTTP message
Network Scalability –
Compression
Compression (Static Content)
Performed by web server (IIS)
Network Performance –
Compression

Compression (Dynamic Content)


Performed by SWSE
Typically gives 50% reduction in data
volumes
Low CPU overhead
Do not use web server dynamic
compression
(application files)
Enabled through SWSE configuration file
(‘eapps.cfg’)
[Defaults]
DoCompression = TRUE
Siebel 7.7 on the Microsoft
Platform

Introduction to Siebel Architecture

From the Browser to the Web Server

Web Server Scalability and


Availability

From the Web Server to the Siebel


Server

Siebel Server Scalability

Siebel Server Availability


Web Server Scalability

SWSE implemented as Plug-In to IIS 6

Full access to scalability features of IIS


 Multi-threading
 Processor affinity
 Large memory caching
Web Server Scalability

Can use Load Balancing to scale across


multiple web servers
Any load balancer can be used
 i.e. Microsoft Network Load Balancing
(NLB)
No need for session persistence
 Except when SSL used
May not have all content available
from all web servers
 i.e. Different object managers accessed
through different groups of web servers
 In this case the load balancer will need to
Web Server Load Balancing

Server Web Wireless Mobile Handheld Dedicated


Manager GUI Client Client Web Client Client Web Client

Wireless Gateway
Server Mobile SQL
DB CE

Web Servers with SWSE

Load Balancer Gateway Name


Load Balancers
Server

Siebel Enterprise Server

Siebel Servers
Server
Manager

Siebel file
Siebel Database
System
Web Server Availability

Can be clustered (Microsoft Server


Cluster) but Load Balancing preferable
Any load balancer can be used
 No special load balancer requirements
for high availability
Sessions should be maintained if a
web server fails
 No need for users to log in again
 May need to login again if using:
SSL
CTI
Web Server Availability

Server Web Wireless Mobile Handheld Dedicated


Manager GUI Client Client Web Client Client Web Client

Wireless Gateway
Server Mobile SQL
DB CE

Web Servers with SWSE

Load Balancer Gateway Name


Load Balancers
Server

Siebel Enterprise Server

Siebel Servers
Server
Manager

Siebel file
Siebel Database
System
Siebel 7.7 on the Microsoft
Platform

Introduction to Siebel Architecture

From the Browser to the Web Server

Web Server Scalability and Availability

From the Web Server to the


Siebel Server

Siebel Server Scalability

Siebel Server Availability


Background – Siebel Server Load
Balancing

Siebel 7.5 and prior integrates with


Resonate Central Dispatch for Server
Load Balancing
 Required for any customer load
balancing 2 or more web servers OR
application servers
Siebel 7.7 supports two mechanisms
for Server Load Balancing
 Siebel-Provided load balancing
 Third Party (Standard) HTTP Load
Balancers
F5 Big-IP initial solution for certification
 Resonate no longer supported
Can optionally still be used as an unsupported
Background – Siebel Server Load
Balancing

New Component
 Siebel Connection Broker (SCB)
 Accepts all connections for Object
Managers
 Listens on a single static port
Default: 2321
 No need for many dynamic ports
 Simplifies connectivity between web
servers and Siebel Servers
Siebel Architecture – Siebel 7.0.x and
7.5.x

HTTP Load
Web HTTP Balancer HTTP
Browser HTTPS HTTPS

Web Web Server Web Web Server


Server Server
SWSE SWSE

SISNAPI
VIP/VPort
Resonate Central Dispatch
SISNAPI

Listening Ports Listening Ports

OM OM OM OM OM OM

Comp.
SRB SRB
Siebel SISNAPI
Siebel
Server Server
Siebel Architecture – Siebel 7.7
Third Party HTTP Load Balancer

HTTP Load
Web HTTP Balancer HTTP
Browser HTTPS HTTPS

Web Web Server Web Web Server


Server Server
SWSE SWSE

SISNAPI
VIP/VPort
HTTP Load Balancer
SISNAPI

Listening Port Listening Port

Siebel SCBroker Siebel SCBroker


Server Server

OM OM OM OM OM OM

SRB SRB Comp


SISNAP .
I
Siebel Architecture – Siebel 7.7
Siebel-Provided Load Balancing

HTTP Load
Web HTTP Balancer HTTP
Browser HTTPS HTTPS

Web Web Server Web Web Server


Server Server
SWSE SWSE

SISNAPI

SISNAPI

Listening Port Listening Port

Siebel SCBroker Siebel SCBroker


Server Server

OM OM OM OM OM OM

SRB SRB Comp


SISNAPI .
Technical Benefits of Siebel 7.7 Load
Balancing Support

Lowers the total cost of ownership


Offers flexibility in choosing application
server load balancing
 Designed to interoperate with Standard
HTTP load balancers
Can use advanced network features of
Microsoft Platform
 No more limitation on NIC support
 Support for NIC Teaming
 Support for IPSec
Speed up Siebel Server
startup/shutdown
Lowers the overall complexity of Siebel
Environment
When to implement server load
balancing

Load balancing multiple Siebel


Application Servers
 Run the same object manager across
multiple Siebel Servers
Load balancing multiple Web Servers
 Load balancing Siebel Servers is no
longer mandatory, as SISNAPI reconnect
will work in any scenario
Implementation – Initial
Connection

Web Web Server


Server
SWSE

Load balancer
determines which
Siebel Server to
connect to

Siebel SCBroker Siebel SCBroker


Server Server

OM OM OM OM OM OM
Implementation – Retry

Web Web Server


Server
SWSE

Initial connection
Retry must go to
fails
different server
Component
i.e. Round Robin
unavailable

Siebel SCBroker Siebel SCBroker


Server Server

OM OM OM OM OM OM
Implementation – Reconnect

Web Web Server


Server
SWSE

Reconnect must
Existing go to the same
connection lost server

Siebel SCBroker Siebel SCBroker


Server Server

OM OM OM OM OM OM
Three Types of Connection to
Support
Initial Connection
 When a session is first started
 Can go to any eligible Siebel Server
 Should apply any load balancing
algorithm required
Retry
 When an initial connection fails
 Must retry a different Siebel Server
 Use ‘round-robin’ to achieve this
Reconnect
 When existing session lost
 Must reconnect to same server – no load
balancing at all
Siebel Native Load Balancing
Features

Replace the load balancing feature


provided by Resonate Central Dispatch
 Without the maintenance overhead of
Resonate
 No cost for third party load balancers
Distributes new SISNAPI connection
request in a round robin fashion across
Siebel Servers
 Proven to work well for most Siebel
deployments
Supports SISNAPI reconnect out of box
Built into Siebel Web Server Extension
Configuration resides in the web server
Siebel Native Load Balancing
Implementation

Performed in the SWSE


Allocates sessions to Siebel Servers in
turn
New concept of “Virtual Server”
 Logical grouping of Siebel Servers
 Defined in ‘lbconfig.txt’ file
 Referenced in ‘eapps.cfg’ file instead of
Gateway/VIP
Can manually create virtual servers
 Useful for spreading different user
communities across different groups of
Siebel Servers
Siebel Native Load Balancing
Implementation

Load Balancing File (lbconfig.txt)


 Can be automatically generated through Siebel
Server Manager
# generate lbconfig
 Defines virtual server(s)
Can use different virtual servers for different
applications
 <VirtualServer>=<ID>:<Host>:<Port>;
<ID>:<Host>:<Port>
i.e.
VirtualServer1=1:SiebSrvr1:2321;2:SiebSrvr2:23
22
VirtualServer2=1:SiebSrvr1:2321;2:SiebSrvr3:23
21
OM Connect Strings (eapps.cfg)
 Use Virtual Servers as Enterprise hosts
 Call Center:
Third Party HTTP Load Balancing
Features

Provides the same basic load balancing


functionality as Siebel-Provided Load
Balancing
Can distribute load using variety of
criteria
Provides advanced network
administration and monitoring
capabilities
 Can monitor application server availability
and route accordingly
Provides flexible configuration options
 Allows customer to segment load
balanced Siebel Servers
Can be integrated with other third party
monitoring and management tools
Third Party Load Balancer
Implementation
Initial Connection
 Should apply any load balancing
algorithm required
 1 rule needed per component
Retry
 Must use ‘round-robin’ algorithm
 1 rule needed per component
Reconnect
 Must reconnect to same server – no load
balancing at all
 1 rule needed per server
Third Party Load Balancer
Implementation
Required rules included in
‘lbconfig.txt’
#Section fileLoad Balancer Rules
two -- 3rd Party

#Component Rules:
/siebel/eServiceObjMgr_enu/=host1:2321;host2:2321;
/siebel/SCCObjMgr_enu/=host1:2321;host3:2321;

#Server Rules:
*/!1.*=host1:2321;
*/!2.*=host2:2321;
*/!3.*=host3:2321;

#Round Robin Rules:


/siebel/eServiceObjMgr_enu/RR=host1:2321;host2:2321;
/siebel/SCCObjMgr_enu/RR=host1:2321;host3:2321;

Must manually implement for


unsupported load balancers
Third Party Load Balancer
Implementation
Must be able to process different URL
forms to recognise different rule types
Component Rules (Initial Connect):
 /<ent>/<component>/=<host1>:<port1>;<
host2>:<port2>;
 Example:
/prod/SCCObjMgr_enu/=svr1:2321;svr2:2321;
Server Rules (Reconnect):
 */!<serverid>.*=<host>:<port>;
Example: */!1.*=svr1:2321;
Round Robin Rules (Retry):
 /<ent>/<component>/RR=<host1>:<port1
>;<host2>:<port2>
Third Party Load Balancer
Support

F5 BigIP Supported
 Support available through Siebel
 Documented integration with Siebel
using perl scripts
 Tested with Siebel
Siebel supported with other load
balancers
 Siebel doesn’t directly support other load
balancers
 Must refer to load balancer vendor for
support
 Manual integration required to
implement
See Siebel load balancing
Supported Platforms rules
documentation for Siebel
for current status
Siebel-Provided or Third Party HTTP Load
Balancing?

Is a third-party HTTP load balancer


already in use?

Are the capabilities offered by third


party HTTP load balancer needed?
 Load balancing
 Security
 Management and Monitoring

Size of the deployment does not


necessarily matter
Siebel-Provided or Third Party HTTP
Load Balancing?

Central Siebel- Third Party


Dispatch Provided
Installation Sometimes Part of Varies by
/ complex Siebel customer
Configurati Install
Load
on Resource- Round- Response
balancing based Robin &
Resource-
Monitoring Proprietary Part of based
Extensive
Resonate Siebel 3rd party
Interface Server int.
Scalability Up to 64 Admin
No hard support
Limited by
node per limit HW
site capacity
Siebel 7.7 on the Microsoft
Platform

Introduction to Siebel Architecture

From the Browser to the Web Server

Web Server Scalability and Availability

From the Web Server to the Siebel


Server

Siebel Server Scalability

Siebel Server Availability


Time for a
Break…
Siebel 7.7 on the Microsoft
Platform

Introduction to Siebel
Architecture

From the Browser to the Web


Server

Web Server Scalability and


Availability

From the Web Server to the


Siebel Server

Siebel Server Scalability


Component Scalability

Scaling within a server


 Multi-threaded components
 Siebel Connection Broker

Scaling across servers


 Load balancing

Focus on Object Managers (user


sessions)
Scaling Within a Siebel Server

Multi-Threaded Components
 Create multiple threads (Tasks) & processes
(MTServers)
 Control distribution through component
parameters
Single Threaded Components
 Create multiple processes (Tasks)
 Some components are limited
i.e.
Transaction Processor – max 1 per server
Workflow Monitor Agent – max 1 per policy group per
Enterprise
 Can be started manually, through Server
Multi-Threaded Components

Can have multiple processes as well as


multiple threads
Important to control ratio of threads to
processes
 Can have major impact on performance
 Determined primarily by rate of switches
between threads
 100:1 good starting point for Client Object
Managers
Assumes 30sec think time, for 15 sec think time use
50:1
Can set additional processes to spawn on
demand
Multi-Threaded Component
Parameters
Typically set per component
Maximum number of tasks (MaxTasks)
 Maximum number of Tasks per component
per server
 One thread per task
 Some additional background “system”
threads - not counted by MaxTasks
Multi-Threaded Component
Parameters
Maximum number of Multi-Threaded
servers (MaxMTServers)
 An MTServer is a multi-threaded
component process
 This defines the maximum number of
MTServers per component per server
Minimum number of Multi-Threaded
servers (MinMTServers)
 This defines the minimum number of
MTServers per component per server
 Sets the number of MTServers started on
server startup
Configuring the Object Managers

Set MaxTasks = peak concurrent users


No need to assign separate tasks for
Anonymous users from Siebel 7.7
 Anonymous users are used for login
screens before user authenticates
 Typically set to 10%-15% of concurrent
user count
 Siebel 7.0.x & 7.5.x needed a pool of tasks
for anonymous sessions included in the
total available tasks
Should leave headroom for uneven load
balancing
Consider allowing for failure of a server
Configuring the Object Managers

Set MaxMTServers = MaxTasks / 100


 An MTServer is equivalent to single process
 100 : 1 ratio is assuming “average” 30
second think time between user operations
 If average user think time is 15 seconds
then ratio is 50 : 1 ( 50% of 100:1)
 If average user think time is 60 seconds
then ratio is 200 : 1 (200% of 100:1)
Set MinMTServers = MaxMTServers
 Setting MinMT Servers < MaxMTServers
may cause delay of service for “new” users
as MTServer gets initialized.
Multi-Threaded Component
Parameter Example

Object Manager configuration for 800


Call Center users
Concurrent Users Headroom
5% leeway
800 Call Center Users 140
100 for server
failure

Object Manager
MaxTasks Round up to maintain
940
1000 100:1 ratio

100:1
MaxMTServers
10

MinMTServers
10
Memory Scalability

Multi-Process, Multi-Threaded model


 Multi-threaded components support many
concurrent operations in a single process
 All threads in a process share the same
memory space
 Multiple processes can be deployed, each
with multiple threads
 Each Process has a separate memory
space
Object Manager Memory
Scalability

Per-Process (MTServer) Memory


 Typically 80-120MB
 Allocated when process starts up
Per-Thread (Task) Memory
 Typically 5-12MB
 Allocated first time task starts
 Not released when task exits
So 100:1 Task:MTServer requires about
1GB

Note: These values vary considerably


with different deployments
Memory Scalability on Windows

No single process needs a large


memory space
 Each Windows process can use up to 4GB
of memory
2GB User, 2GB Kernel (3GB User, 1GB Kernel with
‘/3GB’ switch)
 If a single Siebel process needs more than
1.5GB there’s normally something wrong
 No need for large process memory model
(‘/3GB’ switch)
No benefit for Siebel software
Siebel will always use 2GB allocation regardless
 No need for 64-bit support
Would provide native support for larger memory
Memory Scalability on Windows

Windows Server 2003 provides up to


64GB RAM for Siebel
Operating system manages memory
allocation
Can use PAE for access to large memory
capacities
 For servers with over 4GB RAM
 ‘/PAE’ switch in ‘boot.ini’ file
Total server memory shared across
many Processes
 Process limited to 4GB, not the server
Memory Scalability on Windows

4GB 1GB – Object Manager

1GB – Object Manager

1GB – Object Manager

1GB – Object Manager

0.5GB – System/Misc.
Memory Scalability on Windows

8GB Can continue


1GB – Object Manager
scaling
1GB – Object Manager
beyond 8GB to
larger memory
1GB – Object Manager models

/PAE Switch 1GB – Object Manager

1GB – Object Manager

1GB – Object Manager

1GB – Object Manager

0.5GB – System/Misc.
Load balancing between
processes
A single Object Manager component
typically has many processes
(MTServers) on a server
Need a mechanism to distribute
sessions evenly across processes
 Before 7.7 done through operating
system features
 Often led to unequal distribution and
degraded scalability
Siebel Connection Broker component
 Accepts new connections for al OM
processes
All components
 Hands off to individual processes
Internal Object Manager Load
Balancing

Web Server

Sales OM

Siebel
Connection
Broker

Sales Object Sales Object Sales Object Service Object


Manager Manager Manager Manager

Siebel Server
Internal Object Manager Load
Balancing

Web Server

Sales OM

Siebel
Connection
Broker

Sales Object Sales Object Sales Object Service Object


Manager Manager Manager Manager

Siebel Server
Internal Object Manager Load
Balancing

Web Server

Service OM

Siebel
Connection
Broker

Sales Object Sales Object Sales Object Service Object


Manager Manager Manager Manager

Siebel Server
Multi-Threaded Component
Scalability

Enterprise Server
Vertical Scalability

Sales Sales Sales


Object Object Object
Manager Manager Manager

Sales Sales Sales


Object Object Object
Manager Manager Manager

Sales Sales Sales


Object Object Object
Manager Manager Manager
Siebel Server Siebel Server Siebel Server

Horizontal Scalability
Enterprise-Wide Scalability

Web Web Web Web Web Web


Client Client Client Client Client Client

Load Balancing
Web Server + SWSE Web Server + SWSE

Load Balancing

SCB SCB

Thread
Sales Object Sales Object Sales Object Sales Object
Process Manager Manager Manager Manager

Server Siebel Server Siebel Server


Enterprise Server
Siebel 7.7 on the Microsoft
Platform

Introduction to Siebel Architecture

From the Browser to the Web Server

Web Server Scalability and Availability

From the Web Server to the Siebel


Server

Siebel Server Scalability

Siebel Server Availability


Siebel Server Availability

As well as scalability also need to


consider server availability
Some of the same features which
provide scalability can also enhance
availability
Siebel Server Availability – Siebel
Server Failure
Server Web Wireless Mobile Handheld Dedicated
Manager GUI Client Client Web Client Client Web Client

Wireless Gateway
Server Mobile SQL
DB CE

Web Servers with SWSE

Load Balancer Gateway Name


Load Balancers
Server

Siebel Enterprise Server

Siebel Servers
Server
Manager

Siebel file
Siebel Database
System
Siebel Server Availability – Siebel
Server Failure
Server Web Wireless Mobile Handheld Dedicated
Web Manager GUI
Server Client Client Web Client Client Web Client

Load User logs in


Wireless Gateway
Balancing Server again
Mobile SQL
DB CE

Web Servers with SWSE


Third Party
load balancers

Load Balancer Gateway Name


Load Balancers
Server
Logs in to
different Siebel
Siebel Enterprise Server Server
Siebel Servers
Server
Manager

Siebel file
Siebel Database
System
Siebel Server Availability - Load
Balancer Failure
Server Web Wireless Mobile Handheld Dedicated
Manager GUI Client Client Web Client Client Web Client

Wireless Gateway
Server Mobile SQL
DB CE

Web Servers with SWSE

Load Balancer Gateway Name


Load Balancers
Server

Siebel Enterprise Server

Siebel Servers
Server
Manager

Siebel file
Siebel Database
System

Note: This assumes redundant third-party load balancers are used


Siebel Server Availability

Load Balancing provides High


Availability for Object Managers
What about other Components?
Can use Distributed Services
 Components running on more than
one server
 Components called as server requests
through Server Request Broker
 Built-in to Siebel Server architecture –
no additional configuration required
Can use failover clusters
Distributed Services

Web
Client

Web Server
Web client requests 
Assignment task
Siebel Enterprise Server

Service Request Broker 
determines if Assignment 
Task is available locally
Assignment Object Manager
Manager

If yes, then the task is run 
SRBroke SRBroke locally
SRBroke
r r r

Workflow Assignment Workflow


Process Manager Manager Process Manager
Distributed Services

Web
Client

Web Server
Web client requests 
Workflow task
Siebel Enterprise Server
Service Request Broker 
determines if Workflow 
Process Mgr is available 
locally
Assignment Object Manager
Manager No, tasks are assigned on 
a round­robin basis to 
SRBroker servers that have 
SRBroker
SRBroker
Workflow Process Mgr. 
running

Workflow Assignment Workflow


Process Manager Manager Process Manager
Distributed Services

Web
Client

Web Server
Web client requests 
Siebel Enterprise Server
Assignment task

Service Request Broker 
determines if Assignment 
Task is available locally
Assignment Object Manager
Manager Local Assignment 
Manager component is 
SRBroker SRBroker unavailable,  so request 
SRBroker
routed to other 
Assignment Manager

Workflow Assignment Workflow


Process Manager Manager Process Manager
Failover Clusters - Usage

Gateway Name Server


Siebel File System
Siebel Server
 Siebel Remote
 Workflow Policies
 Dynamic Assignment
 And others…..
 Siebel Database Server
Failover Clusters - Introduction

Service available from one server

Siebel implement through failover


clusters
(Microsoft Server Clusters)

Siebel services restart on other


physical server

Can be accessed through same


network name / IP address on either
physical server
Failover Services – How they
work

Processes
Network
Shared
Storage Storage
Logical
Server

Processes Processes
Network Network
Storage Storage

Physical Physical
Server Server
Failover Services – Cluster
Deployment Models

Active-Passive
 Application only live on one host in cluster
 Other host acts as warm standby only
 No performance degradation on failover
 Low return on investment on second server

Logical
Physical Physical
Failover Services – Cluster
Deployment Models

Active-Active
 Applications live on both hosts in cluster
 Performance degraded on failover due to
additional load
 Better return on investment on second
server

Logical Logical
Physical Physical
Failover Services – Cluster
Deployment Models

Gateway Siebel File


Name Server System
Logical Logical
Server Server

Siebel Server Siebel Server


Logical Logical
Server Server

Physical Physical
Server Server
Installing Siebel on Microsoft
Server Clusters

Clustered Software must always be


installed on clustered disks
 Do not install Siebel on quorum disk

Clustered IP Addresses/Network names


must always be used to access
clustered Siebel resources
 Otherwise resource can’t be accessed
after failover
 Always give clustered Gateway IP/Name
Installing Siebel on Microsoft
Server Clusters

Cluster Groups should be configured


before installing Siebel
 Use separate group to
Administration/Quorum group
 Each group must have:
Disk(s)
IP Address
Network Name

Always use domain accounts


Integration with Microsoft Server
Clusters

Siebel uses Generic Service resource


type
Each siebel item (Gateway/Server) has
simple interaction with Windows Server
Can be controlled through single Process
(siebsvc) run as service
No need for custom resource type, and no
plans to provide
Get service name from Registry or service
properties
[HKEY_LOCAL_MACHINE\System\CurrentCo
ntrolSet\Services]
Gateway : gtwyns
Sample Cluster Resources –
Siebel Server
Installing Siebel on Microsoft
Server Clusters

Non-Standard Cluster Resource


Settings
Siebel Server Services
 Restarts - Threshold: 10
Try & restart the Siebel Server 10 times
before failing over. Gives any time
needed for a Gateway to start.
 Pending Timeout – 300 seconds
Allows 300 seconds for a Siebel Server to
shutdown before being marked as failed
Installing Siebel on Clusters -
Issues

Siebel Server Host Parameter


 Set to physical hostname of server
installed upon
 Prevents Server Manager from connecting
when server on other node
 Change through Server Manager:
change param Host= virtualhost_name
for serverlogical_Siebel_Server
name
Installing Siebel on Clusters -
Issues

Network Name
 Siebel must use cluster network name
 Must ensure that ‘Use Network Name for
Computer Name’ tick box selected in
Siebel Server service resource
Requires Network Name and IP Address resource
dependencies (NT Only)
Clustering the Siebel File System

Just need a clustered network


share

Use the ‘File Share’ cluster


resource type

Siebel File System must reside


on a clustered disk
Siebel 7.7 on the Microsoft
Platform

Introduction to Siebel
Architecture

From the Browser to the Web


Server

Web Server Scalability and


Availability

From the Web Server to the


Siebel Server

Siebel Server Scalability


Any
Questions
Module 1:
Siebel 7.7 on the
Siebel Global Deployments
Microsoft
Platform
©Siebel Systems 2005 – Do not distribute or re-use without permission
Network Performance – Siebel
Configuration

Browser Validation
 Reduces the need for server
communications to validate data entry
 Implement through browser script
Immediate Posting of Changes
 Where the ‘Immediate Post Changes’ flag
is set against a field data will be
transferred whenever a field is changed
 Incurs additional round trip with approx
2KB data
Keep to no more than two Applets per
View
Network Performance – Siebel
Settings

View Caching
 View definitions cached in browser memory
 From Siebel 7.7 disk caching also available
 Requires approx 3MB memory per view
 Typically around 10 memory cached views
is enough
Uses LRU algorithm to maintain cache contents
 Personalization and Applet Toggles won’t
use view caching
Network Performance – Siebel
Settings

View Caching
 Enabled through Object Manager
configuration (.cfg) file setting
[SWE]
EnableViewCache=TRUE
 Controlled through:
User Preferences > Behaviour > View Cache Size
Default: 10
Server Request Broker

Used to start synchronous Siebel Server


tasks
Server Request Broker & Server Manager
are the only components which directly
start tasks.
New in Siebel 7
Replaces Server Request Manager
(SRMSynch) in Siebel 2000
Background component
Multi-threaded component
 Need to set MaxTasks accordingly
Server Request Broker

Manages requests from other


Components
Will try to service request locally
 If component is available on same Siebel
Server then this is always used
If not available locally then will use
other Siebel Servers
 Maintains internal table of components
available on each Siebel Server
 Will route requests round Siebel Servers
in turn
Multi-threaded component
 May need to increase MaxTasks
Server Request Processor

Used to start asynchronous Siebel Server


tasks
Manages queued requests
Calls SRBroker to manage task execution
Background component
Siebel Server – Server Request
Broker

Run
Assignment Object Assignment
Manager Manager Task
Is Assignment
available on this
Server Server Run server?
Server
Request Request AssignmentRequest
Broker Broker on local Broker
server

Workflow Workflow
Assignment
Process Process
Manager
Manager Manager
Siebel Server – Server Request
Broker

Run
Assignment Object Workflow
Is Workflow
Manager Manager Process
Manager
available on
Server Server Server
this server?
Request Request WhichRequest
Broker Broker other Broker
servers
Choose server
haveonWorkflow
round-
Workflow
Assignment workflow
robin basis
Process Process
Manager online?
Manager Manager
Server Request Processor

Processes asynchronous requests

Request submitted by creating record in


table
 S_SRM_REQUEST

Server Request Processor reads from table


 Request must:
Be active (reached activation time)
Not be specified for a different Siebel Server
Not being processed by other Server Request
Processor
Siebel Server – Server Request
Processor

Sleep
Interval
S_SRM_REQUEST SRProc
Request
Queue
SRBroker

Task
Performance and Scalability

Architecture Overview

Component Scalability

Scalability Across Components

Network Scalability

Performance Optimization

Performance Management
Connection Pooling

Siebel 7 can pool sessions at two


levels:
Web server to Siebel Enterprise
 SISNAPI Connection Pooling
 Multiple SISNAPI (Siebel) sessions through
one TCP session
 Reduces operating system overhead and
network traffic
 Enabled by default
Set to 20
 Controlled by component parameter:
‘Number of Sessions per SISNAPI Connection’
Database Connection Pooling

Connections use native database protocols


Some components directly access native
protocol
 Object Managers
Siebel 7 supports its own database
connection pooling
 Used for connections from Object Managers
 Two types of connection
Shared – for general transactions
Specialized – for long running
Not always appropriate
 Should carefully evaluate tradeoffs
Database Connection Pooling

Database session uses login for first user


to establish session

Database connection pooling controls


 Defined as component parameters
 Set to ‘-1’ to disable (default)

Specialized (Dedicated) Database sessions


 All valid per component process (MT Server)
per Siebel Server
 MaxTrxDbConns - Maximum number of
specialized DB sessions
Database Network Architecture

Client Connections

Siebel Server
Server Object Manager
Request
Processor

Shared Shared Specialized

Native Database Connectivity
(ODBC for SQL Server)

Threads (sessions)
Siebel 
Processes (components)
Database

You might also like