cancel
Showing results for 
Search instead for 
Did you mean: 

Web DIspatcher Problem....

Former Member
0 Kudos
462

Hi all,

I have setup a web dispatcher for our BW 3.5 environment.

Web Dispather is running on hostA. BW message server is running on hostB.

I used the bootstrap to configure the web dispatcher and seems like it started correctely. I do not see any error in the log file and I can see the status from the web console as well. It is all green. I have tried to shutdown and start again and it worked.

My question is -

When I go to BW and enter transaction code RRMX. It opens a BEx and I execute a query and it uses DIA WP to execute it. Now I launch it on the Web.

I think it should read the SICF service and pick up a logon group, which I entered, and do load balancing.

Am I Correct?

But How does the hostB know that there is a Web Dispatcher activated on hostA. Though I knwo that hostA has all the information I entered abut the message server of hostB.

AND

As I have already entered the logon group in SICF then do we still need web dispatcher to load balance.

I am not able to understand the flow of request (from presentation server) and result (from hostB).

Can anybody please help me in understanding this.

I will appreciate your help.

Thank you.

Sume

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

There is a diagram and description of the Web Dispatcher environment here: <a href="http://help.sap.com/saphelp_nw04/helpdata/en/e9/3bb7f8f6ea4e938ef0b9687cbb6c14/content.htm">http://help.sap.com/saphelp_nw04/helpdata/en/e9/3bb7f8f6ea4e938ef0b9687cbb6c14/content.htm</a>.

Basically a request is made from a client to the backend server. In the middle is a Web Dispatcher. The server does not need to know about the Web Dispatcher (it only knows it as a client).

The Web Dispatchers' main purposes are to provide HTTP load balancing and to provide additional security to the environment if required.

On the server you have to configure paramaters within one or all of these: RZ10, SMICM, SICF and SMMS.

Former Member
0 Kudos

Thank you for the reply.

I saw the diagram from help.sap.com. If you see this diagram, the web dispatcher is in the middle. It appears that request is going via web dispatcher to WEB AS.

My only question is that how the request will reach WEB AS (message server) via Web Dispatcher because they both are on the different server.

OR

The request reaches the WEB AS and then it finds the web dispatcher and does the load balancing.

Second question is, you said that –

<b>On the server you have to configure parameters within one or all of these: RZ10, SMICM, SICF and SMMS.</b>

Well the parameter file for web dispatcher is separate than instance profile parameter (RZ10). They both are on the different hosts. SICF is done on WEB AS side. I did not do any changes to SMICM and SMMS.

Do you agree here?

I am not able to understand this basic flow.

Thank you for all the help.

Sume

Former Member
0 Kudos

Hi

1) SAP Web Dispatcher receives the request and forwards it to an Web AS.

Web Dispatcher communicates with Message server for load balancing. SAP Web Despatcher which lies between the internet and the SAP system, can be used as a load balancer. It is entry point for HTTP(S) requests in to your system which consists of one or more Web application Servers.

You configure Web Despatcher with the following data:

- Port on which the HTTP(S) requests are to be received (parameter icm/server_port_<xx>)

-Host and HTTP Port of the SAP Message Server (parameter rdisp/mshost and parameter ms/http_port).

You have to configure the other required parameters on the Web AS.

Hope this clarifies.

Regards

Chandu

P.S : Pl. reward points if this answer is useful to you.

Former Member
0 Kudos

Thank you again.

I know from the flow diagram that once the request is at WEB Dispatcher, it will talked to message server. All the parameter needed to talk to mesage server are part of a WEB Dispatcher configuration (rdisp/mshost and ms/http_port etc), which was created during bootstarp.

My question is still same that when I launch the query on the web, does it detect automatically that there is a web dispatcher running on a another host.

WHole point is that how the request detects that WEB Dispatcher is running so that load balancing can be done.

OR request come to WEB server first and then it uses the WEB dispatcher for load balancing.

Thank you again.

Sorry if this question too basic.

I need a help from you guys.

Thank you.

Sume.

Former Member
0 Kudos

Hi Sume,

When you lauch the query on the web, you will connect to the Web Dispatcher which get the details from the Message Server of Web AS and directs it to least used Web Application Server.

For example, if you configured your Web despatcher on Server called XYZ. As mentioned in my previous post, your XYZ server profile should have the following details:

You configure Web Despatcher with the following data:

(1) Port on which the HTTP(S) requests are to be received (parameter icm/server_port_<xx>) e.g icm/server_port_80

(2) Host and HTTP Port of the SAP Message Server (parameter rdisp/mshost and parameter ms/http_port).

User will be connecting to port defined at point no.1 i.e WWW.XYZ which will forwarde the requests to SAP Message Server defined at point no.2 above.

Web Despatcher is deployed (in DMZ) in front of the Web Servers for security reasons so that internet users are not allowed to enter Web AS directly. You to have open only the ports for your Web Despatcher.

Hope this clarifies your question.

Regards

Chandu

P.S : Pl. reward points if this answer is useful to you.

Former Member
0 Kudos

Hi Sume,

The web query that is launched is in communication with

the web application on which it is launched. Now the

application has to be configured to have a corresponding

dispatcher which can process its request. The parameters

like host and ports are known to the application. The web

application interface of the dispatcher helps in this

functionality which is known by the application.

Now in case of load balancing the request always goes first to the dispatcher and then to the web server

as in this link

http://help.sap.com/saphelp_erp2005/helpdata/en/42/5cfd3b0e59774ee10000000a114084/frameset.htm ->

architecture and functions -> Web dispatcher ->

processing requests.

The dispatcher decides which server group is supposed to

handle that request.

Hope it clears some doubts.

Regards

Srikishan

Former Member
0 Kudos

Thank you all for the reply.

Let me put it this way -

My Web Dispatcher host is <b>hostA</b> and it is running on port <b>8804</b>. Host and HTTP Port of the SAP Message Server (parameter <b>rdisp/mshost - hostB</b> and parameter <b>ms/http_port - 8005</b>) are already defined while installing the Web Diapatcher. They are part of the profile file of Web Dispatcher.

Now my message server is running on <b>hostB</b> and its port is <b>8005</b> as shown above. I have activated the necessary SICF services for BW web report and for Web Dispatcher. I have entered a name of the logon group <b>GROUP1</b> in SICF services in server group section.

I have assigned two application servers to this logon group <b>GROUP1</b> (<b>prsap001</b> and <b>prsap002</b>) using SMLG.

When I lauch a report on web it runs well and gave the address shown below -

http://prsap001.mycompany.com:8020/sap/bw/bex............The HTTP port for this server is <b>8020</b>.

Sometimes it gves me http://prsap002.mycompany.com:8010/sap/bw/bex...........The HTTP port for this server is <b>8010</b>.

Because I have entered a server group GROUP1 in SICF serveices.

Can I say that my Web Dispatcher is running correctly. I do not see error or waring in web dev_webdisp log. It indicates that all the threads started correctly.

Should I see the host and port of web dispatcher as part of the web address of the report like

http://hostA.mycompany.com:8804/sap/bw/bex.

That is all my confusion is about.

Your help will greately appreciated.

Thank you very much again.

I will appreciate your help.

Thank you.

Sume.

Former Member
0 Kudos

Hi

Your Web Despatcher is running correct and it is the normal behaviour of Web Despatcher. URL will change.

<i>Should I see the host and port of web dispatcher as part of the web address of the report like

http://hostA.mycompany.com:8804/sap/bw/bex............</i>;

Ans : Yes, when you run the above URL, it connects to the Message Server (parameter rdisp/mshost - hostB and parameter ms/http_port - 8005) to determine the Web AS . The URL could change to Port http://prsap001:8020. or http://prsap002:8010. depending on the Application Server processing your request.

<i>Sometimes it gves me http://prsap002.mycompany.com:8010/sap/bw/bex...........The HTTP port for this server is 8010.

Because I have entered a server group GROUP1 in SICF serveices.</i>

Ans : Here based on logon group defined, the request is distributed to prsap002:8010.

Pl. see below the relevant extracts from SAP help:

The SAP Web dispatcher checks the list of logon groups to see if one has been defined. If it finds one, the load balancing must be executed within this logon group.

Since with HTTP there are many requests, this logon group must have the attribute “external RFC” so that no one server is flooded with requests.

<b>Load Balancing in the Server Group</b>Static Load Balancing Process

Capacity is assigned to every application server. With the SAP Web AS ABAP server, this depends on the number of dialog work processes. In the case of the SAP J2EE engine the capacity depends on the number of server processes. The requests are distributed in turn to the instances, whereby the distribution is weighted according to the respective capacities of the instances: If server A has double the capacity of server B, server A receives twice as many requests as B.

Hope this clarifies your question.

Regards

Chandu

Answers (0)