极致业务基础平台:低代码快速开发实现BS、CS、移动端多终端运行
“快速开发,随需而变”是极致科技创始格言,极致科技问世的第一个作品就是“极致业务基础平台”,15年来极致科技所有软件作品全部基于“极致业务基础平台”开发并运行。“极致业务基础平台”是具备完全开发能力面向管理软件程序员的低代码快速开发平台,也是所有管理软件的开发利器。极致业务基础平台除自身用于物业行业构建全方位的深度应用以外,还通过其他软件公司开发了制造业、医疗行业、服装行业、餐饮业等行业的企业级应用。
极致业务基础平台支持可视化实体、界面设计、权限、工作流设计等,通过设计器零代码即可实现基本增、删、改、查、打印、引出等基本操作的快速运行,然后通过前端、应用层、数据访问层、业务逻辑层等编码实现各种企业应用的业务逻辑。
极致业务基础平台运行框架具备灵活性(自定义报表、自定义角色、自定义字段等)、高可用(工作流、消息推送、定时服务、消息队列、多组织机构参数配置等)、高可配置性(可视化大屏、移动管理驾驶舱)、高性能伸缩性(读写分离、历史数据分离、分表存储、外部附件存储)等优势。
极致B/S架构前后端分离,前端人员关注页面的样式和动态数据的解析渲染以及优化,后端人员专注具体业务逻辑的实现并提供WebApi供前端访问,提升开发效率,前端处理数据还有利于减少服务器负载压力,降低故障率。
极致移动端运行框架充分考虑移动的应用环境与特性,移动端框架以元数据为核心,利用元数据能够自动化构建单据界面,只需少量代码即可实现各种单据功能。并与极致便捷的工作流引擎相结合,以求达到最快的开发速度。并且充分利用了移动端手机设备的各种固有能力,如拍摄、定位、扫码、水印、蓝牙等功能,以求满足各种实际场景的需求,达到极致的用户体验。
极致WebAPI的微服务架构可以剥离与业务系统强关联的状态数据,达到服务无状态模式,利于进行平行扩展,提升服务的高可用性,同时将费用缴纳、电子发票、短信服务、支付服务和基础数据等业务封装成具备完整的单一业务服务单元,构建一个完整的业务开放平台系统,便于向第三方输出数据资源与业务能力。
一、极致业务基础平台设计器
1、可视化设计器通过定义实现数据库设计与界面设计
使用实体设计器进行数据实体的新增、修改、删除、分组等管理、自动维护数据库表及生成ORM代码。
A、实体设计器用于将数据库表的设计,可视化的定义成实体元数据,存储在数据库中,可以很方便的维护,定义了实体,则无需关心数据库中的表结构,系统自动在数据库中根据实体定义信息,维护表结构。如下,定义了组织机构实体,系统自动在数据库里生成相应的数据表。
实体:
数据表:
B、实体设计器,以对象继承方式实现实体对业务表的封装,实体通过定义可实现基础资料类实体、业务对象类实体、层次结构实体、数据授权和字段授权实体等包含实际企业应用的通用基础功能。
C、实体可以继承基类实体,通过继承,可以自动拥有基类实体的属性、方法及实体列。系统定义了常用的实体基类,比如代码名称基类可以实现录入时模糊匹配、单据基类可以自动维护制单人、制单时间等,新增的实体将自动拥有相应的功能,并且可以进行多层继承,如下所示:【职员】实体继承了【内部人员_基类】,【内部人员_基类】继承了【人员_基类】,【人员基类】继承了【代基础资料_(代码名称可重复)_基类】,职员就拥有了所以基类的属性和方法。
界面展示效果:
2、实体设计器支持数据授权、字段授权,实现真正意义上集中式管理,依据权限进行数据隔离,用户只能查看权限范围内的数据
如组织机构实体上设置了支持数据授权,系统管理员就可以在角色管理里对角色授权组织机构的数据权限,拥有该角色的用户,将只能查看对应组织机构的数据,设置了字段授权,可以设置实体的敏感字段的不允许查看、不允许修改、不允许导出权限。如下列所示:
实体勾选【支持数据授权】或【支持字段授权】属性:
角色管理里指定角色的组织机构数据权限:
角色管理里指定角色的字段权限:
指定该角色的用户后,如下图,用户登录后,查询人事档案,只能查询角色里指定的组织机构的数据。
3、界面设计器支持各种预设功能操作配置
界面设计器通过拖放控件、设置属性、对界面排版,将界面信息以元数据的形式存储于数据库,运行时由运行时框架自动加载界面,标准的单据增删改、一览表、报表零代码实现,使用者只需要关注具体的业务逻辑实现,即可快速搭建大型企业应用程序。如下列所示:
1、界面设计器支持界面与实体的绑定,根据实体与实体列自动生成控件,并预设了常用功能的操作,包括数据加载、数据保存及新增、修改、查看、删除、审核、反审核、打印、打印预览、套打设置、新增分录、删除分录、上移、下移等功能操作,如下图所示:
设置单据对应的实体与控件对应的实体列,实现数据的自动加载与保存,如下所示:
系统自动生成运行界面如下:
2、一览表和报表支持根据实体结构自动生成表格列并预设了根据实体进行数据查询,如下图所示:
查询效果:
4、界面设计器支持工作流单据定义,工作流与业务单据无缝集成
如下所示,我们可以先增加工作流服务,然后通过【增加单据】按钮选择业务单据,将工作流服务与业务单据绑定,可以定义这个单据审批过程中调用的操作。
定义好工作流服务后,就可以在软件的工作流管理中去定义工作流,如下所示:
5、界面设计器指定各类单据启用自动编码,可以灵活配置业务编码规则
实体继承【业务单据(自动编码)基类】的单据,可以指定业务编码规则,如下图所示:
即可在系统的业务编码规则设置中指定前缀、位数、后缀、当前编号变化规则等,系统将自动根据规则生成业务单据编号。如下图所示:
设置前缀
设置当前编号变化规则:
系统新增单据时,系统根据编码规则自动生成单据号,如单据未保存,系统将自动回收该单据号,效果如下:
二、极致业务基础平台运行框架具备的基础功能
极致业务基础平台运行框架可以为系统平台的运行提供良好的性能支撑(读写分离、历史库分离、分表、附件外部保存);为使用人员提供简单便捷的初始化操作方式,支持多组织机构、多项目的参数配置实现全局与局部的配置参数;支持自定义报表及预警方案是实现用户的个性化报表业务;支持定时任务可视化配置与消息队列;全面完善的角色、用户权限定义控制功能与数据权限;及时、稳定的消息推送机制可以及时的推送消息到使用者,进行业务处理;通过可视化大屏与移动驾驶舱为管理人员提供直观的动态图表数据,为决策提供依据。
1、如何实现数据中心的读写分离
读写分离,将业务操作数据库(新增、修改、删除)与查询数据库分离开,减少因查询大数据导致业务操作使用慢的现象,业务操作只对数据库进行新增、修改、删除操作(主库的数据可以实时同步到查询数据库),而查询数据库只进行查询操作,这样可以大大的降低服务器的压力、提高业务操作与查询操作的响应速度,进一步提升用户体验。在极致物业管理系统中可以简单、便捷的通过数据中心一步设置、数据库服务器上的发布与订阅功能这二个步骤来完成读写分离的部署,具体实现如下:
场景1:大客户A使用项目多、数据量大,但服务器硬件配置已不能较好的满足业务操作与查询操作的响应速度,经常操作或查询反应慢还出现超时现象,因此需要通过读写分离来解决该问题,其中读数据库在部署服务器A上,写数据库部署在服务器B上(注意:读写分离需要同步开启主库与备库的数据库代理服务)。
场景2:使用了读写分离后,如何进行整体升级确保升级过程及使用正常?
注意:读写分离不支持创建表、新加字段的同步,如需要该操作请手工进行
①、在SQLSEVER的“对象资源管理器”中进行事物发布配置(存储过程、视图、自定义函数视实际情况选择);
②、在SQLSEVER的“对象资源管理器”中进行订阅配置;
③、在极致数据中心中指定查询数据库,在数据中心中选择需要进行读写分离的账套环境,进行配置查询数据库操作;
④、校验读写分离部署是否成功,通过极致物业管理系统新增一条现金收款单后,检查主库与备库是否都新增了这条数据(如未同步成功,请检查代理服务是否正常运行)。
读写分离校验:主库用于新增、修改、删除,备库用于查询。
2、如何实现数据中心的历史数据分离
通过历史库数据分离来提升客户端访问查询的效率,历史数据自动迁移,主要功能有创建历史数据库、历史数据自动迁移、数据联查、数据查询、整体升级强制升级历史库。极致数据服务正常运行的前提下,在数据中心可以创建历史数据库,按照具体业务需要,根据迁移配置表中的条件,迁移部分业务数据到新创建的历史库中;此后每到固定的时间,会自动执行迁移;完成历史数据迁移的系统,可以在客户端切换查看数据的数据库,部分页面可以同时展示当前库和历史库的数据。
2.1创建历史数据库
场景1:当前系统需要创建历史数据库,当前库保留最近2年的业务数据。
管理用户登录服务器的极致数据中心,点击选中当前库的数据库后,点击数据库>创建历史数据库,正确设置数据库登录方式和创建的历史库信息、以及需要操作的选项后,点击确定;
①、创建历史库设置页面,若不勾选“同步迁移历史数据”项,则此次只会创建历史数据库和同步表结构,不会执行数据的迁移和同步,创建的历史库所有表均为空表,需等到下一个迁移日执行自动迁移后才有数据;
②、创建过程,会有信息提示当前进行的任务信息(创建耗时较长,具体时间由数据库数据量及服务器可分配资源决定);
③、当前库保留数据的年限,一经设定,不允许更改!只能在创建历史数据库时能设置、更改,请谨慎操作;
④、保留数据年限对数据迁移的影响,详情参考下表:保留数据详情表。
表一:保留数据详情表
创建完成后,可以在极致数据中心看到系统对应的历史库信息
登录物业系统,默认登录当前库环境,可以在当前库与历史库之间切换,在历史库环境不允许做查看之外的操作
2.2历史数据自动迁移
场景2:系统已完成了历史数据库的创建(保留2年数据),到了新的年度:2019/1/1,系统执行历史数据自动迁移。
在极致系统服务正常运行情况下,系统按场景1中的数据保留规则,自动进行迁移,待迁移服务完成后,在当前库能发现满足迁移条件的2017/1/1-2017/12/31的数据已被迁移到历史库中。
①、自动迁移服务是极致数据服务的内容,请务必保证极致数据服务、数据库服务处于正常运行状态;
②、自动迁移服务会根据设置保留的年限自动判断,当服务器时钟走到时间点、且排队在前面的服务都完成了,自动开始数据迁移至7:00结束,未完成的下一天继续重复,直至完成。
2.3数据联查
场景3:系统已完成了历史数据库的创建迁移(保留2年数据),在前台收银、费用查询、客户资料、人事档案页面,查看当前库和历史库的数据。
①、登录系统当前库环境,收费管理-前台收银,选中一个房间,查看各项单据的明细;
②、客户关系管理->客户资料一览表,选中一个客户,查看各项单据的明细;
③、人力资源->人事管理->人事档案->人事档案管理,选中一个职员,查看各项单据的明细。
2.4整体升级强制升级历史库
登录极致数据中心,点击升级数据库,选择整体升级包后点击升级;待系统当前库完成整体升级后,会自动强制对历史库进行整体升级。
3、支持收费数据分表存储
极致系统支持将收费业务数据进行分表存储,在启用分表情况下,按每个业务年度将对应的年度数据存储到年度分表中,可有效的减少当前查询的数据量,大大的提高了因表存储业务数据太多导致的查询缓慢的问题,有效提升了用户体验。
4、支持附件外部保存
极致系统支持将附件进行外部保存,如图片、文档等附件,用户可根据实际需求指定到具体的目录路径下,在使用过程中的附件就会默认存储到指定的路径下,不存储到数据库中,这也为后续使用该附件提供了更为简单便捷的打开方式,不仅减少了数据库的存储空间,也提升了打开附件的效率。
5、支持定时任务可视化配置
在业务系统中存在较多的Windows服务去执行定时任务,通过定时服务配置程序可以界面化配置管理系统的定时服务。可以通过简单易懂的界面化操作,将需要的服务配置出来。
6、支持多组织下的系统参数配置
极致物业管理系统提供了多个系统参数,物业公司根据实际业务设置不同的参数值,实现不同的业务。在正式使用极致物业管理系统之前,必须先把系统参数设置好,这些系统参数是系统正常运行的基础。系统参数支持全局和按组织机构设置,设置全局系统参数,所有的组织机构都生效,按组织机构设置,勾选了应用的组织机构才生效;系统参数提供了多种类型的系统参数值,有逻辑型、文本型、数值型、字符串型、时间型等。
6.1支持多组织机构下的全局参数
极致物业管理系统提供全局系统参数,设置好后所有组织机构都生效,比如服务器接口地址,使用同一个物业管理系统的组织机构,服务器接口地址就是同一个,所以该参数定义为全局参数。根据需要填写系统参数的参数值,保存之后参数生效。
6.2支持按组织机构配置参数
极致物业管理系统提供的系统参数,大部分是可以按组织机构设置参数值的。支持便捷设置所有组织机构都生效的参数值,也可以单独设置一个或多个组织机构生效的参数值,使用更灵活。比如极致办公通讯录使用新版界面,只有长隆项目勾选了应用,并且不勾选参数值,表示只有该组织机构使用旧版界面,其他组织机构使用新版界面。
①、在系统参数设置列表选择需要设置的系统参数,勾选或者填写参数值;
②、点击按组织,弹出按组织机构参数定义页面;
③、选择需要设置的组织机构,勾选应用,填写参数值,保存后生效。
7、如何设定一个单据的工作流
许多物业公司采用纸张表单,手工传递的方式,一级一级审批签字,工作效率非常低下。极致物业管理系统提供工作流有效的解决此问题,采用工作流,使用者只需在电脑或手机上发起相关的单据,就会按照定义好的流程自动往下跑,下一级审批者将会收到相关信息与资料,并可以根据需要修改、跟踪、管理、查询、统计、打印等,大大提高了效率,实现了知识管理,提升了公司的核心竞争力。
极致物业管理系统工作流有以下特点:支持工作流程自动流转;完全支持业务流程自定义,流程与表单完美结合,满足不同物业公司不同的业务场景,不同的组织机构与部门协同作业,提高企业效率;支持使用分支条件、循环条件判断设计复杂的工作流;同一个表单,不同的组织机构设计不同的工作流程。
下面以员工调休为业务,讲解如何定义工作流为例,实际业务情况:调休者提交调休请求,通过部门和职级来判断是走A部门还是B部门的领导审批,最后由人力资源部或总经理来审批,审批之后的调休单才是审核有效的单据。将业务流程转化为实际的工作流的操作步骤分为以下几步:
7.1定义整体流程的属性
定义流程属性,作用于整个工作流,提供了基本信息、拥有者、监控者、变量和界面必录项设置。
1、基础信息设置,业务选择“员工调休申请”。
2、设置“拥有者”,指定有做“员工调休申请”权限的用户,即流程的发起人,可以直接选择用户或者角色,选择角色代表拥有这个角色的用户都有发起这个流程的权限。
3、设置“监控者”,监控者是针对非流程中用户,需要了解流程的执行情况,针对这种情况就把这样的用户设置成监控者,可以直接选择用户或角色。
4、设置“变量”,有判断分支的情况需要设置变量。如通过判断职员提交的调休单属于工程部还是客服部,确认是经过工程部领导还是客服部审批,针对这种情况我们需要设置变量名为部门,类型选择文本。
7.2定义流程中具体的业务节点的属性
支持自定义每个业务节点的活动属性,适用不同的业务。极致物业管理系统提供多种业务节点,分别有业务操作,审批、发送消息、并发、条件分支和循环。业务操作节点,可以新增、修改单据内容;审批节点,只能做审批,不能做数据修改;发送消息,工作流流转到此节点后,发送邮件给指定人;并发、分支、循环节点,根据变量条件判断,符合条件的走对应分支流程。
1、规划整体审批流程:
1)拖动“业务操作”节点;
2)根据通过判断职员提交的申请单来确认是经过工程部领导还是客服部领导审批,需要添加一个条件分支,然后在分支条件里面添加“审批”节点。
添加完成之后如图:
2、设置每个业务节点的属性,选中要设置的节点,点击活动属性,依次设置以下几个页面,填写基本和输入页面信息;输出页面选择之前定义的变量名称“部门”,然后赋值即可;参与者指定处理人,第一个节点选择流程发起人,有权限的用户都可以发起,其他节点选择对应的处理人。
3、设置条件分支内的业务节点,选中条件分支节点,点击活动属性,根据变量设置条件判断。
4、其他业务节点参照设置,最后一个业务节点“人力资源部”或“总经理”,操作要设置为审核。
5、保存,之后关闭。
6、在“工作流定义一览表”,选中刚才的流程点“发布”,用户就可以发起员工调休审批流。
7.3支持多组织机构自定义工作流
物业公司下面有多个分公司,多个分公司可能用到同一个业务,如:环球物业公司下有极致科技、极致物通、电子商务分公司,这些公司都有调休、离职业务,但是每个分公司的调休、离职审批流程不同,审批的部门也不同,那么就可以自定义不同组织机构的审批流。在定义整体流程属性中选择对应的组织机构,其他设置同上面的即可。
8、如何实现报表、一览表添加自定义字段、计算列字段
极致系统不仅仅实现业务正常流程,还提供了大量多角度的报表、一览表做统计分析使用,为企业做经营分析提供了依据。报表展示的维度最大程度上满足了企业标准需求,但考虑到部分企业可能还有定制化个性需求,应对客户的深层需求,极致提供多种解决方案,在报表、一览表中提供了自定义字段、计算列功能,企业根据自身需求,在报表、一览表中可设置自定义列,设置企业关心的数据展示在列表中。
8.1设置自定义字段
极致系统中所有报表、一览表默认提供了标准列数据显示,还支持选择自定义字段展示功能,企业人员可根据需要的字段内容设置显示在报表页面,企业人员可在一个报表中直观的查看需要的数据。
如服务派工统计表,标准列没有“合计金额”列显示,财务人员需要统计派工收取的临时费用,可在过滤条件中增加自定义字段“合计金额”,该报表则清晰的展示了每条派工单收取的费用。
8.2设置自定义计算列
极致系统用户在查看报表、一览表数据时,可能还需要查看系统未直接计算出的数据,如:客户资料中可维护家庭成员信息,但系统没有统计家庭成员人数的列,这时候可通过自定义计算列,设置一览表展示家庭人数。
通过上述两种解决方案,满足了企业复杂多样的数据统计需求,让数据分析达到前所未有的灵活、简单。
9、如何实现角色、用户定义及其拥有的控制功能配置
极致系统提供了企业服务相关单据管理,涵盖多个岗位所需的服务单据管理。如人事部使用的人力资源管理;财务部使用的薪酬管理、合同管理、收费管理等;工程部门使用的工程管理、巡检管理等;安保部使用的保安消防管理、门禁管理、停车管理等;领导层关心的企业各个环节运作报表数据等;企业重要数据都保存在系统中,为了避免数据泄露,极致系统提供了一套完整安全的用户管理体系,保障了系统数据安全。极致系统数据安全可通过以下几方面体现:
9.1自定义用户管理
极致系统分2大块设置用户权限,限制用户登录系统后的操作权限,从源头上规避数据泄露。
设置角色权限:系统管理员根据企业需求设置不同的角色权限,可通过功能权限、数据权限、字段权限设置该角色的权限,从而从功能操作、数据权限以及关键字权限3个维度全面控制了角色的权限。
功能权限即设置角色对某个功能操作的限制,可分别控制角色查看、修改、新增、删除、打印、禁用等操作,如控制客服人员角色只能查看房产,不可操作新增、修改等。
数据权限即设置角色查看的数据范围,如负责子公司的财务人员只能查看本公司的财务数据,无法查看兄弟公司以及总公司的财务数据。
字段权限即可设置角色查看的字段范围,如可控制系统用户只能查看人事档案管理模块,只能查看职员名称信息,不可查看职员开门密码信息。
新建用户信息:通过设置用户过期日期、密码过期天数、动态密码验证的方式定期更新用户登录信息;再通过绑定角色的操作,控制用户的权限。
9.2自定义角色权限控制
从上文角色权限设置可看出,用户角色可根据企业实际需求,设置不同的角色权限,可通过功能权限、数据权限、字段权限设计多种场景的角色。
极致系统角色权限、用户权限操作界面,可在一个页面操作所有权限设置,减少了页面交互页面等待的时间;并且提供了复制、导入、导出功能,权限控制可快速完成配置;
采用用户关联角色的模式,同一类型的员工可选择相同的角色,角色可被重复使用,需要更新权限只需要更新角色配置即可,修改后可同步更新关联用户的用户。
9.3自定义界面显示、常用功能及启动功能
针对用户关注的模块不同,极致系统还提供了自定义界面功能,可设置系统只显示部分模块,隐藏不需要的模块。
10、如何实现运行情况下的单据字段自定义
为满足企业个性定制系统单据字段,极致系统支持所有单据字段自定义操作,在系统“单据字段自定义”中可按单据设置多个自定义属性,属性字段类型支持文本、日期、逻辑值、小数等基本字段类型,并且可限制字段长度。如采购订单单据没有“订单号”输入项,可添加“订单号”自定义字段。
单据字段自定义设置保存后,查看对应的单据,展示了自定义字段以及字段输入框。
11、如何轻松便捷的进行自定义报表配置及预警
11.1自定义普通报表
场景1:维护人员不使用sql语句的前提下实现常规费用单的查询报表,其中字段包含单据号、客户名称、房间代码、应收日期、计费日期、应收金额等,客户名称与房间号使用融合表头显示为房间信息(房间信息下分客户名称与房间号),需要实现该场景需要进行以下几个步骤:
第一步:打开普通报表定义页面
第二步:选择实体
表格注意事项:
A、表头分组:支持将列拖动到表头进行分组显示;
B、表头过滤:点击列头过滤按钮,实现按该列的数据进行过滤显示;
C、多行显示:定义文本型单元格的内容允许多行显示;
D、固定列:定义拖动横向滚动条时,固定列将不移动;
E、列集合:定义表格列的集合;
F、融合表头:定义表头多行显示的集合;
G、单元格融合方式:定义相邻单元格数据相同时是否融合显示,包括有总是融合、排序后融合、不融合方式;
H、是否使用融合表头:确定融合表头是否生效;
I、是否显示合计列:当定义成交叉表时是否显示合计列。
表格列注意事项:
A、是否采用服务端计算公式和服务端计算公式:这两个属性配合使用,用于不能直接从实体的字段中直接获取值,则通过此功能写SQL取数,例取常规费用单的欠款:jzGeneralToll.ActualAmount-jzGeneralToll.ReceivedAmount ;
B、客户端计算公式:用于表格列之间进行公式计算获取值,性能较差;
C、列汇总:包括求和、平均、计数、不重复计数,设置列汇总将在底部增加一汇总统计行;
D、列标题:列的显示名称;
E、列宽:列的宽度;
F、格式串:列显示格式串:如日期可以设置yyyy年MM月dd日;
第三步:跟进实体设置报表列,点击确定按钮。
第四步:将客户名称、房间代码融合显示为房间信息下的2个列
注意事项:
A、开始融合列:是从右侧第一列开始计算到需要融合的位置,从0开始算,客户名称就是第1列,因此开始融合列填写1;
B、结束融合列:是从右侧第一列开始计算到需要融合的位置,从0开始算,房间代码就是第2列,因此结束融合列填写2;
C、是否使用融合表头:选择True。
第五步:保存报表并校验是否正常
第六步:发布报表到对应的功能菜单下
11.2自定义SQL取数报表
场景2:维护人员使用sql语句实现常规费用单的查询报表,其中字段包含单据号、客户名称、房间代码、应收日期、计费日期、应收金额等,客户名称与房间号使用融合表头显示为房间信息(房间信息下分客户名称与房间号),需要实现该场景需要进行以下几个步骤:
第一步:打开普通报表定义页面
第二步:设置SQL原语句与参数过滤
SQL编写注意事项:
A、SQL报表必须将结果插入到临时表中,在SQL原语界面中使用右键菜单可自动添加插入临时表:##TempTableName##;
B、SQL列名命名必须规范,不允许数字开头或特殊字符或不用列名;
C、自定义报表应尽量避免游标,影响查询性能;
D、可以使用临时表,临时表最后必须Drop 掉;
E、临时表包括两种,局部临时表(#开头,存在一个会话中)和全局临时表(##开头,存在所有会话中);
F、联接尽量使用Left Join ;
G、允许定义变量,可以用变量接收参数,SQL中用变量过滤。
过滤条件参数注意事项:
A、过滤条件参数是所有报表通用的,系统会扫描SQL文本进行与过滤条件参数列表进行匹配;
B、过滤条件参数命名要规范,不要采用SQL关键字、常用字段名;
C、过滤条件参数支持手工录入或引用字段,引用字段必须指定引用实体和实体列;
D、手工录入的过滤条件参数类型包括有文本、数值、日期;
E、过滤参数的使用:直接在SQL中使用参数的代码,系统将自动将过滤条件参数加载到过滤条件界面中。
第三步:在列集合中设置列名与字段显示名
第四步:将客户名称、房间代码融合显示为房间信息下的2个列
注意事项:
A、开始融合列:是从右侧第一列开始计算到需要融合的位置,从0开始算,客户名称就是第1列,因此开始融合列填写1;
B、结束融合列:是从右侧第一列开始计算到需要融合的位置,从0开始算,房间代码就是第2列,因此结束融合列填写2。
C、是否使用融合表头:选择True。
第五步:保存报表并校验是否正常
第六步:发布报表到对应的功能菜单下
11.3报表预警方案
同用户可以根据自己关注的重点,灵活的定义自己需要的预警过滤方案,可以在筛选的报表、一览表筛选条件中根据需要预警的信息及条件值,将当前筛选方案设置为预警方案,便于后续在使用系统过程中系统在用户每次登录时将预警信息推送给登录用户。
如果勾选如上图过滤方案所示的“以本方案作为预警方案”的复选框,系统登录时会按该过滤条件检查是否存在记录,如果存在将会跳出预警界面。
当前登录用户可以直接在预警界面通过按钮或双击选中行打开报表或一览表界面。
12、如何实现报表数据基于权限控制的复制、引出、打印
极致物业管理系统提供了多样化的报表,为应用者提供快速的数据统计,为管理者提供各种指标的分析,给决策提供最直接的数据。支持报表权限控制,有效保证了客户数据的安全性;支持多条件过滤,快速检索数据;支持导出、打印与复制功能。
12.1报表引出、打印权限权限控制更安全
极致物业管理系统提供了权限控制报表功能,每个用户只能看到已授权的模块信息,只能进行已授权的操作(比如删除单据、新增单据、打印、导出等这些权限是分开的),严格控制了操作员的使用权限,保证客户数据安全。
系统管理员在角色的功能权限页面中为每个报表设置操作权限,勾选上打印与引出,设置完成后属于该角色的用户可以对这个报表进行打印与导出操作,否则没有打印与导出的权限。
12.2快速查询并导出数据
极致物业管理系统提供多种文件格式导出报表功能,用户根据实际需要选择对应的文件格式导出数据,方便用户存档与做运营分析。支持用户通过滤过条件快速查出导出的数据操作方便,提高用户体验。
通过过滤条件查询导出数据:在报表页面,点击过滤,进入过滤条件页面,支持多维度过滤条件快速查询出用户所需数据。
导出数据:点击文件->引出,选择文件格式,点击确定成功导出数据。
12.3支持打印数据
极致物业管理系统提供了打印功能,如业主有欠费,但是没有及时缴费,物业管理员可以通过极致物业管理系统打印纸质欠费通知单,通知业主缴费。物业管理员在打印之前可以先进行预览,再次确认打印的信息,也可以直接打印。
物业系统打印数据:在报表页面,通过过滤条件查询出需要打印的数据,点击预览,确认打印信息,也可以点击打印成功打印。
12.4支持复制数据
极致物业管理系统提供了复制功能,对于重复可利用基础数据,可以通过复制相同的单据,修改少许数据,实现快速录入。
打开单据,点击编辑->复制,快速复制一张相同单据。
13、如何配置实现极致办公的消息推送
用户使用极致办公APP进行办公,但是用户不是每时每刻都盯着手机,因此有可能错过重要的事情没能及时处理,造成用户损失。极致办公提供了消息提醒功能,当其他用户发送邮件、或是未处理的单据等事宜给用户,第一时间提醒用户有待办的事宜要进行办理。通过下面几步配置简单实现消息推送:
13.1开启极致数据服务
在使用消息通知之前需要先开启极致系统数据服务Jeez.SysWinService.exe,通过服务下发消息通知到推送平台,推送平台再到对应的APP。
13.2配置手机推送账号
消息通知是通过推送平台推送消息到极致办公APP,每个APP都有独立的推送账号。在极致物业管理系统配置推送账号,通过账号发送消息到对应的APP上。
13.3开启手机通知权限
极致办公APP要能接收消息通知,需要开启手机系统通知权限,允许极致办公接收消息通知,否则消息被系统拦截,无法显示。
13.4开启极致办公接收消息通知
极致办公APP也提供了打开或关闭消息通知功能,如果只打开了手机系统的允许通知,不打开APP通知功能,那么用户也无法接收消息。极致办公APP提供此功能有一个好处,当用户不想要接收极致办公APP消息时,直接在此页面关闭接收功能,方便用户切换,减少用户去系统查找的时间。
14、如何实现可视化大屏及移动管理驾驶舱
14.1标题内容可视化传输接口配置
移动管理驾驶舱账号支持全局配置与按组织机构配置,全局配置则可以查看集团下的所有数据。
14.2配置可视化数据传输规则
通过自定义配置可视化传输规则,来确定需要传输的业务类型数据(含同步时间间隔、抽取数据的SQL语句、抽取类型、以及同步时间),用户可以根据实际需要来通过调整SQL实现不同业务数据的同步。可视化传输规则同时为移动管理驾驶舱和可视化大屏基础数据抽取提供支持。
14.3可视化大屏
在完成可视化数据传输后,在浏览器中通过每个大屏地址可查看可视化运营平台的收费、客户服务、人力资源、设备巡检、停车、门禁等业务数据。
可视化大屏主屏
可视化大屏收费子屏
可视化大屏客户服务子屏
可视化大屏停车子屏
14.4移动管理驾驶舱
14.4.1、定义移动管理驾驶舱
定义展示图表的展示方式(饼图、条形图、树状图、环形图等),可以定义成元素图或组合图。
14.4.2、使用移动管理驾驶舱
在完成图表定义、图表授权后,登录极致办公APP可以查看到移动管理驾驶舱功能,系统主页如图:
收费子页面:展示今日收费、本月收费、本年收费、欠款账龄及项目收款排名。
客户服务子页面:展示月度与年度工单、实时工单、客户反馈、有偿工单等。
设备设施子页面:展示设备信息、月度与年度巡检、超时预警信息等。
人力资源子页面:展示人事指标、考勤数据、人事排名等。
智能门禁子页面:展示人流分布、开门方式、进出情况、以及门禁设备预警。
智能停车子页面:展示车场资源概况、异常情况及车辆进出动态。
三、极致BS运行框架
随着互联网的发展以及前端技术的日益强大,基于B/S架构的业务系统越来越受到企业的青睐,相对于传统的C/S架构部署环境复杂,升级麻烦,定位问题难,扩容难等问题,基于前后端分离的B/S架构就很容易解决上述问题,并且前后端人员分工明确,前端人员关注页面的样式和动态数据的解析渲染以及优化,后端人员专注具体业务逻辑的实现并提供WebApi供前端访问,提升开发效率,前端处理数据还有利于减少服务器负载压力,降低故障率。
1、前后端分离架构
极致BS运行平台是一个完全意义上的前后端分离架构的B/S产品,前后端分别基于前端JS框架Vue和C#开发, Vue 是一套用于构建用户界面的渐进式框架,与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,开发效率高,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。C#开发的服务器为外部提供WebApi访问,可以兼容多类型终端。
基于极致BS运行平台开发,不仅开发效率高,部署方案灵活和升级简单,还可以很方便进行横向扩展,支撑更多用户和并发访问,保证业务平稳发展。
2、后端技术框架
极致BS运行框架是基于开源ABP框架实现的,ABP基于DDD的经典分层架构思想,实现了众多DDD的概念, 极致BS运行框架根据ABP框架实现的特性以及极致的业务属性,在 继承框架优秀品质的基础上进行了优化以及扩展,重新实现了插件的加载方式加快应用程序的启动速度,集成Redis缓存并支持Hash数据结构,集成Hangfire任务调度框架并使用Redis存储,集成SwaggerUI方便后端WebApi调试以及向前端公开协议,集成基于Nlog的分布式日志框架ExceptionLess方便日志记录以及问题定位。
基于极致BS运行框架进行项目开发,都是以插件的方式进行,有利于业务和功能统一归类,代码隔离,实现模块间高内聚低耦合。
3、后端开发
由于极致物业管理系统已广泛应用,极致BS运行平台服务器端不会另起炉灶,而是在重用原有系统的数据和类库,并在不影响CS系统正常使用的情况下,向Web前端提供WebApi访问,并实现和CS相同的功能以及用户体验。
极致业务基础平台CS运行框架提供了对报表,单据以及流程的标准操作以及自定义实现,由于CS和BS的差异,CS客户端的自定义实现不能在BS中重用,因此极致BS运行平台除了提供标准的操作外,也提供了自定义实现,CS端自定义实现如何在BS框架下实现,请参考如下要点。
3.1配置扩展点
目前系统只在元数据配置提供给BS唯一的扩展点,因此所有的扩展接口都实现在抽象基类[AbstractBusiness]中,在窗体中配置[调用页面路径]参数,具体为AbstractBusiness派生类的全路径:
@类完整名称,程序集名称
3.2自定义元数据
目前有些界面是没有配置有元数据,客户端直接创建的,或者创建了部分元数据,然后在客户端派生类中重写实现的。对应没有配置元数据的界面,建议在元数据设计器中重新创建,后续维护比较方便,只有部分元数据的,可以重写元数据查询方法[PostMetaDataQuery],对布局以及容器控件进行添加、修改和删除操作。
● lPostMetaDataQuery
3.3报表查询
CS端报表的自定义查询都是从ReportList派生,并根据条件构建查询sql并返回数据,目前BS服务器端把ReportList移植过去,把CS端的ReportList子类的代码直接拷贝到扩展类上,修改并编译无错误即可,当然也可以在新定义的接口方法上面填充相应的代码。
● lPreReportDataQuery
● PostReportDataQuery
3.4单据初始化
在新建,查看或者编辑单据时,需要对单据数据进行初始化,除了部分控件的数据都是标准化初始化,也有小部分是自定义的,对于新建单据时,需要重写[Initialize]方法,而查看或者编辑需要重写[PostRowDataQuery]方法。
● Initialize
● PostRowDataQuery
3.5单据新建和修改
在单据新增或者修改单据保存前,如果需要对参数值进行重新判断,赋值或者转换,重写[PreCreateOrUpdate]方法,如果在保存成功后执行其他操作,需要重写[PostCreateOrUpdate]方法。
● PreCreateOrUpdate
新建单据预处理,例如对必填值进行判断,参数重新赋值或者对其他关联逻辑进行处理。
● PostCreateOrUpdate
在单据创建成功后执行其他关联逻辑。
3.6单据删除
单据删除在框架内有公共实现,如果在单据删除前或者删除后进行其他操作,需要重写[PreDelete]和[PostDelete]方法。
● PreDelete
● PostDelete
3.7工作流提交处理
工作流在框架内有公共实现,如果需要在工作流提交前或者之后进行处理,需要重写[PreWorkflowProcess]和[PostWorkflowProcess]方法。
● PreWorkflowProcess
● PostWorkflowProcess
在工作流提交成功后执行其他关联逻辑。
3.8树控件数据初始化
大部分的树形控件数据初始化在框架内有公共实现,如果树形控件数据是自定义的,需要重写[CanProcess]和[GetTreeNodeData]方法。
● GetTreeNodeData
3.9下拉框数据初始化
大部分的下拉框控件数据初始化在框架内有公共实现,如果下拉框控件数据是自定义的,需要重写[CanProcess]和[GetComboBoxData]方法。
● GetComboBoxData
3.10控件数据联动查询
如果控件的值变化时,需要查询关联控件的值,首先重写[PostMetaDataQuery]方法,把需要执行联动的控件的[RelationalQuery] 属性设置为true,并重写[PostSelectedControlData]方法。
● PostSelectedControlData
3.11表格行数据联动
选择表格行数据变化时,需要重新查询其他控件数据,首先重写[PostMetaDataQuery]设置触发源表格的[RelationalQuery]为true,如果包含有TabControl控件,TabControl选择变化时仅需初始化当前页的数据,则需要设置其数据源绑定的控件属性[DataSourceName],最后重写[GetReportRowRelationalData]方法。
● GetReportRowRelationalData
3.12过滤方案新建和修改
如果需要在新建或者修改过滤方案时对主过滤条件值进行重写判断,重新赋值,则需要重写IFilterSchema 接口中的[PreCreateOrUpdate]方法。
● PreCreateOrUpdate
3.13过滤方案查询
如果需要对过滤方案的主过滤条件查询时进行赋值或者转换,需要重写[PostFilterSchemaQuery]方法。
● PostFilterSchemaQuery
4、前端开发
极致BS运行平台前端根据服务器端提供的元数据生成报表,单据和工作流界面并进行标准操作,目前是尽量不要在前端进行自定义开发,而是把脚本在服务器写好,通过WebApi访问把脚本内容推送到前端,前端进行解析并执行。
目前提供了配置以及编程的方式来对控件以及菜单事件的支持。
4.1配置方式
每个模块定义事件脚本文件,在插件初始化后进行注册。
// 注册脚本
var eventScriptProviderAppService =
IocManager.Resolve<IEventScriptProviderAppService>();
eventScriptProviderAppService.Regist(HttpContext.Current.Server.MapPath("~/bin/EventScript.json"));
控件事件脚本要编写规范,按照定义来实现,具体脚本内容单独放在一个文件中,保存为UTF8编码。
// 窗体容器Id
"MainContainerId": 2275630,
"EventScripts": [
{
// 控件名称[和元数据中控件名称一致]
"ControlName": "ckhPasswordNotExpired",
// 事件类型 1:值变化时触发的事件 2:点击事件
"EventType": 1,
// 触发类型(可空) 1:数据加载后
"TriggerTimeType": 1,
// 对应的脚本文件名称
"FileName": "2275630_1_PasswordNotExpired.js"
}
}
4.2编程方式
重写查询元数据扩展方法[PostMetaDataQuery],并直接对控件进行事件脚本添加。
window.CreateControlEvent(EventScript eventScript)
四、极致移动端运行框架
极致业务基础平台移动端运行框架,同样基于极致自主研发的低代码快速开发平台框架,继承了PC端平台软件开发的优点,让开发移动端软件APP时也具备快速开发能力。该平台以元数据为核心,利用元数据能够自动化构建单据界面,只需少量代码即可实现各种单据功能。同时以自主研发的数据框架为基础,并与极致便捷的工作流引擎相结合,以求达到最快的开发速度。并且充分利用了移动设备的各种固有能力,如拍摄、定位、扫码、水印、蓝牙等功能,以求满足各种实际场景的需求,达到极致的用户体验。
1、整合的信息流
极致办公作为极致业务基础平台的移动端应用,它整合企业管理及日常办公所需要的消息流,以简洁方便的方式呈现个人消息,集工作流待办事宜、极致企业邮件、企业通知公告、个人日程等安排于一体。用户在消息界面一个界面中即可获取所有的当前需要获取的最新信息,减少了用户查找和跳转页面的时间。同时利用手机设备的消息推送提醒功能,可以及时地获知最新的消息及待办事宜,减少流程审批的等待时间,领导只需使用手机便可轻松查阅及审批流程。另外,包括物业巡检任务等也可以设置提醒, 给物业管理带来了便捷,提高了工作效率。
1.1整合的消息流-个人待办事宜
个人待办事宜是指个人最新未处理的工作流待办事项,如下图中的客户投诉单,或服务派工单:
1.2整合的消息流-极致企业邮件消息
使用极致邮件系统发出的个人未读邮件会显示在待办事宜中,如下图所示:
1.3整合的消息流-企业通知公告消息
指企业使用极致系统发布的通知公告,个人未读的通知公告会显示在待办事宜中,如下图所示:
1.4整合的消息流-个人日程表消息
个人在极致系统或移动办公APP中添加的个人日程事项,到了日程指定时间时,会显示在待办事宜中,如图所示:
1.5整合的消息流-天气预警消息
利用服务实时监测天气的变化,当监测到指定日期的天气情况与所配置的天气情况匹配,就将新增相应的通知单,将配置中定义的防范措施推送到配置中定义的用户手机app中待办中。
配置天气预警防范措施:
按定时服务设置的时间查询天气,当检测到已在天气预警防范措施中配置的防范天气,启动天气预警流程,给天气预警防范措施中“防范人员”的办公app推送流程待办(见下图)。防范人员查看通知单后点击“同意”按钮单据即处理完成。
1.6整合的消息流-岗位提醒消息
个别保安夜间值班期间睡觉,因此需要需要在保安值班期间向其随机推送一些题目,保安接收到推送的消息后提交答案,以此判断保安在值班期间是否在正常履职。
配置岗位提醒题目:
按定时服务设置的时间查询在值班的保安人员,不定时的从岗位提醒题目中随机选择一题通过流程待办的形式推送到保安极致办公APP待办中。保安人员选择答案点击提交即可。
2、零代码功能的单据审批流
随着信息化技术的发展,企业对信息化开发的需求正在逐渐改变,传统的定制开发已经无法满足企业需求。近年来低代码开发平台,越来越成为开发者和企业的选择,而极致已经在这方面则是遥遥领先。
不仅仅在PC端产品使用了低代码快速开发的极致业务基础平台,极致的移动端产品也是如此。得益于该平台,极致办公APP的单据审批流实现了零代码开发的模式,对于任何一种业务单据,只需定义配置好业务单据内容字段以及相关工作流实例,即可在极致办公APP中进行新增、查阅、修改及审批单据,无需重新进行代码编写开发及更新升级,极大提高了产品成本和效率的优势,并为产品提供了灵活扩展的能力。
2.1移动审批工作流引擎
OA工作流是基于办公自动化基础上,通过企业自定义好的流程转向实现流程自动流转、业务申请审批、信息沟通及时等。极致办公APP与极致物业管理系统使用了相同的工作流引擎,显示界面包括了待办事宜、已办事宜、我的申请等。实现了包括创建、知会、打回、沟通、撤回、已办、批量审批、加急、挂起等全面实用的功能,覆盖了工作流应用的各种场景。
工作流沟通功能
工作流打回功能
工作流撤回功能
工作流批量审批功能
2.2移动审批通用表单编辑
通用表单,是指在极致办公APP中使用通用统一逻辑处理的表单单据,这种单据移动端可零代码实现,可在极致办公APP中进行创建、审批、编辑、打回、沟通等流程操作。
它的实现基于极致业务基础平台,以元数据为核心,将表单封装为元数据“数据实体”,对应数据库中的表,属性包括了表名、关联程序集、实体类型等,如下图所示:
同时将表单的字段封装为元数据“数据实体字段”,对应数据库表的所有字段,其属性包括了数据实体、字段名称、字段类型、字段长度、是否必录、是否可见等,如下图所示:
除了界面元数据外,界面的自动化实现还可以根据工作流的配置和定义,对工作流某个节点的界面和逻辑进行控制,如是否锁定、是否必录、是否可见等。比如,当节点属性设置某字段设置为锁定时,在极致办公APP中,该字段将不可修改。如下图所示:
通用表单中,显示的字段是根据“数据实体”和“数据实体字段”元数据实现的,界面上显示的字段名,即为“数据实体字段”的名称, 同时界面根据字段类型,显示不同类型的控件,如日期类型则显示日期控件,布尔类型则显示复选框控件。还有引用类型字段,它可引用其它“数据实体”,以此获取关联的数据。
极致办公APP的“消息”页签,右上角“我的流程”提供发起表单工作流的功能,它使用了通用表单的自动化构建实现,因此可以发起任何通过工作流配置的单据,并且实现工作流配置的界面和逻辑控制功能。
如图所示:
除了界面主单据外,表单还支持明细列表的显示和编辑功能,如上图的差旅费表单,其下面还包含具体明细数据,该数据可以是多个明细,也可以是多种不同类型的明细。系统根据“数据实体”和“数据实体字段”元数据之间的关联关系自动进行实现。如下图所示:
3、万能的扫一扫
万能扫一扫功能是极致办公APP的又一“特色功能”,它使用手机的二维码拍照扫码功能,针对物业管理行业各种真实实际的应用场景需求量身定制,其中包括了常用的仪表扫表、巡检节点、巡检设备、设备保养、设备维护、房间二维码、客户资料等。不同的应用场景二维码,只需使用万能扫一扫,即可轻松到达功能界面,准确定位到指定数据。
4、企业通讯录
企业通讯录是企业内外部沟通时必备的功能,但极致办公App的企业通讯录,除了基本功能外,同样具备其自有的特色。它基于极致管理软件中的数据自动构建企业级通讯录,可以查看同事、客户、往来单位的联系信息,并且可以即时拨打电话、发送短信或电子邮件给联系人。同时它基于组织机构权限管理控制,有相关权限的用户,可以查询指定客户资料,包括手机等基本信息、当前欠费信息、预收款信息、客户房间、家庭成员、报修单和投诉单等信息。更重要的是,借助于手机的移动支付功能,可让企业工作人员与客户面对面的进行欠费收款或扫码缴费操作,资金通过支付系统进入物业的账号中,操作既安全又便捷,能够提升物业的催收率。
5、移动办公模块
移动办公APP的“工作”页签,主要以功能图标的形式展示,为独立的业务或功能提供单独入口,分别包括了移动办公和物业服务。功能入口根据极致物业管理系统中的用户功能权限以及企业开通模块作为依据,判断功能图标是否显示,因此,企业可根据实际需求自由定制显示所需的功能图标。
移动办公模块主要包括了OA系统以及人力资源系统常用功能。移动办公显示的入口图标包括了:管理驾驶舱、外勤、加班、调休、休假、邮件、文件传阅、签报、知识库、日程安排、会议室申请、证照退还、车辆申请、日志、企业短信、出差、调班申请、费用报销、差旅费报销、管家沟通等。
6、企业服务模块
企业服务模块,主要包括企业特别是物业行业常用的功能,显示的入口图标包括了:服务派工、仪表抄表、客户投诉、巡检、设备保养、设备维修、工作检查、自由巡检、盘点、领料单、考核检查、装修巡检、承接查验、商机管理、工作日志和房屋保修等。另外,极致移动运行框架,还提供了扩展第三方服务链接的功能,可在企业服务模块中动态扩展加载显示第三方服务链接。
五、极致基于WebAPI的微服务架构的接口开发
物业管理系统是由不同的业务服务单元组成,其中包括公共基础服务、业务应用服务等,不同服务的场景、使用频率不一样,由于不同业务的应用特点不一样,以及在系统深化运用过程中会根据实际情况产生不同的业务需求,在进行平台设计时就需考虑服务可复用、高稳定性、可扩展性。
企业在不同的业务管理过程中会产生不同的数据成果,物业管理系统平台可以理解为对这些不同数据成果进行抽取、转化、分发的数据中台,这一数据中台是有许多业务服务单元组成,不同的业务线可能会有许多不同的开发团队进行开发与运维,针对不同技术栈组成的开发团队,在进行平台设计时就需要考虑如果聚合各自的业务单元,同时具备低耦合的特点。
1、如何保证服务的可复用性
针对公共业务,极致开发平台将其内聚为统一公共服务层,以webapi的服务形式对平台其他业务和第三方厂商提供服务,使对业务线开发团队透明,开箱即用,避免重复造轮子。
例如极致统一短信服务、极致统一电子发票服务、极致统一支付服务、极致统一客户号服务、极致基础数据服务等。
2、如何保证服务的高稳定性
极致开发平台在保证服务高稳定性的主要技术路线有两种方式:
A、硬件层面:选用市场主流的云服务厂商,在业务规模与企业规模受限的情况下,选用主流云服务厂商的云计算服务,从而屏蔽基础设施(如服务器、主干网络、硬件运维)的稳定性对平台的影响,以服务器集群方式去承载不同的业务,从而根据业务规模去动态调配、升级、增加硬件资源;
B、软件层面:极致开发平台在设计开发中贯穿无状态微服务理念,根据业务服务边界划分不同的业务服务单元,使其成为具备独立业务功能的服务主体,服务单元之间通过webapi的形式进行通讯,微服务这一基础理念使得在平台运行过程中可以根据不同业务的使用规则来规划不同的硬件资源,针对高并发的服务如统一短信服务、统一支付服务,根据用户使用规模快速进行横向扩展,在出现某一服务器资源出现服务不可用时无缝路由至其他可服务的资源上。
3、如何保证业务需求快速响应与可扩展性
物业管理系统在实际深化运用中会产生很多新增业务需求,企业在管的不同业态的项目有各自的业务诉求,在使用过程中也会不断产生新的业务需求,极致开发平台在产品设计时着重考虑了业务扩展性和需求快速响应的要求。
3.1同一公共基础服务支持不同渠道
公共基础服务开发时采用按项目维度的渠道可配置性的特点来满足基础服务支持不同的渠道服务商,例如短信服务通过短信网关接口配置来适配不同的短信服务商,根据企业的需求来配置短信服务商,开发统一支付服务时采用适配器模式来对接不同的支付服务商,在客户定向指定尚未对接的支付服务商时,通过双方约定的技术接口标准在服务层完成对接,然后以插件形式加载到统一支付服务层,统一支付服务层屏蔽不同服务商的接口标准,以统一的webapi模式向各业务线开放,从而达到无需改动具体业务系统的业务逻辑来快速响应客户需求。
3.2以SDK或H5输出单个业务系统的服务能力
企业在信息化建设中会有不同的目标客户或不同的产品定位,因此可能需要将物业管理系统中某些独立的业务系统输出到第三方产品中,极致开发平台在设计市场可复用的业务系统时考虑跨终端或跨系统的现实需求,以SDK或H5方式输出业务能力,平台的微服务设计特点在业务逻辑层做了边界区分,实现展示层与业务层的隔离,从而在响应跨平台产品或跨终端的需求时只需实现展示层的开发,无需重复实现业务逻辑,以SDK包或H5形式向第三方系统输出服务能力,完成快速对接。
例如:
A、业主缴费这一核心业务,通过H5或webapi接口向第三方开放,从而快速实现第三方产品中具备缴费能力,避免同一业务在不同厂商的产品中重复开发。
B、企业内部管理,如协同办公,以SDK包或H5形式向第三方开发,从而避免相同的业务在不同的产品中产生不同的工作流管理模式,同时也可以webapi形式输出工作流驱动服务,从而将某一业务链在不同的产品中串联起来,形成业务统一、数据统一。
3.3通过业务链埋点开放更小颗粒度的接口
不同企业在使用物业管理系统同一模块时可能会有不同的管理需求,针对这类需求,极致开发平台通过在所有业务模块的业务链中开放不同的小颗粒度接口,根据不同客户管理需求重写特定的接口方法,复写原有公共标准逻辑,从而满足不同的客户需求,且不影响其他客户,避免根据客户来维护不同的产品代码分支。
例如企业主数据平台建设过程中,针对基础资料的操作除了系统本身的操作业务链外还需将数据实时分发给第三方系统,平台设计的接口埋点方式可以快速响应此类需求,开发人员只需在数据保存中通过复写保存业务操作中外部命令接口从而实现数据状态变更的实时分发。
-
2024年中国物业管理行业年度总结(下)
넶3 2024-12-06 -
2024年11月中国物业服务企业品牌传播TOP50
넶3 2024-12-04 -
2024年中国物业管理行业年度总结(上)
넶15 2024-12-03 -
北京建设老幼共育、全龄共享的社区嵌入式服务综合体
北京市发展改革委发布《北京市社区嵌入式服务设施试点项目建设运营管理办法(试行)(征求意见稿)》指出,北京市将在市民家门口优先建设、改造功能集成的社区嵌入式服务综合体,配置养老服务、婴幼儿托育、儿童托管社区助餐、家政便民、健康服务、体育健身、文化休闲、儿童游憩等一种或多种服务功能。
넶25 2024-11-29 -
物企强化降本增效,都用了哪些招数,一文带您看透!
受整体经济形势及行业发展状况影响,降本增效可以说是当前乃至未来很长一段时间物业企业的一个主旋律。从当前许多物企的做法来看,区域聚焦、组织精简、人员共享三个方面已成主流路径之一。
넶16 2024-11-27 -
取消普通住房和非普通住房标准,对物业管理行业意味着什么?
넶36 2024-11-19