Upload
suresh4ever
View
215
Download
0
Embed Size (px)
Citation preview
8/3/2019 SiebelArchitectureontheMSPlatform[1]
1/117
Siebel Systems 2005 Do not distribute or re-use without permission
Siebel Global Deployments
Module 1:Siebel 7.7 on the
Microsoft Platform
8/3/2019 SiebelArchitectureontheMSPlatform[1]
2/117
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 Microsoftplatform
Database Server - SQL Server
Application Server - Windows Server
Web Server - IIS
Client - Internet Explorer
8/3/2019 SiebelArchitectureontheMSPlatform[1]
3/117
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 Microsoftplatform
8/3/2019 SiebelArchitectureontheMSPlatform[1]
4/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
5/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
6/117
Siebel 7 Infrastructure Overview
ExternalApplications
WAP GatewayServer
Wireless WebBrowser UserInterface
Mobile Client
ObjectManager
Data Manager
Browser UI
Local
DB
Web Server
Connected Web
User(Employee)
Browser UserInterface
Gateway Name Server
RegionalSiebel
DBServer
Connected Web
User(External)
Browser UserInterface
SIEBSYNC
Siebel
eAI
Siebel
Replication
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
7/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
8/117
Siebel Enterprise Server SWSE
Siebel Web ServerExtensions (SWSE)
Web Server Plug-In
Manages
communications toSiebel Enterprise
Includes cache for staticfiles (images, etc)
IIS Web Server
SWSE
Enterprise Server
Siebel Server
Component
GatewayName Server
ComponentSiebel Server
Component
Component
8/3/2019 SiebelArchitectureontheMSPlatform[1]
9/117
Architecture Overview Siebel Server
Framework for runningserver components
Obtains configurationinformation from the
Gateway Name ServerRuns as a Windowsservice
Siebel Enterprise Server
is a logical grouping ofSiebel Servers
IIS Web Server
SWSE
Enterprise Server
Siebel Server
Component
ComponentSiebel Server
Component
Component
GatewayName Server
8/3/2019 SiebelArchitectureontheMSPlatform[1]
10/117
Architecture OverviewServer Components
Server Program executedas Task
Examples:
Object Manager- User Sessions
Workflow Process
Manager
- Business ProcessesFile System Manager
- Access to attachments
IIS Web Server
SWSE
Enterprise Server
Siebel Server
Component
ComponentSiebel Server
Component
Component
GatewayName Server
8/3/2019 SiebelArchitectureontheMSPlatform[1]
11/117
A hit t O i S C t
8/3/2019 SiebelArchitectureontheMSPlatform[1]
12/117
Architecture Overview Server ComponentTypes
BackgroundBackground operations for the Siebel Server. Runsuntil you explicitly stop the task, or until the SiebelServer itself is shut down.
Interactive
Start automatically in response to client requests.Run as long as the client maintains the session, andend when the client disconnects.
BatchExecute in response to requests. Batch modecomponent tasks execute until they finishprocessing.
A hit t O i C t E ti
8/3/2019 SiebelArchitectureontheMSPlatform[1]
13/117
Architecture Overview Component ExecutionPlatforms
Single Threaded
Single threaded components have one executionstream per process. So each operating system processsupports a single Siebel Task.
i.e. EIM
Multi-Threaded
Multi-threaded components have multiple execution
streams within a single process. So each operatingsystem process can support multiple Siebel Tasks.
i.e. Object Managers
8/3/2019 SiebelArchitectureontheMSPlatform[1]
14/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
15/117
Network ScalabilityBrowser Settings
Browser Settings
Dont clear cache except when necessary
Ensure Empty Temporary Internet Files Folder when
browser is closed option is not enabled.
8/3/2019 SiebelArchitectureontheMSPlatform[1]
16/117
Network Scalability Content Expiration
GET: icon.gif
RESPONSE: icon.gif
DATE: 10/10/03 09:25:08
LAST-MODIFIED: 10/08/03 07:14
25KB
icon.gifDATE: 10/08/03 07:14
Uncached
8/3/2019 SiebelArchitectureontheMSPlatform[1]
17/117
Network Scalability Content Expiration
GET: icon.gif
IF-MODIFIED-SINCE: 10/10/03 09:25
RESPONSE:Not-modified
2KB
Cached
icon.gifDATE: 10/10/03 09:25
icon.gifDATE: 10/08/03 07:14
8/3/2019 SiebelArchitectureontheMSPlatform[1]
18/117
Network Scalability Content Expiration
0KB
Cached with Expiration
icon.gifDATE: 10/10/03 09:25
EXPIRES: 10/12/03 14:13:08
icon.gifDATE: 10/08/03 07:14
8/3/2019 SiebelArchitectureontheMSPlatform[1]
19/117
Network Scalability Content Expiration
IIS SettingsSet Content Expiration
2 days is typical setting
Set through Internet Information Services Administration
HTTP Headers > Content Expiration
8/3/2019 SiebelArchitectureontheMSPlatform[1]
20/117
Network Scalability Web Server
Use HTTP keep-aliveReduces the need to negotiate TCP sessions for each
HTTP message
8/3/2019 SiebelArchitectureontheMSPlatform[1]
21/117
Network Scalability Compression
Compression (Static Content)
Performed by web server (IIS)
8/3/2019 SiebelArchitectureontheMSPlatform[1]
22/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
23/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
24/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
25/117
Web Server Scalability
Can use Load Balancing to scale across multiple webservers
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 differentgroups of web servers
In this case the load balancer will need to support layer 7
(content) switching
8/3/2019 SiebelArchitectureontheMSPlatform[1]
26/117
Web Server Load Balancing
Web Servers with SWSE
Siebel Enterprise Server
SQLCE
MobileDB
DedicatedWeb Client
HandheldClient
MobileWeb Client
WirelessClient
Wireless GatewayServer
WebClient
ServerManager GUI
Gateway NameServer
Siebel Servers
Siebel fileSystem
Siebel Database
ServerManager
Load BalancersLoad Balancer
8/3/2019 SiebelArchitectureontheMSPlatform[1]
27/117
Web Server Availability
Can be clustered (Microsoft Server Cluster) but LoadBalancing 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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
28/117
Web Server Availability
Web Servers with SWSE
Siebel Enterprise Server
SQLCE
MobileDB
DedicatedWeb Client
HandheldClient
MobileWeb Client
WirelessClient
Wireless GatewayServer
WebClient
ServerManager GUI
Siebel Servers
Siebel fileSystem
Siebel Database
Load BalancersLoad Balancer Gateway Name
Server
ServerManager
8/3/2019 SiebelArchitectureontheMSPlatform[1]
29/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
30/117
Background Siebel Server Load Balancing
Siebel 7.5 and prior integrates with Resonate CentralDispatch for Server Load Balancing
Required for any customer load balancing 2 or moreweb servers OR application servers
Siebel 7.7 supports two mechanisms for Server LoadBalancing
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 loadbalancer
8/3/2019 SiebelArchitectureontheMSPlatform[1]
31/117
8/3/2019 SiebelArchitectureontheMSPlatform[1]
32/117
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
Web
Browser
HTTP
HTTPS
VIP/VPort
HTTP
HTTPS
SISNAPI
SISNAPI
SISNAPI
Comp.
Listening Ports
OMOMOM
SRB
HTTP LoadBalancer
Siebel Architecture Siebel 7 7
8/3/2019 SiebelArchitectureontheMSPlatform[1]
33/117
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
Web
Browser
HTTP
HTTPS
VIP/VPort
HTTP
HTTPS
SISNAPI
SISNAPI
SISNAPI
Comp.
SCBroker
HTTP LoadBalancer
Siebel Architecture Siebel 7 7
8/3/2019 SiebelArchitectureontheMSPlatform[1]
34/117
Siebel Architecture Siebel 7.7Siebel-Provided Load Balancing
SCBroker
Listening Port
SRB
OMOMOM
SiebelServer
Listening Port
SRB
OMOMOM
SiebelServer
SWSE
Web ServerWebServer
SWSE
Web ServerWebServer
Web
Browser
HTTP
HTTPS
HTTP
HTTPS
SISNAPI
SISNAPI
SISNAPI
Comp.
SCBroker
HTTP LoadBalancer
T h i l B fit f Si b l 7 7 L d B l i S t
8/3/2019 SiebelArchitectureontheMSPlatform[1]
35/117
Technical Benefits of Siebel 7.7 Load Balancing Support
Lowers the total cost of ownership
Offers flexibility in choosing application server loadbalancing
Designed to interoperate with Standard HTTP loadbalancers
Can use advanced network features of Microsoft Platform
No more limitation on NIC support
Support for NIC Teaming
Support for IPSecSpeed up Siebel Server startup/shutdown
Lowers the overall complexity of Siebel Environment
Wh t i l t l d b l i
8/3/2019 SiebelArchitectureontheMSPlatform[1]
36/117
When to implement server load balancing
Load balancing multiple Siebel Application ServersRun 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
I l t ti I iti l C ti
8/3/2019 SiebelArchitectureontheMSPlatform[1]
37/117
Implementation Initial Connection
SWSE
Web ServerWebServer
SCBroker
OMOMOM
Siebel
ServerSCBroker
OMOMOM
Siebel
Server
Load balancerdetermines whichSiebel Server toconnect to
I l t ti R t
8/3/2019 SiebelArchitectureontheMSPlatform[1]
38/117
Implementation Retry
SWSE
Web ServerWebServer
SCBroker
OMOMOM
Siebel
ServerSCBroker
OMOMOM
Siebel
Server
Initial connectionfailsComponentunavailable
Retry must go todifferent serveri.e. Round Robin
I l t ti R t
8/3/2019 SiebelArchitectureontheMSPlatform[1]
39/117
Implementation Reconnect
SWSE
Web ServerWebServer
SCBroker
OMOMOM
Siebel
ServerSCBroker
OMOMOM
Siebel
Server
Existingconnection lost
Reconnect mustgo to the sameserver
Three Types of Connection to Support
8/3/2019 SiebelArchitectureontheMSPlatform[1]
40/117
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
RetryWhen 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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
41/117
Siebel Native Load Balancing Features
Replace the load balancing feature provided by ResonateCentral Dispatch
Without the maintenance overhead of Resonate
No cost for third party load balancers
Distributes new SISNAPI connection request in a roundrobin 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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
42/117
Siebel Native Load Balancing Implementation
Performed in the SWSEAllocates 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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
43/117
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
=::; ::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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
44/117
Third Party HTTP Load Balancing Features
Provides the same basic load balancing functionality as
Siebel-Provided Load BalancingCan distribute load using variety of criteria
Provides advanced network administration andmonitoring capabilities
Can monitor application server availability and routeaccordingly
Provides flexible configuration options
Allows customer to segment load balanced Siebel Servers
Can be integrated with other third party monitoring andmanagement tools
Provides more security features
Depending on specific load balancer
Third Party Load Balancer Implementation
8/3/2019 SiebelArchitectureontheMSPlatform[1]
45/117
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 all1 rule needed per server
Third Party Load Balancer Implementation
8/3/2019 SiebelArchitectureontheMSPlatform[1]
46/117
Third Party Load Balancer Implementation
Required rules included in lbconfig.txt file
Must manually implement for unsupported loadbalancers
#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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
47/117
Third Party Load Balancer Implementation
Must be able to process different URL forms to recognise
different rule typesComponent Rules (Initial Connect):
///=:;:;
Example: /prod/SCCObjMgr_enu/=svr1:2321;svr2:2321;Server Rules (Reconnect):
*/!.*=:;
Example: */!1.*=svr1:2321;
Round Robin Rules (Retry):
///RR=:;:
Example: /prod/SCCObjMgr_enu/RR=svr1:2321;svr2:2321;
Third Party Load Balancer Support
8/3/2019 SiebelArchitectureontheMSPlatform[1]
48/117
Third Party Load Balancer Support
F5 BigIP SupportedSupport 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 balancingrules for Siebel
Instructions for integration with Siebel may not beavailable
See Siebel Supported Platforms documentation for current status
8/3/2019 SiebelArchitectureontheMSPlatform[1]
49/117
Is a third-party HTTP load balancer already in use?
Are the capabilities offered by third party HTTP loadbalancer needed?
Load balancingSecurity
Management and Monitoring
Size of the deployment does not necessarily matter
Siebel-Provided or Third Party HTTP Load Balancing?
8/3/2019 SiebelArchitectureontheMSPlatform[1]
50/117
Siebel-Provided or Third Party HTTP Load Balancing?
CentralDispatch
Siebel-Provided
Third Party
Installation/Configuration
Sometimescomplex
Part of SiebelInstall
Varies bycustomer
Loadbalancing Resource-based Round-Robin Response &Resource-based
Monitoring ProprietaryResonateInterface
Part of SiebelServer Admin
Extensive 3rdparty int.support
Scalability Up to 64 nodeper site
No hard limit Limited by HWcapacity
Siebel 7 7 on the Microsoft Platform
8/3/2019 SiebelArchitectureontheMSPlatform[1]
51/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
52/117
Time for a Break
Siebel 7 7 on the Microsoft Platform
8/3/2019 SiebelArchitectureontheMSPlatform[1]
53/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
54/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
55/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
56/117
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 specifiedWill start additional processes as needed to maintain
process:thread ratio
Limit on maximum number of processes
Multi-Threaded Component Parameters
8/3/2019 SiebelArchitectureontheMSPlatform[1]
57/117
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 - notcounted by MaxTasks
8/3/2019 SiebelArchitectureontheMSPlatform[1]
58/117
Configuring the Object Managers
8/3/2019 SiebelArchitectureontheMSPlatform[1]
59/117
Configuring the Object Managers
Set MaxTasks = peak concurrent users
No need to assign separate tasks for Anonymous usersfrom 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 balancingConsider allowing for failure of a server
User load will need to be supported with one less server
Configuring the Object Managers
8/3/2019 SiebelArchitectureontheMSPlatform[1]
60/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
61/117
Multi Threaded Component Parameter Example
Object Manager configuration for 800 Call Center usersConcurrent Users
800 Call Center Users
MaxTasks940
MinMTServers10
Object Manager
MaxMTServers
10
100:1
Headroom140
5% leeway100 for serverfailure
Round up to maintain100:1 ratio
MaxTasks1000
8/3/2019 SiebelArchitectureontheMSPlatform[1]
62/117
Object Manager Memory Scalability
8/3/2019 SiebelArchitectureontheMSPlatform[1]
63/117
Object a age e o y Sca ab ty
Per-Process (MTServer) MemoryTypically 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 differentdeployments
Memory Scalability on Windows
8/3/2019 SiebelArchitectureontheMSPlatform[1]
64/117
y y
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 wrongNo 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 supportWould 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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
65/117
y y
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
66/117
y y
0.5GB System/Misc.
1GB Object Manager
1GB
Object Manager
1GB Object Manager
4GB 1GB Object Manager
Memory Scalability on Windows
8/3/2019 SiebelArchitectureontheMSPlatform[1]
67/117
y y
0.5GB System/Misc.
1GB Object Manager
1GB
Object Manager
1GB Object Manager
8GB
1GB Object Manager
1GB Object Manager
1GB Object Manager
1GB
Object Manager
Can continuescalingbeyond 8GB tolarger memorymodels
/PAE Switch
Load balancing between processes
8/3/2019 SiebelArchitectureontheMSPlatform[1]
68/117
g p
A single Object Manager component typically has many
processes (MTServers) on a serverNeed a mechanism to distribute sessions evenly acrossprocesses
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 processesAll components
Hands off to individual processes
Based on number of concurrent sessions on eachprocess
Internal Object Manager Load Balancing
8/3/2019 SiebelArchitectureontheMSPlatform[1]
69/117
Siebel Server
Sales ObjectManager
Sales ObjectManager
Service ObjectManager
Sales ObjectManager
SiebelConnection
Broker
Web Server
Sales OM
Internal Object Manager Load Balancing
8/3/2019 SiebelArchitectureontheMSPlatform[1]
70/117
Siebel Server
Sales ObjectManager
Sales ObjectManager
Service ObjectManager
Sales ObjectManager
SiebelConnection
Broker
Web Server
Sales OM
Internal Object Manager Load Balancing
8/3/2019 SiebelArchitectureontheMSPlatform[1]
71/117
Siebel Server
Sales ObjectManager
Sales ObjectManager
Service ObjectManager
Sales ObjectManager
SiebelConnection
Broker
Web Server
Service OM
Multi-Threaded Component Scalability
8/3/2019 SiebelArchitectureontheMSPlatform[1]
72/117
Enterprise Server
Siebel Server
SalesObjectManager
SalesObjectManager
SalesObjectManager
Siebel Server
SalesObjectManager
SalesObjectManager
SalesObjectManager
Siebel Server
SalesObjectManager
SalesObjectManager
SalesObjectManager
Horizontal Scalability
Ve
rticalScalability
Enterprise-Wide Scalability
8/3/2019 SiebelArchitectureontheMSPlatform[1]
73/117
Enterprise Server
Siebel ServerSiebel ServerServer
Sales ObjectManager
Sales ObjectManager
Sales ObjectManager
Sales ObjectManagerProcess
Web Server + SWSEWeb Server + SWSE
Load Balancing
WebClient
WebClient
WebClient
WebClient
WebClient
WebClient
Load Balancing
SCB
Thread
SCB
Siebel 7.7 on the Microsoft Platform
8/3/2019 SiebelArchitectureontheMSPlatform[1]
74/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
75/117
As well as scalability also need to consider serveravailability
Some of the same features which provide scalability canalso enhance availability
Siebel Server AvailabilitySiebel Server Failure
8/3/2019 SiebelArchitectureontheMSPlatform[1]
76/117
Web Servers with SWSE
Siebel Enterprise Server
Load Balancers
Siebel Servers
Siebel fileSystem
Siebel Database
DedicatedWeb Client
HandheldClient
MobileWeb Client
WirelessClient
Wireless GatewayServer
WebClient
ServerManager GUI
SQLCE
MobileDB
Load Balancer Gateway NameServer
Server
Manager
Siebel Server AvailabilitySiebel Server Failure
8/3/2019 SiebelArchitectureontheMSPlatform[1]
77/117
Web Servers with SWSE
Siebel Enterprise Server
Load Balancers
Siebel Servers
Siebel fileSystem
Siebel Database
DedicatedWeb Client
HandheldClient
MobileWeb Client
WirelessClient
Wireless GatewayServer
WebClient
ServerManager GUI
SQLCE
MobileDB
Web Server
Load Balancing
Third Party loadbalancers
Load Balancer
User logs inagain
Logs in to differentSiebel Server
Gateway NameServer
Server
Manager
8/3/2019 SiebelArchitectureontheMSPlatform[1]
78/117
Siebel Server Availability
8/3/2019 SiebelArchitectureontheMSPlatform[1]
79/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
80/117
AssignmentManager
Web Server
SRBroker
WorkflowProcess Manager
Object Manager
SRBroker
AssignmentManager
WebClient
Siebel Enterprise Server
SRBroker
WorkflowProcess Manager
If yes, then the task is runlocally
Service Request Brokerdetermines if Assignment
Task is available locally
Web client requestsAssignment task
Distributed Services
8/3/2019 SiebelArchitectureontheMSPlatform[1]
81/117
AssignmentManager
WebClient
Siebel Enterprise Server
WorkflowProcess Manager
Web Server
SRBroker
Object Manager
SRBroker
AssignmentManager
SRBroker
WorkflowProcess Manager
Web client requestsWorkflow task
Service Request Brokerdetermines if WorkflowProcess Mgr is available
locally
No, tasks are assigned ona round-robin basis to
servers that have WorkflowProcess Mgr. running
Distributed Services
8/3/2019 SiebelArchitectureontheMSPlatform[1]
82/117
AssignmentManager
WebClient
Siebel Enterprise Server
WorkflowProcess Manager
Web Server
SRBroker
AssignmentManager
Object Manager
SRBroker
AssignmentManager
WorkflowProcess Manager
SRBroker
Web client requestsAssignment task
Service Request Brokerdetermines if Assignment
Task is available locally
Local Assignment Managercomponent is unavailable,so request routed to other
Assignment Manager
Failover Clusters - Usage
8/3/2019 SiebelArchitectureontheMSPlatform[1]
83/117
Gateway Name Server
Siebel File System
Siebel Server
Siebel Remote
Workflow Policies
Dynamic Assignment
And others..Siebel Database Server
Failover Clusters - Introduction
8/3/2019 SiebelArchitectureontheMSPlatform[1]
84/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
85/117
Storage
Network
Processes
LogicalServer
Storage
Network
Processes
PhysicalServer
SharedStorage
Storage
Network
Processes
PhysicalServer
Failover Services Cluster Deployment Models
8/3/2019 SiebelArchitectureontheMSPlatform[1]
86/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
87/117
Active-Active
Applications live on both hosts in cluster
Performance degraded on failover due to additional load
Better return on investment on second server
Logical Logical
Physical Physical
Failover Services Cluster Deployment Models
8/3/2019 SiebelArchitectureontheMSPlatform[1]
88/117
GatewayName Server
LogicalServer
Siebel ServerLogical
Server
Siebel FileSystemLogicalServer
Siebel ServerLogical
Server
PhysicalServer
PhysicalServer
8/3/2019 SiebelArchitectureontheMSPlatform[1]
89/117
Installing Siebel on Microsoft Server Clusters
8/3/2019 SiebelArchitectureontheMSPlatform[1]
90/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
91/117
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__
i.e. siebsrvr_EntSieb752_srvr1
Sample Cluster Resources Siebel Server
8/3/2019 SiebelArchitectureontheMSPlatform[1]
92/117
Installing Siebel on Microsoft Server Clusters
8/3/2019 SiebelArchitectureontheMSPlatform[1]
93/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
94/117
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_namefor serverlogical_Siebel_Servername
Installing Siebel on Clusters - Issues
8/3/2019 SiebelArchitectureontheMSPlatform[1]
95/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
96/117
Just need a clustered network share
Use the File Share cluster resource type
Siebel File System must reside on a clustereddisk
Siebel 7.7 on the Microsoft Platform
8/3/2019 SiebelArchitectureontheMSPlatform[1]
97/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
98/117
Any Questions.
8/3/2019 SiebelArchitectureontheMSPlatform[1]
99/117
Siebel Systems 2005 Do not distribute or re-use without permission
Siebel Global Deployments
Module 1:Siebel 7.7 on the
Microsoft Platform
8/3/2019 SiebelArchitectureontheMSPlatform[1]
100/117
8/3/2019 SiebelArchitectureontheMSPlatform[1]
101/117
8/3/2019 SiebelArchitectureontheMSPlatform[1]
102/117
Network Performance Siebel Configuration
8/3/2019 SiebelArchitectureontheMSPlatform[1]
103/117
Browser Validation
Reduces the need for server communications to validate
data entry
Implement through browser script
Immediate Posting of ChangesWhere 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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
104/117
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 wont use view caching
Network Performance Siebel Settings
8/3/2019 SiebelArchitectureontheMSPlatform[1]
105/117
View Caching
Enabled through Object Manager configuration (.cfg) filesetting
[SWE]
EnableViewCache=TRUE
Controlled through:User Preferences > Behaviour > View Cache Size
Default: 10
Server Request Broker
8/3/2019 SiebelArchitectureontheMSPlatform[1]
106/117
Used to start synchronous Siebel Server tasks
Server Request Broker & Server Manager are the onlycomponents 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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
107/117
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 ServersMaintains 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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
108/117
Used to start asynchronous Siebel Server tasks
Manages queued requests
Calls SRBroker to manage task execution
Background component
Siebel Server Server Request Broker
8/3/2019 SiebelArchitectureontheMSPlatform[1]
109/117
Server
RequestBroker
Server
RequestBroker
Server
RequestBroker
Workflow
ProcessManager
Workflow
ProcessManager
ObjectManager
Run
AssignmentTask
Assignment
Manager
Run
Assignmenton local
server
AssignmentManager Is Assignment
available on this
server?
Siebel Server Server Request Broker
8/3/2019 SiebelArchitectureontheMSPlatform[1]
110/117
Server
Request
Broker
Server
RequestBroker
Server
RequestBroker
Workflow
Process
Manager
Workflow
ProcessManager
ObjectManager
Run
Workflow
Process
AssignmentManager
Whichother
servers
have
workflowonline?
Is Workflow
Manager
available on
this server?
Assignment
Manager
Choose server
on round-
robin basis
Server Request Processor
8/3/2019 SiebelArchitectureontheMSPlatform[1]
111/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
112/117
S_SRM_REQUEST SRProc
SRBroker
Task
Sleep
Interval
Request
Queue
Performance and Scalability
8/3/2019 SiebelArchitectureontheMSPlatform[1]
113/117
Component Scalability
Scalability Across Components
Network Scalability
Architecture Overview
Performance Optimization
Performance Management
Connection Pooling
8/3/2019 SiebelArchitectureontheMSPlatform[1]
114/117
Siebel 7 can pool sessions at two levels:Web server to Siebel Enterprise
SISNAPI Connection Pooling
Multiple SISNAPI (Siebel) sessions through one TCP sessionReduces 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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
115/117
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
8/3/2019 SiebelArchitectureontheMSPlatform[1]
116/117
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 DBsessions
MinTrxDbConns - Minimum number of specialized DBsessions to be kept in pool
Database Network Architecture
8/3/2019 SiebelArchitectureontheMSPlatform[1]
117/117
Siebel ServerObject Manager
Shared Shared Specialized
Client Connections
ServerRequest
Processor
Threads (sessions)
Native Database Connectivity
(ODBC for SQL Server)