随着企业规模的不断扩大,业务的无限增长,伴之而来是信息的急速膨胀。信息爆炸对于传统的办公模式和管理方法提出了严峻的挑战,各个行业都提出了新的要求,那就是真正的实现“无纸化办公”,“网络查询”。针对这种迫切的需求,出现了实现文档的电子化存储与Internet在线查询的电子报表系统,这种系统把目前以纸张、手工处理为主的文档,图纸等用计算机存储,用户可以非常方便的对文档等实现快捷、安全的存储和在线查询[1]。而且电子报表系统还可以使管理部门的管理水平提高一个层次,还可以减少因手工填报而引起的不必要的问题,在很大程度上提高了工作的准确性和及时性[2]。可以认为,采用电子报表平台是各个行业业务系统完成现代化转型不可或缺的一个关键步骤。
文章在分析电子化报表平台各个部分的实现方式及关键技术的此基础上,设计了一套符合目前企业管理流程,方便快捷的电子化报表平台系统,并采用MVC模式与基于JSP的Struts Web框架设计,实现了基于WEB的电子化报表平台系统。
1 系统总体结构
随着网络技术的快速发展,绝大部分的管理软件开始向B/S(Browser/Server)结构转变。这种基于WEB技术的应用系统基于现成通用的浏览器作为用户界面,应用程序安装在后台服务器中,可以被任何操作系统上的通用浏览器所浏览,这样不但实现了跨平台操作,而且降低了系统开发和维护的成本[3]。文章设计的Web电子报表系统由浏览器、Web服务器、应用服务器和数据库服务器组成,如图1所示。
从图1中可以看出,在文章设计的电子报表系统中,在客户端,用户利用Web浏览器通过URL访问Web服务器,Web服务器通过SQL数据库语言请求数据库服务器,并将获得的结果以HTML形式返回客户端浏览器[4,5]。基于系统采用B/S的模式,本系统的逻辑结构由以下三个部分组成:
前台系统:即用户界面,采用目前比较流行的基于JSP的Web框架结构—Struts框架技术来实现。
业务处理系统:该系统负责提取数据源、数据预处理、对数据输入核对的业务流程控制、报表处理以及必要的系统管理。可以看出,该部分包含与前台通过HTTP协议交互的功能,同时也包括通过JDBC与数据库交互的功能。该部分是本系统的核心之一。
数据库系统:采用ORACLE11g数据库,里面存放系统所需的数据,通过JDBC与外界交互。
系统的逻辑结构图如下:
2 Web电子报表系统设计方案
设计的电子报表系统主要由后台数据库系统、报表生成管理系统和手工录入系统等组成,下面分别详细介绍。
系统数据库采用ORACLE11g,负责处理大量的后台计算。数据库具有以下功能:
报表生成管理系统主要生成两类报表:原始数据展现类和用户查询类。原始数据展现类主要是用于原始数据的保存。报表处理模块按照预先设定的程序,通过报表名称、机构号以及时间分别调取相关数据,然后经过加工处理,生成所需的报表文件,并以*.roi的文件格式存放在I-SERVER(报表管理服务平台)的指定地点。用户查询类主要是用于根据用户需要将报表中指定的信息。这类报表的实现主要利用E-Report-Designer通过SQL语句调用数据库中的表、视图的数据,然后经过加工处理后生成所需的报表。
手工录入系统按照需求包括三个功能模块,则三个功能的具体需求如下:
3 手工报表录入系统的具体实现
由于篇幅上的限制,文章在这里以关键的手工报表录入系统作为实例,通过具体介绍手工报表录入系统的界面制定、中间层的实现原理来阐述整个电子化报表平台建立的关键技术,数据库实现部分就不在这里描述。
3.1中间层的实现原理
当用户点击按钮,提交一个事件(Event),JSP页面即前端视图则向Servlet控制器(Structs)发出一个请求(Request)给Action类[6]。其中页面提交的请求和Action类的对应关系由Structs的配置文件Structs-config.xml来配置;Action类利用到数据访问对象类(Data Access Object,DAO类)存取数据,并通过ActionForward对象指向的JSP组件生成动态网页,返回给客户。其中对每一个具体的功能对应一个具体的Action类。
控制器的配置决定了发给控制器的请求将得到怎样的处理。在系统配置的sructs-config.xml文件中,将action的请求都映射到了控制器,并指定对每一请求该如何处理。部分实现代码如下所示:
input="/autocrtjsp/reportagregation.jsp"
name="agreReportForm"
path="/agretbl"
scope="session"
type="com.pansky.autocrt.Action.agreReportFormAction" validate="true">
就本系统来说,需要处理登录请求和页面提交的信息。每个视图都分别具有相应的表单FormBean和用于处理的Action类[7]。其中配置文件分为两个部分:其一是表单 Form bean,负责指定存储来自视图的参数值以及action映射置的Java类。第一部分处理提交的信息,如下所示:
。
而第二部分则负责处理登录和页面的跳转,通过customerLoginFormAction类来实现。
3.2前端视图的代码实现
前端视图利用JSP实现,用Struts标签库同表单Form bean交互,意味着所有的元素都必须用Struts标签库来创建。下面介绍手工录入的汇总表页面设计,该页面分为三部分,分别是页面上部的公司logo,页面左边的树形结构,和主页面的汇总表显示窗口。该页面的部分代码如下:
在该页面视图中可看到所有的HTML标签都是用标签库编码的。这就是Struts调整HTML文档和表单Form bean 之间参数值的方法。在处理每一JSP页面时,标签库会被扩展为HTML,而内部的Form bean 则包含默认值。
页面上按钮标签的功能实现也是通过页面编码实现,例如“返回”按钮实现页面跳转功能:
其中center表示按钮处于该行的中间,如果点击该按钮将跳到reportagregation.jsp的页面。到这里,整个系统的描述基本结束,有关应用程序的部署请查阅相关书籍,在这里就不赘述。
4 结论
论文主要工作围绕着企业电子化报表系统的研究开发而展开,针对报表平台的核心技术:手工报表录入系统的具体实现进行了详细的论述,采用了目前较流行的基于JSP技术的S
truts框架结构实现用户界面。尽管论文在电子化报表平台系统方面做了一定工作,但是距离实际应用还有一定距离。对系统中的某些细节问题(如中心数据库的建立,用户界面等),需进行更进一步的研究与完善。
参考文献:
[1] 王丽.企业会计报表发展探析[J].中国经贸, 2013(2): 216.
[2] 梁红兵.企业财务电子报表错误及解决对策[J].中国电子商务, 2011(9): 185, 187. [3] 李伟春.浏览器状态电子报表的系统实现[J]. 计算机与现代化, 2008(2): 125-126.
. Prentice Hall, 2003.
.计算机光盘软件与应用, 2012(22): 206-207.
. 北京:电子工业出版社, 2007.
[7] 王刚. Struts框架技术简析[J].长春师范学院学报: 自然科学版, 2012, 31(9): 25-28.