每个空间的AppRouter数量

2020-08-16 07:01发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我们目前正在讨论与H...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我们目前正在讨论与HTML5 App Repo配合使用时的AppRouter设置,并且偏爱每个空间使用中央App路由器将请求转发到相应的HTML5应用。 该计划是某个空间中的所有应用程序都以某种方式关联(例如,一个空间用于物流,财务等)。 优点是,由于AppRouters的数量较少,因此使用了较少的(昂贵的)运行时内存。
一旦部署了新应用程序,除了部署HTML5资源外,您还需要向中央AppRouter添加新路由。 到仓库,将service&db模块添加到CF。 为什么不应该采用这种方法有什么弊端,或者关于每个空间的AppRouters数量的最佳实践到底是什么?

非常感谢,
Nico

3条回答
SAP德到
2020-08-16 07:39

您好,经过反复试验,我们实现了一个可运行的中央approuter。 approuter对SAPUI5 App使用跨mta nodejs服务和html5-app-repo。 approuter的require部分如下所示:

mta.yaml approuter:

需要:
     -名称:html5-repo-runtime
     -名称:appLibraryCAP-uaa
     -名称:srv-binding
       组:目的地
       特性:
         forwardAuthToken:true
         strictSSL:true
         名称:appLibraryDestination
         网址:〜{srv-url}

 

approuter的跨mta资源可以这样引用:

mta.yaml approuter:

资源:
  -名称:srv-binding
    类型:配置
    参数:
       provider-nid:mta
       提供者ID:CROSS_MTA_ID:srv-binding
       版本:"> = 1.0.0"
       目标:
         单位:$ {org}
         空格:$ {space}

 ...
 

我们正在使用的服务需要提供srv-binding变量,并且必须是公共的:

mta.yaml appLibrary(跨MTA)

-名称:appLibraryCAP-srv
    类型:nodejs
    路径:gen/srv
    构建参数:
       忽略:[" node_modules/"]
    参数:
      记忆体:256M
    特性:
      退出:1#由deploy.js任务终止
    要求:
     #从CAP配置中提取的资源
     -名称:appLibraryCAP-db-hdi-container
     -名称:appLibraryCAP-uaa
    提供:
     -名称:srv-binding
       公开:真实
       特性:
         srv-url:$ {default-url}

 

通过在xs-app.json文件中定义路由,可以使用approuter访问node-js服务和html5仓库:

xs-app.json approuter

"路线":[{
     " source":" ^/appLibraryCAP/(.*)$",
     " target":" $ 1",
     "服务":" html5-apps-repo-rt"
   },
   {
     " source":" ^/appLibraryDestination/(.*)$",
     " target":" $ 1",
     " authenticationType":" xsuaa",
     " destination":" appLibraryDestination",
     " csrfProtection":是
   },
   {
     " source":" ^/cbscloudsdkappmysdkapp/(.*)$",
     " target":" $ 1",
     "服务":" html5-apps-repo-rt"
   }]

 

现在,您可以使用所需的每个资源扩展此approuter。

一个站点:

对于正确的JWT处理,跨mta的xsuaa服务需要成为approuter mta的一部分。 因此,在两个项目中,您还需要相同的xs-security.json文件。 部署.mtar文件时,这可能会导致一些冲突。

是否有一种方法可以消耗mta.yaml文件中的资源,而无需在部署过程中对其进行更新?

我们认为中央approuter正在充分利用HTML5 Repo的功能,并最大限度地减少了我们空间中正在运行的应用程序的数量。

或者有人在这个概念上看到任何主要缺点吗?

一周热门 更多>