Вы находитесь на странице: 1из 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 Web Server Client - IIS - SQL Server Application Server - Windows Server - 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 Siebel Web Server Extension

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

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 PlugIn 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


Framework for running server components Obtains configuration information from the Gateway Name Server
Siebel Server
Component Component

IIS Web Server SWSE

Gateway Name Server

Enterprise Server

Siebel Server
Component Component

Runs as a Windows service Siebel Enterprise Server is a logical grouping of Siebel Servers

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

Gateway Name Server

Enterprise Server Siebel Server Siebel Server

Component Component

Component Component

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

Gateway Name Server

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

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


Web Browser
HTTP HTTPS

HTTP Load Balancer

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


SISNAP I

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 OM

SCBroker

Siebel Server OM SRB


SISNAPI

SCBroker

OM

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 OM SCBroker Siebel Server OM OM SCBroker

OM

OM

OM

Implementation Retry

Web Server

Web Server SWSE

Initial connection fails Component unavailable


Siebel Server OM SCBroker Siebel Server OM OM

Retry must go to different server i.e. Round Robin


SCBroker

OM

OM

OM

Implementation Reconnect

Web Server

Web Server SWSE

Existing connection lost


Siebel Server OM SCBroker Siebel Server OM OM

Reconnect must go to the same server


SCBroker

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 Configuratio complex n Load balancing Monitoring Resourcebased SiebelProvided Part of Siebel Install RoundRobin Third Party Varies by customer Response & Resourcebased Extensive 3rd party int. support Limited by HW capacity

Proprietary Part of Resonate Siebel Interface Server Admin Up to 64 node per site No hard limit

Scalability

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

Object Manager

MaxTasks 940 1000 100:1 MaxMTServers 10

Round up to maintain 100:1 ratio

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 Load Balancing
Server Manager GUI Server 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

Siebel Enterprise Server

Logs in to different Siebel Server


Siebel Servers

Gateway Name Server

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
Object Manager

Assignment Manager SRBroke r Workflow Process Manager

SRBroke r Assignment Manager

If yes, then the task is run SRBroke locally


r

Workflow Process Manager

Distributed Services
Web Client Web Server Siebel Enterprise Server

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 SRBroker Workflow Process Mgr. running
Workflow Process Manager

Assignment Manager SRBroker

Object Manager

SRBroker

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 SRBroker routed to other 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 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\Services] 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


Assignment Manager Server Request Broker Workflow Process Manager 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

Siebel Server Server Request Broker


Run Object Workflow Is Workflow Manager Process Manager Server Request Broker Assignment Manager available on Server this server? WhichRequest other Broker servers server Choose haveWorkflow on roundworkflow basis robin Process online? Manager

Assignment Manager Server Request Broker Workflow Process 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 Normally runs on all Siebel Servers

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 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 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 - Maximum number of specialized DB sessions MaxTrxDbConns MinTrxDbConns kept in pool - Minimum number of specialized DB sessions to be

Shared Database sessions Valid per component per Siebel Server - Maximum number of shared DB sessions MaxSharedDbConns MinSharedDbConns kept in pool - Minimum number of shared DB sessions to be

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)