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 Client - IIS - Internet Explorer
Siebel Analytics on Microsoft
Siebel Analytics is Siebels 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 Analytics is optimised and stable on the 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
Wireless Web
Browser User Interface
WAP Gateway Server
Connected Web User Browser User (Employee)
Interface
Connected Web User Browser User (External)
Interface
PDA
Mobile Client
Browser UI Object Manager Data Manager
SIEB SYNC
Local DB
Web Server
Siebel Web Server Extension
Gateway Name Server
Load Balancer LoadBalancer
External Applications Siebel Enterprise Siebel eAI Object Manager Siebel Replication Data Manager
Regional Siebel DB Server
Siebel Remote
Voice Interaction
Object Manager Data Manager
Email Interaction
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 Server Extensions (SWSE) Web Server Plug-In Manages communications to Siebel Enterprise Includes cache for static files (images, etc)
IIS Web Server
SWSE
Gateway Name Server
Enterprise Server Siebel Server Component Component Siebel Server Component Component
Architecture Overview Siebel Server
IIS Web Server SWSE
Framework for running server components Obtains configuration information from the Gateway Name Server
Gateway Name Server
Runs as a Windows service
Siebel Server
Component Component
Enterprise Server
Siebel Server
Component Component
Siebel Enterprise Server is a logical grouping of Siebel Servers
Architecture Overview Server Components
IIS Web Server SWSE
Server Program executed as Task Examples: Object Manager - User Sessions Workflow Process Manager - Business Processes
Gateway Name Server
Enterprise Server Siebel Server Siebel Server
Component Component
Component Component
File System Manager - Access to attachments
Siebel Enterprise Server Gateway Name Server
Holds Enterprise Configuration
IIS Web Server SWSE
Gateway Name Server
Stores component definitions, parameters, and connectivity information Stored in siebns.dat file
Dynamically registers Siebel Server and component availability
Enterprise Server Siebel Server Component Component Siebel Server Component Component
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 Dont 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
Cached
GET: icon.gif 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 DATE: 10/10/03 09:25 EXPIRES: 10/12/03 14:13:08 icon.gif DATE: 10/08/03 07:14
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 support layer 7 (content) switching
Web Server Load Balancing
Server Manager GUI Web Client Wireless Client
Wireless Gateway Server
Mobile Web Client
Handheld Client
Dedicated Web Client
Mobile DB
SQL CE
Web Servers with SWSE
Load Balancer
Load Balancers
Gateway Name Server
Siebel Enterprise Server
Siebel Servers
Server Manager
Siebel file System
Siebel Database
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 Manager GUI Web Client Wireless Client
Wireless Gateway Server
Mobile Web Client
Handheld Client
Dedicated Web Client
Mobile DB
SQL CE
Web Servers with SWSE
Load Balancer
Load Balancers
Gateway Name Server
Siebel Enterprise Server
Siebel Servers
Server Manager
Siebel file System
Siebel Database
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 3rd party load balancer
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 Balancer
Web Browser
HTTP HTTPS
HTTP HTTPS
Web Server
Web Server SWSE
Web Server
Web Server SWSE
VIP/VPort
SISNAPI
Resonate Central Dispatch
SISNAPI Listening Ports Listening Ports
OM
OM
OM
OM
OM
OM
Siebel Server
SRB
SISNAPI
SRB
Comp. Siebel Server
Siebel Architecture Siebel 7.7 Third Party HTTP Load Balancer
Web Browser
HTTP HTTPS
HTTP Load Balancer
HTTP HTTPS
Web Server
Web Server SWSE
Web Server
Web Server
SWSE
SISNAPI
HTTP Load Balancer
SISNAPI Listening Port Listening Port
VIP/VPort
Siebel Server OM
SCBroker
Siebel SCBroker Server OM SRB
SISNAPI
OM
OM SRB
OM
OM Comp .
Siebel Architecture Siebel 7.7 Siebel-Provided Load Balancing
Web Browser
HTTP HTTPS
HTTP Load Balancer
HTTP HTTPS
Web Server
Web Server SWSE
Web Server
Web Server SWSE
SISNAPI
SISNAPI Listening Port Listening Port
Siebel Server
SCBroker
Siebel Server
SCBroker
OM
OM
OM SRB
SISNAPI
OM SRB
OM
OM Comp .
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 Server
Web Server
SWSE
Load balancer determines which Siebel Server to connect to
Siebel Server SCBroker Siebel Server SCBroker
OM
OM
OM
OM
OM
OM
Implementation Retry
Web Server
Web Server
SWSE
Initial connection fails Component unavailable
Siebel Server SCBroker Siebel Server
Retry must go to different server i.e. Round Robin
SCBroker
OM
OM
OM
OM
OM
OM
Implementation Reconnect
Web Server
Web Server
SWSE
Existing connection lost
Siebel Server SCBroker Siebel Server
Reconnect must go to the same server
SCBroker
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:2322 VirtualServer2=1:SiebSrvr1:2321;2:SiebSrvr3:2321 OM Connect Strings (eapps.cfg) Use Virtual Servers as Enterprise hosts Call Center: siebel.TCPIP.none.none://VirtualServer1/Siebel/SCCObjMgr Sales: siebel.TCPIP.none.none://VirtualServer2/Siebel/SSEObjMgr
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 Provides more security features Depending on specific load balancer
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 file
#Section two -- 3rd Party Load Balancer Rules #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> Example: /prod/SCCObjMgr_enu/RR=svr1:2321;svr2:2321;
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 doesnt directly support other load balancers Must refer to load balancer vendor for support Manual integration required to implement load balancing rules for Siebel Instructions for integration with Siebel may not be available
See Siebel Supported Platforms documentation 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 Dispatch Installation/ Sometimes Configuration complex Load balancing Monitoring Resourcebased
SiebelProvided Part of Siebel Install Round-Robin
Third Party Varies by customer Response & Resourcebased Extensive 3rd party int. support Limited by HW capacity
Scalability
Proprietary Part of Siebel Resonate Server Admin Interface Up to 64 node No hard limit per site
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
Siebel Server Availability
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 Request Broker, or automatically (Default Tasks parameter)
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 Will always start minimum number specified Will start additional processes as needed to maintain process:thread ratio Limit on maximum number of processes
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 User load will need to be supported with one less 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 800 Call Center Users
Headroom 5% leeway 140 100 for server failure
MaxTasks 940 1000 100:1
Round up to maintain 100:1 ratio
Object Manager
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 theres 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 space per process 64-bit Windows server not currently supported for Siebel software (but supported for SQL Server)
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
1GB Object Manager 1GB Object Manager 1GB Object Manager
Can continue scaling beyond 8GB to larger memory 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
Based on number of concurrent sessions on each process
Internal Object Manager Load Balancing
Web Server
Sales OM
Siebel Connection Broker
Sales Object Manager
Sales Object Manager
Sales Object Manager
Service Object Manager
Siebel Server
Internal Object Manager Load Balancing
Web Server
Sales OM
Siebel Connection Broker
Sales Object Manager
Sales Object Manager
Sales Object Manager
Service Object Manager
Siebel Server
Internal Object Manager Load Balancing
Web Server
Service OM
Siebel Connection Broker
Sales Object Manager
Sales Object Manager
Sales Object Manager
Service Object Manager
Siebel Server
Multi-Threaded Component Scalability
Enterprise Server
Vertical Scalability
Sales Object Manager
Sales Object Manager
Sales Object Manager
Sales Object Manager
Sales Object Manager
Sales Object Manager
Sales Object Manager Siebel Server
Sales Object Manager Siebel Server
Sales Object Manager Siebel Server
Horizontal Scalability
Enterprise-Wide Scalability
Web Client Web Client Web Client Web Client Web Client Web Client
Load Balancing
Web Server + SWSE Web Server + SWSE
Load Balancing
SCB
SCB
Thread Process Server
Sales Object Manager Sales Object Manager Sales Object Manager Sales Object Manager
Siebel Server
Enterprise Server
Siebel 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 Manager GUI Web Client Wireless Client
Wireless Gateway Server
Mobile Web Client
Handheld Client
Dedicated Web Client
Mobile DB
SQL CE
Web Servers with SWSE
Load Balancer
Load Balancers
Gateway Name Server
Siebel Enterprise Server
Siebel Servers
Server Manager
Siebel file System
Siebel Database
Siebel Server Availability Siebel Server Failure
Web Server Load Balancing
Server Manager GUI Web Client Wireless Client
Wireless Gateway Server
Mobile Web Client
Handheld Client
Dedicated Web Client
User logs in again Mobile
DB
SQL CE
Web Servers with SWSE
Third Party load balancers
Load Balancer
Load Balancers
Gateway Name Server
Logs in to different Siebel Server
Siebel Enterprise Server
Siebel Servers
Server Manager
Siebel file System
Siebel Database
Siebel Server Availability - Load Balancer Failure
Server Manager GUI Web Client Wireless Client
Wireless Gateway Server
Mobile Web Client
Handheld Client
Dedicated Web Client
Mobile DB
SQL CE
Web Servers with SWSE
Load Balancer
Load Balancers
Gateway Name Server
Siebel Enterprise Server
Siebel Servers
Server Manager
Siebel file System
Siebel Database
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 Siebel Enterprise Server
Web client requests Assignment task Service Request Broker determines if Assignment Task is available locally
Assignment Manager SRBroker
Object Manager
SRBroker
If yes, then the task is run SRBroker locally
Workflow Process Manager
Assignment Manager
Workflow Process Manager
Distributed Services
Web Client Web Server
Web client requests Workflow task Service Request Broker determines if Workflow Process Mgr is available locally
Siebel Enterprise Server
Assignment Manager SRBroker
Object Manager
SRBroker
No, tasks are assigned on a round-robin basis to servers SRBroker Workflow that have Process Mgr. running
Workflow Process Manager
Workflow Process Manager
Assignment Manager
Distributed Services
Web Client Web Server Siebel Enterprise Server
Web client requests Assignment task Service Request Broker determines if Assignment Task is available locally
Assignment Manager SRBroker
Object Manager
SRBroker
Local Assignment Manager component is unavailable, so request routed to other SRBroker Assignment Manager
Workflow Process Manager
Workflow Process Manager
Assignment 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 is transparent and automatic
Failover Services How they work
Processes
Network
Storage
Shared Storage
Logical Server
Processes Network Storage Processes Network Storage
Physical Server
Physical 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 Physical
Logical Physical
Failover Services Cluster Deployment Models
Gateway Name Server Logical Server
Siebel File System Logical Server
Siebel Server Logical Server Physical Server
Siebel Server Logical Server Physical 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 cant 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\CurrentControlSet\Servi ces] Gateway : gtwyns Server : siebsrvr_<Ent>_<Srvr> i.e. siebsrvr_EntSieb752_srvr1
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
Siebel Server Availability
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 Minimize Popups Limit columns in List Applets
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 wont 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
Should always be running on all servers
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 Object Assignment Manager Task Is Assignment available on this Run server? Server Server Request AssignmentRequest Broker on local Broker server Assignment Manager Workflow Process Manager
Assignment Manager Server Request Broker Workflow Process Manager
Siebel Server Server Request Broker
Run Object Workflow Is Workflow Manager Process Manager Server Request Broker
Assignment Manager
Server Request Broker Workflow Process Manager
Assignment Manager
available on Server this server? WhichRequest other Broker servers server Choose haveWorkflow on roundworkflow basis robin Process online? 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
Eligible requests submitted through Server Request Broker
Siebel Server Server Request Processor
S_SRM_REQUEST
SRProc
Sleep Interval
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 Siebel Object Manager to Database
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
Benefits of less database sessions to maintain Risk of database session contention
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 MinTrxDbConns sessions - Minimum number of specialized DB to be kept in pool
Database Network Architecture
Client Connections Siebel Server
Server Request Processor Object Manager
Shared
Shared
Specialized
Native Database Connectivity (ODBC for SQL Server)
Threads (sessions)
Siebel Database
Processes (components)