How are NetWeaver and Cloudfoundry running Web apps?

Source: Internet
Author: User
Tags sap netweaver

Netweaver

In Jerry's public article, three deployment methods for SAP Fiori applications refer to SAP Fiori applications deployed on ABAP front-end server in a BSP application. So why are these BSP applications able to accept and send HTTP requests at run time?

Primarily, Internet communication Manager (ICM) is in effect.

SAP Help:

The Internet communication Manager ensures that communication between the SAP System (SAP NetWeaver application Server) an D the outside world via HTTP, HTTPS and SMTP protocols works properly.

The ICM is a component of the SAP NetWeaver application Server. It is implemented as a separate process, which are started and monitored by the ABAP dispatcher.

That is, ICM as a bridge of communication to ensure that the NetWeaver application server and the outside world can interact through protocols such as HTTP,HTTPS. ICM is a component of the NetWeaver application server, which is initiated and monitored by the ABAP dispatcher as a separate worker process.

Structure of ICM:

    1. ICM itself maintains a pool of worker threads. There is a dedicated control thread that is responsible for receiving incoming TCP/IP requests and then waking up a worker thread from the pool of threads to respond to the request.
    2. Each worker thread contains an I/O processor, which is responsible for network input and output. The worker threads deal with protocols such as HTTP,SMTP through a variety of plugin.
Cloudfoundry

Suppose I developed a Java Web application locally that contained a servlet that, after deployment to Cloudfoundry, how did the application run?
Careful observation of the CF push Log, it is not difficult to find out the answer.
Because the buildpack defined in my manifest.yml is java_buildpack:

This corresponds to the highlighted line in the CF push log:

Download the open JDK JRE and Tomcat instance.

Why is tomcat automatically downloaded?
Open the Java_buildpac GitHub repository:
Https://github.com/cloudfoundry/java-buildpack
The reasons are mentioned above:

The Tomcat Container allows servlet 2 and 3 Web applications to be run. These applications is run as the root Web application in a Tomcat container.

Once Buildpack detects that there is a web-inf in the war package and does not have Java main (the Java class that implements the Main method), it decides to use the Tomcat container.

In fact, the Tomcat container startup parameters can be observed from the CF push log:

"Java_opts=\"-agentpath: $PWD/.java-buildpack/open_jdk_jre/bin/jvmkill-1.13.0_release=printheaphistogram=1- djava.io.tmpdir= $TMPDIR-djava.ext.dirs= $PWD/.java-buildpack/container_security_provider: $PWD/.java-buildpack/ open_jdk_jre/lib/ext-djava.security.properties= $PWD/.java-buildpack/java_security/java.security $JAVA _opts- daccess.logging.enabled=false-dhttp.port= $PORT \ "&& calculated_memory=$ ($PWD/.java-buildpack/open_jdk_ jre/bin/java-buildpack-memory-calculator-3.13.0_release-totmemory= $MEMORY _limit-loadedclasses=11021-pooltype= Metaspace-stackthreads=250-vmoptions=\ "$JAVA _opts\") && echo JVM Memory Configuration: $CALCULATED _memory && java_opts=\ "$JAVA _opts $CALCULATED _memory\" && malloc_arena_max=2 java_opts= $JAVA _opts java_home= $PWD/.JAVA-BUILDPACK/OPEN_JDK_JRE exec $PWD/.java-buildpack/tomcat/bin/catalina.sh run ",

The last line of $pwd/.java-buildpack/tomcat/bin/catalina.sh Run is a very familiar Tomcat startup script.

To get more original Jerry's technical articles, please follow the public number "Wang Zixi" or scan the QR code below:

How are NetWeaver and Cloudfoundry running Web apps?

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.