SAP-samples / btp-cf-cap-multitenant-susaas

Sample project that demonstrates how to setup a multitenant application for a software-as-a-service scenario using the SAP BTP Cloud Foundry environment. Developers learn how to implement their own CAP (mtxs) based SaaS app including an SaaS API and integration with various essential SAP BTP service offerings.
Apache License 2.0
69 stars 29 forks source link

SAP Build Work Zone Integration #22

Closed timostark closed 1 year ago

timostark commented 1 year ago

Hi,

First thanks for your amazing resource here. It is really really helpful and saved my life multiple times while setting up my saas application. What I am still missing is a use case for a Build Work Zone Integration. I understand that in this example a "full solution" (including an own launchpad etc..) - In our case we have a "simple" application which should be integrated into existing customer portals (i.E. build work zone) - we do not want/need an own link.

My understanding: Tiles are possible using "link-based-navigation" only - for a direct integration (especially over multiple global-accounts) is not really planned. As link-based integration is also not really working out of the box (approuter config is required) a short explanation might be helpful.

Thanks again, Timo

timostark commented 1 year ago

To be more clear, what would be perfect are the most important steps for a successful iframe integration..

  1. Configuration of app-router (i.E. following Code in mta, which is a shameless copy of Gregor wolfs code..)

properties: TENANT_HOST_PATTERN: '^(.*)${tenant-separator}${app-domain}' CJ_PROTECT_WHITELIST: > [ { "protocol": "https", "host": "*.ondemand.com" } ] COOKIES: > { "SameSite":"None" } httpHeaders: > [ { "X-Frame-Options": "DENY" }, { "Content-Security-Policy": "frame-ancestors iframe frame object embed 'self' https://*.ondemand.com;" }, { "Access-Control-Allow-Origin": "*" }, { "Access-Control-Allow-Credentials": "true" }, { "Access-Control-Allow-Headers": "*" } ]

  1. Enhance xs-app.json of app-router by definition of whitelist-service

    
    "whitelistService": {
    "endpoint": "/allowlist/service"
    }
  2. Enhance index.html..

<meta name="sap.allowlistService" content="/allowlist/service" />

  1. Ensure not to set "add intent and default SAP parameters to URL" in Build Work Zone integration, so that the routing of the ui5 app is working.
timostark commented 1 year ago

Ah ya - and the outlook (https://github.com/SAP-samples/btp-cf-cap-multitenant-susaas/tree/main/docu/5-next-outlook) seems to be almost the most interesting part :-) do you have any time plan when you want to work on those two topics? Thanks!

alperdedeoglu commented 1 year ago

Hi @timostark, Thank you very much for your kind words about the sample repository. Me and @martinfrick are so glad to hear that it is helpful for our community.

Cross Global Account - SAP Build Workzone Integration

Currently, we do not cover this. We can add this to the roadmap and try.

Automation of Infrastructure Platform Setup

Actually currently we have already completed the BTP Setup Automator part of our sample repository. You can see that here. We just did not update the part you have mentioned because this use case is not yet released on Discovery Center yet. But, you can still use the BTP Setup Automator with the parameters.json file I have shared

Commercialization

Everything you see under outlook is already WIP. But it requires as you can imagine, more than just development. We will update the repo, with the help of our SAP Partner Management colleagues guidance. But as an information what I can give is, there is a concrete guideline for the partners at the moment with SAP Partner-Edge program for commercializing their product. For example, you can check the BCG product which is on the SAP Store.

Thank you for your interaction and bringing up ideas. As I said, really hard for me to give a concrete timeline here, but gonna update repo. Would really recommend you to watching, starring the repo for the upcoming changes.

timostark commented 1 year ago

thanks @alperdedeoglu for your fast response. Regarding the outlook in: "Automation of Infrastructure Platform Setup"..

I assumed you are not only automating the subaccount service-creation, but even the subaccount creation itself :-)

Additional feedback based on my personal opinion: the biggest drawback of SaaS with cap is the hard onboarding process which is based on the decision, that the customer needs to have a subaccount in my global-account for my SaaS solution. This requires the customer to configure (at least) the IDP and Cloud-Connector settings.

A more logical approach would be that the customer can have a subaccount (e.g. named SaaS Solutions for Production), configure the IDP/Cloud Connector once and afterwards add multiple SaaS solutions from different providers. Thinking about a time in 5 years when (hopefully) all big customers are fully using BTP services, this would enable a "one-click" onboarding for simple SaaS solutions (and maybe some day even some "SAP Store --> add to my subaccount and bill me" functionality :-) ).

I guess you are not really the perfect contact person for that, but personally when reading https://github.com/SAP-samples/btp-cf-cap-multitenant-susaas/tree/main/docu/1-discover/4-get-idea-saas-applications i was really missing that aspect (SaaS is not only about costing in infrastructure but also enables an extremley flexible on- and offboarding process without "any efforts") - this big benefit is imo still missing in the current setup.