1.SaaS介绍1.1SaaS概念SaaS是Software-as-a-service(软件即服务)的简称,是随着互联网技术的发展和应用软件的成熟,而在21世纪开始兴起的一种完全创新的软件应用模式。它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。在这种模式下,客户不再像传统模式那样花费大量投资用于硬件、软件、人员,而只需要支出一定的租赁服务费用,通过互联网便可以享受到相应的硬件、软件和维护服务,享有软件使用权和不断升级,这是网络应用最具效益的营运模式。1.2SaaS专用名词1.多重租赁(Multi-tenancy)SaaS的多重租赁概念就是,多个公司将其数据和业务流程托管存放在SaaS服务商的同一服务器组上,相当于服务商将一套在线软件同时出租给多个公司,每个公司只能看到自己的数据,由服务商来维护这些数据和软件。也就是说,多个公司登录到同一网站,但登录后看到的界面和数据,不同的公司大不相同。2.单点登录(Singlesign-on)这个概念应用在SaaS上,就是指把多个不同的在线应用软件服务搭建成为一种新型的整合服务。用户通常只需要登录一次就可以使用集成好的应用软件组合。3.基础架构平台(Platforminfrastructure)有时候SaaS的拥护者希望出现一种基础架构的平台来推动SaaS更好地发展。这是因为首先得有一个平台来支撑SaaS软件应用程序的运行,如今最著名的是国外Salesforce公司的APPExchange平台,国内800CRM的800APPNative的平台与Salesforce兼容。4.SaaS(软件作为服务)厉害的SaaS销售代表直接用SaaS就能解决你所有管理软件问题。比起其它软件,SaaS软件更便宜,灵活性更强,能省掉更多的麻烦。5SaaS成熟度模型(SaaSMaturityModel)(1)Level1:定制开发这是最初级的成熟度模型,其定义为AdHoc/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用例图平台管理员软件审核查看软件信息审核软件删除软件usesusesuses图2软件审核用例图注册用户注册软件注册信息绑定序列号获得序列号usesextendsextends图3注册软件用例图2.2软件编辑2.2.1业务流程图编辑子版本获得子版本序列号绑定序列号软件上架结束开始图4软件编辑流程图2.2.2业务详细说明软件注册成功并通过审核后,即可在我的软件(开发的软件)中查看,编辑或删除该软件信息,同时还可为软件进行版本分类,可创建,查看,删除子版本。2.2.3功能描述在我的软件中可查看,编辑,删除该软件信息,同时还可为软件进行版本分类,可创建,查看,删除子版本。2.2.4用例图软件开发者查看子版本编辑软件创建子版本编辑软件信息删除软件usesusesusesuses图5软件编辑用例图2.3软件购买2.3.1业务流程图注册用户进入软件商城点击购买某软件,进入购买页面选择购买版本填写购买授权个数和年限确定购买购买成功是否已经购买结束点击取消没有有进入购买的软件进入添加用户用户是否存在添加用户,把用户添加到相应软件中注册用户已添加的用户个数授权个数?进入续费页面,添加授权个数是否否授权期限未到?进入使用进入续费页面,添加授权期限是否图6软件购买流程图2.3.2业务详细说明用户在软件商城可查看所有平台已通过审核的软件,若用户已登录并未购买过该软件,则可点击购买进行购买软件;点击查看详细信息,可查看软件的详细信息,点击购买可进行购买(前提是用户已登录并未购买过该软件),若此用户已购买过该软件则会提示已购买并跳到购买的软件页面,用户可点击进入使用,若此用户未登录,则提示请先注册并登录。添加用户:若租户购买的授权个数大于1,则可添加其他用户使用软件,添加用户有两种方式:1.若用户已存在,即添加已在平台上注册的用户,则可通过注册时填写的电子邮件地址进行查找,并添加,添加成功后,对方即可在参与的软件中使用该软件。2.若用户不存在,即添加还未在平台上注册的用户,则可通过创建新用户来进行添加,并把创建的信息告知对方,对方即可在参与的软件中使用该软件。若不在想让某用户使用该软件,可通过删除操作来删除。续费:租户可根据仅追加使用授权个数,仅追加购买授权期限或同时追加个数和权限来进行续费2.3.3功能描述软件商城显示所有注册了并通过审核的软件,平台上已注册并登录的用户充值后可选择相应的软件根据授权个数和授权时间进行购买。购买成功后即可在购买的软件中查看并使用,同时还可进行续费,添加用户等操作。添加用户用于租户添加自己所购买软件的使用人员,也可根据需要进行删除。注意:授权个数即可使用该软件的人数,客户购买了软件后即成为租户,租户可通过添加用户操作添加用户。授权时间即该软件可使用的时间,若租户想增加授权个数或增加授权人数,即可通过续费来完成。2.3.4用例图注册用户购买软件查看软件信息购买软件添加用户续费usesusesusesuses图7软件购买用例图2.4参与软件2.4.1业务流程图无业务流程图。2.4.2业务详细说明通过软件购买中的添加用户可添加用户,成功后,用户点击参加的软件中相应软件的进入使用,可使用包括自己购买的和通过其他租户添加进去使用的软件2.4.3功能描述参加的软件中显示用户可使用的软件列表,包括自己购买的和通过其他租户添加进去使用的软件2.4.4用例图软件参与者参与的软件使用软件uses图8参与软件用例图2.5账户与个人信息2.5.1业务流程图无业务流程图。2.5.2业务详细说明用户可根据需要查看余额,进行充值,查看个人信息,修改密码等2.5.3功能描述帐户与个人信息可查看用户的余额,可进行充值,查看个人信息,修改密码等操作2.5.4用例图系统注册用户修改密码个人充值查看个人信息usesusesuses图9帐户与个人信息用例图02.6SaaS平台免登陆接口2.6.1业务流程图SaaS软件对CheckLogin.aspx请求访问调用接口判断请求接口的名称返回调用未声明接口的错误信息获取请求的参数返回需要请求参数为空的参数信息判断请求参数信息的合法性返回不存在或非法的参数错误信息判断请求信息是否超时重传返回超时重传的错误信息处理接口调用请求,返回结果数组[未找到相应的接口名][存在此接口名称][调用接口的参数全部获取][请求的参数不完全或为空][调用接口的Token已经超时][Token未超时][计算的sipsign符合要求][根据参数计算的sipsign不符合要求]用户请求登陆SaaS软件,平台对SaaS软件传参数图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调用免登陆接口: