Tuesday, 17 July 2012

SAP Web Dispatcher

This documentation is copyright by SAP AG.

What is the SAP Web Dispatcher?

The SAP Web Dispatcher is the entry point for HTTP(S) requests into your system, which consists of one or more NetWeaver application servers.
It combines the advantages of a "software web switch", a "reverse proxy" and an "application gateway".
The SAP Web Dispatcher contributes to security by accepting/denying incoming connections and ensures an even distribution of requests across the servers.
You can use the SAP Web Dispatcher in ABAP/Java systems and in pure Java systems, as well as in pure ABAP systems.

How to configure SAP Web Dispatcher for URL Rewriting?

As of release 7.10 the SAP Web Dispatcher includes a modification handler which can be configured for rewriting URLs :
With the parameter icm/HTTP/mod_<xx> you can configure modifications of HTTP Requests and define rules by which the SAP Web Dispatcher changes the HTTP request before it forwards it. This includes header field manipulation, URL rewrite and other functions. A complete set of possibilities of configurations can be found in the online documentation, as well as a detailed description of how to configure rewriting URLs.

How can the SAP Web Dispatcher be monitored?

You can use the Web administration interface to administrate, monitor, and set traces in the SAP Web Dispatcher. Detailed information can be found in the online documentation under the following link -->
http://help.sap.com/saphelp_nwpi711/helpdata/en/5c/b711385ef74d2aada9a7bf12eacd0c/frameset.htm
Alternatively, you can access the Web Dispatcher administration and monitoring functions from the command line. Detailed information can be found in the online documentation under the following link -->
http://help.sap.com/saphelp_nwpi711/helpdata/en/48/7f2fb37df935e1e10000000a42189c/frameset.htm
You should only use these if you have problems with the Web administration.

How to set connection/processing timeout period for ICF services

Session Timeout

While the SAPGUI is directly connected to the Application Server using a socket the Application Server can frequently check this socket and verify if the GUI is still alive. Web services are connected only while a HTTP request is received/send and therefore it is not possible to check if the browser GUI is still alive or not. As long as the web service is not stateful the backend does not hold resources and a cleanup is not necessary. For stateful web services the backend holds the session context and this resource has to be deleted when a timeout is reached.
There are a couple of ideas to inform the Application Server about the status of the browser GUI, - e.g. through automatically sending a ping request every 5 minutes using JavaScript to reset the timeout counter, or e. g. sending a close request to the Application Server if the browser GUI is closing to inform the Application Server to cleanup resources immediately instead of holding unneeded resources until the timeout happens.
Depending on the strategy the application has chosen you should set the timeout to a shorter or longer period.
General/Default session timeout setting within the SAP kernel:
Kernel parameters:
rdisp/gui_auto_logout
rdisp/plugin_auto_logout
The SAP kernel regularly checks whether a session is still in use. Any session that is no longer in use is removed. If the parameter rdisp/gui_auto_logout is set, this timeout also applies to HTTP sessions as well as GUI sessions. If you want to reduce the timeout for the HTTP sessions, you can do so using the parameter rdisp/plugin_auto_logout.
To reduce the session timeout in general for all HTTP sessions, set a shorter timeout than for the other SAP GUIs with the parameter rdisp/plugin_auto_logout.
Sample:
rdisp/gui_auto_logout = 14400
rdisp/plugin_auto_logout = 3600
SAPGUI sessions will be closed after 4 hours (14400 seconds) while HTTP sessions are already terminated after 1 hour (3600 seconds) of inactivity. (Please use transaction RZ11 for detailed parameter description)
It is possible to overwrite this general timeout setting in transaction SICF for each individual service by specifying a different timeout for a specific service. However, the rdisp/gui_auto_logout parameter always offers the longest possible timeout value by default, so that the session is terminated in any case when this value is exceeded.
Setting service specific session timeout within transaction SICF:
Navigate within the transaction SICF to the specific service or to a specific service tree, double click to get to the service settings and change the session timeout to any value shorter than the general setting of parameter rdisp/plugin_auto_logout.

Processing /Connection Timeout

It may happen that you get a 'Connection Timed out' page as an answer a long time before your configured session timeout limit is reached. Usually this timeout is raised because of a processing timeout, which happens if you have long running applications.

Connection timeout, <x> displays the current configured processing timeout
The processing timeout period is configured in the ICM component and defines a timeframe in which the called ICF web service, the application, has to return a result page. If the ICM component does not receive a result page from the application within the configured time period, the ICM itself is sending the 'Connection timed out' page to the browser GUI.
The processing timeout time can be configured differently for each server port, using the kernel parameter:
icm/server_port_<nr>
Sample:
icm/server_port_0 = PROT=HTTP, PORT=1080, PROCTIMEOUT=60
This sample setting means, that all HTTP requests received at port 1080 and forwarded to the ICF framework have to return within 60 seconds (this is the default value) otherwise the ICM component will send a 'Connection timed out' page as a response to the browser - the application has 60 seconds time to send a response/result page. If the application needs more time to process the request, the user will see the 'Connection timed out' page instead of the real result page. This processing time out frequently happens, for example, if ABAP sources have to be compiled first.
Setting the PROCTIMEOUT to -1 means the maximum processing time is not checked at all.
The configured processing time can be displayed and changed using transaction SMICM -> Goto -> Services:
The processing timeout value cannot be specified on a per service basis. Configure an additional virtual host if you have the need to set a specific processing timeout value for a group of services.
For more details regarding the ICM timeout settings see SAP Note:
824554  ICM and SAP Web Dispatcher Timeout Parameter

How do I setup the SAP Web Dispatcher for high load scenarios?

To generate a profile that can be used with the correct parameter settings for serving high load scenarios, you can start the SAP Web Dispatcher with the -bootstrap option. This option provides a selection for small, medium and large systems and when choosing large system, it will automatically generate a profile that fits for high load scenarios.
Further details can be found here ->
Despite the SAP Web Dispatcher parameters within the profile, you also have to take care of setting the correct relevant operating system parameters as regards the amount of resources that are required due to the setting of the SAP Web Dispatcher profile (e.g. Semaphores, File handles, Sockets.)
A summary of relevant operating system parameters can be found in the following SAP Notes:
538405 Composite SAP Note: SAP Web Dispatcher
715400 Max. number of memory pipes (MPI) restricted to 4,000
552286 Troubleshooting for the SAP Web Dispatcher
Additional optimization hints :
953784  SAP Web Dispatcher Connection Pooling
943248 SSL fine-tuning (SAPCRYPTOLIB,icman,sapwebdisp)

How to configure SAP Web Dispatcher for SSL?

A How-to Guide is available under the following link, which describes in detail how to setup the SAP Web Dispatcher for SSL -->
Additional information of how the SAP Web Dispatcher supports SSL and a description of the relevant parameters can be found underhttp://help.sap.com/saphelp_nw70ehp1/helpdata/en/36/fd39eacf4cde4a8fe32d7f29b3db16/frameset.htm

What do I have to check when using a Reverse Proxy in my system landscape?

The Reverse Proxy must meet the following requirements to work with SAP systems :
1.) The host header name may not be changed by the application gateway.
The SAP system generates absolute URLs based on the host and port information found in the host header name.
2.) The client protocol may not be changed unless signalled to the SAP server.
The incoming protocol version (HTTP or HTTPS) is also used to construct the URL. If there is a requirement to change the protocol from HTTP to HTTPS or vice versa, then an additional header variable has to be set to indicate the protocol to use for URL generation.
The default header variable used to signal the protocol requested by the client is 'ClientProtocol'. For the SAP NetWeaver JAVA this can be changed by modifying the value ProtocolHeaderName in the HTTP Provider Service.
The header variable used by SAP NetWeaver ABAP cannot be modified.
Parameters which are important when using SAP Web Dispatcher as Reverse Proxy:
1.) If there is a change in protocol in the SAP Web Dispatcher, the application server requires this information, to generate absolute URLs (it can get SAP Web Dispatcher host and port names from the header field Host).
wdisp/add_client_protocol_header
This parameter determines whether the protocol between the browser and SAP Web Dispatcher (HTTP or HTTPS) is notified to the application server.
This information is sent in the header field clientprotocol.
2.) If the client IP address is needed in the backend by the application than you have to activate the following parameter.
wdisp/add_xforwardedfor_header
The parameter determines whether the SAP Web Dispatcher includes the IP address of the client in the header field x-forwarded-for.
If it does, the application on the application server can read the route that the request has taken.
If the parameter has the value false, Web Dispatcher leaves the header field unchanged.
3.) If the SAP Web Dispatcher ports for the configured protocols are needed in the backend by the application than you have to activate the following parameter.
wdisp/handle_webdisp_ap_header
With this parameter the SAP Web Dispatcher notifies the application server of its ports (access points) for the different protocols in an HTTP header.
In the application server the protocol can be switched without any manual configuration (for example, from HTTP to HTTPS), or a redirect can be programmed.
Additional interesting SAP Notes :
929082 Apache as reverse proxy for the SAP Web Application Server
833960 supported Application Gateway Configurations

How do I set up my own error pages for web services?

Please kindly read the following text in the SAP help portal.
It describes a procedure, how to maintain own error pages for a specific error in the transaction SICF:
  1. http://help.sap.com/
    -> SAP NetWeaver -> SAP NetWeaver 7.0 Library
  2. search for pattern "Components of SAP Communication Technology"
Components of SAP Communication Technology
Communication Between ABAP and Non-ABAP Technologies
Internet Communication Framework
Development
Server-Side Development
Creating and Configuring ICF Services
Creating a Service
Setting Up Error Pages

How to analyze the distribution of stateless http requests by the SAP Web Dispatcher?

This section will explain how to analyze the requests distribution conducted between the involved servers with Web Admin Interface.
The Web Admin interface is a service provided by Web Dispatcher where you can manage its features. For further information about how to configure and use it follow the SAP documentation below:
To check the requests distribution, go to Web Admin Interface and navigate from left menu:
In this window you do find the Application Server List for ABAP and JAVA in distinct tabs. For each Application Server there is a column REQUESTS with statistics about STATELESS and STATEFUL requests.
The Web Dispatcher perform a distributions of requests, it is not able to perform a distribution of the load. If is suffering troubles with the load of a specific Application Server, this is not directly caused by the Web Dispatcher. It balances the stateless requests to ensure an even distribution across the servers. In such way, only the statistics about stateless connections should be balanced equally, you have to see a similar situation between the servers.
Note that stateful request that must be returned to their server, they are not involved in load balancing. The load balance only is done for stateless requests.
The balancing will never achieve a completely balanced distribution, deviations around 10% and 20% are tolerable.

67 comments:

  1. Nice post. carry on for more sharing. You can have a look at SAP Bangladesh for more info on SAP Implementation, BASIS, Cost, Project management.

    ReplyDelete
  2. Also check This ;

    http://sapbasisinfo.com/blog/2014/09/29/sap-web-dispatcher-ssl-parameter-wdispssl_encrypt-1-or-0/

    ReplyDelete
  3. Thanks for the great information in your blog,i loved it.Great work blogger SAP Basis Training in Chennai

    ReplyDelete
  4. I really want to say thanks for such a great blurb its just full of knowledge! Its too impressive and outstanding blurb,You have provided excellent information regarding web development promotion .Great blurb.

    ReplyDelete
  5. This is nice information , thanks for sharing....!
    web hosting Bangalore

    ReplyDelete
  6. Hey, I have found new posts about SAP in your site right . https://simplesapbasis.blogspot.com

    ReplyDelete

  7. This is extremely great information for these blog!! And Very good work. It is very interesting to learn from to easy understood. sap abap training in bangalore Thank you for giving information. Please let us know and more information get post to link.

    ReplyDelete
  8. Replies
    1. Thanks for the great information in your blog,i loved it.
      IntelliMindz and ChennaiTraining are the best Training Institute in Chennai with placement, offering 200 and more software courses with 100% Placement Assistance. Start learning with us intellimindz, and became an expert in Training in Chennai. Contact 9655877577 for more details.


      SAP SD Training in Chennai

      SAP MM Training in Chennai

      SAP HANA Training in Chennai

      SAP MM Training in Chennai

      SAP MM Training in Bangalore

      SAP HANA Training in Chennai

      SAP HANA Training in Bangalore

      SAP SD Training in Chennai

      SAP SD Training in Bangalore

      Delete
  9. Its really an Excellent post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog. Thanks for sharing....
    Click here:
    angularjs4 Training in Chennai
    Click here:
    angularjs5 Training in Chennai
    Click here:
    Selenium Training in Chennai
    Click here:
    Aws Training in Chennai

    ReplyDelete
  10. It is better to engaged ourselves in activities we like. I liked the post. Thanks for sharing.
    Click here:
    Microsoft azure training in rajajinagar
    Click here:
    Microsoft azure training in marathahalli

    ReplyDelete
  11. Nice post. By reading your blog, i get inspired and this provides some useful information. Thank you for posting this exclusive post for our vision. 
    Blueprism training in Chennai

    Blueprism training in Bangalore

    Blueprism training in Pune

    Blueprism online training

    Blueprism training in tambaram

    ReplyDelete
  12. It's interesting that many of the bloggers to helped clarify a few things for me as well as giving.Most of ideas can be nice content.The people to give them a good shake to get your point and across the command

    angularjs Training in chennai
    angularjs Training in chennai

    angularjs-Training in tambaram

    angularjs-Training in sholinganallur

    angularjs-Training in velachery

    ReplyDelete
  13. Superb. I really enjoyed very much with this article here. Really it is an amazing article I had ever read. I hope it will help a lot for all. Thank you so much for this amazing posts and please keep update like this excellent article. thank you for sharing such a great blog with us.
    Data Science course in Chennai | Data science course in bangalore
    Data science course in pune | Data science online course
    Data Science Interview questions and answers | Python course in Kalyan nagar

    ReplyDelete
  14. Thanks for splitting your comprehension with us. It’s really useful to me & I hope it helps the people who in need of this vital information. 

    Java training in Marathahalli | Java training in Btm layout

    Java training in Marathahalli | Java training in Btm layout

    ReplyDelete
  15. Awesome post, Great information shared with us.keep on posting new things.check it once
    aws online training
    aws training in hyderabad
    aws online training in hyderabad

    ReplyDelete
  16. It’s great to come across a blog every once in a while, that isn’t the same out of date rehashed material. Fantastic read.
    iosh course in chennai

    ReplyDelete
  17. I am really enjoying reading your well written articles.
    It looks like you spend a lot of effort and time on your blog.
    I have bookmarked it and I am looking forward to reading new articles. Keep up the good work..
    hadoop training institutes in bangalore
    best hadoop training in bangalore
    bigdata and hadoop training in bangalore
    Hadoop Training in Chennai
    Big Data Training in Chennai

    ReplyDelete
  18. Inspiring writings and I greatly admired what you have to say , I hope you continue to provide new ideas for us all and greetings success always for you..Keep update more information..

    informatica mdm online training

    apache spark online training

    apache spark online training

    devops online training

    aws online training

    ReplyDelete
  19. This is an awesome post.Really very informative and creative contents. These concept is a good way to enhance the knowledge.I like it and help me to development very well.Thank you for this brief explanation and very nice information.Well, got a good knowledge.
    Microsoft Azure online training
    Selenium online training
    Java online training
    Python online training
    uipath online training

    ReplyDelete
  20. After seeing your article I want to say that the presentation is very good and also a well-written article with some very good information which is very useful for the readers....thanks for sharing it and do share more posts like this.
    devops online training

    aws online training

    data science with python online training

    data science online training

    rpa online training

    ReplyDelete
  21. Thank you for allowing me to read it, welcome to the next in a recent article. And thanks for sharing the nice article, keep posting or updating news article.
    Microsoft Azure online training
    Selenium online training
    Java online training
    Python online training
    uipath online training

    ReplyDelete
  22. I have to voice my passion for your kindness giving support to those people that should have guidance on this important matter.
    MCSE Training in chennai | mcse training class chennai


    ReplyDelete
  23. All the points you described so beautiful. Every time i read your i blog and i am so surprised that how you can write so well.keep it up guys.
    Ai & Artificial Intelligence Course in Chennai
    PHP Training in Chennai
    Ethical Hacking Course in Chennai Blue Prism Training in Chennai
    UiPath Training in Chennai

    ReplyDelete
  24. Hope you guys are well and healthy during this time. Guys if you want to utilise your time to do something interesting then we are here for you. Our institution is offering CS executive classes and free CSEET classes only for you guys. So contact us or visit our website at https://uniqueacademyforcommerce.com/

    ReplyDelete
  25. Nice Blog information.
    GIEC Global is the Best Education Consultants in Melbourne, Australia and education consultant in Melbourne, Sydney, Brisbane, Perth, Adelaide,Australia.Education Consultants in Melbourne, Best Education Agent in Melbourne, Sydney, Adelaide, Perth, and Brisbane is GIEC Global. We are Melbourne Migration and Education Consultants, Education Migration Agent Melbourne, Melbourne Study Abroad, and Performance Education Melbourne

    ReplyDelete
  26. best digital marketing agancy new tips for best digital marketing
    free classified submission sites list
    kishorsasemahal

    ReplyDelete
  27. Trade Stocks, Forex, And Bitcoin Anywhere In The World:exness login Is The Leading Provider Of Software That Allows You To Trade On Your Own Terms. Whether You Are Operating In The Forex, Stock, Or Cryptocurrency Markets, Use exness login Software And Anonymous Digital Wallet To Connect With The Financial World.: exness login Is A Currency Trading Company That Allows You To Trade Stocks, Forex, And Cryptocurrency.

    ReplyDelete
  28. Don't Waste Your Time Checking RMB TO USD Every Day! Get The Most Accurate Exchange Rate For The RMB TO USD With Our Original Universal Currency Converter.

    ReplyDelete
  29. XM REVIEW If You Are A Beginner, Check Out Our Guide On How To Open An Account With XM. They Offer Copy Trading Where You Can Copy The Trades Of Successful Traders.

    ReplyDelete
  30. Here Is A Review Of AVATRADE REVIEW . We Look At The History Of The Broker, Their Website, Platform, Trading Conditions, And Bonuses.

    ReplyDelete
  31. Does anyone one wants to enjoy the delcious food? that to from their favourite resturants. Here comes a company that is offering a wide variety of services like home food delivery, medicine delivery,grocery products and dairy products at the customers doorsteps. It is just a matter of a click, on their app (fudx app) and in no time, you will get your ordered products at your doorsteps.
    food delivery medicine delivery dairy products grocery items


    ReplyDelete
  32. Content is a website's most crucial component. Your website is little more than an advertising without content, making it ineffective for online marketing. web design agency in vizag
    Any marketing expert who builds websites should constantly aim to provide users with an online resource. The most popular websites on the internet have the most material, despite how obvious it may sound.
    Whatever your business or organisation offers, your main objective should be to empower your customers rather than just trying to sell them anything; that will happen in due course. By demonstrating that you care about their interests, you give them a reason to come back, which raises the possibility that they will make a purchase or many purchases.

    ReplyDelete
  33. For HTTP(S) requests, the SAP Web Dispatcher acts as a crucial gateway, providing safe entrance and uniform distribution among servers. For smooth functioning, it integrates a number of functions. The online manual simply provides configuration pointers and monitoring information. The best possible use of its capabilities ensures effective system operation.
    Data Analytics Courses in India

    ReplyDelete
  34. Hello,
    This comprehensive guide to configuring and optimizing the SAP Web Dispatcher is a valuable resource for SAP administrators. It provides clear explanations and detailed steps, making it easier to manage and monitor your SAP system effectively. Thank you.
    Data Analytics Courses in Nashik

    ReplyDelete
  35. The information provided about SAP Web Dispatcher in this documentation is incredibly comprehensive and valuable. It covers various aspects of configuration, monitoring, and optimization, making it an excellent resource for anyone working with SAP systems. The clarity of explanations and the inclusion of relevant links to further documentation and resources showcase a commitment to helping users make the most of SAP Web Dispatcher's capabilities.
    Data Analytics Courses In Dubai

    ReplyDelete
  36. The information supplied in this literature regarding SAP Web Dispatcher is really thorough and helpful. It is a great resource for anyone working with SAP systems because it covers a variety of configuration, monitoring, and optimisation topics. The thoroughness of the explanations and the inclusion of pertinent connections to other material and resources demonstrate a dedication to assisting users in maximising the potential of SAP Web Dispatcher.
    Data Analytics Courses in Agra

    ReplyDelete
  37. Thank you so much for providing this detailed blog on SAP Web Dispatcher. I really appreciate your effort. Keep sharing more.
    Visit - Data Analytics Courses in Delhi

    ReplyDelete
  38. This crucial component often operates behind the scenes in SAP landscapes, ensuring efficient traffic distribution and providing a vital layer of security.
    Digital marketing courses in illinois

    ReplyDelete
  39. href="https://istanbulolala.biz/">https://istanbulolala.biz/
    BMJG3R

    ReplyDelete
  40. "I found your blog post on SAP Web Dispatcher very insightful! The breakdown of key features and your explanation of its role in the SAP landscape clarified a lot for me. I've recently started working with SAP, and your content has been a valuable resource. I'd love to hear more about best practices or any specific challenges you've encountered with SAP Web Dispatcher. Keep up the great work!"
    Best Data analytics courses in India

    ReplyDelete
  41. Fresh insights for top-notch digital marketing from the best digital marketing agency.
    Visit Kinemasterapks.net

    ReplyDelete
  42. Great overview of SAP Web Dispatcher! It's impressive how this component optimizes and distributes incoming HTTP requests, enhancing performance and security in SAP landscapes. great post. keep posting.
    Data analytics framework

    ReplyDelete