(完整版)Saas公共服务平台架构及实现_毕业设计
- 格式:doc
- 大小:1.04 MB
- 文档页数:30
SaaS系列介绍之⼗三:SaaS系统体系架构 1 系统体系架构设计 软件开发中系统体系架构决定了⼀个系统稳定性、健壮性、可扩展性、兼容性和可⽤性,它是系统的灵魂。
体系架构是架构师所关注的核⼼。
良好的体系架构是系统成功的开端,否则,再好的代码与设计也⽆济于事。
2 当前.net主要的开发框架简介 l Castle Castle是针对.NET平台的⼀个开源项⽬,从数据访问框架ORM到IOC容器,再到WEB层的MVC框架、AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应⽤程序提供了很好的服务。
其中关键的技术是ActiveRecord,Facilities,MonoRail等等。
优点:体现了ORM、IOC、ActiveRecorder思想,MVC框架。
不⾜:框架层次划分不太清楚。
l PetShop PetShop是微软⽤它来展⽰.Net企业系统开发的能⼒。
PetShop4.0,这个实例是Microsoft针对SQL Server 2005 以及Visual Studio 2005发布的。
其中运⽤了⼀些新的技术。
缓存数据与数据库的更新同步,新的Web控件,以及母版的应⽤,异步通讯,消息队列。
这些都是很实⽤的技术。
PetShop中⼤量运⽤了抽象⼯⼚模式,由于采⽤了Master Pages,Membership,以及Profile,表现层的编码量减少了25%,数据层的编码量减少了36%。
图1 PetShop4.0的体系架构 PetShop4.0在数据访问层(DAL)中,采⽤DAL Interface抽象出数据访问逻辑,并以DAL Factory作为数据访问层对象的⼯⼚模块。
对于DAL Interface⽽⾔,分别有⽀持MS-SQL的SQL Server DAL和⽀持Oracle的oracle DAL具体实现。
⽽Model模块则包含了数据实体对象。
可以看到,在数据访问层中,完全采⽤了“⾯向接⼝编程”思想。
SAAS架构设计模式随着云计算的迅速发展和软件即服务(Software as a Service,简称SAAS)的流行,SAAS架构设计模式也成为了云计算中的重要组成部分。
SAAS架构设计模式是指在开发SAAS应用程序时采用的一种构建模式和架构模式,可以提供可靠、可扩展和高性能的SAAS应用程序。
本文将介绍几种常见的SAAS架构设计模式。
1. 多租户模式(Multi-tenancy)多租户模式是指将多个客户的数据和应用程序部署在同一台服务器上,但是各个租户之间的数据和应用程序是相互隔离的。
这种模式可以节省资源和成本,并且可以更好地实现可伸缩性。
在多租户模式下,通常使用数据库分片和隔离技术来隔离不同客户的数据。
2. 微服务架构(Microservices)微服务架构是一种将应用程序分解为小型、独立的服务的架构模式。
每个服务都可以独立开发、部署和伸缩,通过API和消息队列进行通信。
这种模式可以提供灵活性、可伸缩性和可靠性,并且可以更快地进行开发和部署。
3. 事件驱动架构(Event-driven)事件驱动架构是一种通过事件触发和处理来实现应用程序的架构模式。
这种模式可以提供更强大的解耦性和弹性,并且可以更好地处理大规模的并发请求。
在SAAS应用程序中,事件驱动架构可以用于处理用户请求、数据更新和系统通知等不同类型的事件。
4. 缓存架构(Caching)缓存是一种在内存中存储和访问数据的技术,在SAAS应用程序中使用缓存可以提高性能和响应时间。
常见的缓存架构模式包括本地缓存、分布式缓存和反向代理缓存。
使用缓存可以减少对数据库的访问,提高系统的吞吐量和扩展性。
5. 异步处理(Asynchronous Processing)异步处理是一种将耗时的操作和后台任务分离出主线程的处理方式。
在SAAS应用程序中,常见的异步处理方式包括消息队列、任务队列和异步调用等。
这种模式可以提高系统的吞吐量、并发性和可靠性,并且可以更好地处理突发的请求和负载。
服务平台方案引言服务平台是一个集成了各种服务和功能的综合性平台,旨在提供便捷、高效的服务和解决方案。
本文档将介绍一个服务平台的方案,包括架构设计、功能模块和技术要点等内容。
1. 架构设计服务平台的架构设计是其成功实施的关键要素之一。
下面是我们提出的服务平台的架构设计方案:1.1 前端层服务平台的前端层采用现代化的Web技术,包括HTML、CSS和JavaScript 等。
我们将使用React框架来构建前端应用程序,并使用Redux来管理应用程序的状态。
1.2 后端层服务平台的后端层将采用微服务架构,这样可以提高系统的弹性和可伸缩性。
我们将使用Spring Cloud作为微服务框架,并采用Java语言编写服务。
1.3 数据层服务平台的数据层将采用关系型数据库和NoSQL数据库相结合的方式。
我们将使用MySQL来存储结构化数据,并使用MongoDB来存储非结构化数据。
2. 功能模块服务平台的功能模块是其核心组成部分。
下面是我们提出的服务平台的功能模块方案:2.1 用户管理模块用户管理模块负责管理平台的用户信息,包括用户注册、登录、权限控制等功能。
我们将使用OAuth2.0协议来实现用户认证和授权。
2.2 服务管理模块服务管理模块负责管理平台上的各种服务,包括服务上线、下线、监控等功能。
我们将使用Eureka作为服务注册和发现的中心,通过Zuul来实现服务的路由和负载均衡。
2.3 交易管理模块交易管理模块负责处理平台上的交易流程,包括支付、退款、订单管理等功能。
我们将使用第三方支付平台来实现支付功能,并使用RabbitMQ来处理异步消息。
3. 技术要点服务平台的技术要点包括各种技术和工具的选择和使用。
下面是我们提出的服务平台的技术要点方案:3.1 前端技术前端技术方面,我们将使用React、Redux和Ant Design来开发用户界面,使用Webpack来管理模块和打包。
3.2 后端技术后端技术方面,我们将使用Spring Boot和Spring Cloud来开发微服务,使用Hibernate来操作数据库。
saas系统实施方案Saas系统实施方案一、引言随着互联网的发展和企业信息化的深入,Saas系统作为一种新型的软件交付模式,正在逐渐成为企业选择的首要方案。
Saas系统实施方案的设计和执行对企业的业务发展至关重要。
本文将就Saas系统实施方案进行详细介绍,帮助企业更好地理解和应用Saas系统。
二、Saas系统概述Saas系统全称Software as a Service,即软件即服务。
它是一种通过互联网进行软件交付和访问的模式,用户无需购买和安装软件,只需通过互联网访问Saas系统提供的服务。
Saas系统具有灵活、便捷、低成本等特点,因而备受企业青睐。
三、Saas系统实施方案设计1. 需求分析在实施Saas系统之前,企业需要进行全面的需求分析,明确自身的业务需求和目标。
只有深入了解企业的实际情况,才能为Saas系统的实施提供有效的方案设计。
2. 系统选择在选择Saas系统时,企业需要充分考虑系统的稳定性、安全性、扩展性等因素。
同时,还需要考虑系统的适配性和定制性,确保系统能够满足企业的特定需求。
3. 数据迁移对于已有的数据,企业需要制定合理的数据迁移方案,确保数据能够顺利迁移到新的Saas系统中,并且保证数据的完整性和安全性。
4. 用户培训在Saas系统实施过程中,用户培训是至关重要的一环。
企业需要为员工提供相关的培训课程,帮助他们快速上手并熟练使用新的Saas 系统。
5. 实施计划制定详细的实施计划,明确各项任务的时间节点和责任人,确保实施过程有条不紊地进行。
同时,需要预留足够的时间进行测试和调整,确保系统能够正常运行。
四、Saas系统实施方案执行1. 沟通协调在执行Saas系统实施方案时,需要加强各部门之间的沟通和协调,确保各项工作能够顺利进行。
及时解决实施过程中出现的问题和障碍。
2. 风险管理在实施过程中,需要及时识别和评估各种风险,并制定相应的风险应对策略,确保实施过程的顺利进行。
3. 进度控制严格控制实施进度,及时跟进各项任务的完成情况,确保实施过程不偏离原定计划。
智慧saas管理系统设计方案智慧SaaS管理系统是一种基于云计算和大数据技术的智能化管理系统,其主要目的是帮助企业更高效地管理和运营SaaS服务。
下面是一个智慧SaaS管理系统的设计方案。
一、系统概述智慧SaaS管理系统主要包括以下模块:用户管理模块、服务管理模块、运营分析模块、支付结算模块、安全权限模块。
系统采用Web端+移动端的方式,方便用户随时随地访问和使用。
二、用户管理模块用户管理模块是系统的核心模块,主要功能是对用户信息进行管理。
系统管理员可以对用户进行注册、添加、删除、修改和查询等操作。
同时,系统还支持分角色管理,如管理员、客户经理、服务商等,每个角色有相应的权限和功能。
三、服务管理模块服务管理模块是系统的重要模块,主要功能是管理SaaS服务的创建、发布、维护和更新。
系统支持多种类型的服务,如企业资源管理、财务管理、人力资源管理等。
用户可以根据自己的需求选择相应的服务,并按照规定的流程进行订购和使用。
四、运营分析模块运营分析模块是系统的决策支持模块,主要功能是收集和分析用户的数据。
系统可以收集用户的登录次数、服务使用情况、用户反馈等数据,并进行数据分析和可视化展示。
根据分析结果,系统可以提供运营策略建议,帮助企业提升服务质量和用户满意度。
五、支付结算模块支付结算模块是系统的核心功能模块,主要功能是管理用户的支付和结算。
系统支持多种支付方式,如支付宝、微信支付、银行转账等。
用户可以根据自己的需求选择支付方式,并在系统内完成支付操作。
同时,系统还支持结算管理,包括账单生成、对账、发票管理等,方便用户进行财务管理。
六、安全权限模块安全权限模块是系统的基础模块,主要功能是管理用户的权限和安全。
系统支持多级权限管理,包括用户登录访问权限、数据访问权限、操作权限等。
同时,系统还支持安全控制,如数据备份、加密传输等,保证用户数据的安全性。
七、系统架构智慧SaaS管理系统采用分布式系统架构,主要包括前端、后台和数据库三层。
智慧社区saas系统设计方案智慧社区SaaS系统设计方案背景介绍:随着城市化进程的不断加快,社区管理变得愈发复杂。
为了提高社区居民的居住体验和管理效率,智慧社区SaaS (Software as a Service)系统应运而生。
该系统基于云计算平台,通过各种传感器、设备和网络技术,将社区内的各项服务进行数字化和集成化管理,提供一站式解决方案。
系统整体架构:智慧社区SaaS系统采用分布式架构,由以下主要模块组成:前端界面、后端服务器、数据库管理系统、数据存储和分析模块以及网络接口。
1. 前端界面:前端界面通过Web应用程序实现,居民可以通过电脑或手机浏览器访问系统。
界面设计简洁明了,功能模块分类清晰,提供居民需要的各项服务,如物业管理、小区公告、社区活动报名等。
同时,通过交互式地图展示社区设施和服务位置,方便居民查询和导航。
2. 后端服务器:后端服务器是系统的核心,负责处理前端传递过来的请求,处理业务逻辑,并与数据库进行交互。
服务器需具备高并发和高可靠性的特性,以应对庞大的用户量和复杂的业务需求。
可以采用微服务架构,将系统按照不同的功能拆分成多个独立的服务进行部署和管理,提高系统的扩展性和可维护性。
3. 数据库管理系统:数据库管理系统负责存储和管理社区各类数据信息,如居民信息、小区设施、物业服务等。
选择合适的数据库系统,如关系型数据库或NoSQL数据库,以满足系统对数据的快速读写、查询和统计分析的需求。
4. 数据存储和分析模块:社区SaaS系统通过各种传感器和设备收集社区内的数据信息,如环境监测、楼宇设备运行状态、居民行为等。
数据存储和分析模块负责将这些原始数据进行处理、存储和分析,生成有价值的信息和报告,如环境指标报告、设备健康状况分析等。
可以使用大数据处理技术和人工智能算法,实现数据挖掘和智能决策支持。
5. 网络接口:网络接口负责前端和后端、外部服务之间的通信。
可以采用RESTful接口或SOAP协议等标准化接口进行数据传输和通信。
基于SaaS模式的云安全服务平台设计与实现1. 引言随着云计算的快速发展,企业和个人对云安全的需求也越来越高。
传统的安全措施无法满足云环境中的新需求,因此基于SaaS模式的云安全服务平台应运而生。
本文将讨论该平台的设计和实现,以解决在云环境中的安全挑战。
2. 平台架构设计基于SaaS模式的云安全服务平台应采用多层次的架构,以确保安全性和可扩展性。
平台的主要组件包括用户界面、安全服务管理、数据存储与处理、身份认证和安全监测。
2.1 用户界面用户界面是用户与平台进行交互的窗口,应提供友好的用户体验和易于使用的功能。
用户可以通过界面访问各种安全服务,并监视其云环境的安全状态。
界面还应包括报告和警报功能,以及帮助用户做出及时的决策。
2.2 安全服务管理安全服务管理模块负责管理和部署各种安全服务。
它可以根据用户需求扩展或收缩服务,并确保所有服务正常运行。
该模块还负责对用户进行授权和权限管理,以确保只有授权的用户可以访问安全服务。
2.3 数据存储与处理数据存储与处理是平台的核心组件之一,它负责存储和处理用户的安全数据。
该模块应具备高可用性和容错性,并且能够实时处理大规模的安全数据。
平台可以使用云存储技术和大数据处理技术来实现这一目标。
2.4 身份认证身份认证模块用于验证用户的身份和权限。
它可以使用多种身份验证方法,例如用户名和密码、多因素身份验证等。
平台可以集成现有的身份认证系统,也可以开发自己的认证服务。
2.5 安全监测安全监测模块负责监测云环境中的安全事件和威胁。
它可以使用实时监测技术、日志分析和行为模式分析等方法来检测异常活动。
该模块还可以与其他安全工具和服务集成,以提供更全面的安全保护。
3. 功能实现基于SaaS模式的云安全服务平台应提供多种功能来满足用户的需求。
以下是一些重要的功能:3.1 资产管理平台应提供资产管理功能,以帮助用户识别和分类其云环境中的各种资产。
它可以自动发现和监测云资源,并提供实时的资产信息。
云平台设计方案李万鸿2016-2-25云计算是大势所趋,选择合适的硬件和软件建立云平台是非常重要的,下面是一个非常详细的云平台设计方案。
1.云平台架构设计学校云平台架构图云平台包括Iaas、Paas、Saas三层服务,云平台既是一个企业云,也可以对外提供服务,学校还可以使用别的公有云如阿里云,形成混合云。
1). SaaS:提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界面访问,如浏览器。
消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等,实现智慧校园产品及学校现有产品等给用户使用。
2). PaaS:主要提供应用开发、测试和运行的平台,用户可以基于该平台,进行应用的快速开发、测试和部署运行,它依托于云计算基础架构,把基础架构资源变成平台环境提供给用户和应用。
为业务信息系统提供软件开发和测试环境,同时可以将各业务信息系统功能纳入一个集中的SOA平台上,有效地复用和编排组织内部的应用服务构件,以便按需组织这些服务构件。
典型的如门户网站平台服务,可为用户提供快速定制开发门户网站提供应用软件平台,用户只需在此平台进行少量的定制开发即可快速部署应用。
提供给消费者的服务是把客户采用提供的开发语言和工具(例如Java,python, .Net等)开发的或收购的应用程序部署到供应商的云计算基础设施上去。
客户不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可能控制运行应用程序的托管环境配置;可以使用Kubernetes、Docker容器完成应用系统的部署和管理。
提供统一登录、权限、门户、数据中心、数据库等服务,实现容器管理、自动化部署、自动化迁移、负载均衡、弹性计算、按需分配、应用统计、性能检测、API接口、数据交换等功能。
3). IaaS:提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。
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平台,国内800CRM的800APP Native的平台与Salesforce兼容。
4. SaaS(软件作为服务)厉害的SaaS销售代表直接用SaaS就能解决你所有管理软件问题。
比起其它软件,SaaS软件更便宜,灵活性更强,能省掉更多的麻烦。
5 SaaS成熟度模型(SaaS Maturity Model)(1)Level1:定制开发这是最初级的成熟度模型,其定义为Ad HocCustom,即特定的定制的,对于最初级的成熟度模型,技术架构上跟传统的项目型软件开发或者软件外包没什么区别,按照客户的需求来定制一个版本,每个客户的软件都有一份独立的代码。
不同的客户软件之间只可以共享和重用的少量的可重用组件,库以及开发人员的经验。
最初级的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 软件编辑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用例图图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做分类操作)。