siebelarchitectureonthemsplatform

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

Upload: api-3754066

Post on 14-Nov-2014

111 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: SiebelArchitectureontheMSPlatform

©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

Page 2: SiebelArchitectureontheMSPlatform

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

Page 3: SiebelArchitectureontheMSPlatform

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

Page 4: SiebelArchitectureontheMSPlatform

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

Page 5: SiebelArchitectureontheMSPlatform

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

Page 6: SiebelArchitectureontheMSPlatform

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

Page 7: SiebelArchitectureontheMSPlatform

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

Page 8: SiebelArchitectureontheMSPlatform

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

Page 9: SiebelArchitectureontheMSPlatform

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

Page 10: SiebelArchitectureontheMSPlatform

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

Page 11: SiebelArchitectureontheMSPlatform

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

Page 12: SiebelArchitectureontheMSPlatform

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.

Page 13: SiebelArchitectureontheMSPlatform

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

Page 14: SiebelArchitectureontheMSPlatform

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

Page 15: SiebelArchitectureontheMSPlatform

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.

Page 16: SiebelArchitectureontheMSPlatform

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

Page 17: SiebelArchitectureontheMSPlatform

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

Page 18: SiebelArchitectureontheMSPlatform

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

Page 19: SiebelArchitectureontheMSPlatform

Network Scalability – Content Expiration

IIS Settings

Set Content Expiration2 days is typical settingSet through Internet Information Services Administration

HTTP Headers > Content Expiration

Page 20: SiebelArchitectureontheMSPlatform

Network Scalability – Web Server

Use HTTP keep-alive

Reduces the need to negotiate TCP sessions for each HTTP message

Page 21: SiebelArchitectureontheMSPlatform

Network Scalability – Compression

Compression (Static Content)

Performed by web server (IIS)

Page 22: SiebelArchitectureontheMSPlatform

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

Page 23: SiebelArchitectureontheMSPlatform

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

Page 24: SiebelArchitectureontheMSPlatform

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

Page 25: SiebelArchitectureontheMSPlatform

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

Page 26: SiebelArchitectureontheMSPlatform

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

Page 27: SiebelArchitectureontheMSPlatform

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

Page 28: SiebelArchitectureontheMSPlatform

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

Page 29: SiebelArchitectureontheMSPlatform

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

Page 30: SiebelArchitectureontheMSPlatform

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

Page 31: SiebelArchitectureontheMSPlatform

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

Page 32: SiebelArchitectureontheMSPlatform

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

Page 33: SiebelArchitectureontheMSPlatform

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

Page 34: SiebelArchitectureontheMSPlatform

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

Page 35: SiebelArchitectureontheMSPlatform

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

Page 36: SiebelArchitectureontheMSPlatform

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

Page 37: SiebelArchitectureontheMSPlatform

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

Page 38: SiebelArchitectureontheMSPlatform

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

Page 39: SiebelArchitectureontheMSPlatform

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

Page 40: SiebelArchitectureontheMSPlatform

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

Page 41: SiebelArchitectureontheMSPlatform

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

Page 42: SiebelArchitectureontheMSPlatform

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

Page 43: SiebelArchitectureontheMSPlatform

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

Page 44: SiebelArchitectureontheMSPlatform

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

Page 45: SiebelArchitectureontheMSPlatform

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

Page 46: SiebelArchitectureontheMSPlatform

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;

Page 47: SiebelArchitectureontheMSPlatform

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;

Page 48: SiebelArchitectureontheMSPlatform

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

Page 49: SiebelArchitectureontheMSPlatform

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?

Page 50: SiebelArchitectureontheMSPlatform

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

Page 51: SiebelArchitectureontheMSPlatform

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

Page 52: SiebelArchitectureontheMSPlatform

Time for a Break…

Page 53: SiebelArchitectureontheMSPlatform

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

Page 54: SiebelArchitectureontheMSPlatform

Component Scalability

Scaling within a serverMulti-threaded componentsSiebel Connection Broker

Scaling across serversLoad balancing

Focus on Object Managers (user sessions)

Page 55: SiebelArchitectureontheMSPlatform

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)

Page 56: SiebelArchitectureontheMSPlatform

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

Page 57: SiebelArchitectureontheMSPlatform

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

Page 58: SiebelArchitectureontheMSPlatform

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

Page 59: SiebelArchitectureontheMSPlatform

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

Page 60: SiebelArchitectureontheMSPlatform

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.

Page 61: SiebelArchitectureontheMSPlatform

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

Page 62: SiebelArchitectureontheMSPlatform

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

Page 63: SiebelArchitectureontheMSPlatform

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

Page 64: SiebelArchitectureontheMSPlatform

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)

Page 65: SiebelArchitectureontheMSPlatform

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

Page 66: SiebelArchitectureontheMSPlatform

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

Page 67: SiebelArchitectureontheMSPlatform

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

Page 68: SiebelArchitectureontheMSPlatform

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

Page 69: SiebelArchitectureontheMSPlatform

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

Page 70: SiebelArchitectureontheMSPlatform

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

Page 71: SiebelArchitectureontheMSPlatform

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

Page 72: SiebelArchitectureontheMSPlatform

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

Page 73: SiebelArchitectureontheMSPlatform

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

Page 74: SiebelArchitectureontheMSPlatform

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

Page 75: SiebelArchitectureontheMSPlatform

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

Page 76: SiebelArchitectureontheMSPlatform

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

Page 77: SiebelArchitectureontheMSPlatform

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

Page 78: SiebelArchitectureontheMSPlatform

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

Page 79: SiebelArchitectureontheMSPlatform

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

Page 80: SiebelArchitectureontheMSPlatform

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

Page 81: SiebelArchitectureontheMSPlatform

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

Page 82: SiebelArchitectureontheMSPlatform

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

Page 83: SiebelArchitectureontheMSPlatform

Failover Clusters - Usage

Gateway Name Server

Siebel File System

Siebel Server

Siebel Remote

Workflow Policies

Dynamic Assignment

And others…..

Siebel Database Server

Page 84: SiebelArchitectureontheMSPlatform

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

Page 85: SiebelArchitectureontheMSPlatform

Storage

Network

Processes

LogicalServer

Storage

Network

Processes

PhysicalServer

SharedSharedStorageStorage

Failover Services – How they work

Storage

Network

Processes

PhysicalServer

Page 86: SiebelArchitectureontheMSPlatform

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

Page 87: SiebelArchitectureontheMSPlatform

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

Page 88: SiebelArchitectureontheMSPlatform

Gateway Name Server

LogicalServer

Failover Services – Cluster Deployment Models

Siebel ServerLogicalServer

Siebel File SystemLogicalServer

Siebel ServerLogicalServer

PhysicalServer

PhysicalServer

Page 89: SiebelArchitectureontheMSPlatform

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

Page 90: SiebelArchitectureontheMSPlatform

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

Page 91: SiebelArchitectureontheMSPlatform

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

Page 92: SiebelArchitectureontheMSPlatform

Sample Cluster Resources – Siebel Server

Page 93: SiebelArchitectureontheMSPlatform

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

Page 94: SiebelArchitectureontheMSPlatform

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

Page 95: SiebelArchitectureontheMSPlatform

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)

Page 96: SiebelArchitectureontheMSPlatform

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

Page 97: SiebelArchitectureontheMSPlatform

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

Page 98: SiebelArchitectureontheMSPlatform

Any Questions….

Page 99: SiebelArchitectureontheMSPlatform

©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

Page 100: SiebelArchitectureontheMSPlatform
Page 101: SiebelArchitectureontheMSPlatform
Page 102: SiebelArchitectureontheMSPlatform
Page 103: SiebelArchitectureontheMSPlatform

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

Page 104: SiebelArchitectureontheMSPlatform

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

Page 105: SiebelArchitectureontheMSPlatform

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

Page 106: SiebelArchitectureontheMSPlatform

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

Page 107: SiebelArchitectureontheMSPlatform

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

Page 108: SiebelArchitectureontheMSPlatform

Server Request Processor

Used to start asynchronous Siebel Server tasks

Manages queued requests

Calls SRBroker to manage task execution

Background component

Page 109: SiebelArchitectureontheMSPlatform

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?

Page 110: SiebelArchitectureontheMSPlatform

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

Page 111: SiebelArchitectureontheMSPlatform

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

Page 112: SiebelArchitectureontheMSPlatform

Siebel Server – Server Request Processor

S_SRM_REQUEST SRProc

SRBroker

Task

Sleep Interval

Request Queue

Page 113: SiebelArchitectureontheMSPlatform

Performance and Scalability

Component ScalabilityComponent Scalability

Scalability Scalability AAcross Componentscross Components

NNeettwork Scalabilitywork Scalability

Architecture OverviewArchitecture Overview

Performance OptimizationPerformance Optimization

Performance ManagementPerformance Management

Page 114: SiebelArchitectureontheMSPlatform

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)

Page 115: SiebelArchitectureontheMSPlatform

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

Page 116: SiebelArchitectureontheMSPlatform

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

Page 117: SiebelArchitectureontheMSPlatform

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