Netweaver和CloudFoundry是如何运行Web应用的?

  • 时间:
  • 浏览:1
  • 来源:大发5分快乐8APP下载_大发5分快乐8APP官方

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

"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",

即ICM作为沟通的桥梁,确保Netweaver应用服务器和外界也能通过HTTP,HTTPS等协议交互。ICM是Netweaver应用服务器的有一个多多多组件,作为有一个多多多单独的工作系统进程,由ABAP dispatcher启动并监控。

假设我本地开发了有一个多多多Java Web应用,中间包中有 一个多多多Servlet,部署到CloudFoundry后,该应用如何运行起来的?

细心观察cf push的日志,比较慢某些人找出答案。

可能性我的manifest.yml里定义的buildpack为java_buildpack:



这对应了cf push日志里高亮的这一 行:



下载Open JDK JRE和Tomcat instance。



为那先 会自动下载tomcat?

打开java_buildpac的github仓库:

https://github.com/cloudfoundry/java-buildpack中间提到了原困:

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

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"可能性扫描下面二维码:

ICM的架构:

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

主就说 我下图的Internet Communication Manager(ICM)在起作用。



SAP help:

一旦buildpack检测到war包中处于WEB-INF,且不处于Java Main(实现了main妙招的Java类),则决定使用Tomcat容器。



实际上从cf push的日志里也能观察到tomcat容器启动参数:

在Jerry的微信公众号文章SAP Fiori应用的两种部署妙招里提到SAP Fiori应用以BSP应用的妙招部署在ABAP Front-End Server上。这麼 那先 BSP应用在运行时为那先 也能接受和发送HTTP请求呢?

最后一行的$PWD/.java-buildpack/tomcat/bin/catalina.sh run是大家非常熟悉的tomcat启动脚本。