2Siebel Enterprise Server Architecture
Siebel Enterprise Server Architecture
This chapter provides an overview of the Siebel Enterprise Server architecture for Oracle's Siebel CRM. This chapter includes the following topics:
About the Siebel Environment
Each Siebel CRM environment includes at least the following entities, which are listed in the following table.
Table Siebel CRM Entities
Entity |
Comments |
---|---|
Siebel clients |
Client types include Siebel Web Client, Siebel Mobile Web Client, Siebel Developer Web Client, and Siebel Mobile applications. The Siebel Tools client is a special-purpose client for developers. |
Siebel Gateway |
A module that provides persistent and dynamic storage of configuration information for the Siebel Enterprise, Siebel Server, Siebel Application Interface, and other configurable entities. |
Siebel Enterprise Server |
The logical grouping of one or more Siebel Servers in your deployment. You must configure the Siebel Enterprise before you can configure the Siebel Server. |
Siebel Server |
The middle-tier platform that supports both back-end and interactive processes for every Siebel client. Siebel Server includes many different types of components, including Siebel Application Object Managers. |
Siebel Application Interface |
A module that enables communication between Siebel Web Clients and Siebel Servers. |
Siebel database |
The Siebel tables, indexes, and seed data installed on the RDBMS. Database client software is also required. |
Siebel File System |
One or more directories that store physical files used by Siebel clients and Siebel Enterprise Server. |
The Siebel Enterprise Server environment represents the middle tier within the three-tiered Siebel CRM applications environment, between the Siebel client and the Siebel database. For more information, see Siebel Deployment Planning Guide. For installation information, see the Siebel Installation Guide for the operating system you are using.
About the Siebel Gateway
The Siebel Gateway coordinates the Siebel Enterprise Server and Siebel Servers. A single Siebel Gateway can support a single Siebel Enterprise Server. The Siebel Gateway provides the persistent backing of Siebel Enterprise Server configuration information, including:
Definitions and assignments of component groups and components
Operational parameters
Connectivity information
Because this information changes, such as during the configuration of a Siebel Server, it is written to the Siebel Gateway registry. At startup, the Siebel Server obtains its configuration information from the Siebel Gateway registry.
The Siebel Gateway provides the dynamic registry for Siebel Server and component availability information. At startup, a Siebel Server within the Siebel Enterprise Server notifies the Siebel Gateway of its availability and stores its connectivity information, such as network addresses, in the Siebel Gateway's nonpersistent (volatile) store. For information about backing up and restoring the Siebel Gateway registry, see Backing Up and Restoring the Siebel Gateway Registry.
Enterprise components (including the Server Manager) query the Siebel Gateway for Siebel Server availability and connectivity information. When a Siebel Server shuts down, this nonpersistent information is cleared from the Siebel Gateway.
In a Windows environment, the Siebel Gateway runs as a Windows service. In a UNIX environment, the Siebel Gateway runs as a daemon process. The system process for the Siebel Gateway is siebsvc.exe on Windows and siebsvc on UNIX. Each running Siebel Server has a corresponding Siebel Gateway system process. For information about running the Siebel Gateway, see Siebel Enterprise, Server, and Component Parameters.
The Siebel Gateway also includes an application container. The application container process for the Siebel Gateway is tomcat8.exe on Windows and javaw on UNIX. See also Starting and Shutting Down a Siebel CRM Deployment.
Impact of Failure
When the Siebel Gateway goes down, service to active user connections is not immediately interrupted. All of the Siebel Server components, including Application Object Managers, that are currently running continue to do so. However, no new Siebel Server components can be started or added. Server administration functions become limited.
As of Siebel CRM 18.5 Update, Siebel CRM supports an optional native clustering feature for Siebel Gateway to provide high availability benefits to Siebel CRM customers. For more information, see the Siebel Installation Guide for the operating system you are using.
About the Siebel Enterprise Server
The Siebel Enterprise Server is a logical grouping of Siebel Servers that supports a group of users accessing a common Siebel database. The Siebel Enterprise Server can be configured, managed, and monitored as a single logical group, allowing the Siebel administrator to start, stop, monitor, or set parameters for Siebel Servers within a Siebel Enterprise Server. You must configure the Siebel Enterprise before you can configure the Siebel Server.
You can set some Siebel Server parameters at the Siebel Enterprise Server level, and these parameters apply to every Siebel Server and component operating within that Siebel Enterprise Server. Other parameters can be adjusted at the Siebel Server or component level to support fine-tuning your deployment.
Parameter settings are inherited unless overrides are in effect, as follows:
If a parameter is set at the server level, then the server-specific value overrides the Siebel Enterprise Server parameter setting on that server.
If a parameter is set at the component level, then the component-specific value overrides the enterprise-level or server-level parameter setting on that component.
Each Siebel Server belonging to a Siebel Enterprise Server must connect to the same Siebel database in the same database server.
The Siebel Enterprise Server itself has no processes and, therefore, cannot have a state.
For more information about configuring the Siebel Enterprise Server, see Configuring the Siebel Enterprise Server.
About the Siebel Server
The Siebel Server is the middle-tier platform that supports both back-end and interactive processes for every Siebel client. These processes are components within the Siebel Server architecture and support functions like the following:
Operation of business logic for Siebel Web clients, as well as connectivity and access to the Siebel database and Siebel File System
Mobile Web Client synchronization
Integration with legacy or third-party data
Automatic assignment of new accounts, opportunities, service requests, and other records
Workflow management
The Siebel Server supports both multiprocess and multithreaded components, and can operate components in background, batch, and interactive modes. Many of the Siebel Server components can operate on multiple Siebel Servers simultaneously to support an increased number of users or larger batch workloads. For more information about Siebel Server components, see About Siebel Server Components.
This topic contains the following information:
About the Siebel Server System Service
The Siebel Server runs as a system service that monitors and controls the state of every Siebel Server component operating on that Siebel Server. Each Siebel Server is an instantiation of the Siebel Server system service within the current Siebel Enterprise Server.
The Siebel Server runs as a Windows service in a Windows environment and as a daemon process in a UNIX environment. The system process associated with the Siebel Server is siebsvc.exe on Windows and siebsvc on UNIX. Each running Siebel Server has a corresponding Siebel Server system process. For information about administering the Siebel Server system service, see Administering the Siebel Server System Service.
During startup, the Siebel Server system service performs the following sequential steps:
Retrieves configuration information from the Siebel Gateway. For information about the Siebel Gateway, see About the Siebel Gateway.
Creates a shared memory file located in the
admin
subdirectory of the Siebel Server root directory on Windows and thesys
subdirectory on UNIX. By default, this file has the following name:Enterprise_Server_Name.Siebel_Server_Name.shm
The total shared memory consists of a fixed amount for the Siebel Server itself, a block for each server component running on the server, and a block for each task.
Prior to creating the SHM file, the shared memory for the Siebel application executable programs is built up in the RAM of the computer by using the information retrieved from the Siebel Gateway. This process can use significant amounts of memory. After the creation of the SHM file, the Siebel Server system service releases this memory. The Siebel Server system service deletes this file when it shuts down.
Siebel Connection Broker (alias SCBroker) server component opens a TCP port to accept inbound Application Object Manager requests. If there are multiple instances of SCBroker on this Siebel Server, then all of the instances listen on the same port.
Opens TCP ports dynamically for non-Application Object Manager components as necessary, such as Workflow Process Manager.
Forks single-threaded and multithreaded processes for background mode components enabled on the Siebel Server. The previously created ports are inherited to these processes. For more information about these processes, see About Server Component Processes (Shells).
When server component processes start, each process updates the shared memory table with component availability and status information. SCBroker and SRBroker use this information for load balancing and routing purposes.
Archives log files by moving the current
log
directory to thelogarchive
directory.
log
or
logarchive
directory is locked or inaccessible, then a log archive is not created.
About Siebel Server Manager
The Siebel Server Manager is the native management and administration interface for the Siebel Server and Siebel Enterprise Server. The Siebel Server Manager allows you to configure the parameters governing the operation of each component, and determine on which Siebel Servers a given component can operate.
Use the Siebel Server Manager to do the following:
Start, stop, pause, and resume Siebel Servers, components, and tasks.
Monitor the status and collect statistics across the Siebel Enterprise Server, Siebel Servers, components, and tasks.
Manage the configuration of the Siebel Enterprise Server, Siebel Servers, components, and tasks.
You can operate the Server Manager by using one of two interfaces:
The graphical user interface, or GUI, by using the server administration views in the Siebel application client.
Use the Server Manager GUI for most administrative duties because it includes greater user interface functionality (including the ability to search for and sort various fields within views) and a more intuitive view into the operation of Siebel Servers than does the command-line interface.
The command-line interface, or the srvrmgr program.
Use the command-line interface for batch mode processing, because it can run from batch scripts by invoking script files with administration commands that must be run on a regular basis.
The Server Manager (both the GUI and the command-line interface) connects to the Siebel Gateway, which contains availability and connectivity information for the Siebel Servers within the Siebel Enterprise Server. The Server Manager then connects with each of the Siebel Servers and starts a Server Manager component task.
Note the following behavior:
If you access the GUI, then Server Manager creates a task on every running Siebel Server.
If you access the command-line interface without specifying a specific Siebel Server, then Server Manager creates a task on every running Siebel Server.
If you start the command-line interface while specifying a specific Siebel Server, by using the /s or -s flag, then Server Manager creates a task on that specific Siebel Server alone, and all of the commands are targeted to that Siebel Server at the server level.
On each Siebel Server, the Server Manager task:
Handles administration commands from the Server Manager
Executes requested functions
Returns each operation's results to the Server Manager
Note: Each session of Server Manager creates a separate Server Manager task. Therefore, you create a new Server Manager task each time that you access the server administration screens.
About Siebel Server Components
The various programs that operate on the Siebel Server are implemented as components. A component represents only a specific type of program. A component is executed or operated as a task, or instantiation of a component, on a specific Siebel Server.
This topic contains the following information:
About Server Component Modes
Components execute tasks in one of three run modes: background, batch, or interactive:
Background mode components. Background mode components execute tasks to perform background operations for the Siebel Server. After a background mode component task starts, it runs until you explicitly stop the task, or until the Siebel Server itself is shut down.
You can manually start a background mode component by using the Siebel Server Manager. Components with a Default Tasks parameter set to a value greater than zero might start automatically when the Siebel Server is started. Examples of background mode components include Transaction Router, Replication Agent, and Workflow Monitor Agent.
Batch mode components. You must manually start these components by using the component job process in the Server Manager GUI or the Server Manager command-line interface. Batch mode components end after the task has been performed. Examples of batch mode components include Database Extract and Enterprise Integration Manager.
Interactive mode components. Interactive mode components start tasks automatically in response to client requests. Interactive mode component tasks execute for as long as the client maintains the session, and end when the client disconnects. Examples of interactive mode components include Synchronization Manager and Application Object Managers.
For a list of Siebel Server components and their associated run modes, see Siebel Server Components.
About Server Component Types
Siebel Server supports multiple component types. Each type performs a specific function or job. A component type is configured with a set of parameters that determine its behavior to create an entity called a defined component (or component). Components are defined at the Siebel Enterprise Server level in component groups. Component groups are then assigned to one or more Siebel Servers within the Siebel Enterprise Server on which they can execute tasks.
When the Siebel Server is installed and initially configured, predefined components are automatically configured for each component type. These predefined components are then automatically assigned to each Siebel Server within the Siebel Enterprise Server. You can run your entire Siebel CRM deployment by using these predefined components, or you can modify their definitions and create new defined components to fine-tune your Siebel configuration. For a list of predefined Siebel Server components, see Siebel Server Components.
The defined components feature allows you to create multiple defined components for a given component type, simplifying the process of starting various types of tasks that use different parameters, and managing components across multiple Siebel Servers.
For example, you might create one defined component for an Application Object Manager for the Siebel Sales application in Norwegian, and another for an Application Object Manager for the Siebel Service application, also in Norwegian. (Norwegian is an example of an unshipped language, as discussed in Siebel Global Deployment Guide.) Although these two defined components use the same component type, they service distinct sets of users with different functionality requirements, and are distinct entities that can be individually managed, configured, and administered. Defined components are configured in the Enterprise Component Definitions view of the Server Manager GUI.
About Server Component Groups
Component groups are functional areas that involve logical groupings of Siebel Server components and multiple operating system processes. A component group consists of one or more components, which might be running in one or more operating system processes. Component groups act as:
The unit of deployment on, or assignment to, a Siebel Server. In general, you include in a Siebel Server the group of components that are deployed on one or more servers.
A unit for monitoring functionality of the interrelated components within the group (you can get a summary of the operational status at the component group, which is determined by the individual states of the constituent components).
A unit of control allowing you, in a single step, to make available or unavailable several interrelated components, such as those included in the Siebel Remote or Workflow Management component groups.
Siebel CRM provides several predefined component groups. For a list of the components contained within each component group, see Siebel Server Component Groups. For information about creating your own component groups, see Creating a Custom Siebel Server Component Group.
About Server Component Processes (Shells)
The Siebel Server runs each component in its own separate process (or shell). These shells provide the interface for a component to communicate with shared memory, and use infrastructure facilities for logging, events, networking, and so on.
A shell performs the following actions when it is forked off:
Initializes the logging and networking facility.
Determines which component to run. The component is specified as a DLL (personality DLL), which is run by the Siebel Server either as part of the input parameters or as part of a network message.
Attaches to shared memory.
The Siebel Server forks off an appropriate shell based on the component mode (interactive, batch, or background) and whether the component is object manager-based, multithreaded, or both. The tables in this topic identify the shell types created in various scenarios for interactive mode, batch mode, and background mode components.
Shell Types for Interactive Mode Components
The following table identifies the shell types created for interactive mode components.
Table Shell Types for Interactive Mode Components
Multithreaded |
Object Manager-Based |
Shell |
---|---|---|
False |
False |
siebsess |
True |
False |
siebmtsh |
True |
True |
siebmtshmw |
The following table identifies the shell types created for batch mode components.
Table Shell Types for Batch Mode Components
Multithreaded |
Object Manager-Based |
Shell (Created at Bootstrap) |
Shell (Created at Run Time) |
---|---|---|---|
False |
False |
siebproc |
siebsh |
False |
True |
siebprocmw |
siebshmw |
True |
False |
siebmtsh |
siebmtsh |
True |
True |
siebmtshmw |
siebmtshmw |
The following table identifies the shell types created for background mode components.
Table Shell Types for Background Mode Components
Object Manager-Based |
Shell (Created at Boot Time) |
Shell (Created at Run Time) |
---|---|---|
False |
siebproc |
siebsh |
True |
siebprocmw |
siebshmw |
The following are examples of shells for Siebel Server components:
A background component that is not object manager-based is brought up in a siebproc shell. For example, Transaction Processor (alias TxnProc).
An interactive component that is multithreaded and not object manager-based is brought up in a siebmtsh shell. For example, Server Request Broker (alias SRBroker).
A multithreaded, object manager-based component is brought up in a siebmtshmw shell. For example, Call Center Object Manager for U.S. English (Call Center Object Manager (ENU), alias SCCObjMgr_enu).
Parameters Controlling the Number of Shells
The following parameters configure shell (process) startup for interactive, batch, and background mode components:
Maximum MT Servers (alias MaxMTServers)
Minimum MT Servers (alias MinMTServers)
Maximum Tasks (alias MaxTasks)
Default Tasks (alias DfltTasks)
For more information about configuring these parameters, see Siebel Enterprise, Server, and Component Parameters and Application Object Manager Parameters in Server Manager.
To review information about the shells forked off by the Siebel Server, access the Siebel Server log file. For information about viewing Siebel Server log files, see Siebel System Monitoring and Diagnostics Guide.
About the Siebel Application Interface
Siebel Application Interface is a module that enables communication between Siebel Web Clients and Siebel Servers. As of Siebel CRM 17.0, the Siebel Application Interface has replaced the Siebel Web Server Extension (SWSE). For information about installing and configuring Siebel Application Interface, see the Siebel Installation Guide for the operating system you are using.
About the Siebel File System and the File System Manager
The Siebel File System is a shared directory, or a set of directories on different devices, which is network-accessible to all of the Siebel Servers in the Siebel Enterprise Server. It contains the physical files used by the Siebel clients and Siebel Servers. To gain access to files, Web clients connect to the appropriate Siebel Server to request file uploads or downloads. The Siebel Server then accesses the Siebel File System by using the File System Manager (alias FSMSrvr) component. File System Manager processes these requests through interaction with the Siebel File System directories.
For information about administering the Siebel File System, see Administering the Siebel File System. For information about creating the Siebel File System, see the Siebel Installation Guide for the operating system you are using.
When using Siebel Developer Web Client for administrative tasks, you might want to connect directly to the Siebel File System without going through the File System Manager.
About the Siebel Management Pack
The Siebel Management Pack provides the underlying infrastructure components that are required to support the deployment features offered by the Oracle Enterprise Manager. The deployment of the Siebel Management Pack is optional. For more information, go to Oracle Technology Network by navigating to the following link about Packaged Application Management solutions. Review all Siebel-related information provided.
http://www.oracle.com/technetwork/oem/app-mgmt/index.html
In particular, follow the link to Implementation and Getting Started Guides for all Application Management Suite Products, and then follow the link to Getting Started with Application Management Pack for Siebel.