(一)集算器的由来
我们在过去十多年是中国重要的报表工具厂商。在经营报表工具的过程中,总能碰到用户希望我们协助开发复杂报表。久而久之,我们发现,报表的复杂性不仅是体现在格式上,而更多的是在数据方面,数据库中的数据距离要呈现出来的数据还非常遥远,经常需要很多步骤的复杂运算才能得到。而报表工具只能解决呈现环节那一步的少量计算,对于进入报表工具之前的数据计算则无能为力。这导致了虽然有强大的报表工具来解决格式及呈现环节的计算问题,而报表开发却依然很难的现状。
对于这个问题,业界也没什么好办法,只能是写复杂SQL(以及存储过程)或者在应用程序中用高级语言 (如Java)编程,十分繁琐低效。而且由于SQL和Java的开发特性,还会带来耦合性高、维护困难等问题。
有问题就有机会,我们希望能解决这个问题。
大约从2007年底开始,当我们的报表工具趋于稳定之后,我们就开始着手研究这个问题。总结分析碰到的各种数据计算问题,设计了一套新的数据模型和相应的程序语言(后来命名为SPL,Structured Process Language),能够更简捷地描述报表数据源准备的算法。
这个事说起来轻松,做起来却不容易。开发过程中经常反复,因为在实现过程中会想到更好的设计方案,还会发现有些重要需求没有考虑到,这些都会导致把模型推倒重来。事后回顾一下,从2008年起,我们大概经历了四次大的重构才把模型和结构稳定下来,比如在2012-13年期间加补了并行和集群内容,其它小的改造就不计其数了。这个产品一直都有少量的实验客户,但正式发布的日期并不是很明确,大概是在2015年后期才开始进入商用阶段。
集算器在技术上和报表工具相互独立的,它能够和所有的报表工具。不过,在最初商业化时,我们还是把它作为自家报表工具的一个附件模块组装出来销售,而没有独立经营。但是,我们很快就发现,计算本身就是个业务,而且是比报表工具应用面更广阔得多得多的业务。于是,在2016年下半年我们把集算器在商业上也拆分出来,作为独立产品经营,全面与报表工具脱钩。