©Siebel Systems 2005 – Do not distribute or re-use without permission Siebel Global Deployments...
-
Upload
dale-garrett -
Category
Documents
-
view
223 -
download
0
Transcript of ©Siebel Systems 2005 – Do not distribute or re-use without permission Siebel Global Deployments...
©Siebel Systems 2005 – Do not distribute or re-use without permission©Siebel Systems 2005 – Do not distribute or re-use without permission
Siebel Global Deployments
Module 1: Siebel 7.7 on the Microsoft Platform
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 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
ExternalApplications
WAP Gateway Server
Wireless WebBrowser User Interface
Mobile Client
Object ManagerData Manager
Browser UI
Local DB
Web Server
Connected Web User
(Employee)Browser User Interface
Gateway Name Server
Regional Siebel
DB Server
Connected Web User
(External)Browser User Interface
SIEBSYNC
SiebeleAI
SiebelReplication
Siebel Remote
PDA
VoiceInteraction
EmailInteraction
Load Balancer
Siebel Enterprise
Central Siebel DB Server
Object Manager
Data Manager
Siebel Web ServerExtension
Load Balancer
Object Manager
Data Manager
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
Enterprise Server
Siebel Server
Component
Gateway Name Server
Component
Siebel Server
Component
Component
Architecture Overview – Siebel Server
Framework for running server components
Obtains configuration information from the Gateway Name Server
Runs as a Windows service
Siebel Enterprise Server is a logical grouping of Siebel Servers
IIS Web Server
SWSE
Enterprise Server
Siebel Server
Component
Component
Siebel Server
Component
Component
Gateway Name Server
Architecture Overview –Server Components
Server Program executed as Task
Examples:
Object Manager- User Sessions
Workflow Process Manager- Business Processes
File System Manager- Access to attachments
IIS Web Server
SWSE
Enterprise Server
Siebel Server
Component
Component
Siebel Server
Component
Component
Gateway Name Server
Siebel Enterprise Server – Gateway Name Server
Holds Enterprise Configuration
Stores component definitions, parameters, and connectivity information
Stored in siebns.dat file
Dynamically registers Siebel Server and component availability
IIS Web Server
SWSE
Enterprise Server
Siebel Server
Component
Component
Siebel Server
Component
Component
Gateway Name Server
Architecture Overview – Server Component Types
BackgroundBackground operations for the Siebel Server. Runs until you explicitly stop the task, or until the Siebel Server itself is shut down.
InteractiveStart automatically in response to client requests. Run as long as the client maintains the session, and end when the client disconnects.
BatchExecute 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
GET: ‘icon.gif’GET: ‘icon.gif’
RESPONSE: ‘icon.gif’RESPONSE: ‘icon.gif’DATE: 10/10/03 09:25:08DATE: 10/10/03 09:25:08LAST-MODIFIED: 10/08/03 07:14LAST-MODIFIED: 10/08/03 07:14
25KB25KB
icon.gificon.gifDATE: 10/08/03 07:14DATE: 10/08/03 07:14
Uncached
Network Scalability – Content Expiration
GET: ‘icon.gif’GET: ‘icon.gif’IF-MODIFIED-SINCE: 10/10/03 09:25IF-MODIFIED-SINCE: 10/10/03 09:25
RESPONSE:RESPONSE: Not-modifiedNot-modified
2KB2KB
Cached
icon.gificon.gifDATE: 10/10/03 09:25DATE: 10/10/03 09:25
icon.gificon.gifDATE: 10/08/03 07:14DATE: 10/08/03 07:14
Network Scalability – Content Expiration
0KB0KB
Cached with Expiration
icon.gificon.gifDATE: 10/10/03 09:25 DATE: 10/10/03 09:25 EXPIRES: 10/12/03 14:13:08EXPIRES: 10/12/03 14:13:08
icon.gificon.gifDATE: 10/08/03 07:14DATE: 10/08/03 07:14
Network Scalability – Content Expiration
IIS Settings
Set Content Expiration2 days is typical settingSet 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
Web Servers with SWSE
Siebel Enterprise Server
SQLCE
MobileDB
Dedicated Web Client
Handheld Client
Mobile Web Client
Wireless Client
Wireless Gateway Server
Web Client
Server Manager GUI
Gateway Name Server
Siebel Servers
Siebel file System
Siebel Database
Server Manager
Load BalancersLoad Balancer
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:SSLCTI
Web Server Availability
Web Servers with SWSE
Siebel Enterprise Server
SQLCE
MobileDB
Dedicated Web Client
Handheld Client
Mobile Web Client
Wireless Client
Wireless Gateway Server
Web Client
Server Manager GUI
Siebel Servers
Siebel file System
Siebel Database
Load BalancersLoad Balancer Gateway Name
Server
Server Manager
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 supportedCan 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
Listening Ports
SRB
OMOMOM
SiebelServer
SiebelServer
Resonate Central Dispatch
SWSE
Web ServerWebServer
SWSE
Web ServerWebServer
WebBrowser
HTTPHTTPS
VIP/VPort
HTTPHTTPS
SISNAPI
SISNAPI
SISNAPI
Comp.
Listening Ports
OMOMOM
SRB
HTTP Load Balancer
Siebel Architecture – Siebel 7.7Third Party HTTP Load Balancer
SCBroker
Listening Port
SRB
OMOMOM
SiebelServer
Listening Port
SRB
OMOMOM
SiebelServer
HTTP Load Balancer
SWSE
Web ServerWebServer
SWSE
Web ServerWebServer
WebBrowser
HTTPHTTPS
VIP/VPort
HTTPHTTPS
SISNAPI
SISNAPI
SISNAPI
Comp.
SCBroker
HTTP Load Balancer
Siebel Architecture – Siebel 7.7 Siebel-Provided Load Balancing
SCBroker
Listening Port
SRB
OMOMOM
SiebelServer
Listening Port
SRB
OMOMOM
SiebelServer
SWSE
Web ServerWebServer
SWSE
Web ServerWebServer
WebBrowser
HTTPHTTPS
HTTPHTTPS
SISNAPI
SISNAPI
SISNAPI
Comp.
SCBroker
HTTP Load Balancer
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
SWSE
Web ServerWebServer
SCBroker
OMOMOM
SiebelServer
SCBroker
OMOMOM
SiebelServer
Load balancer Load balancer determines which determines which Siebel Server to Siebel Server to connect toconnect to
Implementation – Retry
SWSE
Web ServerWebServer
SCBroker
OMOMOM
SiebelServer
SCBroker
OMOMOM
SiebelServer
Initial connection Initial connection failsfailsComponent Component unavailableunavailable
Retry must go to Retry must go to different serverdifferent serveri.e. Round Robini.e. Round Robin
Implementation – Reconnect
SWSE
Web ServerWebServer
SCBroker
OMOMOM
SiebelServer
SCBroker
OMOMOM
SiebelServer
Existing Existing connection lostconnection lost
Reconnect must Reconnect must go to the same go to the same serverserver
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
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:2322VirtualServer2=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
Siebel Native Load Balancing Implementation
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
Must manually implement for unsupported load balancers
#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;
Third Party Load Balancer Implementation
Must be able to process different URL forms to recognise different rule types
Component Rules (Initial Connect):Component Rules (Initial Connect):
/<ent>/<component>/=<host1>:<port1>;<host2>:<port2>;/<ent>/<component>/=<host1>:<port1>;<host2>:<port2>;
Example: /prod/SCCObjMgr_enu/=svr1:2321;svr2:2321;Example: /prod/SCCObjMgr_enu/=svr1:2321;svr2:2321;
Server Rules (Reconnect):Server Rules (Reconnect):
*/!<serverid>.*=<host>:<port>;*/!<serverid>.*=<host>:<port>;Example: */!1.*=svr1:2321;Example: */!1.*=svr1:2321;
Round Robin Rules (Retry):Round Robin Rules (Retry):
/<ent>/<component>/RR=<host1>:<port1>;<host2>:<port2>/<ent>/<component>/RR=<host1>:<port1>;<host2>:<port2>Example: /prod/SCCObjMgr_enu/RR=svr1:2321;svr2:2321;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 doesn’t 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 statusSee Siebel Supported Platforms documentation for current status
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?
Siebel-Provided or Third Party HTTP Load Balancing?
Central Dispatch
Siebel-Provided
Third Party
Installation/Configuration
Sometimes complex
Part of Siebel Install
Varies by customer
Load balancing
Resource-based
Round-Robin Response & Resource-based
Monitoring Proprietary Resonate Interface
Part of Siebel Server Admin
Extensive 3rd party int. support
Scalability Up to 64 node per site
No hard limit Limited by HW 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
Siebel Server Availability
Component Scalability
Scaling within a serverMulti-threaded componentsSiebel Connection Broker
Scaling across serversLoad 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 limitedi.e.
Transaction Processor – max 1 per serverWorkflow 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 ManagersAssumes 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 Users800 Call Center Users
MaxTasks940
MinMTServers10
Object Manager
MaxMTServers10
100:1
Headroom140
5% leeway100 for serverfailure
Round up to maintain100:1 ratio
MaxTasks1000
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 memory2GB 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 softwareSiebel will always use 2GB allocation regardless
No need for 64-bit supportWould provide native support for larger memory space per process64-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
0.5GB – System/Misc.0.5GB – System/Misc.
1GB – Object Manager 1GB – Object Manager
1GB – Object Manager 1GB – Object Manager
1GB – Object Manager 1GB – Object Manager
4GB4GB 1GB – Object Manager 1GB – Object Manager
Memory Scalability on Windows
0.5GB – System/Misc.0.5GB – System/Misc.
1GB – Object Manager 1GB – Object Manager
1GB – Object Manager 1GB – Object Manager
1GB – Object Manager1GB – Object Manager
8GB8GB
1GB – Object Manager 1GB – Object Manager
1GB – Object Manager 1GB – Object Manager
1GB – Object Manager 1GB – Object Manager
1GB – Object Manager 1GB – Object Manager Can continue Can continue scaling scaling beyond 8GB to beyond 8GB to larger memory larger memory modelsmodels
/PAE Switch/PAE Switch
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
Siebel Server
Sales Object Manager
Sales Object Manager
Service Object Manager
Sales Object Manager
Siebel Connection
Broker
Web Server
Sales OMSales OM
Siebel Server
Sales Object Manager
Sales Object Manager
Service Object Manager
Sales Object Manager
Siebel Connection
Broker
Web Server
Sales OMSales OM
Internal Object Manager Load Balancing
Siebel Server
Sales Object Manager
Sales Object Manager
Service Object Manager
Sales Object Manager
Siebel Connection
Broker
Web Server
Service OMService OM
Internal Object Manager Load Balancing
Multi-Threaded Component Scalability
Enterprise Server
Siebel Server
Sales Object Manager
Sales Object Manager
Sales Object Manager
Siebel Server
Sales Object Manager
Sales Object Manager
Sales Object Manager
Siebel Server
Sales Object Manager
Sales Object Manager
Sales Object Manager
Horizontal Scalability
Ver
tical
Sca
labi
lity
Enterprise Server
Siebel ServerSiebel Server Server
Sales Object Manager
Sales Object Manager
Sales Object Manager
Sales Object Manager Process
Enterprise-Wide Scalability
Web Server + SWSEWeb Server + SWSE
Load Balancing
Web Client
Web Client
Web Client
Web Client
Web Client
Web Client
Load Balancing
SCB
Thread
SCB
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
Web Servers with SWSE
Siebel Enterprise Server
Load Balancers
Siebel Servers
Siebel file System
Siebel Database
Dedicated Web Client
Handheld Client
Mobile Web Client
Wireless Client
Wireless Gateway Server
Web Client
Server Manager GUI
SQLCE
MobileDB
Load Balancer Gateway Name Server
Server Manager
Siebel Server Availability – Siebel Server Failure
Web Servers with SWSE
Siebel Enterprise Server
Load Balancers
Siebel Servers
Siebel file System
Siebel Database
Dedicated Web Client
Handheld Client
Mobile Web Client
Wireless Client
Wireless Gateway Server
Web Client
Server Manager GUI
SQLCE
MobileDB
Web Server Load
Balancing
Third Party load balancers
Load Balancer
User logs in again
Logs in to different Siebel
Server
Gateway Name Server
Server Manager
Siebel Server Availability - Load Balancer Failure
Web Servers with SWSE
Siebel Enterprise Server
Load BalancerLoad Balancers
Siebel Servers
Siebel file System
Siebel Database
Dedicated Web Client
Handheld Client
Mobile Web Client
Wireless Client
Wireless Gateway Server
Web Client
Server Manager GUI
SQLCE
MobileDB
Note: This assumes redundant third-party load balancers are used
Gateway Name Server
Server Manager
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
Assignment Manager
Distributed Services
Web Server
SRBroker
Workflow Process Manager
Object Manager
SRBroker
Assignment Manager
Web Client
Siebel Enterprise Server
SRBroker
Workflow Process Manager
If yes, then the task is run locally
Service Request Broker determines if Assignment Task is available locally
Web client requests Assignment task
Assignment Manager
Distributed Services
Web Client
Siebel Enterprise Server
Workflow Process Manager
Web Server
SRBroker
Object Manager
SRBroker
Assignment Manager
SRBroker
Workflow Process Manager
Web client requests Workflow task
Service Request Broker determines if Workflow
Process Mgr is available locally
No, tasks are assigned on a round-robin basis to
servers that have Workflow Process Mgr.
running
Assignment Manager
Distributed Services
Web Client
Siebel Enterprise Server
Workflow Process Manager
Web Server
SRBroker
Assignment Manager
Object Manager
SRBroker
Assignment Manager
Workflow Process Manager
SRBroker
Web client requests Assignment task
Service Request Broker determines if Assignment Task is available locally
Local Assignment Manager component is unavailable, so request
routed to other 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
Storage
Network
Processes
LogicalServer
Storage
Network
Processes
PhysicalServer
SharedSharedStorageStorage
Failover Services – How they work
Storage
Network
Processes
PhysicalServer
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
Physical
Logical
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
Gateway Name Server
LogicalServer
Failover Services – Cluster Deployment Models
Siebel ServerLogicalServer
Siebel File SystemLogicalServer
Siebel ServerLogicalServer
PhysicalServer
PhysicalServer
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 AddressNetwork 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\Services]Gateway : gtwynsServer : 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: 10Try & restart the Siebel Server 10 times before failing over. Gives any time needed for a Gateway to start.
Pending Timeout – 300 secondsAllows 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….
©Siebel Systems 2005 – Do not distribute or re-use without permission©Siebel Systems 2005 – Do not distribute or re-use without permission
Siebel Global Deployments
Module 1: Siebel 7.7 on the Microsoft Platform
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 enoughUses 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 SizeDefault: 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
ServerRequestBroker
ServerRequestBroker
ServerRequestBroker
WorkflowProcess
Manager
WorkflowProcess
Manager
ObjectManager
Run Assignment
Task
AssignmentManager
Run Assignment
on local server
AssignmentManager Is Assignment
available on this server?
Siebel Server – Server Request Broker
ServerRequestBroker
ServerRequestBroker
ServerRequestBroker
WorkflowProcess
Manager
WorkflowProcess
Manager
ObjectManager
Run Workflow Process
AssignmentManager
Which other
servers have
workflow online?
Is Workflow Manager
available on this server?
AssignmentManager
Choose server on round-robin basis
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 ServerNot being processed by other Server Request Processor
Eligible requests submitted through Server Request Broker
Normally runs on all Siebel Servers
Siebel Server – Server Request Processor
S_SRM_REQUEST SRProc
SRBroker
Task
Sleep Interval
Request Queue
Performance and Scalability
Component ScalabilityComponent Scalability
Scalability Scalability AAcross Componentscross Components
NNeettwork Scalabilitywork Scalability
Architecture OverviewArchitecture Overview
Performance OptimizationPerformance Optimization
Performance ManagementPerformance 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 defaultSet to 20
Controlled by component parameter:‘Number of Sessions per SISNAPI Connection’
Siebel Object Manager to Database
Database connection pooling
SQL traffic for multiple Siebel users through one database session
Reduces session overheads on database server
Disabled by default
Suitable for larger deployments (over 500 concurrent users)
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 connectionShared – for general transactionsSpecialized – for long running
Not always appropriate
Should carefully evaluate tradeoffsBenefits of less database sessions to maintainRisk 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 - Minimum number of specialized DB sessions
to be kept in pool
Shared Database sessions
Valid per component per Siebel Server MaxSharedDbConns - Maximum number of shared DB sessions MinSharedDbConns - Minimum number of shared DB sessions
to be kept in pool
Siebel ServerObject Manager
Database Network Architecture
SharedShared SharedShared SpecializedSpecialized
Client ConnectionsClient Connections
Server Request
Processor
Threads (sessions)Threads (sessions)
Processes (components)Processes (components)
Native Database ConnectivityNative Database Connectivity(ODBC for SQL Server)(ODBC for SQL Server)
Siebel Siebel DatabaseDatabase