CCOW背景
实现CCOW上下文参与者
上下文参与者是从上下文管理器获取或设置上下文数据的应用程序。LEADTOOLS CCOW SDK同时支持ActiveX和Web参与者。
Web上下文参与者
LEADTOOLS Web Context参与者由两个主要组件组成。为了使web应用程序成为上下文参与者,需要以下组件:
Web服务(Leadtools.Ccow.Services.CcowParticipantService): web服务定义了CCOW web参与者服务契约,该契约使web上下文参与者能够收到关于上下文更改的通知。
此服务负责接收上下文更改通知并将更新发送到Web应用程序。
Javascript接口(Leadtools.Ccow.js):实现CCOW web组件。
执行以下步骤使web应用程序成为上下文参与者:
主办Leadtools.Ccow.Services.CcowParticipantServiceweb服务
- 对象的对象来接收参与者通知体的类,并注册以下事件:
- CommonContextTerminated
- 平
- ContextChangesAccepted
- ContextChangesCanceled
ActiveX上下文参与者
要使应用程序成为上下文参与者,请创建实现上下文参与者的类Leadtools.Ccow.IContextParticipant接口,以便启用以下方法:
- CommonContextTerminated
- ContextChangesAccepted
- ContextChangesCanceled
- ContextChangesPending
- 平
类实现必须是COM对象。因此,在声明类时需要ComVisibleAttribute。
参与单点登录(SSO)的安全上下文系统
为了实现单点登录,必须将一个应用程序指定为进行身份验证的应用程序。与LEADTOOL188金宝搏beat体育官网S CCOW SDK一起发布的CCOW演示已经将CCOW身份验证示例应用程序指定为执行身份验证的应用程序。
当启动启用SSO的任何LEADTOOLS CCOW参与应用程序时,参与者应用程序将是用户和患者链接的。否则,参与者应用程序将仅与患者链接。
CCOW上下文参与者最佳实践建议
- 如果应用程序没有在上下文中运行,则不应该显示CCOW图标。否则,将始终显示CCOW链接图标。
- 如果应用程序未能加入公共上下文,则CCOW图标应显示在断开链接状态,但应用程序应继续以独立方式运行(如果可能的话),并应通知用户。
- 在暂停后恢复或重新加入上下文会话时,应用程序应该自动调优到当前上下文。
- 无论是响应外部发起的上下文更改事务,还是响应专门针对应用程序的等效用户输入,应用程序的行为都应该相同。因此,如果用户现在通过应用程序在上下文中显式地选择了对象,那么应用程序应该转到它将转到的任何屏幕。在这样做的过程中,应用程序还应该应用与用户直接与应用程序交互相同的业务、访问特权和安全规则。
- 如果应用程序针对在新上下文中表示的患者、用户等进行了调优,则应用程序不应该更改上下文。相反,应用程序应该响应已经更改的那部分上下文。
- 允许用户在任何时候显式地中断应用程序的上下文链接应该是可配置的,默认情况下应该禁用该功能。
- 如果启用了break-link配置,那么当出现有条件的接受或繁忙应用程序状态时,应用程序应该显示对话框中的break-link选项。
- 如果禁用了break-link配置,那么当出现有条件的接受或繁忙应用程序状态时,也应该从显示的对话框中删除break-link选项。
- 当断点链接配置被禁用并且有一个繁忙的应用程序时,对话框应该简单地说明所选操作(更改)无法完成(因为繁忙的应用程序)。应该提供一个“OK”按钮来关闭对话框。
- 如果应用程序具有保存未保存数据的能力,那么它应该这样做,并且在上下文更改事务发生时无条件地接受,以最大限度地减少CCOW对话框呈现给用户的频率。
- 避免或至少尽量减少使用模态工作流(对话框),以便允许用户通过与其他应用程序的交互间接地改变状态(例如,它被“调优”到的患者)。
- 应用程序应该是可配置的,这样应用程序支持的每个上下文主题都可以启用或禁用。默认配置应该是启用应用程序支持的所有上下文主题。
- 应用程序应该始终验证它即将自动登录的用户是有效的用户。此外,它应该始终为通过CCOW用户链接登录的用户强制相同的访问权限,如果同一用户直接登录到应用程序。
- CCOW要求应用程序不活动超时是可配置的(包括禁用)。
- 对特定主题不感兴趣的应用程序应该过滤掉该主题,以减少与上下文更改相关的消息传递开销。
- 应用程序应该尽量减少有条件地接受上下文调查更改的需求,因为这会导致向用户显示与ccow相关的对话框。
- 申请应始终提供有条件接受的理由。同样,应该在JoinCommonContext方法中指定有意义的应用程序名称,以便用户可以更容易地确定是哪个应用程序生成了有条件的接受消息。
- 应用程序应确保在响应上下文更改时不会从另一个应用程序获得关注点。
- 在响应由另一个应用程序发起的上下文更改事务时,应用程序不应该显示对话框(特别是模态对话框)。
- 如果没有执行安全绑定,应用程序不应该获取安全上下文主题的数据。在假定签名上下文数据有效之前,应用程序应始终验证其接收到的数字签名。
- 当应用程序被指示终止时,它必须离开CCOW上下文。
- 为了符合CCOW标准,需要使用可配置的后缀。此外,最好每个应用程序为其支持的每个主题使用的整个主题名称都是可配置的。
- 应用程序应该是可配置的,以便能够控制在注销或终止作为上下文参与者的应用程序时公共上下文数据会发生什么。
- 默认配置应该是,无论是注销应用程序还是终止应用程序,都只影响应用程序:当应用程序离开上下文时,公共上下文数据不应受到应用程序的影响。
- 另一个配置选项是,当用户注销或终止应用程序时,将用户主题设置为空。这将导致用户退出公共上下文会话。在这种情况下,当用户注销或终止时,应用程序不应该更改其他上下文数据。这个建议适用于临床风格的应用程序,而不是作为用户或桌面管理器的应用程序。默认的配置设置应该是只注销应用程序。