还有一个和中国报表特点没什么关系但是程序员常常碰到的头痛问题,就是产品的集成性。
在国内做应用开发,报表只是应用的一个部分而非全部,报表总是要被集成到应用系统中去,如果某个报表工具能力超强,但却不可被集成,那也是没意义。
考虑到当前国内应用开发的现状,我们只研讨基于J2EE机制下的B/S应用的报表集成。
现在流行的报表工具几乎都是独立服务器形式。独立服务器的好处没想出来,倒是觉得有很多缺点,主要有:
(1)
报表服务器与应用程序不在同一个进程空间内,数据沟通都需要通过网络协议进行,即使是同一台机器,也要把数据传来传去,浪费时间降低性能;
(2)
独立的报表服务器有自己的一套用户权限管理机制,设计得还挺复杂。程序必须往这个规则上靠,可这套规则从来也不够用:应用系统的用户管理没那么规整,能乖乖地按厂家设计的样子来(您见过这样的系统,把应用系统中的柜员、科长、局长这种业务角色建立在ORACLE的用户上?)。这种费劲又严重影响集成度的东西其实不做也罢,常常因此浪费很多时间还和应用接上不。
(3)
独立服务器没法充分应用服务器的本事,比如数据库连接就不能和应用系统的其它部分共享,集群能力,也得听命于报表服务器。Weblogic的平衡负载能力会比报表服务器要差?
(4)
布署方案:所有的程序数据打个WAR包很方便就上去了,可它偏要与众不同,要独自搞一块,还是没脾气。
想来想去,估计美国人可能不大需要被集成的报表工具,所以老外的产品也不是为了被集成而设计,这也就情有可愿了。可惜的是,国人抄老外时也没怎么想想,大多把体系结构也照抄了过来,特别是海归派的新兴企业;有系统集成经验的国产报表厂商就还稍好一点,没去费那劲。