How does a User Request flow in siebel?
Sample URL to be used throughout:
When a user hits this url – abc.xyz.com – this part of the URL gets resolved to the IP Address Of the Load Balancer which is used for load balancing the Siebel Webservers. Depending on the type of the routing rule configured at the Load Balancer – mostly the round robin is used – the requests are forwarded to the webservres.
What Happens at the Webserver Level:
Webservers – To accept and forward user request. Following things happen at the webserver level:
- Virtual to physical directory conversion. This is required for security purpose and to keep the users unaffected even if there is a change in the physical paths on the server for some reason.
- After the Virtual to Physical conversion the request is picked up by the SWSE – which is a plug in for Siebel on webserver.
- SWSE reads the URL and tries to locate the section present in the URL and searches for the same in the Eapps.cfg file.
For example in the sample url – the SWSE will look for the string /crm in the eapps.cfg file – which will be present in the eapps.cfg as shown below:
ConnectString = siebel.TCPIP.None.None://VS_eCommunication/enterprise1/eCommunications_enu
WebPublicRootDir = d:sea78SWEApppublicenu
WebUpdatePassword = RhirdYbPrARxuzwfy2zwtwEdxrYo
- Once the section with the portion of the URL in the eapps.cfg (in this case /crm) is located the instructions within the section are followed – which normally gives a call to the Lbconfig.txt file – VS_eCommunication – in the section shown in point 3 is present in the lbconfig.txt file which is shown below:
Once the pool is located in the lbconfig.txt SWSE picks up the hostname and port number (2321 –SCBrokerPort) on a round robin fashion from the list of servers in the pool and throws the request on port 2321 of the selected hostname. Thus SWSE uses lbconfig.txt to retrieve the hostname and port number to send the request Plus performs load balancing for a pool of Object Manager servers as well.
What Happens at the Application and Database Server:
- The request thrown on port 2321 from the webserver is received by SCBroker .
- SCBroker looks at the process section of the shm file and determines which process has the least load and forwards it to the process with the least load( this happens after Siebel 7.5)
- The process starts a task for the request – which in turn creates a DB session – authenticates the user at DB level (here we are just using the case of DB Authentication)
- Once the user is authenticated the task takes care of building the session and page for the user by pulling the data for the user form the database and filling it in Web Template.
One point worth mentioning here is that the login page is presented to the user only when the anonymous user mentioned in the eapps.cfg file at the webserver is verified at the Database level.(If we are using DB Authentication).