Java开源Saas开发框架+Activiti流程管理=JSAAS

音频编解码芯片Java开源Saas开发框架+Activiti流程管理=JSAAS
1.SAAS云应⽤场景
SAAS云应⽤近⼏年来越来越⽕,这得益于国内云计算的基础设施的发展,如以前我们开发应⽤所需要的硬件计算资源、平台的操作系统、互联⽹IP、带宽及域名等,均可以⾮常有效解决了,企业建设应⽤或平台,不再需要考虑如何购买这些资源,我们仅需要通过在阿⾥或腾讯那⾥购买到这种云服务器即可,这些资源的使⽤及付费已经做到像交⽔费及电费那样简单。⽽现在唯⼀需要考虑的是在这些云计算资源上如何构建我们需要的企业应⽤。
在传统的应⽤上,我们开发的每个⼀个应⽤均是服务于⼀家企业或单位,我们可以把它称之为私有云。在今时今⽇的互联加的应⽤模式下,亦可以服务于某个企业的多个客户或⼦公司,其业务可以随时分割,如:
案例⼀:
企业开发⼀个会员系统,可以给其所有的客户使⽤,每个客户可以独⽴管理其会员。包括会员积分、消费管理、充值、端消息推送管理等。
案例⼆:
省需要开发⼀个云医疗集中数据采集平台,需要每家医院定期上报数据及对其⾃⾝的数据进⾏统计,同时平台的管理员可以对所有的医院的数据进⾏汇总及统计。
案例三:
企业开发⼀个协同应⽤,提供给不同的⼦公司使⽤,同时集团公司需要跟⼦公司之间有数据交互,并且需要有些流程需要在集团公司与⼦公司之间进⾏交互使⽤。
我们把以上的应⽤场景都可以⽤SAAS模式来实现,同时对于传统旧的应⽤,我们可以⽤单个租户模式来实现即可。这种模式我们称之为云应⽤,如果把这种模式⾯向公⽹进⾏租户注册使⽤,我们即称之为公有云,若并且开放对应的接⼝服务,我们可以把它称之为平台服务,即PAAS。
其实云应⽤还可适⽤以下的应⽤场景:
私有云部署应⽤,全单位或公司共⽤所有业务
多个部门登录管理不同的业务
集团内存在多个分公司,分公司负责类似相同的业务
多个部门或分公司⼈员或业务有关联
每个分公司需要有独⽴的数据管理
集团或总公司需要集中管理数据
按不同⼦系统管理不同的业务,授权不同⼦公司或部门
2.SAAS应⽤的⼏种存储实现模式
⽅案⼀、独⽴数据库
这是第⼀种⽅案,即⼀个租户⼀个数据库(Database),这种⽅案的⽤户数据隔离级别最⾼,安全性最好,但成本也⾼。
优点:
为不同的租户提供独⽴的数据库,有助于简化数据模型的扩展设计,满⾜不同租户的独特需求;
如果出现故障,恢复数据⽐较简单。
缺点:
增⼤了数据库的安装数量,随之带来维护成本和购置成本的增加。
这种⽅案与传统的⼀个客户、⼀套数据、⼀套部署类似,差别只在于软件统⼀部署在运营商那⾥。如果⾯对的是银⾏、医院等需要⾮常⾼数据隔离级别的租户,可以选择这种模式,提⾼租⽤的定价。如果定价较低,产品⾛低价路线,这种⽅案⼀般对运营商来说是⽆法承受的。
⽅案⼆、共享数据库,隔离数据架构
这是第⼆种⽅案,即多个或所有租户共享Database,但⼀个Tenant⼀个Schema。
优点:
为安全性要求较⾼的租户提供了⼀定程度的逻辑数据隔离,并不是完全隔离;
每个数据库可以⽀持更多的租户数量。
缺点:
如果出现故障,数据恢复⽐较困难,因为恢复数据库将牵扯到其他租户的数据;
如果需要跨租户统计数据,存在⼀定困难。
⽅案三、共享数据库,共享数据架构
这是第三种⽅案,即租户共享同⼀个Database、同⼀个Schema,但在表中通过TenantID区分租户的数据。这是共享程度最⾼、隔离级别最低的模式。
优点:
三种⽅案⽐较,第三种⽅案的维护和购置成本最低,允许每个数据库⽀持的租户数量最多。
玻璃微电极缺点:
隔离级别最低,安全性最低,需要在设计开发时加⼤对安全的开发量;
数据备份和恢复最困难,需要逐表逐条备份和还原。
如果希望以最少的服务器为最多的租户提供服务,并且租户接受以牺牲隔离级别换取降低成本,这种⽅案最适合。
JSAAS云应⽤的JSAAS的模式,默认是⽀持第三种模式,这种模式对于⾮公有云的应⽤是⾮常合适的,毕竟容易实现数据的简单分离与汇总,但若⽤户对数据要求性特别⾼的情况下,可以通过加⼀个前端的GNC(Global Name Controller)控制模块,根据企业访问的域名从⽽实现应⽤及数据存储的分开,从⽽有效实现第⼀种与第⼆种⽅案。如下图所⽰:
saas-deploy
3.红迅JSAAS开发平台简介
JSAAS企业应⽤平台是⼀款带有企业信息化基础管理的Saas开发平台框架,它是基于流⾏的轻量级框架Spring上构建,以⽀持中⼩企业、⼤型集团企业、政府单位的⽇常事务管理,平台提供基础的数据交互功能模块、⽂档处理管理模块、组织架构管理模块、流程管理模块、企业公告、交互管理模块等,适合于有IT研发能⼒的⼤型企业或向Saas应⽤运维的IT开发企业。
按摩锤平台可以满⾜以上的开发场景,构建未来以下的应⽤,以适应企业或机构使⽤企业的云端应⽤。未来的企业服务⼀定是云+端的天下,我们在构建云服务的同时,布局端的应⽤也显得⽆⽐关键,它使得我们开发后续的应⽤更加灵活与⽅便,如下图所⽰,我们未来上构建的企业应⽤均可以基于JSAAS上,并且⽬前,红迅软件已经构建了KMS,OA应⽤。未来半年内,我们将构建DRP(会员分销系统),CRM系统,以满⾜越来越多企业对应⽤的⼀体化的需求。
JSAAS_680
因此JSAAS平台上,未来向⾯向云端使⽤的应⽤将会有:
紧急呼叫CRM(客户关系管理)
OA (协同管理)
ERP(企业应⽤管理)
KMS(知识管理)
HRM(⼈⼒资源管理)
DRP(分销应⽤管理)
其他
如下:
jsaas-ent
4.组织架构设计
要实现⽀持多机构的管理,JSAAS平台的对组织架构的管理提供了相对传统的应⽤有部分区别,区别如下:
4.1. 机构(租户)管理
平台可以同时⽀持多个机构来使⽤,因此,主要是SAAS模式启⽤的情况下,可以⽀持机构的在线注册或后台动态添加,⽽每个机构即可以单独管理其下的组织架构,包括其登录的管理账号。
制备乙酸乙酯的装置
sysInstList
4.2. 组织维度管理
每个机构为了⽅便管理其业务,会把其组织架构按其业务管理的需要,进⾏组织架构的划分,如从⼈事的维度出发,其会把⼈员进⾏如下划分:
adminDep
⽽从销售的维度,其会按如下划分:
salesDep
4.3. ⽤户组管理
平台把组织⾥划分为组与⼈两种实体管理对象,其中⽤户组是管理⽤户的集合,挂在⽤户维度下。如
下图所⽰销售维度下的区域,均是⽤户组。⽤户组可以参与平台的授权、任务审批、任务分配等。
4.4. ⽤户管理
平台的使⽤者是⽤户,⽤户可绑定⼿机、邮箱接收平台提供的消息,如任务催办的消息、会议失效的通知消息。
4.5.关系管理
在业务的管理上,我们把⽤户间,⽤户组,⽤户组与⽤户的关系统称为关系管理,并且提供关系的动态添加及配置,并且提供通过关系类型及关系⼀⽅,可以到对应的⽤户或组。如在汇报线的关系中,我们经常需要往上两级,到其对应的负责⼈,并且把任务提交给他来处理。
5.应⽤扩展
JSAAS平台允许开发者通过不断叠加应⽤,以达到不断完善平台的功能,如CRM,OA,ERP,DRP,KMS等,通过在线配置⼦系统,并且动态添加功能发布⾄应⽤即可。平台⽬前不采⽤OSGI技术,⽬标是为了更好兼容及管理平台的表,通过模块的代码往⾥加,以达到⼦系统的模块管理。
jsaas-ext
5.1.⼦系统管理
对于⼀些⾮SAAS应⽤,我们可以把⼦系统设置为⾮SAAS模式,即在使⽤过程中,其不会分配给SAAS的机构来使⽤,只会给平台的⽤户来使⽤。这样可以避免⼀些强⼤的功能或统⼀的数据管理功能,不开放给租户机构使⽤。
jsaas-sys
5.2.⼦系统菜单配置
平台可以配置多个⼦系统下的菜单,通过这种菜单的扩展配置,后台的代码开发,就可以⽐较容易实现功能模块扩展。平台提供代码⽣成器⽅式,只需要配置好表结构,⽣成代码即可。对于开发⼈员来说,这是⼀种简单的开发模式,只需要理
解业务,功能开发对于来说,很简单,底层及前端的UI的代码提供了基础的数据操作。再通过在页⾯组装应⽤即可。功能即可以开放给租⽤机构来使⽤。
jsaas-menu
5.3.2 应⽤授权管理
平台允许管理员管理所有的系统菜单及资源,同时可以授权给SAAS的租户管理员进⾏其⾓⾊或⽤户组的分配,这种逐级分权的菜单授权访问,可以保证平台有效实现业务的的应⽤授权管理。
grant
6.企业的流程应⽤
流程应⽤是企业⽐较常⽤的应⽤要求,⽐较简单的是类似企业的⾏政的⽇常管理流程,如请假、⽤车申请、会议申请、费⽤报销申请等。⽽跟企业⽣产、销售、采购等也需要涉及到的业务流程,我们可以通过平台提供的流程构建⼯具来实现,在SAAS模式下,平台可以根据不同的⾏业提供不同的流程解决⽅案,企业在租⽤该平台的时候,通过在线的下载流程资产库中流程解决⽅案的模板,可以有效实现⾃⾝的业务流程,⽽这⼀切很简单,不需要过多的开发。
JSAAS根据国际的BPM对业务流程的理解,我们分为三种⾓⾊来使⽤流程业务:
1.流程业务规则设计者,也称为业务⼈员(懂流程业务)
2.流程审批视图设计者,也称为表单设计⼈员(懂数据业务)
3.流程统筹配置者,也称为流程管理员(懂系统管理业务)
我们根据三种⾓⾊,提供了三种管理⼯具,以达到可以有效配置流程业务管理的需要:
6.1.流程定义设计
流程业务规则设计--也称为流程定义设计,如下所⽰:
activiti-modeler
流程设计器使⽤Activiti 官⽅的Modeler设计器,保证未来升级及⽀持BPMN2的元素上的功能⽀持上⽐较强,对于⼀些终端的客户来说,虽然显得有点复杂,但后续可以改造,以满⾜⼀些⽔平层次低少少的⽤户。
它可以⽀持以下流程特性:
1. 串⾏审批
2. 并⾏审批
3. 分⽀审批
4. 条件并⾏审批
5. 消息通知审批
6. 多实例⼦流程
7. 多实例任务(会签),动态加签
8. 外部⼦流程
9. 流程事件定义
陶瓷球10. 定时信号触发事务定义
11.其他服务节点定义等
⽽在JSAAS平台中,我们不要求⽤户使⽤过多的其他业务审批节点,只需要普通的任务节点描述清楚流程即可。对于⼀些⾃动触发的任务节点,也按正常画在流程图上即可。
6.2.流程表单设计:
流程审批视图设计--流程表单设计及业务数据交互设计
5
表单设置的界⾯就是⽤户填个写数据的界⾯,平台⽀持表单设计完成后,可以⽤Json格式存储,也⽀持持久化⾄物理表中去,这种⽅式由⽤户使⽤该表单的数据⽅式来决定。不强制数据⼀定需要存储于物理表中,实现表单的在线动态配置,动态格式来存储。
form-json
业务表单的设计⽀持⽐较复杂的表单功能的在线配置,⽀持动态的数据抓取展⽰,级联数据展⽰等,由于其有⽐较丰富的数据展⽰控件,因此容易实现数据录⼊的强⼤、复杂的功能。甚⾄⽀持脚本的编写及数据抓取服务。
form-script
其设计的原理就是表单设计器配置表单⽣成表单的html静态代码,即控件都增加了Miniui的样式,在解析及渲染的时候,⾃动展⽰数据及从服务端获得数据,并且增加对应的响应事件。因此,使⽤上⽐较简单,对于简单的表单,则可以由普通的业务⼈员通过界⾯拖拉即可完成,对于有⽐较强的数据交互的,可由懂前端的⼈员进⾏配置及编写交互脚本即可。
6.3.业务流程解决⽅案组装者
该操作⼀般是⾯向流程业务的实施者,他们根据流程规则设计的流程跳转定义、每个环节的审批者、
审批表单、数据展⽰权限、催办管理等。包括在开发平台上配置并测试模拟运⾏流程以满⾜其需要。我们把这种实施称之为流程解决⽅案实施者,形成的流程解决⽅案,可导出⾄流程解决⽅案库中,供其他租户机构使⽤,从⽽达到流程资产共享。
solution
6.4. 流程审批与现有的组织架构的整合
JSAAS平台的流程审批简化了与组织架构的松耦合,其只是绑定了⽤户及⽤户组,第三⽅的组织架构接⼊时,仅需要通过配置实现⽤户与组及关系的接⼝即可,简化了其整合的难度。
流程表单与已存在的业务表单的整合
尽管JSAAS平台提供强⼤的Html的表单设计功能,但对于已经存在的业务表单,若想参与流程审批的处理,我们提供流程审批时的流程调⽤业务的接⼝功能,也提供业务操作时调⽤流程引擎的功能接⼝,并且通过JSAAS提供的平台界⾯实现关联配置处理。
7.协同应⽤
为了兼容更多的企业客户的应⽤需求,平台提供了最基本的协同应⽤管理,如消息通知、公告、知识
管理、⽂档管理、通讯录管理、通知管理、⽤车管理、会议申请管理、考勤管理等,同时⽀持不断的企业业务应⽤扩展,⽽JSAAS平台更多是提供较强的⼆次开发能⼒,红迅软件更愿意与我们的合作伙伴共同成长,不断延伸不同⾏业的应⽤,未来构建强⼤的云端应⽤,成就我们的企业、同时也成就我们。
在线试⽤

本文发布于:2024-09-22 20:27:40,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/158779.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:管理   流程   数据   平台   需要   企业   提供   业务
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议