摘要:本文具体介绍了一种在完全继续原有多种软件系统基础上,巧妙地进行软件开发和系统集成的方法及其技术关键。
MIS系统系统集成键盘缓冲区操作继续原有软件系统
1引言
在接到开发中国人民银行广西区分行办公信息服务系统任务的初期,我们既兴奋又迷茫,兴奋的是我们有机会从事一项意义重大的工作,迷茫的是在我们以往所进行的系统集成实例中找不到可以借鉴的经验,而且从各种资料上也查不到类似的范例。尽管开始时我们还感到无从下手,但我们还是下决心完成这一艰巨的任务。在整项工程的建设过程中,我们的感觉仿佛是在黑暗中摸索前进,我们制定并否定了一个又一个方案,最后终于找到了一个看起来可行的方案,并勇敢地前进,终于在完成了任务的同时证实了这一方案的可行性。2需求分析
中国人民银行广西区分行办公信息服务系统建设的目的是为行长和处长们办公决策提供全面、可靠、快捷的信息服务。这一系统开发完成后,行长及处长们只需在计算机前就可调阅人行各业务处的数据和报表,并且还能查阅到广西区情、广西国民经济综合情况、电话号码、飞机航班、列车时刻、最新文件及重大事件等信息。中国人民银行办公信息服务系统不仅要新开发许多公共信息服务系统,而且最重要的是要在人行广西区分行二十多个业务处现有的和将来中国人民银行总行配发的软件系统基础上进行,即要求新开发系统要完全具有人行广西区分行原有各业务系统及将来总行配发下来的软件系统功能。根据项目内容,我们可以将需求归纳成两大类信息服务系统即业务信息类和公共信息类信息服务系统。
公共信息类信息服务系统包括电话号码、列车时刻、飞机航班、最新公文及最新动态、广西区情及综合情况等这些公共的信息查询系统,这类系统原来中国人民银行广西区分行内没有,因此我们需要开发这些软件系统,这一部分方案比较轻易确定。业务信息是指中国人民银行广西区分行各业务处每日产生的大量数据及报表,这些数据及报表是各处的业务软件系统处理的结果。业务信息类服务系统不仅要求功能齐全,而且要操作简单,行长和处长们只需进行简单的操作即可查阅到各业务处的数据和报表。因为各业务处的办公信息服务系统的来源复杂,有的是从中国人民银行总行各相对***的专业司配发下来的,有的是中国人民银行广西区分行科技处的同志开发的,有的是市县支行同志开发的。同时这些软件开发工具也不一,并多是.EXE文件,因此系统集成难度大,我们需要寻找到一个可行的系统集成方案。
3系统集成方案的制定
本项工程最突出的特征是要在完全利用原有系统的前提下为高层领导开发一个高水平的软件系统,因此无论在设计思想上还是在技术上都需要对现有系统集成方法有所突破。为此,我们进行了多种尝试,先后制定过以下四个方案。
(1)从分析和处理各原业务系统原始数据入手重现各种报表。
(2)截取打印机端口数据获得原业务系统各种报表,并进行处理。
(3)将原业务系统数据转换成可被EXCEL.识别的数据,用EXCEL来编制和管理报表系统。
(4)直接将原业务系统集成进我们的系统,利用原业务系统的查询功能。
经过深入细致的调研和探究分析,我们选定了最后一个方案。直接将原业务系统集成进我们的系统,利用原业务系统的查询功能。
4办公信息服务系统总体设计方案
在分别确定了网络系统方案,软件系统及系统集成方案后,我们设计了系统总体设计方案。具体如下摘要:
1)采用WINDOWSNT网络结构,服务器为中文WINDOWSNT3.51,工作站采用中文WINDOWS3.2。
2)数据库采用CLIENT/SERVER模式,数据库服务器采用SQLSERVER6.5,LIENT端开发工具采POWERBUILDER5.0。
3)用POWERBUILDER5.0开发系统主框架及公共信息子系统。
4)将业务系统放在工作站硬盘上,让其在工作站上运行,然后通过网络来采集和传送数据。
5)将各业务系统直接集成到办公信息服务系统中。
6)将所有业务系统在每台行长用机硬盘上都安装一套,行长在本工作站上使用和各业务处相同的系统,查阅各种业务数据,业务数据通过网络采集。
7)用直接对键盘缓冲区操作的方法,简化行长对业务数据的查询过程。
5系统数据流程
公共信息存放在网络服务器,各工作站都可直接查询。
从业务软件上网,数据的平安性及软件系统的可靠性三方面考虑,中国人民银行广西区分行办公信息服务系统将业务软件系统及所有的业务查询系统软件都放置在工作站硬盘上,业务数据查询操作也只对工作站硬盘进行。在对业务数据处理方面网络只承担数据采集及传递的任务,业务数据的流程是定期从各业务处工作站拷贝到网络上相应目录,再由行长和处长们将其从网络上取回到他们自己的工作站。
6需要解决的技术新问题
采用这一方案,需要将用POWERBUILDER新开发出来的系统和原有的WINDOWS环境上运行的,EXE文件和在DOS下中文环境UCDOS上运行的.EXE文件及在DOS环境上foxbase下运行的.PRG文件,或在LOTUS123下运行的软件集成在一起,并且采用了直接对键盘缓冲区进行操作的技术,因此就面临着许多诸如内存不够,地址及显示方式冲突等错综复杂的新问题,下面就介绍我们曾碰到的新问题及解决新问题的方法。
6.1网络结构
由于各业务系统原来是在单用户环境上开发的,没有考虑网络上运行的特征,因此无法直接上网,为此我们采用非集中式数据管理方法,将业务系统放在工作站硬盘上,让其在工作站上运行,然后通过网络来采集和传送数据,这样就解决了业务系统多个用户同时使用,数据共享及网络平安等新问题。
6.2系统集成方案
因为中国人民银行广西区分行办公信息服务系统覆盖面很大,并要将原有五花八门的系统和新开发的系统集成在一起,在这些系统中有POWERBUILDER开的发,有用VISUALFOXPROFORWINDOWS及FOXPROFORWINDOWS开发的,也有在DOS及UCDOS下用FOXPRO2.5及FOXBASE开发的,还有在LOTUS123下运行的系统,同时还要考虑直接对键盘缓冲区进行操作时的可靠性,因此系统集成方案是本项目中的关键。我们曾经制定了两种方案,第一种方案是系统一开始是运行在DOS环境上,先进入UCDOS,这样用户可正常运行DOS下的业务系统,当需要运行WINDOWS下的系统时,才退出UCDOS进入WINDOWS,用户接着可
使用WINDOWS下的业务软件及公共信息软件系统。第二种方案是,系统一开始就运行在WINDOWS环境,用户可直接运行公共信息系统及WINDOWS环境下的业务软件系统,当用户需要使用DOS环境的系统时,再调用WINDOWS下的DOS窗口,进入UCDOS,然后运行业务软件系统,运行完后退回WINDOWS。第一种方案比较简单,但用户界面不理想,操作步骤及系统反应时间较长。第二方案用户界面良好,操作管理简便,但由于系统叠加层次较多,因此需解决内存及其它资源限制及冲突等新问题。经过努力我们成功地按第二方案实施,使得原来五花八门而显得零乱的多个系统在WINDOWS下集成起来,形成一个有机的整体。6.3键盘缓冲区操作
因为办公信息服务系统的使用者是人行广西区分行的高层领导,因此除了要求界面美观之外,还非凡要求使用简便。由于我们将各原有系统集成到我们的软件中,而各原有系统一般功能繁多,并多需要输入口令等繁琐的步骤才能进入到领导们所需的查询功能,因此我们采用预先将这些操作的字符序列自动写入键盘缓冲区的办法,将这些步骤“短路”,领导们在调用该业务系统时就直接进入到查询功能。
在对DOS环境下运行的业务系统,我们采用直接向键盘缓冲区写入字符序列,以简化操作的方法。采用这种方法需要把握写入的时机,否则及轻易造成不可预见性的结果以致死机。由于用户将要在不同业务系统中往返选择,因此键盘缓冲区操作程序在内存的驻留方式也是一个需要处理好的新问题,否则会出现内存管理混乱等新问题。经过反复尝试我们找到了解决新问题的方案,采用从WINDOWS调用DOS进程及UCDOS之后,调用键盘缓冲区操作程序,将操作序列写入到键盘缓冲区,然后再调用业务系统,由系统自动按键盘缓冲区的字符序列进入业务系统的查询操作,在退出业务系统时,由WINDOWS自动清除内存中的UCDOS及键盘缓冲区操作程序,使内存恢复到调用前原状。在处理WINDOWS环境中运行的业务系统时,我们在进入系统前直接调用键盘缓冲区操作程序,将操作序列写入到键盘缓冲区,然后调用业务系统,让其自动按键盘缓冲区序列进入到其查询功能。
6.4内存优化
采用这种集成方案,内存将要容纳网络驱动程序,WINDOWS,UCDOS,FOXBASE,业务系统,DOS解释程序等,因此经常会碰到内存不足的新问题,采用优化内存是解决内存不足的一种方法,我们采用DOS的MEMMAKER来优化内存,以解决基本内存不足的新问题。
6.5WINDOWS和UCDOS协调工作
由于系统主框架是运行于WINDOWS环境,而业务系统许多是在DOS环境下UCDOS环境中运行,这就涉及中文WINDOWS和UCDOS协调工作的新问题,假如先进UCDOS,然后执行WINDOWS,则会造成显示方式冲突,系统无法使用,反之,先进WINDOWS然后再调用DOS进程,进入UCDOS,则使用顺畅,并且在退出DOS进程后,内存没有任何残留。
6.6解决内存不足新问题
采用直接集成方案,内存将要容纳网络驱动程序、WINDOWS、UCDOS、FOXBASE,业务系统,DOS解释程序等,因此经常会碰到内存不足的新问题,采用优化内存是解决内存不足的一种方法,但只能解决部分基本内存不足的新问题,在许多情况下仍需采用别的方法。如某处业务软件是在FOXBASE下运行的.FOX程序,该.FOX程序调用DOS命令,这样内存中将要容纳网络驱动程序,中文WINDOWS3.2,DOS,UCDOS5.0,键盘操作驻留程序,FOXBASE,该.FOX及DOS命令解释程序,从而造成内存不足。为解决这一新问题,我们找来了反编译程序,将.FOX文件反编译成.PRG文件,然后用FOXPRO2.5,将其编译成.EXE文件,这样在调用它时,就无需执行FOXBASE,从而解决这种内存不足的新问题。
7成果
在进行项目开发的过程中我们曾查阅许多资料,没有人曾介绍用类似的方案进行系统集成的经验。因此在项目开发完成前,我们一直担心,最后的系统会不会是个“四不象”,但我们惊喜地发现,我们的系统不仅功能强大,性能可靠,而且各部分衔接自然,使用极其方便。这种系统集成方法是一种新奇的方法。为在大型企业及机构已有的软件系统基础上进行系统集成创造了一种巧妙简截而又成功的解决方案。