We have moved to a Please visit there for updated posts

Saturday, October 6, 2007

Siebel CRM - Back to Basics (Siebel Architechture).

In a perfect world this would have been my first article. But this world is not perfect and as the saying goes 'Better late than never' here it is.

I will approach Siebel Architecture in a different way. Then I will take each technical term used in this article that is important and requires further exploration and explain it further in next articles of Back to Basics series.

Ever wondered what happens once you have put the URL of your siebel Application in the browser and hit enter?

This is different approach to Siebel Architecture. The answer to this question will be an explaination of Siebel Architechture. So, Let's start.

==> You have opened your browser window and have enterned the URL and Clicked Go button of your browser window
Before going into background I would like to explain or dissect the above given URL.

http : Is the protocol that is being used to transfer the data over web from one computer to another.
yoursiebelapp : is the host name of the Web Server on which your Siebel Component resides. We will go into details of these components later
apptype_lang can be divided into two parts
apptype : Represents the module you are using can be sales, callcenter, mkt etc.
lang : Represents the language of your implementation can be enu, fin etc.
start.swe : It might be used or might not be used but represents a command recoganized by siebel component called 'SWSE' which stands for Siebel WebServer Extensions.

Now we know the meaning of the URL we have just entered we will move behind the scenes.

==> The Request goes to the Webserver (Discussing Webserver is out of scope for this post) where an important component resides called Siebel Webserver Extensions (SWSE).
The responsibility of this component is to identify if the request that has arrived on webserver is a Siebel request or not and also it helps to format the html pages that are server to the Web Clients of siebel. It also supports Load balancing if you have more than one siebel server which generally is the case.
==> If the request received is a siebel request then SWSE contacts Siebel Gateway Name Server to obtain information about Siebel Servers and Siebel Enterprise Server.
Siebel Gateway Name Server (SGNS):
SGNS can be considered as Sieber Server contact information storehouse for all the siebel servers. It serves as the dynamic address registry for Siebel Servers and components. At start up, a Siebel Server within the Siebel Enterprise Server stores its network address in the Gateway Name Servers nonpersistent address registry.
It also has a important file called siebns.dat containg information of Siebel Servers such as
1. Operational parameters
2. Connectivity information
3. Definitions and assignments of component groups and components

Siebel Enterprise Server (SES) :
SES is not a physical server it is just a logical entity in simple terms SES is a logical grouping on serveral siebel servers such as Siebel Server shaing one database can part of SES.

The Siebel Servers in a Siebel Enterprise Server are configured, managed, and monitored as a single logical group which helps the Siebel Administrator to start, stop, monitor, or set server parameters for all Siebel Servers within the Siebel Enterprise Server.

==> Once the SWSE gets information about Siebel Server it forwards the request to the Siebel Server on Round Robin basis due its load balancing feature.

Siebel Server (SS) :
Siebel Server is the system on which Siebel Server Components are installed and it functions as Application server. Each server component performs a defined function.Server components or groups of components determine what applications and services a Siebel Server supports. The Siebel Server runs as a system service under Windows and a process under UNIX. This system service or process monitors and controls the state of all server components on that Siebel Server. Each Siebel Server is one instantiation of the Siebel Server system service or process within the current Siebel Enterprise Server.

==> Once the request is received by siebel server it is passed to a component called Application Object Manager (AOM)

Application Object Manager (AOM) :
One of the most important types of server components is the Application Object Manager (AOM).They process user requests and are application or service-specific. For example A Sales Application will have Sales AOM and Call center application will have a Call Center AOM.This Application Object Manager provides the session environment in which this application runs. When an AOM receives a user request to start an application, it does the following:

==> The business object layer starts an application user session, processes any required business logic, and sends a data request to the data manager.

Data Manager (DM) :
Data Manager is that another component that is a part of AOM. Its primary function is to receive user request create corresponding SQL and Forward it to database Server. It also receives results from Database server and forwards it to Siebel Business Object Layer for additional processing.

==> Siebel Business Object Layer forwards the results to Siebel Web Engine (SWE) another component residing in AOM.

==> SWE helps create UI for the data and forwards the web pages to the SWSE Component which resides on Web Server.

==> Webserver then sends back the results to the users who had intially requested it.


You Might want to read following articles also.