样本应用程序由均在 WSRR 中描述和管理的 Web Service 和 RESTful API 构成。DataPower® 域配置了 WSRR 作为网关,并提供了样本 Web 客户机来执行服务。
店铺服务的使用者是 StoreConsumer 应用程序,其使用者标识为“CEO”。此使用者具有两个服务级别协议 (SLA),即 Gold 和 Silver。如果 DataPower 中传入使用者标识为“CEO”且上下文标识为“Silver”的请求,那么允许传递该请求,因为已在使用 Silver SLA。如果使用者标识为“CEO”,上下文标识为“Gold”,那么匹配的是 Gold SLA。此 SLA 附加了重新路由策略,因此请求将重新路由到该策略中指明的备用端点。
如果已到达的请求的使用者标识不是“CEO”,那么不存在具有此使用者标识的应用程序版本。因此也没有可匹配的 SLA,所以这是来自匿名使用者的请求。这样将应用附加到此匿名 SLA 的任何策略。在此情况下,将导致日志中出现通知。请注意,样本不包含发送使用者标识不是“CEO”的请求的方法。
该场景还将针对基于用户组成员资格的 findInventory 操作执行授权。样本中提供了一个 LDAP 服务器,用于将用户凭证映射到正确的组。
样本应用程序流程图显示了应用程序流,其中每个框表示不同的 DataPower 网关。
RESTful 服务的管理方式类似于 Web Service,区别在于策略的使用方式。Web Service 有两个 SLA:一个用于 Silver 使用者,一个用于 Gold 使用者。但对于 REST 服务,SLD 级别未附加任何策略(适用于所有请求)。而是在每个 SLA 中附加一个策略。Gold SLA 的策略会拒绝 90 秒内 5 条消息之后的消息,而 Silver 在拒绝前的 90 秒内允许 2 个请求。