1. SaaS介绍1.1 SaaS概念SaaS是Software-as-a-service(软件即服务)简称,是随着互联网技术发展和应用软件成熟,而在21世纪开始兴起一种完全创新软件应用模式。
它是一种通过Internet提供软件模式,厂商将应用软件统一部署在自己服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需应用软件服务,按定购服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供服务。
用户不用再购买软件,而改用向提供商租用基于Web软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用同时,也提供软件离线操作和本地数据存储,让用户随时随地都可以使用其定购软件和服务。
对于许多小型企业来说,SaaS是采用先进技术最好途径,它消除了企业购买、构建和维护基础设施和应用程序需要。
在这种模式下,客户不再像传统模式那样花费大量投资用于硬件、软件、人员,而只需要支出一定租赁服务费用,通过互联网便可以享受到相应硬件、软件和维护服务,享有软件使用权和不断升级,这是网络应用最具效益营运模式。
1.2 SaaS 专用名词1.多重租赁(Multi-tenancy)SaaS"多重租赁"概念就是,多个公司将其数据和业务流程托管存放在SaaS服务商同一服务器组上,相当于服务商将一套在线软件同时出租给多个公司,每个公司只能看到自己数据,由服务商来维护这些数据和软件。
也就是说,多个公司登录到同一网站,但登录后看到界面和数据,不同公司大不相同。
2.单点登录(Single sign-on)这个概念应用在SaaS上,就是指把多个不同在线应用软件服务搭建成为一种新型整合服务。
用户通常只需要登录一次就可以使用集成好应用软件组合。
3.基础架构平台(Platform infrastructure)有时候SaaS拥护者希望出现一种基础架构平台来推动SaaS更好地发展。
这是因为首先得有一个平台来支撑SaaS软件应用程序运行,如今最著名是国外Salesforce 公司APP Exchange平台,国内800CRM800APP Native平台与Salesforce兼容。
4. SaaS(软件作为服务)厉害SaaS销售代表直接用SaaS就能解决你所有管理软件问题。
比起其它软件,SaaS软件更便宜,灵活性更强,能省掉更多麻烦。
5 SaaS成熟度模型(SaaS Maturity Model)(1)Level1:定制开发这是最初级成熟度模型,其定义为Ad Hoc/Custom,即特定/定制,对于最初级成熟度模型,技术架构上跟传统项目型软件开发或者软件外包没什么区别,按照客户需求来定制一个版本,每个客户软件都有一份独立代码。
不同客户软件之间只可以共享和重用少量可重用组件,库以及开发人员经验。
最初级SaaS应用成熟度模型与传统模式最大差别在于商业模式,即软硬件以及相应维护职责由SaaS服务商负责,而软件使用者只需按照时间,用户数,空间等逐步支付软件租赁使用费用即可。
(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.1业务流程图图4软件编辑流程图2.2.2业务详细说明软件注册成功并通过审核后,即可在我软件(开发软件)中查看,编辑或删除该软件信息,同时还可为软件进行版本分类,可创建,查看,删除子版本。
2.2.3功能描述在我软件中可查看,编辑,删除该软件信息,同时还可为软件进行版本分类,可创建,查看,删除子版本。
2.2.4用例图图5软件编辑用例图2.3.1业务流程图图6软件购买流程图2.3.2业务详细说明用户在软件商城可查看所有平台已通过审核软件,若用户已登录并未购买过该软件,则可点击购买进行购买软件;点击查看详细信息,可查看软件详细信息,点击购买可进行购买(前提是用户已登录并未购买过该软件),若此用户已购买过该软件则会提示已购买并跳到购买软件页面,用户可点击进入使用,若此用户未登录,则提示请先注册并登录。
添加用户:若租户购买授权个数大于1,则可添加其他用户使用软件,添加用户有两种方式:1.若用户已存在,即添加已在平台上注册用户,则可通过注册时填写电子邮件地址进行查找,并添加,添加成功后,对方即可在参与软件中使用该软件。
2.若用户不存在,即添加还未在平台上注册用户,则可通过创建新用户来进行添加,并把创建信息告知对方,对方即可在参与软件中使用该软件。
若不在想让某用户使用该软件,可通过删除操作来删除。
续费:租户可根据仅追加使用授权个数,仅追加购买授权期限或同时追加个数和权限来进行续费2.3.3功能描述软件商城显示所有注册了并通过审核软件,平台上已注册并登录用户充值后可选择相应软件根据授权个数和授权时间进行购买。
购买成功后即可在购买软件中查看并使用,同时还可进行续费,添加用户等操作。
添加用户用于租户添加自己所购买软件使用人员,也可根据需要进行删除。
注意:授权个数即可使用该软件人数,客户购买了软件后即成为租户,租户可通过添加用户操作添加用户。
授权时间即该软件可使用时间,若租户想增加授权个数或增加授权人数,即可通过续费来完成。
2.3.4用例图图7软件购买用例图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.6 SaaS平台免登陆接口2.6.1业务流程图图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-2 sipsign验证生成图1-6-3 请求接口URL判断请求接口名称:请求接口理应当分为很多类型,所以在处理页面上应当做分类处理,当然目前只实现免登陆接口,但为了以后扩展这种业务流程上判断不能少(接口名称命名规则建议为:公司名.模块名.功能名,这样可以用split做分类操作)。
如果不存在此名称接口,则返回一个错误信息。
获取请求数据:根据接口类型不同,获取不同名称数据参数。