以CRM系统为例,浅析“初级SaaS 架构的构建方法”

客户关系管理(CRM - Customer Relation Management)系统,是SaaS实践中的一个重要应用。我们不妨以此为例,就其传统构建过程和向SaaS 多租户架构演化的历程, 解析一般SaaS 多租户架构的构建方法。

一、用开源框架,构建CRM系统的一般过程

如不考虑客户数量,及客户不同的个性化需求,就单套CRM系统构建而言,其过程遵从架构设计的结构标准 ——“4+1”视图,即场景视图、逻辑视图、开发视图、过程视图、物理视图。

1、构建“场景视图”

场景视图(用例视图),负责从用户角度,识别业务需求,描述业务场景。是架构设计的起点和终点。根据CRM内容,具体构建如下:

A. 场景描述

老板角度:了解客户增减数量;了解客户增减变化趋势;商务行程管理…

员工角度:保存和随时查阅客户资料;通过邮件、IM、IP电话与客户保持及时沟通;商务行程管理…

B. 场景(用例)抽象

客户管理:增、删、改、查,客户资料;

行程管理:商务形成安排(客户拜访、合同谈判);

订单管理:已签订单的管理;

C. 场景(用例)视图


(场景/用例视图)

2、构建“逻辑视图”

逻辑视图,负责从对象角度,构建对象模型,用以确立逻辑分层、模块划分、模块功能、模块间依赖关系等。其中,模块功能,既包括可见的业务功能,也包括不可见的系统功能(日志、权限、事务等)。根据CRM内容,具体构建如下:

A. 模块划分及功能

[客户]模块、[行程]模块、[订单]模块、[报表]模块

B .模块依赖关系


(模块结构图)

C. 模块包含的业务对象

【客户】模块 — 客户分组、客户、联系人;

【行程】模块 — 时间、事项等;

【订单】模块 — 时间、客户、订单等;

【报表】模块 — ……

3、构建“开发视图”

开发视图,负责从开发角度,描述软件在开发环境下的静态组织(程序包、应用的统一框架、引用的类库、SDK和中间件等),并规范和约束开发环境的结构。逻辑视图构建好之后,可从如下四个方面构建开发视图:

A. 开发环境

开发语言:Java、JavaScript、Html ;

数据库类型:MySQL 5.0 ;

应用服务器类型:Apache+JBOSS;

其他软件:Ant、JUnit 等

相关硬件:略

B. 技术框架

开源框架:Struts+Spring+Hibernate框架结构


(Struts+Spring+Hibernate框架结构)

调用视图:Struts、Spring、Hibernate向轻量级框架集的整合


(调用关系)

C. 分层策略


(分层)

数据持久层:也叫领域对象层(Domain Object),由POJO(Plain Old Java Object)组成;

DAO组件层:由DAO(Data Access Object)组件组成,一般封装了对数据库的CRUD原子操作;

业务逻辑组件层:一般由Service对象组成,实现系统所需要的业务逻辑处理;

控制器层:用于拦截用户请求,调用业务逻辑组件,根据处理结果转发到不同的表现层组件;

表现层:一般由JSP组成,负责接收用户请求,反馈处理结果。

D. 目录结构

根据分层,制定目录结构如下


(目录结构)

一级目录包括:

Api: 存放service的接口定义源文件;

Action: 存放action的源文件和配置文件;

Biz: 存放各模块的业务逻辑组件和DAO组件;

Bundle: 存放JSP和HTML文件;

deploy:存放构建后待部署的jar文件。

biz目录下根据模块再分为dao和service目录,以及它们的实现类目录impl。

4、构建“过程视图”

过程视图,负责从过程角度,描述系统的并发和同步设计。旨在解决进程、线程、并发、同步、通信等方面的问题。

过程视图,依场景而定是否必须,可根据具体需求做裁减操作。

5、构建“物理视图”

物理视图(部署视图),负责从部署角度,描述软硬件的映射关系,以及系统在分布/部署上的设计。旨在解决系统安装、系统部署、网络分布等问题。

系统部署时将web服务器、应用服务器和DB服务器分离,以保证业务繁忙时的响应性能。


至此,CRM系统已基本成型。


二、构建符合“一级成熟度模型”特征的SaaS系统

原有CRM系统部署方案,做设备托管调整后,就是一套符合一级成熟度模型的SaaS系统了 。

然而,SaaS从“一级成熟度模型”向“四级成熟度模型”转变,中间还横跨着可配置、高性能和可伸缩的鸿沟。

我们会在以后的推送里做更加详细的讲解,感兴趣的朋友可以关注我们的公众号(ID:9z营销大数据)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,743评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,296评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,285评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,485评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,581评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,821评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,960评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,719评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,186评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,516评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,650评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,936评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,757评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,991评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,370评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,527评论 2 349

推荐阅读更多精彩内容