公共服务平台架构及实现毕业资料Word文档下载推荐.docx
- 文档编号:21739124
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:20
- 大小:270.28KB
公共服务平台架构及实现毕业资料Word文档下载推荐.docx
《公共服务平台架构及实现毕业资料Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《公共服务平台架构及实现毕业资料Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
(2)Level2:
可配置第二级成熟度模型相对于最初级的成熟度模型,增加了可配置性,可以通过不同的配置来满足不同客户的需求,而不需要为每个客户进行特定定制,以降低定制开发的成本。
但在第二级成熟度模型中,软件的部署架构没有发生太大的变化,依然是为每个客户独立部署一个运行实例。
只是每个运行实例运行的是同一个代码,通过配置的不同来满足不同客户的个性化需求。
(3)Level3:
高性能的多租户架构
在应用架构上,第一级和第二级的成熟度模型与传统软件没有多大差别,只是在商业模式上符合SaaS的定义。
多租户单实例的应用架构才是通常真正意义上的SaaS应用架构,即
Multi-Tenant架构。
多租户单实例的应用架构可以有效地降低SaaS应用的硬件及运行维护成
本,最大化地发挥SaaS应用的规模效应。
要实现Multi-Tenant架构的关键是通过一定的策略来保证不同租户间的数据隔离,确保不同租户既能共享同一个应用的运行实例,又能为用户提供独立的应用体验和数据空间。
(4)Level4:
可伸缩性的多租户架构
在实现了多租户但单实例的应用架构之后,随着租户数量的逐渐增加,集中式的数据库性能就将成为整个SaaS应用的性能瓶颈。
因此,在用户数大量增加的情况下,无须更改应用架构,而仅需简单的增加硬件设备的数量,就可以支持应用规模的增长。
不管用户多少,都能像单用户一样方便地实施应用修改。
这就是第四级也是最高级别的SaaS成熟度模型所
要致力解决的问题。
5.独立软件开发者(ISV)
开发软件的个人或者公司,ISV通过平台来出售自己的软件
6.软件入口
ISV出售软件时,提供给用户使用的接口,即ISV开发的软件的进入网址。
7.创建子版本
ISV根据软件的功能,版软件分成几个不同的子版本,用户可以根据所需运用购买不同的版本,其工作有isv完成
8.租户
购买了软件的个人或者公司。
9.注册序列号
isv注册软件时获得的序列号,是isv软件唯一不可变更的序列号,可不计入数据库,单
必须保存在isv软件的配置文件中。
10.免登陆
由平台跳到isv软件时,不需进行再登陆,isv软件根据传过来的用户信息,直接初始化用户信息。
11.Token身份验证令牌,在saas平台跳到isv软件时使用,用于验证跳转用户的合法性。
Token动态生成,为了安全,其生命长度只有10-20秒。
12免登入接口由平台提供的一组验证程序,修改其中的注册序列号后绑定到isv软件,以实现用户的免登入。
13.参与的软件不是自己购买开发的软件,而是由别人购买并添加,其所有软件显示为参与的软件。
14.AssP
软件互联平台,在这既SaaS平台
2.SaaS平台功能
2.1
软件注册
2.1.1
业务流程图
注册用户
点击注册软件
填写软件信息和软件入口
成功
图1软件注册流程图
2.1.2业务详细说明
用户先注册一个平台的帐号,登录后,点击我的软件(即开发的软件)进入,后点击注册软件,填写相关信息,提交成功后,会产生一个软件注册序列号,此序列号为核对客户软件的凭证。
最后还需通过平台管理员审核,该软件才会出现在软件商城中,才可供平台用户购买。
2.1.3功能描述
注册软件主要是用于给想在该平台上出售软件的第三方客户(软件提供商)提供软件入口,同时填写软件相关详细信息,图片,类别等。
注意:
注册软件时需要客户填写软件入口,即客户所提供软件的发布网址,当
平台上的客户购买了软件后,点击进入使用时,将通过该软件入口进入软件。
2.1.4用例图
图2软件审核用例图
图3注册软件用例图
2.2软件编辑
2.2.1业务流程图
开始
编辑子版本
获得子版本序列号
绑定序列号
软件上架
结束
图4软件编辑流程图
2.2.2业务详细说明
软件注册成功并通过审核后,即可在我的软件(开发的软件)中查看,编辑或
删除该软件信息,同时还可为软件进行版本分类,可创建,查看,删除子版本。
2.2.3功能描述
在我的软件中可查看,编辑,删除该软件信息,同时还可为软件进行版本分类,可创建,查看,删除子版本。
2.2.4用例图
图5软件编辑用例图
2.3软件购买
2.3.1业务流程图
进入续费页面,添
加授权个数
用户是否存在
加授权期限
进入添加用户
<授权个数?
否
添加用户,把用户
添加到相应软件中
是
授权期限未
到?
进入使用
图6软件购买流程图
2.3.2业务详细说明
用户在软件商城可查看所有平台已通过审核的软件,若用户已登录并未购买过该软件,则可点击购买进行购买软件;
点击查看详细信息,可查看软件的详细信息,点击购买可进行购买(前提是用户已登录并未购买过该软件),若此用户已购买过该软件则会提示已购买并跳到购买的软件页面,用户可点击进入使用,若此用户未登录,则提示请先注册并登录。
添加用户:
若租户购买的授权个数大于1,则可添加其他用户使用软件,添加用户有两种方式:
1.若用户已存在,即添加已在平台上注册的用户,则可通过注册时填写的电子邮
件地址进行查找,并添加,添加成功后,对方即可在参与的软件中使用该软
件。
2.若用户不存在,即添加还未在平台上注册的用户,则可通过创建新用户来进行
添加,并把创建的信息告知对方,对方即可在参与的软件中使用该软件。
若不在想让某用户使用该软件,可通过删除操作来删除。
续费:
租户可根据仅追加使用授权个数,仅追加购买授权期限或同时追加个数和权限来进行续费
2.3.3功能描述
软件商城显示所有注册了并通过审核的软件,平台上已注册并登录的用户充值后可选择相应的软件根据授权个数和授权时间进行购买。
购买成功后即可在购买的软件中查看并使用,同时还可进行续费,添加用户等操作。
添加用户用于租户添加自己所购买软件的使用人员,也可根据需要进行删除。
注意:
授权个数即可使用该软件的人数,客户购买了软件后即成为租户,租户可通过添加用户操作添加用户。
授权时间即该软件可使用的时间,若租户想增加授权个数或增加授权人数,即可通过续费来完成。
2.3.4用例图
2.4参与软件
2.4.1业务流程图
无业务流程图。
2.4.2业务详细说明
通过软件购买中的添加用户可添加用户,成功后,用户点击参加的软件中相应软件的进
入使用,可使用包括自己购买的和通过其他租户添加进去使用的软件
2.4.3功能描述
参加的软件中显示用户可使用的软件列表,包括自己购买的和通过其他租户添加进去使用的软件
2.4.4用例图
图8参与软件用例图
2.5账户与个人信息
2.5.1业务流程图
2.5.2业务详细说明
用户可根据需要查看余额,进行充值,查看个人信息,修改密码等
2.5.3功能描述
帐户与个人信息可查看用户的余额,可进行充值,查看个人信息,修改密码等操作
2.5.4用例图
图9帐户与个人信息用例图
02.6SaaS平台免登陆接口
2.6.1业务流程图
用户请求登陆SaaS软件,平台对SaaS软件传参数
SaaS软件对CheckLogin.aspx请求访问调用接口
判断请求接口的名称
[未找到相应的接口名]
返回调用未声明接口的错误信息
[存在此接口名称]
获取请求的参数
[调用接口的参数
[请求的参数不完全或为空]
返回需要请求参数为空的参数信息
判断请求信息是否超时重传
[调用接口的Token已经超时]
返回超时重传的错误信息
[Token未超时]
判断请求参数信息的合法性
[根据参数计算的sipsign不符合要求
[计算的sipsign符合要求]
处理接口调用请求,返回结果数组
图1-6-1免登陆接口的处理流程
2.6.2业务详细说明
用户请求访问购买的SaaS软件:
用户请求使用用户购买的SaaS软件时,平台会将用户ID(User_ID),软件ID(Application_ID),购买此软件的租户ID(Renter_ID),防止重传的Token这4个参数传值提供软件提供商提供的网址。
同时将此时生成的Token序列和时间与访问的用户id,软件id一起保存在数据库里,Token的有效时间理应当设为10秒到20秒左右。
SaaS软件访问CheckLogin.aspx调用免登陆接口:
SaaS软件在注册时候会获得一个独有的软件序列号,软件提供商在软件开始运行的代码中加入请求,访问平台判断此用户和本软件是否是合法的软件和用户,SaaS软件应
该将软件序列号,时间戳(系统当前时间),请求的接口名,与传送过来的四个值用md5加密生成一个新的sipsign的值,再把sipsign,时间戳,请求的接口名和传送过来的四个值传给平台的CheckLogin.aspx页面请求调用免登陆接口。
(如图1-6-2和图1-6-3)
图1-6-2sipsign验证的生成
图1-6-3请求接口的URL
判断请求接口的名称:
请求接口理应当分为很多类型,所以在处理页面上应当做分类处理,当然目前只实现的免登陆接口,但为了以后的扩展这种业务流程上的判断不能少(接口名称的命名规则建议为:
公司名.模块名.功能名,这样可以用split做分类操作)。
如果不存在此名称的接口,则返回一个错误信息。
获取请求的数据:
根据接口类型的不同,获取不同名称的数据参数。
如果获取的某一个数据参数为空,则返回一个错误信息。
图1-6-4Token存取流程
判断参数的合法性:
根据传送过来的参数,和平台从数据库读出相应的软件序列号重新做一次sipsign的运算,再将运算结果和SaaS软件传送过来的值做比较,如果相同则合法,如果不相同则返回一个错误信息。
处理接口调用请求,返回结果数值:
通过一系列的合法判断,最后执行接口的处理请求,不同的接口处理方式不同,需要返回结果由'
&
'
特殊字符拼接成一个字符串返回给SaaS软件(也可以返回一个xml),如果不需要返回结果的,可以返回一个成功信息。
(这部分还需要对安全性进行考虑)
2.6.3功能描述
接口的实现主要是针对SaaS软件与SaaS平台之间的关联矛盾。
因为用户数据与买卖交易数据都存放在SaaS平台之中。
当SaaS软件需要获得买卖此软件的某些合法的用户数据的时候就需要和平台进行一定的交互,此时候就要通过接口来实现此种交互。
目前SaaS平台上只实现了免登陆的接口,免登陆接口实现用户从平台到第三方软件的链接不需要二次登陆,只需要在平台上购买了此软件,则可以从平台上直接登陆第三方软件使用。
接口的种类可以有很多种,如果要扩展的话还可能要有获取购买此软件用户授权的接口,查询购买此软件的用户信息的接口,以及其他等等。
2.6.4用例图
接口模块不存在用例图。
2.7SaaS软件用户初始化
2.7.1业务流程图
用户在平台登陆
选择购买的软件进入
SaaS软件调用免登陆接口
[用户非法]
[用户合法]
判断用户所属租户是否存在
[本地数据不存在此租户
[本地数据存
在此租户]
初始化租户信息及相关信息
使用属于此用户的软件
图1-7-1SaaS软件初始化流程
2.7.2业务详细说明
用户在平台登陆:
基于SaaS平台的SaaS软件的用户都是在平台上实现注册登陆的,这样平台上管理
多个SaaS软件的时候就可以一次登陆免去多个二次登陆的麻烦。
用户在平台通过单点登陆(SSO)链接到SaaS软件上。
选择购买的软件进入:
用户可以拥有多个软件,不同的软件有不同的软件入口地址。
SaaS软件调用免登陆接口:
所有的软件一开始都应当判断进入用户的合法性。
判断用户所属租户是否存在初始化租户信息:
先查看本地数据库中是否存在与此租户是否存在,如果不存在则需要初始化租户及相关的数据,所谓的初始化租户及相关的数据不止是将租户的信息加入到本地数据库,而且要初始化SaaS软件的默认配置。
譬如说SaaS软件本身具有默认的几个角色,但由于SaaS
软件的特性是由多个不同的租户使用,不同的租户定义的角色有所不同,但又具有相同的系统默认的角色,在这种情况下就需要在初始化租户的时候初始化SaaS软件的默认配置,将
系统本身默认的角色与此租户关联起来。
还有一点要注意的是,SaaS软件本地数据库里的
租户id就是用户在平台上的用户id,通过这样才能判断平台上的用户是否已经在软件本地里初始化过。
判断用户是否存在初始化用户信息:
如果本地数据库没有此用户信息,且此用户又是合法的,则将此用户的信息存放在数据库里。
如果SaaS软件系统功能上是分角色权限的,则需要把给此用户赋予一个最低的权限,再由系统管理员(即是租户)提升此用户的权限。
载入登陆用户的权限,信息:
当一切判断结束后,如果用户合法且系统初始化信息完毕则用户获得一个具有他在此系统的权限和信息的Session。
2.7.3功能描述
SaaS软件初始化的过程也即是为了解决平台与SaaS软件之间的关联矛盾问题。
但不同
的是此部分必须要由软件提供者完成,也就是软件提供者需要在用户登陆的时候就需要判断初始化数据(尽管从流程上看很繁琐,但必不可少)。
这个初始化的过程可以解决不同租户在软件中配置不同且又都保留系统默认配置的问题。
在初始化的设计我们采用的是一对一的设计方式:
图1-7-2初始化方式
这种初始化方式即是每个用户就需要经历初始化判断的过程,且只有判断后才能把用户数据添加到本地数据库里。
即是一个租户买了软件后添加了用户,租户可以不先登陆,用户可以先登陆(因为所有的用户都会触发初始化过程),然而只有登陆过的用户才能出现在SaaS软件的本地数据库中。
这种初始化过程是采用分别初始化,一一对应的方式。
(至于基于组织结构方式进行初始化方式,我们在改进的功能点与方案中再进行描述讨论)
2.7.4用例图
此模块无用例图。
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
3-1-4
为了更好的管理组织下的用户,组织机构也需要设定一个层级关系,如图:
图3-1-4组织机构人员层级关系
又由于组织机构用户是与组织机构与个体用户的数据表是分开的,所以组织机构管理员对组织机构用户的添加,删除,修改都是可以的,且不会影响平台用户的操作和数据。
要实现这部分功能,要添加组织机构表,组织机构用户表,方便层次管理的部门表。
如果要自定义角色的话还要添加个组织机构角色表。
3.2基于组织机构的软件用户初始化方式
3.2.1原功能描述
原来平台上的用户都是个体用户,且都是平级的,初始化的方式是采用分别初始化,一一对应的方式。
也就是说每个可以使用此软件的用户只有第一次登陆到SaaS软件中去才能
在SaaS软件中初始化用户数据。
这种初始化方式每次初始化的流量小,且每个用户的登陆都能触发租户信息的初始化,但不方便的是需要每个用户登陆到软件中。
3.2.2改进后的功能描述
由于出现了基于组织结构的软件用户管理方式,相应的也应当增加基于组织机构的初始化方式。
基于组织机构的初始化方式不同于普通的个体用户初始化方式,其应当采用的是组织机构管理员登陆一次性初始化这种方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 公共 服务 平台 架构 实现 毕业 资料