浮华若尘
楼主
发布于 2023-5-26 10:10:43
阅读 970
查看全部
一、SAAS 系统应用场景
SaaS 应用近几年来越来越火,这主要得益于国内云计算设备的开展 —— 我们开发应用所需要的硬件计算资源、存储资源和网络资源等。企业建立应用或平台不用再像以前那样先采购效劳器,然后建立自己的机房或者将效劳器托管了,仅需在华为、阿里或腾讯等云效劳商那里购置云效劳器即可,这些资源的使用及付费已经做到像交水费及电费那样简单,而如今唯一的问题是应该考虑如何在这些云计算资源上构建我们需要的企业应用。
在传统应用上,我们开发的每个应用均是效劳于一家企业或单位,我们可以把它称之为私有云。而在如今互联 +、物联网 + 的形式下,时代对我们提出了更高的要求:一套系统可效劳多个企业或者一个企业及旗下的所有子公司,且其业务可以随时分割,如:
1. 案例一:
省区要开发一个云医疗数据集中采集平台,需要每家市区、县区医院定期上报数据及对其自身的数据停止统计,同时平台的各个管理员(省区管理员、市区管理员、县区管理员)可以对其管辖内的所有医院的数据停止汇总及统计。
2. 案例二:
企业要开发一个 ERP 系统给他的客户使用,他的每个客户需要独立管理自己的商品、库存、会员,账户、订单、活动、消费、积分、账单、消息通知等数据。
3. 案例三:
企业要开发一个 SaaS 云平台,上面有各种应用:EMS、OA、OMS、TMS、档案系统、KMS(知识管理系统)等等,他的客户可以根据自己的需要选购一个或多个应用使用。
以上的应用场景都可以用 SAAS 形式来实现,同时对于传统旧的应用,我们可以用单个租户形式来实现即可。这种形式我们称之为云应用,假设把这种形式面向公网停止租户注册使用,我们即称之为公有云。
其实,SaaS 云应用还可适用以下的应用场景:
➢ 私有化部署,全公司共用所有业务;
➢ 多个部门登录,各自管理不同的业务;
➢ 集团内存在多个分公司,各个分公司自行管理自己的业务;
➢ 每个分公司需要有独立的数据管理;
➢ 集团或总公司需要集中管理数据
➢ 按不同子系统管理不同的业务,受权不同子公司或部门使用;
二、SAAS 应用的存储形式
1. 方案一
独立数据库:即一个租户一个数据库 (Database),这种方案的用户数据隔离级别最高,安全性最好,但本钱也高。
优点:
➢ 为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的共同需求;
➢ 假设呈现故障,恢复数据比较简单。
缺点:
➢ 增大了数据库的装置数量,随之带来维护本钱和购置本钱的增加。假设面对的是银行、医院等需要非常高数据隔离级别的租户,可以选择这种形式,进步租用的定价。假设定价较低,产品走低价道路,建议使用方案二。
2. 方案二
共享数据库,隔离数据架构:这是第二种方案,即多个或所有租户共享 Database,但一个 Tenant 一个 Schema。
优点:
➢ 为安全性要求较高的租户提供了一定水平的逻辑数据隔离,并不是完全隔离;
➢ 每个数据库可以支持更多的租户数量。
缺点:
➢ 假设呈现故障,数据恢复比较困难,因为恢复数据库将牵扯到其他租户的数据;
3. 方案三
共享数据库,共享数据架构:这是第三种方案,即租户共享同一个 Database、同一个 Schema,但在表中通过 TenantCode 区分租户的数据。这是共享水平最高、隔离级别最低的形式。
优点:
➢ 三种方案比较,第三种方案的维护和购置本钱最低,允许每个数据库支持的租户数量最多。
缺点:
➢ 隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量;
➢ 数据备份和恢复最困难,需要逐表逐条备份和复原。
在数据为王的时代,Stone SaaS 开发框架同时支持方案一 及 方案二(方案一需要手动创建数据库) 。Stone 是一款带有互联网企业信息化根底管理的 SaaS 平台开发框架,它是基于主流 Spring 架构体现构建,以支持中小企业、大型集团企业、政府单位的日常事务管理。目前,平台提供通用的根底数据交互功能(租户数据隔离、数据权限控制)以及组织架构管理(租户管理、部门管理、功能权限管理)、适宜于有 IT 研发才干的企业或向 SaaS 应用运维的 IT 企业。
将来的企业效劳一定是 云 + 端 的天下,我们在构建云应用的同时,规划端的应用也显得无比关键,它使得我们开发后续的应用更加灵敏与方便,如下图所示,我们将来构建的企业应用均可以基于weiit 之上。
weiit- SaaS 开发框架开源地址:weiit-saas是一款Java开源项目,属于weiit团队自研产品,意在通过技术封装,让企业无需代码开发,协助企业一键生成小程序、公众号,让企业拥有独立品牌的自营商城。 |
|