Saas公共服务平台架构及实现毕业论文(4)

2019-04-21 16:49

3.SaaS平台需改进的功能点与方案

3.1 基于组织机构的软件用户管理方式 3.1.1 原功能描述

SaaS平台的设计是基于用户的软件使用方式,也就是说每个用户在平台上都是平级的,当用户购买了软件之后他就成了这个软件的一个特定的租户,当用户想要其他的用户使用自己购买的软件的时候,可以把这个软件的使用授权赋予其他平台用户,至于具体的权责划分就在软件中划分,当然租户可以收回赋予的软件使用授权。这样的方式是以个体用户为中心,采用平级的处理来实现软件用户管理。(这方面还需要对恶意注册进行考虑改进)

3.1.2 改进后的功能描述

根据新的需求,SaaS平台追加一种基于组织机构的软件用户管理方式。也就是说一个组织机构购买了一个软件后可以把软件授权赋予在所属组织机构的用户上。这样的实现方式可以让软件用户的管理更简单,组织机构当然也可以回收某个用户的使用权限,并赋予某个用户多个软件的使用权限。同时,SaaS软件初始化的过程中可以让组织中的人员角色与SaaS软件中人员角色相对应(此功能很难实现)。

3.1.3 实现方案

如果要添加基于组织机构的软件用户管理方式,则必须先要添加组织机构的注册。也就是说注册的类型分为个人用户注册和组织机构注册。至于组织机构的里所属的用户在理念上是可以由用户自由添加和管理的(这种设计可以认为SaaS平台也具有SaaS软件的部分特点),同时组织机构里的用户也可以设置职位(职位在SaaS平台中并没有太大的作用,但此类信息在组织机构的初始化过程中可能要用到,详细信息在基于组织机构的软件用户初始化方式中讨论说明)。那么一个基于组织机构的软件用户管理方式可以看成是一个简单的管理系统,如图3-1-1:

基于组织结构软件用户管理添加组织机构用户删除组织机构用户设置组织机构用户信息和职位赋予组织机构用户软件授权管理组织机构用户软件授权 图 3-1-1 组织机构的软件用户管理方式

既然组织机构里有属于此组织机构独有的用户,那么出于安全与系统设计上的考虑我们需要让组织机构中的用户与普通的个体用户分别独立开来,所以我们要加一张组织机构用户表来专门存储组织机构用户数据,同时必须要有一个数据字段来记录组织的id,如图3-1-2:

图3-1-2 组织机构用户数据结构

用户数据信息里可以存放用户的账号,密码,职位等其他用户信息。而组织机构用户是可以由组织机构随意添加的,但组织机构用户只能有其所属的组织机构管理(此部分存在一个恶意注册的问题,可以考虑每个组织机构有个添加用户的上限)。当然,组织机构用户与普通的个体用户在平台上的功能也应该有所不同,且他们涉及到的关系业务逻辑也应当有所不同,具体的设计想法如下: 1, 个体用户与组织机构间没有任何关系,即是和组织机构用户没有任何

关系,个体用户购买的软件授权是不可以赋予组织机构的用户的。

2, 个体用户是一个平级的概念,组织机构用户有上下级关系。

3, 个体用户可以通过购买软件成为一个租户,组织机构用户永远都是隶 属于组织机构这个租户下的用户,同时也不具有购买软件的功能。

4, 个体用户和组织机构用户登陆后所看到的页面应当是不同的。

5, 个体用户只能由平台的系统管理员管理,而组织机构用户可以由组织 机构管理。

软件使用授权的使用分配,其具体的实现方式因为个体用户与组织机构的分类而进行分

类处理的,普通个体用户的软件授权是赋予其他的普通个体用户,这个个体用户可以由用户自己添加也可以查找现有的个体用户的账号,这种授权方式简单但操作起来麻烦又不便管理。至于组织机构的授权方式,就是组织机构购买的软件授权赋予组织机构下的组织机构用户,这种选取方式更灵活,如图3-1-3 :

组织机构人员列表[赋予软件A的授权] [赋予软件B的授权] [赋予软件B的授权] 用户1组织机构管理者[赋予软件A的授权] 用户2用户三

图 3-1-3 组织机构软件授权方式

为了更好的管理组织下的用户,组织机构也需要设定一个层级关系,如图:3-1-4

图3-1-4 组织机构人员层级关系

又由于组织机构用户是与组织机构与个体用户的数据表是分开的,所以组织机构管理员对组织机构用户的添加,删除,修改都是可以的,且不会影响平台用户的操作和数据。 要实现这部分功能,要添加组织机构表,组织机构用户表,方便层次管理的部门表。如果要自定义角色的话还要添加个组织机构角色表。

3.2 基于组织机构的软件用户初始化方式 3.2.1 原功能描述

原来平台上的用户都是个体用户,且都是平级的,初始化的方式是采用分别初始化,一一对应的方式。也就是说每个可以使用此软件的用户只有第一次登陆到SaaS软件中去才能在SaaS软件中初始化用户数据。这种初始化方式每次初始化的流量小,且每个用户的登陆都能触发租户信息的初始化,但不方便的是需要每个用户登陆到软件中。

3.2.2 改进后的功能描述

由于出现了基于组织结构的软件用户管理方式,相应的也应当增加基于组织机构的初始化方式。基于组织机构的初始化方式不同于普通的个体用户初始化方式,其应当采用的是组织机构管理员登陆一次性初始化这种方式。也就是说,当组织机构购买了此软件的时候需要组织机构管理员登陆SaaS软件以便于初始化。而且这种触发方式只应当由组织机构管理员来触发实现,当组织机构管理员未触发此初始化事件的时候,其他组织机构用户是无法访问SaaS软件的。(这种初始化方式一次性要传送大量的数据,如果发生网络冲突或中断的话,要利用一些方法进行修正,当然也可以沿用原来的初始化方式,不过这样就大大降低了组织机构的灵活性)

3.2.3 实现方案

方式一

从最直接的实现方式入手就是当组织机构管理员登陆软件的时候传送大量的数据,从而使得整个组织结构的系统初始化。此方式如图3-2-1:

[携带所有的组织机构信息] [成功初始化] 初始化登陆系统组织管理员

图3-2-1 组织机构初始化方式1

由于存在一个网络冲突的原因,有可能在第一次初始化的过程中失败。所以基于这部分的考虑,在设计上我们在组织管理员初始化之后需要每个组织机构用户在登陆SaaS软件的时候都需要通过少量的数据交互与平台核对一下用户是否完成全部初始化完成,也就是说平台上的组织机构用户的数量与软件上的组织机构用户数量进行核对比较,如果不符合的话就应当调用平台上的提供的接口重新初始化。方式如图3-2-2:

[携带组织机构用户数量] [成功登陆] 登陆系统核对用户数量[请求调用重新初始化接口] 组织机构用户

图 3-2-2 组织机构防初始化失败方式

这种方式的实现需要在平台添加一个重新初始化接口,同时SaaS软件的初始化代码也要有所更改。还有一点非常重要,就是在SaaS软件中默认配置的初始化一定要放在用户初始化的前面(因为判断的时候只是判断用户数量是否初始化完成)。

方式二(强烈不推荐) 这种方式是继续沿用原来的初始化方式,也就是分别初始化,一一对应的方式,此实现方式要考虑个体用户和组织机构所构成的租户id重叠问题(因为SaaS软件本地的数据库的租户id是和平台上的用户id相关联的,现在又多了组织结构表和组织机构用户表,即是组织机构管理员也可以成为租户,这样id就可能相同)。我们可以让个体用户的租户id用数字表示,而组织机构的租户id用数字字母形成的序列号表示。当然,如果采用这种方式的话,SaaS软件的id模式就可能不统一了。也可以在初始化过程中指明初始化类型是组织结构方式的,从而用一种算法替换id数值,这种方式也可以解决个体用户与组织机构用户的id冲突问题。 总的来说,这种实现方式不利于管理,使得组织结构方式的软件用户管理灵活性大大下降,但实现起来比方式1更简单(更改的代码量少)。


Saas公共服务平台架构及实现毕业论文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:三角函数第4节正余弦函数定义与诱导公式

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: