分类 Paas 下的文章

1, Flutter (Google)

Flutter是谷歌的最新移动UI框架。Beta1版本于2018年2月27日在2018 世界移动大会公布,Beta2版本2018年3月6日发布。开发者可以使用 Flutter 在 iOS 和 Android 平台上开发原生应用,闲鱼、NOW 直播、京东 、美团这些应用也有使用 Flutter。它也是未来的Google新操作系统 Fuchsia 应用的主要开发方式。

Flutter的突出优点:

1,热重载(Hot Reload),利用Android Studio直接一个ctrl+s就可以保存并重载,模拟器立马就可以看见效果,就这一点比原生安卓制作简直不知道高到哪里去了。

2,一切皆为Widget的理念,对于Flutter来说,手机应用里的所有东西都是Widget,通过可组合的空间集合、丰富的动画库以及分层课扩展的架构实现了富有感染力的灵活界面设计。

3,借助可移植的GPU加速的渲染引擎以及高性能本地代码运行时以达到跨平台设备的高质量用户体验。 简单来说就是:最终结果就是利用Flutter构建的应用在运行效率上会和原生应用差不多。

2, React Native(Facebook)

React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,目前支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。React Native着力于提高多平台开发的开发效率 —— 仅需学习一次,编写任何平台。

国内的很多app比如QQ空间 ,QQ音乐,墨刀,京东,手机百度等,具体参考:https://facebook.github.io/react-native/showcase.html。RN的优势: 1. 两端并行开发(共享智慧) 2. 热更新(升级) 3.Open standard(React redux cycle...)。4. 社区力量。

3, 微信小程序(腾讯)

所谓小程序,就是运行于微信上的功能性的软件或应用。2016年9月21日,微信小程序正式开启内测。2017年1月9日0点,万众瞩目的微信第一批小程序正式低调上线。从技术上来说,微信小程序应用使用HTML5技术。

目前 微信小程序开发 在国内也是非常的火爆,许多公司都有这方面的需求。

4,WEEX(阿里巴巴)

2016年4月21日,阿里巴巴在Qcon大会上宣布跨平台移动开发工具Weex。Weex框架能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。Weex基于开源的Vue.JS, 相比于 RN来说 入门简单,容易上手。目前 阿里系的很多产品 比如淘宝,支付宝和一些小公司app都在用WEEX。

虽然Weex和React Native都支持跨平台开发,但实际还是有一定的区别:Weex的目标是实现代码共用,一次开发多平台运行,能同时支持IOS、Android和Web,降低了开发难度,节约开发成本;React Native则希望替换整个APP,所以更加注重平台的独立性,其代码需要针对IOS和Android平台编写,代码无法实现完全公用。

5, PhoneGap (Adobe)

PhoneGap是一个采用HTML,CSS和JavaScript的技术,创建移动跨平台移动应用程序的快速开发平台。唯一支持 IOS,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry 全部智能系统的平台。

国内的WeX5方案也是PhoneGap的一种,完全Apache开源,在融合Phonegap的基础上,做了深度优化,具备接近Native app的性能,同时开发便捷性也较好。在 RN 和 WEEX 方案未出现时, PhoneGap 是最好的跨平台APP开发解决方案。

6,Unity 3D(Unity Technologies)

Unity 3D是一款游戏开发平台,现在也支持 2D 开发,所以一些公司用 unity来做 应用开发,比如那些动画比较多的界面,用unity很快就能搞定。引擎本身是由C++写出的,c#写的 Mono模块被嵌入到了Unity当中。

Unity通过Mono使用了一种叫CIL 通用中间语言来实现跨平台开发。同时支持 Android,IOS,Windows和Linux等系统,还支持一些掌上游戏机。其他的一些2D游戏引擎比如Cocos2dX,也是不错的跨平台开发方式!


“低代码开发”最早可追溯到20世纪90年代至21世纪初的编程语言和工具(百度百科)。阿里云智能总裁张建锋在钉钉6.0发布会上也表示,“低代码开发”,将成为新一代的软件开发方式。
image
“钉钉宜搭低代码开发工具,让不懂代码的用户,也能快速开发新应用。”

一 什么是“低代码开发平台”

“低代码开发平台”,英文全称“Low-Code Development Platform”,简称LCDP,是通过少量代码或零代码就可以快速生成新应用的开发平台。其实就是让不懂写代码的用户,或者技术人员,利用“可视化”窗口,通过“拖拽”等操作就能快速开发出适合企业自身实际业务场景的工作流程或应用程序。

二 发展历程

image

三 国内低代码开发平台有哪些?

低代码俨然已经成为了下一代的软件开发方向,国外市场蒸蒸日上,国内市场又是何种状态呢?随着搭载宜搭低代码开发工具的钉钉6.0的推出,2021年国内低代码应用市场又燃起了战火。
以下是本人通过最近的了解,比较了几十家低代码厂商的产品或平台,觉得比较不错的有15家列出来供大家参考,欢迎不同意见的网友在评论区交流。
image

1 宜搭

简介

阿里钉钉出品的云钉低代码应用构建平台,于2019年3月上线,通过简单的拖拽、配置,即可完成业务应用的搭建。旨在为广大中小企业提供一套低成本的企业应用搭建解决方案。

官网

https://www.aliwork.com

功能介绍

  1. 快速搭建、便捷试用,低成本变更,交付完全贴合业务需求的应用 提供DDoS攻击防御,WEB应用防火墙接口,安全检测等安全服务。

  2. 依托阿里云强大的技术及计算能力,默认提供大数据、高并发的解决方案,承诺99.999%高可用。

  3. 助力企业快速实现,组织在线、沟通在线,协同在线、业务在线。

  4. 应用/市场+云栖社区,多维生态,组件、页面、插件均可自定义,开发的应用和插件可发布到开放市场。

产品规格

体验版:每用户最多创建 20 个应用,最大数据量 5000 条,附件存储 20G
标准版:1988/年起
尊享版:3988/年起

2 氚云

简介

奥哲旗下低代码产品,阿里巴巴A+轮融资,全球领先的在线低代码开发平台,已上线钉钉市场。

官网

https://h3yun.com/index.html

功能介绍

  1. 通过可视化控件、拖拉拽的方式,如同玩积木般快速搭建。

  2. 流程按需而配,全程自动化流转,让业务流程更清晰、更高效。

  3. 丰富的图表样式,一秒实现多维度数据分析,实时展示分析结果。

  4. 不再局限时间与场地,在线协同,移动办公,让管理更敏捷、更高效。

产品规格

试用版:15天免费
标准版:2980/年起
专业版:4980/年起

3 ClickPaas

简介

上海爱湃斯科技出品,由一批在美长期从事应用底层软件研发的核心团队于2017年创立。旨在帮助SaaS企业,咨询公司,企业级客户在实现复杂业务需求的场景下显著的降低数字化响应时间和成本。

官网

https://www.clickpaas.com/

功能介绍

  1. 基于业务模型创建应用,采用模型设计,元数据驱动,无代码生成可运行系统。

  2. 通过逻辑/接口组件化,配合在线调试实现图形化接口管理。

  3. 采用云原生架构、分布式设计保证多租户环境运行稳定。

  4. 通过拖拽式页面设计、图形化逻辑设计、点选权限设计,配合应用调试沙箱,让系统开发比你想象的更简单。

产品规格

提供定制开发和云服务

4 APICloud

简介

柚子(北京)旗下低代码开发平台产品, 通过生产力工具与混合开发技术,为企业与开发者构建高效的IT环境;在APICloud平台已有80万注册用户,平台每日生成安装包超6000个。

官网

https://www.apicloud.com/

功能介绍

  1. 标准web语言+H5开发工具设计IOS和Android原生App。

  2. 提供高效的APP开发、手机APP制作与APP管理等服务。

  3. APICloud专注于APP定制、自建APP,是专业的APP在线制作平台。

产品规格

提供定制开发和云服务

5 慧友云aPaaS平台

简介

北京慧友云商科技有限公司产品,成立于2015年,其股东包括用友、263、致远互联、涌铧、华软等多家知名上市高科技企业及风险投资,获得了业界的高度认可。

官网

http://www.huicloud.com/

功能介绍

  1. 独创的低代码、可视化、易拓展的数字化低代码开发平台。

  2. 30+功能引擎,1000+功能模块。

产品规格

分App开发平台和定制服务不同收费

6 明道云

简介

明道云是一个APaaS平台,帮助企业快速搭建个性化业务应用。用户不需要代码开发就能够搭建出用户体验上佳的销售、运营、人事、采购等核心业务应用。

官网

https://www.mingdao.com/

功能介绍

  1. 工作表、视图、统计,角色,自定义页面等五大功能组件。

  2. 支持通知、协作、日程、知识库、消息等协作功能。

  3. 公有云和私有云部署。

产品规格

免费版
标准版:9900/年
专业版:19900/年
旗舰版:39900/年

7 伙伴云

简介

伙伴智慧(北京)信息技术有限公司旗下产品 - 伙伴云,以先进的数字化经营平台,助力千万中国企业实现数字化转型。通过打造全流程、实时可视化的经营核算体系,为企业构建起上下同心的经营伙伴关系,实现员工持续成长、组织持续变革、业绩持续提高。

官网

https://www.huoban.com/

功能介绍

  1. 灵活构建符合业务需求的数据结构,多维度分配数据权限,保障安全的同时,提供远超Excel的协作效率。

  2. 支持 BPMN2.0 的强大流程引擎,可设计出多分支、多规则、多权限、多处理的复杂流程,构建企业业务的全流程闭环。

  3. 为了满足个性化数据处理的需要,工作流引擎支持超过万种流转方式组合,实现自定义的数据计算、处理、联动及流转。

  4. 大规模计算集群,不仅提供大数据分析能力,更为数据赋予思维,通过数据驱动业绩增长。

  5. 多种数据加密、备份、防护机制,严格的内部管理制度,全方位保障服务的稳定,与企业数据的私密安全。

产品规格

免费版:20人免费
标准版:199/人/年
专业版:599/人/年购
旗舰版:1299/人/年

8 应用魔方AppCube

简介

华为云旗下产品,AppCube提供云上无码化/低码化/支持多码化的应用开发模式,屏蔽技术复杂性,提升企业开发的效率。同时提供应用资产的开发标准和微服务框架,助力企业不断沉淀可复制的套件,加速应用的定制,并通过开放的生态,实现套件资产的商业变现。

官网

https://www.huaweicloud.com/product/appcube.html

功能介绍

  1. 全云化线上开发,No Code/Low Code开发模式,多终端适配,所见即所得的大屏构建,图形化业务编排。

  2. 拖拽式页面构建,简单易用的数据建模,灵活可视的服务编排、流程编排、事件编排,丰富的预置资产,积木式搭建应用效率提升10+倍。

  3. 丰富的集成能力,支持原生容器服务接入。

  4. 完善的应用打包、部署、升级能力,高效的团队协同开发能力。

  5. 安全可信的开发环境,可靠的隐私数据保护,严格认证的安全架构。

产品规格

免费版
专业版:39元/用户/月

9 云微搭WeDa

简介

腾讯云旗下低代码产品,腾讯云微搭低代码将繁琐的底层架构和基础设施抽象化为图形界面,通过行业化模板、拖放式组件和可视化配置快速构建多端应用(小程序、H5应用、Web 应用等),免去了代码编写工作。

官网

https://cloud.tencent.com/product/weda

功能介绍

  1. 行业场景模板、功能形态组件、表单项目套件。

  2. 多端应用预览发布和应用多团队协作。

  3. 拖拽式页面搭建和布局。

  4. 支持小程序、H5、PC Web 等。

  5. 以云开发作为强大的底层支持。

产品规格

腾讯云微搭低代码目前处于公测阶段,可免费开通

10 简道云

简介

帆软软件有限公司旗下低代码开发平台,是一个零代码轻量级应用搭建平台,可以帮助各行业人员在不使用代码的情况下搭建个性化的CRM、ERP、OA、项目管理、进销存等系统。

官网

https://www.jiandaoyun.com/

功能介绍

  1. 简单拖拽即可创建表单,发布填写链接、即可快速回收数据。常用于信息收集。

  2. 根据团队业务,灵活设计流程流转规则。

  3. 将收集来的数据进行统计、分析、对比。

  4. 在线创建文档并分享给公司员工。

  5. 团队成员通过钉钉/微信,可以在电脑/手机上接收消息、处理工作。

产品规格

免费版
标准版:2970起/年
专业版:8970起/年
私有云官方询价

11 轻流

简介

上海易校信息科技有限公司旗下低代码产品,轻量级、可自定义的管理系统搭建平台,无需代码开发即可如搭积木般快速、灵活地创造属于你的个性化管理系统,轻松实现多元业务场景的数字化管理,非IT人员也可轻松实现复杂应用。

官网

https://qingflow.com/

功能介绍

  1. 表单引擎、流程引擎、门户引擎、报表引擎、自动化引擎。

  2. 完备的体系支持各个行业、各个规模的企业组织员工信息全生命周期管理。

  3. 灵活的组织架构与系统权限体系融合,多颗粒度,多级权限体系快速响应管理人员的精细化管理诉求。

  4. 五大维度构建规则让消息提醒准确、及时、直观地触达被提醒人。

  5. 网盘工具、在线付费、打印模板、电子签章、OCR识别…数十款好用到爆表的插件可供选择,随意选择,一键开启。

  6. 低代码连接板块满足用户更深层次的定制需求,不管是集成业务系统还是基于轻流进行继续定制,都可以高效快速地进行落地。

产品规格

免费版
PRO版:5600起/年
PLUS版:9600起/年
ALPHA版:13600起/年
私有云官方询价

12 IVX

简介

世云新媒体有限公司旗下的一款零代码在线开发平台,其前身是iH5编辑工具。

官网

https://www.ivx.cn/

功能介绍

  1. iVX是一款为新一代零代码开发人员设计的全栈编程工具,或者说iVX的出现创造了这一与传统代码工程师所对应的iVX开发工程师职业。

  2. iVX相当于“一款零代码可视化编程语言”+“IDE的集成开发环境(自带编译器) +“配套云端IAAS资源”。

  3. 快速开发、快速运行、快速维护。

  4. 多平台支持,包括网页端、移动端(Android和ios)、桌面端(Windows/Mac/Linux)、小程序(微信/阿里系/抖音)。

  5. iVX支持前后端分离,以及第三方前端和后台对接。

产品规格

教育版:免费
个人开发者:免费
企业/团队:按照实际价值收费

13 百度爱速搭

简介

百度旗下自研低代码开发平台,更灵活、更智能、更强大的应用可视化设计与发布平台,百度内部深度实战验证,分钟级搭建表单、MIS、CRM、OA等智能化、免运维的各类企业SaaS系统与项目应用,助力企业降本增效,实现业务智能化升级。

官网

https://cloud.baidu.com/product/isuda.html

功能介绍

  1. 零代码搭建,所见即所得。

  2. 模型引擎,一键应用生成。

  3. 业务规则随心定制。

  4. 可视化审批流设计。

  5. 无忧的应用托管与运维保障。

产品规格

公测阶段,可免费申请

14 AWS PaaS

简介

AWS PaaS是炎黄盈动推出的第六代平台产品,完全自主研发并拥有核心技术,经过大规模客户验证已占据行业绝对领先地位。利用先进的低代码(Low-Code)可视化技术,可以在几周内而不是花几月、几年时间构建高体验新应用,加速企业的运营创新和数字化转型。

官网

https://www.actionsoft.com.cn/

功能介绍

  1. 涵盖数据类、流程类、协同类、移动类、集成类、服务类六大应用场景。

  2. 简化应用的开发、运行和维护。

  3. 以低代码和BPM能力相结合的“点/线/面”PaaS平台。

产品规格

云服务版:28908/年
易鲸云:9600/年
企业安装版官网咨询

15 CCFlow/JFlow

简介

由驰骋公司于2003年发布.net平台的CCFlow,2009年在OSCHINA开源,2015年研发基于Java平台的JFlow并在OSCHINA开源。专注国产低代码开源工作流引擎、表单引擎17年,低代码、可配置、高可靠、灵活定制、快速搭建,分布式部署,协助十几万企业客户降本增效,实现业务智能化升级。

官网

http://www.ccflow.org

开源项目

https://gitee.com/opencc

在线演示

http://demo.ccflow.org

视频教程

http://ccflow.org/ke.htm

资源下载

http://ccflow.org/Down.htm

功能介绍

  1. 用户角色、分组、部门等多维度设定。

  2. 统一授权,设定权限、菜单、功能。

  3. 跨系统支持。

  4. 可设定节点、数据、流向、权限等全流程要素。

  5. 强大的表单模板功能,支持数据字段、界面风格等元素设定 。

  6. 可视化表单、流程设计,拖拽式操作,只需简单几步即可实现复杂的业务流程。

  7. 支持微信访问,良好的移动端支持。

  8. 自适应功能,自定义表单、流程可自动转换为手机访问模式。

  9. 权限、流程等核心功能支持接口访问。

  10. 实现对外部系统的良好整合。

产品规格

所有产品都已开源:https://gitee.com/opencc


起源于20世纪70年代的电子商务,如今在全世界的发展可以说如火如荼,不断推陈出新;当下国内家居、零售、餐饮等传统行业也相继搭建自己的电商平台,凭借着多年积累的扎实的资金与地面部队、线下运营推广的实力,结合O2O模式,逐步在电商领域发力!

随着越来越多的实力派企业向电商领域进军,技术上如何快速搭建符合行业特点,有利于企业快速试水,同时便于后续可持续发展的电商平台,成为了关键的技术支撑需求。

如何在两个月时间内,迅速搭建类似京东、亚马逊、淘宝、卓越、当当的电商平台?需要从繁杂的电商业务系统中找到主流,需要借助开放的力量快速丰富和完善功能;而且,我们不能陷入为每家企业单独打造独立平台的泥潭,这就需要多租户与定制化。

要实现B2C电商平台必须具备的所有功能,包括卖场、商品、用户、社区、基础设施、促销价格、交易、订单、支付、虚拟资产、供应链、仓储、配送、财务、客服售后以及移动App等系统,还要满足一定的性能要求,使系统具备一定量级的用户服务能力,防攻击能力和内容分发效率,同时还要具备一定的可扩展性,为将来的升级扩容做准备。

从寻找产品、各种信息比较、订购、付款、送货到消费者服务和支持,构成电子商务的基本流程,我们需要根据必须的信息流、资金流和物流,对必须实现的模块进行筛选,以满足基本可用的电商平台需求。以卖场、移动、商品和用户系统为例,电商平台基本的业务架构见图1;抓主“流”,无招胜有招,不受常规完整性限制,就大胆迈出了快速搭建电商云平台的第一步。

图1 电商平台业务架构

即便如此,要做到这些基本的功能模块,不仅需要对电商业务非常熟悉,包括订单管道、拆分、暂停、转移、锁定、下传等正向流程,订单取消、重拆分、病单拉回、退款等逆向流程,以及开票业务、供应链业务、销售、支付处理、出入库等流程,还需要在技术上设计出一套综合考虑各种因素的,非常合理的技术架构,使得整个电商平台具备良好的技术指标,满足高性能、高可用、高并发、低成本的要求,还具备良好的可扩展性,这一点很重要,否则就是不计后果的野蛮开发。

首先,综合业务与技术方面的考虑,这个平台必须是开放的。

业务上,开放,可以借力ISV和有开发能力的租户。每个企业都有自己的ERP系统,要实现最后一公里的无缝对接,完全依靠平台的技术力量是不够的。这个时候如果把平台的业务能力开放出来,提供足够细粒度的API,ISV或有开发能力的租户就可以自行实现业务对接,并持续更新。随着业务的复杂,越来越多的需求会使平台开发者难以应对,而ISV和租户本身对自己的需求的理解是最贴切的,可以利用他们的力量,同时并行开发多个服务,只有这样才能快速丰富电商平台的服务,并确保这些服务的实用性。

技术上,完全依靠平台开发者的力量,初期维护几十上百个接口还可以,随着服务的增加,就只有依赖一套自动化的工具和平台,实现服务的轻量化。

众多服务的稳定性问题必然在服务轻量化以后对整个平台的稳定性问题带来明显的影响,这就需要从服务入手解决平台的稳定性问题。包括将Http服务异步化,使用事件驱动减少线程等待,通过虚拟隔离线程池将过度占用资源的业务排队,从而限定不同的业务所占用的资源等。

与此同时,还需要解决质量保障的问题。众多的ISV开发能力参差不齐,项目管理能力和开发风格也不尽相同,我们不仅需要制定一批规范,约定服务展现方式,包括窗口大小、ICON大小,颜色风格等;还需要制定完善的评审与上线流程,对于不同的服务,要求提交不同级别的测试报告。我们鼓励所有ISV服务都布署到云鼎或云擎平台,以便更好的管理并保障服务的稳定性和可用性。

以上这些都是根据用户需求和技术的需要,顺理成章。在解决了API的开放可用,以及基于开放API开发的服务的正确性和稳定性之后,我们需要一个服务市场供用户挑选和定制。随着服务的日益增多,我们的平台用户可能不知道自己已经购买的服务放到哪里去了,对于同一类服务,比如卖场、购物车、商品管理或交易管理,有多家ISV开发的多个服务,用户不知道该选用哪一个。这个时候就需要把这些服务在用户的桌面上聚合起来,便于用户查找和使用服务,引导用户使用更优秀的服务。尤其对于租户,可以提供Mobile Phone、Pad、WebBrowser、PC,包括Windows、Linux、MacOS、Android、iOS全平台跨OS的开放系统(架构见图2)。

图2 开放系统架构图

对于商家,可以通过Web、PC和移动端访问开放系统和其中由ISV开发的商品、交易、数据分析类应用;对于ISV可以通过Web访问管理站点;对于开放系统运营商则可以通过Web访问运营后台,进行ISV注册用户的维护、服务的审核等。

在Web、PC与移动端,开放系统通过一个壳将ISV开发的各类插件性质的服务聚合到一起实行统一管理和消息传递;这个壳和各个服务将调用服务器API,通过官方SDK、第三方SDK或直接调用开放系统API、第三方API,并在规范的开发框架下完成服务功能的实现。

所有API依赖于平台运营商和第三方提供的数据,建立在云平台基础之上。

接着,多租户模型的设计是必须面临的技术问题。不是说如何实现多租户,多租户模型已经是非常成熟的技术,已经有类似Salesforce这类的成熟应用将其实践到极致;这里面临的是如何在短时间内,快速搭建的电商平台中设计多租户模型,兼顾系统功能与开发效率,同时具备良好的系统可扩展性。

通常,多租户模型,一个实例服务一个租户(企业用户),通过创建不同的实例来实现服务的虚拟和自动扩展。与虚拟化技术最大的不同在于,虚拟化主要是指虚拟主机、内存等资源。

按照多租户模型,如图3所示,我们应该在AppLayer动态创建多个实例,分别服务于不同的租户;如果是单实例同时服务于多个企业用户,可以称之为多用户模式,在这种模式下,用户登录时通常需要选择企业名称或ID;在DataLayer通常采用共享数据库实例、共享表的方式存储多租户的数据。

图3 多租户网络架构

应用层如图4所示,通常在一个应用集群运行着多个应用实例,应用的实例将根据租户注册情况动态创建,根据用户使用情况动态调整和管理资源使用。

图4 多租户应用层架构

多租户模型所创建的多个实例是需要自动部署的,这就对系统的自服务能力提出了要求,在短期内有两种方案可以考虑。

一种是依赖云鼎、云擎平台,先实现多用户的方案,利用云鼎、云擎平台自动生成数据库实例。在企业用户少的情况下,是有利于快速搭建电商平台的。结合开放的需求,需要实现并开放基础的API、定制功能的API以及由定制功能生成的API(可分步骤实施)。

一种是暂时多租户共用实例。

如图5到图8所示,数据层通常有A、B、C、D四种架构,实现难度逐步增加,对开发团队的技术要求越来越高,租户定制功能的灵活度也由低到高。

图5 多租户数据层架构A

在私有库模式下,为每个租户单独创建一个数据库实例(或在一个数据库实例中创建多个数据库,这里将这种折中的模式归入此类),每个实例中运行着一套完整的业务表,在数据库内部,跟单租户系统没有任何区别。

图6 多租户数据层架构B

在私有表的模式下,每个租户将共享一个数据库实例,但在数据库实例内部,为每个租户创建一套完整的业务数据表。

图7 多租户数据层架构C

在扩展表模式下,基本表将负责每个租户独立数据的独享存储,扩展表将使用租户ID共享存储所有租户的定制数据,扩展表的字段类型通常是固定的。这种模式通常也采用私有元数据表、共享扩展表的方式来存放数据。

图8 多租户数据层架构D

在共享表(通用表或公有表)模式下,大量的表中存放着多个租户的数据,通过租户ID来区分和隔离,对于定制化的信息通常采用统一类型(如varchar)的稀疏列;由于存放了所有租户的数据,数据表和数据库的数据量都会很大,通常需要使用散列分区技术的大数据库系统。

从实现角度,实现最快的模式是应用层多用户+数据层A架构,次快的模式是应用层多租户+数据层A架构,效果最理想的是应用层多租户+数据层D架构。

数据库表的设计时,租户ID的设定,要有全局唯一的ID,每个租户的数据ID(如订单ID)要能够独立从1开始展现。

如果为了避免联合主键(联合查询,SQL语句会非常麻烦),可以考虑“7位租户ID+11位数据ID”(数字或字符),展现时取出后面11位的展现,同时存放租户ID方便应用使用。

如果更多的照顾到使用方便,可以使用租户ID与数据ID分开设计,以SKU-Price为例,如图9所示。

图9 租户ID的设计实例

定制可以先支持Logo、首页商品推荐区名称的设置、推荐商品的设置等,后期逐步结合模板实现复杂的UI(颜色、字体、布局等)、表格、业务流程和权限定制。

不同租户的定制功能涉及到开发量,不可能做到极致,解决的办法,一方面是依赖租户自身的开发力量,一方面是依赖ISV的力量,结合开放的需求,需要开放元数据表、数据表、透视表组合逻辑等(可分步骤实施)。

解决了基础数据问题,在UI和流程定制方面,需要制定一套完善的依赖模板的定制方案,如图10所示,是以Android系统为例的定制流程。

图10 模板定制流程

不妨自定义一套URI格式协议,包括协议头、host和activity名称和参数等信息,比如:“ecc://com.jd.eCloud/index=activityName?p1=v1&p2=v2”,在URIRequest中,与ISV约定根据协议写死地址,客户端只保留一套模板html页,从而实现不同的租户看到不同的展现。

另外,在开发组织与项目团队的管理方式上也需要辅助使用一定的方法和技巧。传统的走正步形式的瀑布开发模型一定不适合快速搭建的需要。

看板方式,把工作细分成任务,写在卡纸上,贴在墙上,把栏命名好,来显示任务在工作流程中的状况。

XP敏捷开发的Scrum模型兼具了多重优点,是比较常用的方法。

把来自各个职能部门的产品、开发和测试人员聚到一起,分成不同的开发小组,把工作细分成细小、实在的交付成果,安排人员负责需求清单以及跟据重要性排优先级别,由团队估算每个项目相对工量。

把整个开发时间分成固定时长的短迭代(通常一至四周),在每个迭代后演示新增可发布功能。

每个迭代中,ScrumMaster负责召开PlanMeeting,按照PO提出的优先级制定Sprint目标,创建SprintBacklog,以UserStory的方式分解成MVP功能点,估算工作量,承诺,生成故事卡、任务卡并上墙,开始维护BurndownChart,并定期召开SOS。

每个迭代发布后,经过评审,优化发布以及跟产品一起更新优先级别。

每个迭代发布后,进行回顾,优化过程。选用vagrant开发环境,可选ci/svn版本控制,通过cctray持续集成,通过代码赌场等活动提高代码质量。

如此快速搭建的电商平台,这里就关键几个架构问题和项目问题以及业务问题进行了讨论,具体在实施中如何在基础设施到网络架构方面做到高性能、高并发、高可用、高扩展、低成本,可以在单独的主题中进一步详细讨论。

http://www.csdn.net/article/a/2014-01-02/15817757


JeecgBoot是一款基于BPM的低代码平台!

20210617220016265.png

前后端分离架构 SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot引领新低代码开发模式 OnlineCoding-> 代码生成器-> 手工MERGE, 帮助Java项目解决70%的重复工作,让开发更多关注业务,既能快速提高效率,节省研发成本,同时又不失灵活性!一系列低代码能力:Online表单、Online报表、Online图表、表单设计、流程设计、报表设计、大屏设计 等等.


本文章基于AgileBpm低代码平台开发文档,代码及个人理解

AgileBpm整体项目逻辑划分比较清楚,能按照开发文档对各个部分进行基本的了解。

Agilebpm模块分析

  1. 基础模块 Base

  2. 平台模块 Platform

  3. 业务对象+表单模块 Bus+Form

  4. 前端模块 Bpm-explorer

  5. 模块间依赖关系

 

1. 基础模块BASE

  • base-api 提供 通用请求入参、返回参数、基础实体、基础service/dao API定义、异常规范、校验定义

  • base-core 提供常用工具类、基础API实现 ID生成、通用校验实现等

  • base-db 整合数据源、mybatisjdbcTemplate 等持久化层相关的实现

  • base-rest 提供 Rest 服务基类、Rest服务相关的工具类 

 

2. 平台模块Platform

2.1鉴权项目模块

  • 在用户登录时安全验证,页面跳转时判断 当前用户所拥有的角色 是否满足 当前资源所需的角色

  • 安全支持,防止CSRF跨站请求攻击

2.2 org 组织架构管理模块

  • 用户管理

  • 组织岗位

  • 角色

  • 用户组关系

2.3 sys 系统功能模块

  • 提供 jmsfreemarkgroovyemailredisschedulerlog 等组件的服务接口定义

  • 数据字典、系统资源管理、系统环境属性、流水号、多数据源、菜单资源、子系统、国家节假日、日程、工作台 等系统功能

 

3. 业务对象+表单模块

3.1 业务对象模块

业务对象支持一对多、多对多、一对一、多层关联关系(学校-班级-学生),业务对象多表来自不同数据源,并支持多数据源分布式事务

  • 业务对象、业务实体的定义

  • 业务数据的持久化服务

  • 表字段控件定义(为生成表单做准备)

 

3.2 表单模块

表单是业务对象的展示层,依赖业务对象模块

  • 提供在线表单的生成(PC 、移动端、iview版本等..其他UI版本 

  • 表单高级控件的配置

  • 表单模板管理

  • 自定义SQL列表,与表单组合实现增删改查

      在前端平台进行0代码开发时,一般都是先进行业务实体和业务对象的创建(此时也会在后台数据库进行对应table的同步),然后按照之前建的业务对象进行表单的生成,可以选择几个固定模板(单列,二列,三列,四列),生成完后还可以再自己进行类似于Word方式的调整。

模板生成表单

表单的调整

4. 前端模块

Agilebpm的流程引擎基于activiti 5.22

 

Activiti5是由Alfresco软件在2010517日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人Tom BaeyensJBoss jBPM的项目架构师,它特色是提供插件,开发人员可以通过插件直接绘画出业务流程图。 

 

5. 模块间依赖关系

 

(在开发文档中作者描述WF为流程模块,但实际并未找到单独的WF,应该是随着更新嵌入到前端bpm-explorer中)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/callpink/article/details/108058853