精华内容
下载资源
问答
  • Saas系统架构的思考,多租户Saas架构设计分析

    万次阅读 多人点赞 2019-06-14 13:39:35
    很多创业公司都在尝试创建企业级别的应用cRM, HR,销售, Desk Saas系统。很多Saas创业公司也拿了大额风投。毕竟Saas相对传统软件的优势非常明显。 最近一年,有幸架构一个Crm saas 系统,上线了几个月来,各方面都...

            ToB Saas系统最近几年都很火。很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统。很多Saas创业公司也拿了大额风投。毕竟Saas相对传统软件的优势非常明显。   

    最近一年,有幸架构一个Crm saas 系统,上线了几个月来,各方面都比满意。整个系统创建过程,踩了很多坑,收获也比较多。总结一下Saas系统架构一些特点:

    Saas系统分级

    SaaS系统架构成熟度模型的5个级别——从“混乱”到“乌托邦“

    第0级(混乱):每次新增一个客户,都会新增软件的一个实例。
    第1级(受控的混乱):所有客户都运行在软件的同一个版本上,而且任何的定制化都通过修改配置来实现。
    第2级(多租户[multi-tenant]、高层建筑[Highrise]):所有的客户都已经可以在软件的同一个版本上运行了,而且他们都在同一个“实例”上运行。
    第3级(多租户, 扩建[Build-Out]):此时你已经拥有了多租户、单一版本的软件模型。不过你还是可以通过硬件扩展(scale-out)的方式来进行扩充。
    第4级(乌托邦):如同第3级,除非你可以找出有效的方式,以在不同的“实例”上运行不同版本的软件

    应用程序必须支持多租户:

        多租户可以分为几个不同的类别(如列表下方的图所示):
        1.1,云中的简单虚拟化,其中只对硬件进行共享。
        1.2,共享应用程序,对每个租户使用不同的数据库。
        1.3,共享应用程序和数据库(效率最高,真正的多租户)。

    1.分层设计

    Saas系统分层大概是:

    Saas系统分层
    Saas系统分层

     

    Saas系统分层:租户识别>应用层>数据访问层>缓存层>数据库

    业务代码都是写在应用层。

    租户识别可以用spring拦截器实现,然后使用ThreadLocal传递给后端

    数据库和缓存层对应用层应该是透明的。程序员在写代码的时候,只关心业务逻辑,不应该担心多租户的问题。

     

    2.数据隔离要透明

    saas系统说起来很简单,任何系统似乎加个tenant_id(租户id)就变成saas系统了。比如原来的用户登录是:

    select username,password from users where email='abc@qq.com'

    改成

    select username,password from users where email='abc@qq.com' and tenant_id =1;

    对于复杂业务的saas系统,这样做法非常危险,而且开发效率很低。你想想如果那个程序员写sql时候忘了加 “ and tenant_id =1” . 结果不堪设想。

    比较好做法是在数据库访问层对SQL进行改写。

    TenantContext.exec("select username,password from users where email='abc@qq.com' ");

    在连接池根据TenatnContext改写Sql. 

    这样做好处是,一来程序猿最多把系统搞down了,也不至于信息串了互相泄露。二来将来做分表分库也很方便,上层应用不用修改。

    3. 租户识别方案

    比较好做法是通过url识别租户。系统是给租户生成一个随机的三级域名,比如 abc.crm.baidu.com.   如果客户想使用自己的域名,可以在cname到我们生成的三级域名,并在管理系统里面做绑定。

    这样一个租户可以有两个域名,访问saas,一个随机生成的三级域名,另外一个租户自己的域名.代码里面可以根据过来的域名,判断是那个租户然后初始化TenantContext.

    如果不想通过域名来做,也可以通过登录名来判断。这种方式要涉及到租户切换问题。

    4. 智能DNS

    以后补充。

    5. 租户管理系统(计费,订购,定制,充值,催缴)

    Saas系统是必须考虑计费系统和租户控制系统。这个系统需要都是独立设计。比如那个租户购买了那些模块,一个月多少钱。租户可以创建最多的用户数。计费到期邮件提醒等功能。

    计费方式一般有两种,周期性计费,类似月租方案,和使用量计费,用多少付多少。 周期性计费比较简单。也可以两者结合起来。

    6. 定制化开发

    SAAS的优势在于一套系统多人使用,似乎和定制化开发有冲突。比如A客户想要A功能,B客户不想要。但定制化开发是无法避免的,比如CRM系统这样复杂的系统,不可能一套系统满足所有公司的要求。定制化开发尽可能分系统,分模块去做。然后通过控制台中配置不同租户订购不同模块,那些模块可以在前端页面上显示。不同的子系统需要分开部署。前端可通过nginx根据url分发,比如 abc.crm.baidu.com/bi/xxx/xx这个地址,就分发到BI子系统。不要尝试OSGI去搞模块化,这个是个大坑。

    还有开发和产品,现有需求一定要分析清楚,不要一上线发现后患无穷。新功能尽量做的独立可以配置。

    7. 灰度升级

    SAAS付费企业客户对系统问题都特别敏感。 为了减少升级可能出现问题的影响范围,一般都采用灰度升级策略。如果使用了url来区分不同租户,灰度升级配置就会很方便。可以配置nginx 来根据域名做分发,比如租户A(aaa.com)到实例1(版本1.0),租户B(bbb.com)到实例2(版本). 当需要域名配置非常多的时候,nginx配置文档会乱。这块时候可以考虑使用nignx_lua来写一些扩展模块。

    8. 容量估计

     

    9. Saas平台架构分层分析

    Saas平台架构需要完成从用户申请链接saas到用户对自己购买的功能模块的应用整个过程,用户用起saas看似简单快捷,但这个过程却需要saas平台架构默默完成的非常复杂的处理过程。通过对saas平台架构的了解,可以清晰的分化数据的处理过程,让用户也可以明白saas平台架构处理数据的优势。下面介绍:saas平台架构分为哪几部分。

     

    saas平台架构之呈现层:

    saas平台架构的呈现层可以使用的客户端可能都浏览器或本地客户端。如果是浏览器则需要Web界面技术、交互技术等技术(如:HTMl5技术、CSS3技术、Ajax技术等)的支持,如果是软件客户端则需要远程桌面技术、软件交互技术等技术支持。

    saas平台架构之调度层:

    saas平台架构的调度层体现分布式系统的特性之一。调度层首先负责识别并通过AAA认证每个用户请求,然后根据业务处理器的负载、业务特征进行合理的调度。通过应用这样的架构SaaS平台可以横向扩展。此外在存储、缓存等方面为了满足平台的横向扩展需求,调度层也必须具有良好的可扩展性。

    saas平台架构之业务层:

    saas平台架构的业务层负责接收调度层转发过来的请求,而且还要通过对接受到的请求执行真正的业务逻辑。一般来说业务逻辑的执行使用一台服务器就够了。因此业务层实际是由一排对等的服务器组成的,每台服务器都执行相同的业务逻辑。

    saas平台架构之数据层:

    saas平台架构的数据库集群用于处理存储关系性很强并且对事务性要求很高的业务数据,这类数据目前还要用传统的数据库集群技术来解决,saas平台架构的数据库集群主要是根据业务特征制定数据拆分方案。同时分布式数据库用于存放海量但关系性不强的数据(如:用户的操作日志等)。

    以上是对“Saas系统架构的思考,多租户Saas架构设计分析”的介绍,从saas平台架构处理数据可以看出saas平台的应用有很强的优势,如用户使用saas非常方便简单只要浏览器或本地客户端接口,saas平台处理数据要经过层层认证saas产品安全可靠,saas平台优化处理数据提高saas性能。

    多租户Saas系统架构还应该满足以下需求:

    编号需求描述
    1软件授权云平台付费授权机制,可按时间、功能、数量等进行付费授权
    2组织入驻允许组织主动申请加入平台
    3实名认证个人实名认证、组织实名认证
    4资质审核个人和组织的资质审核,如对获得的证书或荣誉进行审核
    5组织绑定个人账户绑定组织,与组织建立关联关系
    6组织解绑个人账户与组织进行解绑
    7账户注销个人账户注销,并销毁所有个人资料和档案
    8统一登录即 SSO
    9统一注册提供统一的用户注册页面

    部分资料整理自:

    http://www.ruanally.com
    ​​​​​​​http://qk.gam7.com
    ​​​​​​​​​​​​​​http://www.ruanbe.com

     

    展开全文
  • 随着互联网技术的发展让很多应用软件相对成熟,仓库管理saas系统的出现让企业能够更加方便方便管理业务,那开发仓库管理的saas系统的功能模块有哪些呢?什么是仓库管理saas系统仓库管理saas系统是一种通过互联网设计...

    随着互联网技术的发展让很多应用软件相对成熟,仓库管理saas系统的出现让企业能够更加方便方便管理业务,那开发仓库管理的saas系统的功能模块有哪些呢?

    什么是仓库管理saas系统

    仓库管理saas系统是一种通过互联网设计的系统软件模式,系统平台将应用软件统一储存在服务器上,企业可以根据自己需求情况,通过互联网向系统平台定购所需的应用软件服务,按定购的系统功能和时间长短向企业支付费用。

    c85b9773688489450386441b9f2a36ae.png

    借用仓库管理saas系统来管理企业经营活动,是不用自行对系统进行维护,提供系统的平台会全权管理和维护软件,系统平台在向企业提供互联网应用的同时,也会提供系统软件的离线操作和本地数据存储。

    让企业可以随时随地使用其购买的系统软件和服务,仓库管理saas系统对于许多小型企业来说,这是一种借用先进技术更好管理事业的*好途径,让企业不用在构建、维护系统、应用程序方面自行搭建更新。

    75e4596ce45b81952a0e867c5c4cc9b5.png

    传统仓库管理系统在使用方式上受空间和地点的限制,必须在固定的设备上使用,而仓库管理saas系统可以随时在可接入网络的地方与时间使用,还有相对于传统软件而言仓库管理saas系统在软件的升级、数据安全传输等各个方面都有很大的优势。

    仓库管理saas系统的功能模块有哪些

    1、实现对仓库商品基本信息的管理,可以对信息入库、在库信息查询、统计、调拨等方面进行管理。

    2、 稳定性:使用仓库管理saas系统是绝对不会出现资源丢失的情况,也不能随意由管理员除外的其他人随意篡改。

    3、打印信息:会将仓库商品信息情况以表单形式打印出来。

    2280c1c6a25b92c8375af325a3e56cdb.png

    4、展示数据流程:是以图表的形式显示出*基本的数据流程以及处理流程,并加以详细叙述。

    5、基本功能:仓库管理saas系统是具有增添、改动、删除数据的功能。

    仓库管理saas系统是一款安全、保密性高的系统软件,还有在面对意外的断电、电脑死机、系统崩溃等问题时,会有及时又有效的保护措施以确保数据不被丢失。

    展开全文
  • 谈谈SaaS系统

    千次阅读 2020-08-07 18:24:54
    腾讯、阿里、华为、电信、移动都相继推出了免费的远程办公和视频会议系统,这些系统都不需要借助特殊的硬件,对网络也没有特殊的要求,只要能接入互联网,在手机、PAD、电脑上都可以运行。国内知名和不知名的在线...

    定义

    2020疫情,让国内企业就全面接受了“在线办公、在家办公”的理念,并付诸实践。即使是最为传统的中小学公立学校,也由袖手旁观转为积极参与。腾讯、阿里、华为、电信、移动都相继推出了免费的远程办公和视频会议系统,这些系统都不需要借助特殊的硬件,对网络也没有特殊的要求,只要能接入互联网,在手机、PAD、电脑上都可以运行。国内知名和不知名的在线教育服务企业也纷纷推出免费计划,帮助延迟开学的学校和老师们完成教学任务。使用者无需自己购买服务器、带宽等资源,也无需自己开发和维护软件,甚至不需要任何IT方面的知识,即可快速搭建自己的在线课堂,获得完整的在线教学能力。

     

    这就是SaaS(Software-as-a-Service),软件即服务。也被称为“即需即用软件”。它是一种软件交付模式。在这种交付模式中云端集中式托管软件及其相关的数据,软件仅需透过互联网,而不须透过安装即可使用。用户通常使用精简客户端经由一个网页浏览器来访问软件即服务。这种模式的特点是通过将硬件和软件维护及升级支持交给软件服务商,使产品具有更低的建设、维护成本,同时开发商不断更新产品、升级服务使企业具有更强的竞争力。

     

    特点

    1. 云端架构。预定酒店,浏览网页,不用装APP或PC端,在线使用。saas的数据也存在云端。

    2. 服务内容丰富。软件能实现的功能,不管是在线用还是下载了用都一样,SaaS在线直连,内容更丰富。

    3. 版本自动更新。一天24小时不断线,自动更新更方便。

    4. 付费灵活。用户可以按月、年支付费用而不是一次性购买。且后续的升级维护由saas公司负责,通过数据驱动迭代,客户直接享受升级成果。

    5. 成本低。无需客户承担基础设施成本和日常运维成本。

     

    使用场景

    SaaS的使用场景很多,大多集中在CRM、进销存、物流等领域。相信很多人都看过类似的科普,所以笔者今天,不从这些领域的角度谈。

     

    我们从服务的角度看看SaaS的使用场景:

    1. 文档库服务——几乎每一个系统都有文档库,给所有人使用;

     

    2. 应用服务——我们可以在线阅览,可以查看各种各样的文档,搭建应用;

    3. 文件存储——会转化为统一的文件存储;

    4. 归档服务——所有文件可以通过归档服务来进行统一管理。

     

    付费模式

    前文有提及,SaaS的付费较为灵活。一般来说按年或者按月付费,但也有想雀书之类的平台支持一次性买断。主要是有些企业会希望为了数据安全着想,进行私有化部署或者本地部署,或者有些企业希望买断进行二次开发。目前国产的SaaS平台大多都会采用低代码、无代码技术,主要是为了更好地适用于大众,尤其是非技术人员。

     

    顶级SaaS平台

    1) Salesforce

    SaaS龙头,立足于CRM,已拓展到平台、营销、分析和社交网络。

     

    2) Microsoft

    作为重塑者之一,将桌面生产力套件Office升级成Office 365云端版本。它还提供了Dynamics CRM,SharePoint协作,甚至按需提供SQL Server数据库。

     

    3) Adobe Creative Cloud

    另一个重塑者,Adobe是桌面创意软件之王,如今提供云端版本,Photoshop和其他音频和视频编辑工具订阅使用。Creative Suite提供平面设计,视频编辑,Web开发和摄影编辑。

     

    4) 雀书

    雀书最初是专门做定制开发的SaaS软件,已经扩展到为无代码通用型SaaS平台服务。胜在有大客户基础,如联通、广发等;但是还不算贵。

     

    5) Amazon Web Services SaaS

    亚马逊的SaaS产品既包括构建自己的SaaS应用程序的平台,也包括许多来自第三方供应商的SaaS产品,其中许多都位于此列表中。

     

    6) Google G Suite

    Google提供的各项服务主要包括Gmail、存储和日历等,但增加了自定义电子邮件和全天候支持等功能,订阅付费。

     

    7) Slack

    即使微软推出具有竞争力的产品,Slack也是最受欢迎的企业协作平台之一。它为现代团队提供信息、归档和搜索。

     

    8) Zendesk

    提供基于云的客户服务,支持追踪、采购跟踪、计费、运输和其他客户数据等功能。

     

    9) ADP

    世界上最知名的工资管理品牌之一,提供云端人力资本管理,涉及人力资源、工资和员工福利。

     

    10) Oracle

     

    软件巨头转型SaaS,已经将所有原有业务线转移到云端,包括ERP、CRM、SCM、HR和工资。Oracle收购了CRM领域的NetSuite,不同于Oracle和Salesforce,NetSuite对准中小企业客户。

     

    注意事项

    1、首先要了解清楚企业自身的情况

     

    没有谁能够比企业内部人员更能了解自身的情况,比如:业务类型,都具有哪些环节,这些环节是否必须进行人工操作等等。在选择SaaS系统前,最好先了解清楚企业自身的情况,再进行选择。

     

    2、让系统供应商制定解决方案

     

    将企业自身存在的问题以及需求告诉系统供应商,然后让他们根据这些制定符合要求的个性化方案。当方案给出后,对应需求和问题,是否得到了满足以及是否有多余的功能出现。这样进行对比,能够更好地判定该方案是否符合企业的要求。

     

    3、验收系统时,要保证工作人员对其能够熟练操作。

     

    这步非常的关键,系统做好了,不会用,那就是一摆设,并不能实现其价值。所以这时一定要提供商教会至少一名工作人员能够熟练操作该系统,然后再进行内部培训。

     

    展开全文
  • 什么是SaaS系统

    千次阅读 2020-07-22 16:41:59
    今年刚毕业的我,像极了无头苍蝇,恰巧遇到了席卷全球的疫情,让我们这一批应届生的求职路,布满荆棘,寸步难行,...什么是SAAS系统 SaaS是Software-as-a-Service(软件即服务)的简称,随着互联网技术的发展和应用...

    今年刚毕业的我,像极了无头苍蝇,恰巧遇到了席卷全球的疫情,让我们这一批应届生的求职路,布满荆棘,寸步难行,过程有多难就先不说了,最终努力还是有效果的,不负众望,我进入到了一家SaaS公司

    讲真的,刚开始,对于什么是SaaS,完全是一头雾水,慢慢接触下来,认真度有一点提升!!!

    下面来看看吧!!!

    什么是SAAS系统
    SaaS是Software-as-a-Service(软件即服务)的简称,随着互联网技术的发展和应用软件的成熟, 在21世纪开始兴起的一种完全创新的软件应用模式。是一种轻量级的系统,免布署免安装,不再需要有硬件服务器,用户也不用再购买软件,可以向软件提供商直接租用的软件模式。

    用户租用以后直接在网页Web系统软件上就可以操作办理业务,大大降低了购买系统的成本。

    用户基于网页Web的系统软件,来管理企业经营活动,且无需对软件进行维护,软件提供商会全权管理售后和维护系统软的升级,也提供软件的离线操作和本地数据存储,安全放心

    再给大家贴一张图看一下吧!!!
    在这里插入图片描述
    图中黄色方框:租户/组织、部门、员工 完成的是对整个组织结构及结构中人员分布的管理;

    图中绿色方框:系统用户(包括登陆账号)、权限包、角色、功能权限、功能、菜单分类、数据权限、数据权限操作 完成的是对 系统操作的管理

    展开全文
  • 随着各行各业内卷日益严重,企业...这文章的核心无非鼓吹SaaS系统的高效率或大篇幅的告诉大家做SaaS系统要注重产品、注重服务、注重数据等等。看起来不无道理,但仔细想想,又觉得又是偏驳:好像做非SaaS系统就不需要
  • 多租户 Saas 系统架构的设计思路

    万次阅读 2019-09-06 09:45:22
    ToB Saas 系统最近几年都很火。很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统。很多Saas创业公司也拿了大额风投。毕竟Sa...
  • 很多企业在选型HR SaaS系统时,会纠结到底是选择标准版好还是定制化版本好呢。...目前市场上的HRSaaS系统基本都是标准化产品,SaaS产品好处就是交付周期短、成本低(按年付费)、操作简单等等,但不好的一点就是标..
  • 不过人力资源saas系统的出发点还是为了帮助企业实现人力资源管理的信息化、流程化和规范化,人力资源系统的功能模块都是围绕人力资源各项工作展开设计。一套合格的人力资源saas系统应该具备以下这几个模块功能。 ...
  • 首先从体系的定义中抽取出体系独有的特征概念对SaaS系统进行描述,并根据体系特征间的依赖关系建立了SaaS系统评估框架,最后以SaaS系统CloudCRM为例,并利用文中的方法进行评估,验证了方法的可行性和有效性。
  • 行业分类-互联网-基于互联网的SaaS农村广播系统及方法.zip
  • 目前,HR SaaS厂商分为三,一是以综合的HCM形式出现,面向大企业的SaaS企业;二是以轻量级HR SaaS为切入,功能也会覆盖...那么,目前市面上常见的HR SaaS系统都有哪几种类型? 1、单一模块的HR SaaS系统 企..
  • 行业分类-物理装置-基于SaaS平台的高尔夫球场管理系统及方法.zip
  • SaaS系统中的数据模型设计思路

    千次阅读 2015-01-06 17:41:06
    在设计SaaS系统的数据模型时出于服务客户及减低开发成本等考虑,在数据的共享和隔离之间求得一定的平衡是必须考虑的一个重要因素。 因此一般在设计对应数据模型时不仅要考虑到技术因素,例如怎样构建一个弹性架构...
  • SaaS系统引入Oauth2协议

    2020-07-21 16:02:35
    近端时间公司准备重构公司项目,老板想做一个SaaS系统,这样方便多模块管理。因此,在登录这块,我决定采用oauth2协议。用户登录采用oauth2的密码模式,在给第三方开接口采用授权码模式,在公司内部系统相互调用...
  • 2018 年左右我们开始计划建设人力资源管理SAAS,业务模块有很多业务是垂直行业通用的,例如基础数据:组织架构、租户、人员、权限等,还有部分是横向通用的例如:短信、邮件、消息推送等,另外基础设施如网关、...
  • 行业分类-设备装置-基于SAAS平台的个人健康监护和虚拟医生系统.zip
  • 文章目录三、SaaS系统用户权限设计1、组织机构管理<1>、需求分析(1)、需求分析(2)、数据库表设计<2>、微服务实现(1)、抽取公共部分(2)、CRUD操作<3>、前端实现(1)、创建模块(2)、配置请求API(3)、...
  • 行业分类-物流装置-一种基于SaaS模式的物流管理系统.zip
  • saas系统服务数据按不同商户分库是比较简单安全的方案,不同商户数据分库隔离后不存在访问数据跨表跨库的问题,根据不同商户的单量灵活配置,单量少的可以公用一个库,单量大的可以独立集群。 第一步 实现spring...
  • SaaS系列介绍之十三: SaaS系统体系架构2008-11-13 15:36作者:Yesky 黎宇出处:天极网责任编辑:郑重 1 系统体系架构设计 软件开发中系统体系架构决定了一个系统稳定性、健壮性、可扩展性、兼容性和可用性,它是...
  • SaaS定义: 通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购服务的多少和时间长短向厂商支付费用,并通过互联网...
  • 现在市场上,教培机构想要转型线上除了找开发商搭建在线教育系统之外,还有入驻在线教育saas系统这一方法。那么教培机构入驻在线教育saas系统会面临哪些问题呢? 1、在线教育saas系统政策风险增加 目前,市场上提供...
  • 软件需要在 php 5.6+ 的环境下搭建,请自行配置。 本系统可以实现客户管理、项目管理等一般的CRM管理功能。
  • 行业分类-设备装置-基于SAAS平台的人脑健康锻炼系统
  • 聚合供应链,Saas系统

    千次阅读 2021-01-06 17:32:52
    社交电商风起云涌,供应链群雄争霸,我们不做供应链...2、平台(芸众商城系统)导入选品库中产品,可二次编辑,自行设置价格、商品介绍等; 3、用户在平台上购买聚合供应链导入产品,下单支付,销售资金直接进入商城绑
  • SAAS系统的安全控制简介: [list] [*]控制URL资源 [*] 数据提取,在Action提取数据时,以会话所在租户作为方法参数 [*] 数据修改控制,验证被操作的数据所属租户与会话租户是否一致;实现的方法,通过Hibernate的...
  • O2O店铺需要配置配送时间、营业时间、配送范围,B2C、C2C则不需要,本系统的店铺管理后台使用同一套代码,需要根据这个类型进行有关功能、界面、流程的区分处理 B2C店铺的界面布局与C2C的店铺不同,色调上着重体现...
  • 分享一套代码来自厦门四六开科技团队开发的小程序saas系统源码,支持一键生成微信小程序,支付宝小程序,QQ小程序,抖音小程序,等等。支持商城模式,以及生成餐饮小程序,同城平台等,支持移交上传代码发布,也支持...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,791
精华内容 9,516
关键字:

saas系统类图