下图是一个逻辑视图,从 CF 路由器、CF 控制器等众多细节中抽象出来,并表示业务应用程序的架构。 通常,一个业务应用程序由多个微服务组成,这些微服务作为单独的应用程序部署到 SAP BTP、Cloud Foundry 环境中。
微服务、服务实例、绑定、服务和路由是平台已知的实体。
从“推送”代码和二进制文件到平台创建微服务,从而产生许多应用程序实例,每个实例都在单独的容器中运行。
通过 service binding 将访问凭据注入应用程序环境,从而将服务暴露给应用程序。应用程序绑定到服务实例,其中 service instance 代表使用服务所需的配置和凭据。服务实例由必须为每个服务(或服务集合)提供的 service broker 管理。
路由映射到应用程序并提供实际的应用程序访问点/URL。
业务应用程序是微服务、服务实例、绑定和路由的集合,从最终用户的角度来看,它们共同代表一个可用的 Web 应用程序。这些微服务、服务实例、绑定和路由是通过与 CF/XSA 控制器通信(例如,使用命令行界面)创建的。
SAP 提供了一组库、服务和组件通信原理,用于根据这种模式实现(多租户)业务应用程序。
application router
采用微服务架构的业务应用程序由多个可以独立管理的服务组成。 这种方法仍然给应用程序开发人员带来了一些挑战,例如以一致的方式处理安全性和处理同源策略。
应用程序路由器是一个单独的组件,可以解决其中的一些挑战。 它提供了三个主要功能:
1.反向代理 - 为业务应用程序提供单一入口点,并将用户请求转发到相应的后端服务
2.提供来自文件系统的静态内容
3.安全性——在一个中心位置提供与安全相关的功能,如登录、注销、用户身份验证、授权和 CSRF 保护
Application router 公开浏览器访问的端点以访问应用程序。
UAA Service
用户帐户和身份验证 (UAA) 服务是一种多租户身份管理服务(multi-tenant identity management service),用于 SAP BTP、Cloud Foundry 环境。 它的主要角色是作为 OAuth2 提供者,在代表 Cloud Foundry 环境的用户时,为客户端应用程序颁发令牌以供使用。 它还可以使用 Cloud Foundry 环境的凭据对用户进行身份验证,并且可以使用这些凭据(或其他凭据)充当 SSO 服务。
它具有用于管理用户帐户和注册 OAuth2 客户端的端点,以及各种其他管理功能。