TOGA:以数据为中心的协作定制服务
1. 设计概述
我们的架构旨在将一组独立的应用程序发展成为一个协作式信息系统。这种协作概念通过利用公共工作和信息空间的强大协作方法来实现。若应用程序希望通过公共信息空间进行协作,为有效使用TOGA,需在多个关键方面做出决策:
- 定义公共信息空间内容 :即明确共享的数据对象。
- 确定对象粒度 :决定数据对象和操作的合适粒度是定义协作级别关键。
- 定义相关操作 :包括改变信息空间的操作及相应的撤销操作。
- 指定冲突解决策略 :冲突通过中止处理。
例如,在处理多维对象旋转时,可选择同步单维旋转或最终状态;创建新模块时,可同步每个(部分)项的创建或仅同步(最终)模块的创建。
一旦定义了公共工作和信息空间,其一致性将通过面向事务的处理自动控制。每个影响公共信息空间的操作都会被编码为一个事件,并发送到TOGA服务器。服务器使用2 - 阶段提交协议(2PC)将此事件分发给所有组成员,确保他们都成功执行了编码操作。若某个应用程序无法执行该操作,它将投票“中止”,TOGA会通知所有组成员撤销此操作。
2. 分层架构
为支持各种环境,TOGA服务采用分层架构,具体如下:
| 层次 | 描述 |
| ---- | ---- |
| 应用层 | 包含特定应用场景的所有信息,负责将特定应用操作编码为通用事件,反之亦然。定义组和相关数据对象集,决定哪些操作需立即同步,哪些可在本地执行后再同步。 | <
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



