Sun Identity Manager 概述

了解故障方案

本节列出了八个故障方案,并对两个分别具有会话持久性和不具有会话持久性的部署进行了比较。

方案 1:无工作流的方案

方案描述

最终用户或管理员正在编辑不属于工作流的表单。最终用户已在其上建立会话的实例已关闭。

不具有会话持久性

用户体验:不透明的故障转移。在提交表单时,系统将用户返回到登录页面。

恢复步骤:用户重新输入其用户名和密码。Identity Manager 随后处理该表单并在用户登录之后立即将结果显示在下一页。

具有会话持久性

用户体验:用户无需注销和重新登录,即可提交表单并得到返回的结果。

恢复步骤:不需要用户执行任何操作。

该方案的其他示例

方案 2:工作流正在进行的方案

方案描述

最终用户或管理员提交了触发工作流的表单。正针对其执行工作流的实例通常就是存在用户会话的实例,但是在某些预定任务上,它们可能不是同一个。实例在工作流正在进行时关闭。

不具有会话持久性

用户体验:不透明的故障转移。在提交表单时,系统将用户返回到登录页面。正在执行的工作流任务实例应当位于系统信息库中,但是,由于执行节点已关闭,因此工作流状态将为“已终止”。

恢复步骤:必须再次提交工作流,方法是返回到同一表单,重新输入在节点失败之前用来触发工作流的信息。

在某些情况(但并非所有情况)下,提交同样的请求数据可能会起作用。如果在工作流执行期间将其置备给多个资源,而其中的一些资源在发生故障之前已经置备,则在用户重新提交工作流时将必须考虑“已经置备的”资源。请注意,已终止的工作流仍停留在系统信息库中,直到 resultLimitTaskInstance 对象上过期为止。

具有会话持久性

用户体验:不透明的故障转移。不会将用户注销,因为用户的会话将得以保持并在新实例中重新建立。但是,在提交表单时可能会因工作流将被终止而导致错误。此故障转移是不透明的,因为需要执行恢复操作。

恢复步骤:与不具有会话持久性的模式相同。用户必须使用相同或经过修改的参数重新提交在先前的工作流中触发的请求。

该方案的其他示例

方案 3:工作流暂停或休眠方案

方案描述

此方案包括如下情况:工作流已启动,但是正在等待批准者手动执行操作。

不具有会话持久性

用户体验:故障转移相对于批准者是透明的,但前提是批准者尚未登录。在节点出现故障之后,当批准者登录时,批准者仍能够在其收件箱中看到批准请求,即使该请求是从已经关闭的节点触发也是如此。

恢复步骤:不需要用户执行任何操作。

具有会话持久性

用户体验:与不具有会话持久性的模式相同。

恢复步骤:与不具有会话持久性的模式相同。

该方案的其他示例

方案 4:工作项目编辑方案

方案描述

此方案包括如下情况:用户正在编辑一个工作项目,在提交该工作项目之前,用户在其中具有会话的节点关闭。

不具有会话持久性

用户体验:不透明的故障转移。在提交了工作项目编辑表单之后,系统将用户注销并返回到登录页面。

恢复步骤:在重新提交登录凭据时,用户的工作项目被标记为已完成,而且工作流能够从那时继续执行。该工作流应当由新模式拾取并从用户的手动操作被标记为已完成时开始执行。

具有会话持久性

用户体验:在提交了工作项目编辑表单之后,用户看到其提交操作的结果,例如,自定义工作流中的下一个表单(如果有的话)或者指示成功的消息。

恢复步骤:不需要用户执行任何操作。

该方案的其他示例

方案 5:预定任务正在进行的方案

方案描述

这些方案包括如下情况:在正在进行协调或者正在执行报告时,节点出现故障。

不具有会话持久性

用户体验:预定的任务正在被终止。

恢复步骤:必须重新启动正在进行的预定任务。该任务必须从头开始启动。(该任务将不会从出现故障的时间点重新启动。)这与创建和启动新任务相同。

具有会话持久性

用户体验:与不具有会话持久性的模式相同。

恢复步骤:与不具有会话持久性的模式相同。

该方案的其他示例

方案 6:预定任务暂停方案

方案描述

这些方案包括如下情况:用户的自定义工作流已经预定了一个日后在特定节点上执行的任务。在到达预定日期之前,预定在其上运行该任务的节点出现故障。

不具有会话持久性

用户体验:故障转移对于确保此任务在其预定时间执行而必须采取的恢复操作是透明的。

恢复步骤:在到达预定的执行时间时,预定任务由任何活动节点拾取。

具有会话持久性

用户体验:与不具有会话持久性的模式相同。

恢复步骤:与不具有会话持久性的模式相同。

该方案的其他示例

方案 7:Web 服务工作流请求尚未由 Identity Manager 接收的方案

方案描述

这些方案包括如下情况:Identity Manager GUI 不用于启动置备功能。相反,该用户界面由使用 SPML 或其他自定义 Web 服务接口在内部调用 Identity Manager 的应用程序提供。在这里,与通过用户界面进入的用户有关的用户会话借助于调用应用程序来管理。对于 Identity Manager,请求均作为“soapadmin”主体来启动。

在类似的使用案例中,此故障方案包括如下情况:在经由 Identity Manager 端点的请求尚未接收时,目标节点出现故障。

不具有会话持久性

用户体验:透明的故障转移。对于每个 SOAP 请求来说,SOAP 管理员的凭据通过有线通信或者通过 Waveset.properties 设置在 Identity Manager 中传入。只要将要接收此 SOAP 请求的节点在关闭之前尚未收到请求,则无论具有或不具有会话持久性,故障转移都是透明的。

恢复步骤:不需要执行任何操作。SOAP 请求发送到执行它的实时节点。

具有会话持久性

用户体验:与不具有会话持久性的模式相同。

恢复步骤:与不具有会话持久性的模式相同。

方案 8:Web 服务工作流请求正在由 Identity Manager 进行的方案

方案描述

此方案与方案 7 类似。二者唯一的区别在于,在方案 8 中,当节点出现故障时,工作流正在进行;在方案 7 中,当节点出现故障时,节点尚未收到 SOAP 请求。

不具有会话持久性

用户体验:此方案与方案 2(工作流正在进行)相似。工作流被标记为已终止,用户看到一个因 SOAP 请求产生的错误。

恢复步骤:用户必须使用相似的或经过修改的参数(基于故障出现在工作流中的位置),通过第三方应用程序中的用户界面重新提交表单。

具有会话持久性

用户体验:与不具有会话持久性的模式相同。

恢复步骤:与不具有会话持久性的模式相同。