1 AIS的结构及实施方案
1.1 AIS的结构
会计信息系统AIS具体包括经营资金及其来源的信息、生产费用的支出与成本的信息、利润实现与分配的信息等,这些信息相互联系,相互作用,形成一个有机系统,其核心为账务处理部分,它在企事业单位管理信息系统中,相对来说数据多,处理流程复杂,规模较大,而且各个部分在数据处理上各有特点,因此,会计信息系统内部需要科学划分为若干个子系统.就财政局来说,系统的主要功能结构如图1所示,具体如下:a.系统初始化管理.在国库集中支付系统中起着十分重要的作用,主要功能有:对国库集中支付系统中的账套、用户、岗位等内容进行初始化设置;建立多层次、多级别的对应关系,同时进行各种权限设置;实现系统的分层控制和分层管理,提高整个系统的可靠性和安全性.b.授权管理子系统.主要对用户进行用户权限设置、预算指标授权、用款计划授权预算.指标管理子系统.是支付中心的相关部门,负责将人大批复的部门预算(含一级单位及基层单位)及调整后的年度预算用软件进行登记,经过自动计算后得出最新年度预算并进行复核,产生各部门及基层单位的可用年度预算.预算单位根据批复的年度预算按季度报送分月用款计划,国库处或相关业务处批复各单位的分月用款计划并提出直接支付或授权支付计划额度后,传到支付中心用软件登记、复核、审批.d.前台支付管理子系统.在支付中心登记了单位的用款计划后,预算单位可直接向支付中心提出直接支付用款申请.根据支付方式的不同,可分为两类不同的支付程序,一类为财政直接支付,另一类为财政授权支付.前台支付不仅实现了直接支付用款申请的登记、复核和审批,并向代理银行签发支付令,同时向人民银行发出汇总清算单;而且还实现了财政授权支付的程序,根据财政审批的月度用款限额,以支付明细单、支付通知单的形式通知代理银行,同时以汇总清算单的形式通知人民银行.e.后台会计管理子系统.是国库集中支付系统的核心模块,实现整个系统账务的集中管理、集中核算.f.银行对账管理子系统.实现对银行支付信息管理和银行报账管理.g.报表查询子系统.实现对支付信息总体报表以及单位指标、用款计划等的查询.
1.2 AIS的实施方案
1.2.1 传统两层客户机/服务器(C/S)的缺陷
传统的两层客户机/服务器结构模型是借助于网络将应用资源和应用任务合理地分配到C/S两端,在实际开发中主要存在以下缺点:(a)容易把机构的事务层规划处理设计与数据库设计混在一起;(b)由于客户机直接面对数据库的数据,当客户机提出请求时,服务器通过触发器或是存储过程对数据库实施相应的操作,因此数据的安全性得不到保障;(c)不利于在同一个复杂系统开发过程中的分工协作;(d)由于共享的事务规划处理在每个客户端都有一个副本,因此客户端变得过于庞大,使得系统难于维护.以上问题可通过三层C/S结构加以克服.
1.2.2 Delphi三层客户机/服务器(C/S)的结构
三层结构模型试图通过描述、处理,以及将数据分离到独立的软件实体的途径,来克服传统C/S的局限性[2].Delphi通过MIDAS(Muti-tier Distributed Application Services Suit)来支持三层C/S会计信息系统的开发,其三层C/S结构如图2所示.
三层C/S结构把原来的客户端分为两大块:一块主要解决数据库连接、业务逻辑处理和安全性服务等问题,即应用程序服务器;另一块解决用户界面和用户操作导向,即客户端程序,它不需要考虑数据访问、数据完整性和业务逻辑处理.由此,财政局集中支付会计信息系统可采用三层C/S的结构,以Delphi5.0作为前台开发工具,Oracle8.1.7作为后台数据库,Windows2000作为网络操作系统,来实施AIS的处理.
2 AIS的开发技术
2.1 数据库访问
在Delphi5.0中,包含一个BDE(Borland Database Engine)的局部拷贝,允许用户创建能访问dBASE、Paradox和Local InterBase服务器的数据库应用程序,并且支持具有ODBC接口的数据库.Delphi的C/S版本包括Borland SQL Link,它能直接访问Oracle SyBase和Mi-crosoft SQL Server、Informix以及InterBase数据库服务器[3],也可以访问远程数据库服务器上的数据库(Remote Database Management System),或者任何经ODBC(Open DataBaseConnecticity)访问的数据库管理系统中的数据库.在财政局集中支付系统中,采用BDE和Oracle数据库内嵌连接方式,利用BDE(不是ODBC)配置在工具编辑IDAPI.CFG文件,将配置好的Drivers和Database Aliases(数据库访问别名)保存到此文件中(其中数据库别名采用静态别名,必须在BDE中建立),然后在应用服务器的Re-mote Data Modul数据库访问控件中指定DatabaseName属性为相应的BDE别名,即可建立应用服务器与数据库的连接.在可用的参数之中,SQLQRYMODE和SQLPASSTHU MODE是最重要的,设置SQLQRY to SERVER,会导致Delphi把所有的请求都递交给数据库服务器去处理,从而防止了本地BDE试图处理来自桌面的请求;SQLPASSTHU模式应设置为SHARED NOAUTOCOMMIT,以防止发送给服务器的事物被自动提交.Delphi应用程序调用Ora-cle数据库的具体流程如图3所示.
2.2 数据库设计
在会计信息系统中,主要是对账务进行处理,其核心部分是后台会计管理子系统.在这个模块中,所涉及到的数据表特别多,从预算科目、预算项目、会计科目、记账凭证、未记账凭证到总账和明细账共有25个数据表文件.要协调好各表之间大量的信息交换,必须有合理高效的数据库设计和数据库管理工具.财政局集中支付信息系统借助Oracle和Develop2000将数据库用户分为三层:(a)基表用户,可对所有数据库对象(表、过程、函数等)进进全部操作;(b)用户角色,包含对基表用户建立的数据库对象进行查询、执行、数据更新等操作的信息;(c)开发用户和实际用户,拥有基表用户对象的同义词和用户角色的权限.针对一个具体的财政局来说,其数据库设计和管理如下:a.数据库用户使用的表空间和数据库文件表空间的建立.数据库空间名称为“czjzzf”;包含的数据表文件为各自数据表的名称,如预算科目表为“BudgetSections”.b.数据库用户的建立.建立用户之前先连接到数据库DBA用户.建立“基表用户”,授予该用户连接、资源使用、导出和导入数据库的权限;建立“开发用户”,授予该用户连接、资源使用的权限;建立“用户角色”,授予该角色连接、资源使用的权限;建立“实际用户”,授予该用户连接、资源使用的权限.c.同义词的建立及数据库对象权限的建立.对“基表用户”所建立的数据库对象建立相应的同义词,并将同义词授权给“开发用户”和“用户角色”;连接DBA用户,将角色授予开发用户和实际用户;连接“基表用户”,将所需要的权限授予“用户角色”;连接“开发角色”,在“开发用户”模式下建立“基表用户”对象的同义词,并将“用户角色”授之,“开发用户”就可获得“用户角色”的所有权限;连接“实际用户”,在每一个“实际用户”模式下建立“基表用户”对象的同义词,并将“用户角色”授予“实际用户”,这样该用户就可获得“用户角色”的所有权限.
参考文献
[1] 薛华成.管理信息系统[M].第3版.北京:清华大学出版社,1999.
[2] 李文生,叶宁.采用Delphi实现三层客户/服务器数据库应用程序.计算机工程[J].2000(7):170-173.
[3] 魏志强,王忠华.Delphi5.0程序设计——数据库应用实务篇[M].北京:中国铁道出版社,2000.