一:背景介绍
我们开发了一个ar助教机器人,让用户的学习看的见、抓的组和帮得上。与第三方服务是合作关系,教师在第三方服务上制作课程,然后同步到ar助教机器人上。教师再登陆ar助教机器人进行推送课程,学生登陆ar助教机器人进行学习。这个整个过程中会用到1.第三方服务的登陆因为部分教师和学生的信息在第三方服务上;2.会用到在第三方服务上制作的课程,并且需要同步到ar助教机器人上。
从上面可以看出ar助教机器人依赖第三方服务,用户也需要依赖第三方服务。如果第三方服务终止合作以及停止服务,那么对于我们ar助教机器人来说是毁灭性的。
二:思路&方案
主要的思路就是脱离第三方服务,完全脱离第三方服务,部分脱离第三方服务。我们自己来管理我们的用户,我们自己进行课程的制作。
三:过程
目前我们主要分为两个阶段,第一个阶段(过度阶段)一定的时间内将用户的数据保存在我们ar助教机器人中;将第三方服务上的所有课程保存在我们ar助教机器人中,同时开发我们自己的做课系统。
第一个阶段
在这个阶段中,相对于上一个阶段来说,耦合较弱。如果一旦第三方服务不再提供服务,ar助教机器人依然能够提供服务。但是服务提供的不完整(课程和用户存在部分问题,没有新的课程,和第三方服务上的新用户)。
第二个阶段
权限系统(用户管理)、 AR助教机器人(推送课程,学习课程)、 TAR做课系统(做课,同步课程)
在这个阶段中,我们已经完全脱离了第三方服务,我们有了自己的做课系统(并且之前在第三方服务的做课数据也有)我们有了第三方的所有用户数据(也支持注册新用户)。我们摆脱了对第三方服务的耦合,将耦合转为对我们自己管理和维护的Tar做课系统。
四:总结
1.降低不可控制的因素,如其中的第三方服务,将其更换我我们自己能够管理维护的Tar做课系统,增加确定性,降低不确定性,提供稳定服务。
2.高内聚,低耦合 。每一个模块负责做一件事。权限(管理)Tar(做课)AR(教学)。彼此之间之后依赖管理。这样做的好处是便于后期进行扩展和各自维护。