SiebelArchitectureontheMSPlatform[1]

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)