思想 实践

一文解析易磐EP全面预算管理软件技术架构

 2019-10-25

搞全面预算管理的人都知道“统筹规划”的重要性,对于预算管理人员来说,如何让不同部门之间协调配合,共同为企业发展服务是一个非常关键的问题;

对于预算管理软件来说,技术架构的功能就是“统筹规划”,它让预算管理软件系统的各部分形成有机整体,对于全面预算管理的成败也是至关重要的。


用过易磐EP全面预算管理软件的人都知道,EP最大的特点就是“易用、灵活、快速”,这也是众多客户选择EP的最主要原因,相比于行业内其他预算管理软件来说,EP搭建了自己的一套服务架构,并且通过多年的研发和积累不断优化完善,最终形成今天我们看到的易磐EP全面预算管理软件。


为了进一步了解EP的技术架构,小编特地采访了易磐科技高级研发工程师朱磊(朱经理),闲话不多说,赶紧上车! 

总的来说,易磐EP技术服务架构主要包括UI层、接口层、微服务层、数据中心层和基础设施层5大系统层面:

 


UI层

UI层也叫界面层,主要是指系统与用户交互的界面,主要功能是用于接收用户输入的数据和显示处理后用户需要的数据。

关键词:多终端

基于EP全面预算管理软件深度优化的系统UI层,是一个集PC端、APP端、H5/微信/钉钉,以及第三方集成于一体的强大系统层级,几乎覆盖目前市场上所有常用的用户终端。

(1)PC端和APP端比较好理解,EP可以通过UI层面接入到用户系统,实现预算管理软件在企业内部的多种展示方式;

(2)目前,许多公司都选择钉钉作为内部OA平台,日常工作中大家通过钉钉、微信等进行沟通交流,将预算管理软件接入到此类型的用户平台,无疑是大大减少了员工日常填报的麻烦,另外,EP UI还可以通过H5的形式进行更多类型的可视化操作;

(3)第三方集成功能,是EP为用户提供的一个可定制化的特色功能,通过这一功能,EP全面预算管理软件系统可以与企业现有的系统无缝接入,避免了不同系统间不兼容或者兼容性差的问题,大大降低了实施过程中的不必要成本。

 

接口层

API网关是一个服务器,是系统的唯一入口,API网关封装了系统内部架构,为每个客户端提供一个定制的API。

API网关方式的核心要点是,所有的客户端和管理端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。

关键词:轻松应对大并发、高吞吐量的业务场景

EP全面预算管理软件对外提供统一入口,也就是对外只开一道门,但是这并不意味着EP是封闭的,因为EP开的这道门,那可是相当的先进!

通过这一道门可以满足所有终端数据的进进出出,还可以调用到系统中提供的所有功能!

开一道门的目的就是为了对数据进行严格把关,并不是随随便便谁都能通过的,每个用户发送过来的请求,都是需要经过鉴权、分流/限流、负载均衡等等许多个环节处理之后,才能通过API网关访问到真正的核心业务服务。

 

(1)分流、限流、鉴权

统一的API网关,支持对数据请求进行分流、限流和鉴权,举一个不是那么专业的例子:

假如API网关是一个海关安检口,现在,想象一个场景,有一大批人正在等待通过,他们一个一个排队进入安检通道,去往欧洲的人员请往左手边走,去往美洲的人员请往右手边走,去往非洲的人员走中间,这就是分流;

可是今天的天气不是很好,很多航班被迫延误了,剩下的飞机承担不了如此大的客流量,怎么办?需要限流!请排号到1000号的旅客进入等候区,1000号之后的旅客今天就不准过关了;

那什么是鉴权呢?也就是权限验证,是指有权限通过海关的人员,如果你是非法移民怎么办,不好意思,你将会被拘留,等待进一步指示。

在EP软件系统中,研发人员将鉴权分为“预算”和“报销”两种,不同类型的数据走不同的通道,其他无关数据被自动忽略,流量大的时候还可以分流、限流,不仅提升了办公效率,还降低了出错的概率,简直就是财务人员的福音。

 

(2)负载均衡

EP的API网关还有一个非常重要的功能,它可以为“负载均衡”提供良好支持,我知道你肯定会问我什么是“负载均衡”!

举个例子,你家里的燃气灶是不是一般是一个或者两个灶头,当然,我知道一个灶头对很多人来说都是多余,现代社会,毕竟会做饭的人越来越少!

但是餐厅的燃气一般会设置6-8个灶头,你问我为什么?因为用餐高峰期,一个灶头根本忙不过来嘛,老铁!就连苹果手机都已经升级到3个灶头了好咩!

 

处理预算数据的主机就相当于燃气灶,当访问量非常巨大的时候,可以通过增加服务器(灶头)的方式解决,所有服务器(灶头)一起工作缓解压力问题,这就是API网关的“负载均衡”。

不仅如此,还有一个非常关键的点:在EP系统下增加服务器,真的就像是加个灶头那么简单,EP的API网关能够支持智能化的服务发现、服务注册功能。

系统想要添加新服务器提升处理能力时,API网关能够自动发现新服务器,并将其自动加入到EP服务器集群中,省去了管理员手动修改集群配置文件和重启集群的麻烦,真正做到了“热扩展”。

妈妈再也不用担心我加灶头,哦不,是加服务器了!So easy!

 

微服务层

微服务层,也就是我们经常听到的“微服务架构”,这个术语也是一个新的名词,它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式。

关键词:独立开发、协同合作

EP的微服务层主要包括通用微服务和业务场景微服务两大块:

(1)通用微服务组件

主要包括预算建模及处理微服务引擎、动态表单及公式解析微服务引擎、工作流微服务引擎、数据分析微服务引擎四大类。

看似简单的分类实际上是易磐研发人员通过大量的用户需求分析、系统业务分析总结出来的,易磐研发人员发现这四大类的微服务组件几乎是各种大型业务系统所必需的核心功能。

因此,将这四大块功能单独抽离出来,做更深度的优化完善,形成EP自己的通用微服务组件,为上层具体的业务系统(预算、报销、BI等)提供支持,供上层系统调用。

 

(2)具体业务场景微服务

具体业务系统主要包括预算系统微服务、报销系统微服务和BI系统微服务三种,EP将不同业务系统拆分成不同的微服务,使它们相互之间既独立,又协同。

不同微服务之间,可以独立的进行开发、部署和升级,不受其他业务系统或功能服务的影响;但是彼此间又可以进行良好的配合,每一个微服务都对外提供有API接口,可以实现不同系统(预算、报销、BI等)之间的通信和交互,共同为上层系统服务。

这样部署的最大优势就是:大大降低多系统集成的成本,总结来说,就是更加省钱!

 

数据中心层

数据中心是一个很容易理解的概念,它是指对系统内的数据进行集中查询、存储和操作的核心功能层。

关键词:高效存储、实时计算

EP自主构建的数据中心层,可以支持多种数据操作语言和工具,包括SQL语言、MDX查询、ETL数据抽取工具等。

在收到相关数据请求之后,数据中心内部的数据处理器会自动将数据请求转发到对应的“内存计算引擎”和“多维数据引擎”之中,并转到对应的数据库进行储存或查询,方便系统随时随地高效调用。

数据中心层是EP全面预算管理软件的关键层,在EP系统中,对数据进行的所有操作,都需要经过数据中心层,最终将数据根据不同的特点分门别类的存储,是EP实现“随需应变”的关键一步。

至于EP数据中心层更加详细的解读,请您继续关注“玩转全面预算”,小编会在未来的某一时间为您奉上! 

 

基础设施层

小编已经懒得解释什么是基础设施了,自己看吧!口享......

关键词:灵活部署

前面讲了那么多软件上的功能,最后咱们再来说一说EP全面预算管理软件系统的底层基础设施层。

基础设施层主要包括:数据库集群、分布式缓存、消息总线、报表/数据采集分析。

其中,数据库能够支持常见的关系型数据库集群化部署,如MySql、SQLServer、Oracle等;分布式缓存支持Redis、Memcached;消息总线支持RabbitMQ、Kafka;报表/数据采集分析支持多维数据库和列式数据库。

针对特定场景采用不同的处理技术,保证系统的高性能运行。

说了一大串专业的术语,小编自己也不是很懂,反正你只要知道EP支持目前市面上几乎所有主流的基础设施就好了!一个字——牛A_C!

 

不仅如此,EP还能够支持更加灵活的操作系统和部署方案,包括Linux和Windows两种目前最主流的操作系统,基本上涵盖了99.99%的用户服务器系统,兼容性方面你绝对不用担心;

而对私有云、公有云、Docker容器化等部署方案的支持,也让EP的部署方案可以更加灵活多变,根据用户的不同需求实现软件的自主配置,让EP更好地服务企业预算管理。