张春奎,张明芳,张溢娟
(西安市勘察测绘院,陕西西安 710054)
随着计算机技术、通信技术、Web技术等信息化技术手段的不断发展与创新以及信息化对传统测绘生产管理的严峻挑战,城市的测绘生产管理也开始由传统手工的方式向计算机管理方向转变,信息化和网络化的管理模式应运而生。信息化和网络化的生产管理模式能够从根本上解决由手工方式而产生的重复性劳动,增强生产信息的流通速度、降低管理成本,提高管理效率。
售图是我院一项重要的测绘生产任务,之所以称之为生产任务是因为出售的不是简单的已经出版或打印好的地图,而是在接到用户需求后,需要经过售图的登记、任务的下达、蓝图的晒制、电子数据的处理以及电子数据光盘的刻录等工作才能完成的业务,同一般的测绘生产(如工程测量)有着类似的流程。但我院在售图业务中一直以来采用的都是手工的信息流转方式:所有的信息通过手写完成,同样的信息重复手写几遍,信息的传递需要工作人员亲自去传达。同时,这种手工的方式给信息的查询和售图的统计带来很大的不便,特别是对院领导来说,不能及时了解和掌握售图业务的进展情况。
在信息化和网络化管理模式的推动下,当前的手工管理方式已经不能适应售图生产业务管理的需要。售图业务流程管理系统通过计算机网络实现了售图业务在全院范围内的自动流转,摈弃了手工管理模式的弊端,使该业务的生产效率大大提高。
C/S(客户/服务器)结构,它是基于企业内部网络的应用系统,其最大好处在于不依赖企业外网环境,同时响应速度快、有较强的事务处理能力。但客户端需要安装专用的客户端软件。首先涉及安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。另外,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
B/S(浏览器/服务器)结构。它是随着Internet技术的兴起,对 C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成所谓3层3-tier结构。这样就大大降低了客户端电脑载荷,减轻了系统维护与升级工作量,降低了用户的总体成本。它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在Java这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,因其技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。作为一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP程序的首选。
为了降低以后系统的维护成本,增强系统的安全性和可扩展性,特别是顺应技术发展的潮流,避免因技术进步而频繁升级系统的弊端,采用B/S结构搭建本系统的框架。客户端由用户计算机上的WWW浏览器组成,服务器由Tomcat服务器、功能程序和数据库服务器组成。其中,WWW浏览器实现系统操作界面的显示,用户通过该界面实现功能和售图数据的操作;Tomcat服务器提供系统功能程序的运行环境,负责客户端与功能程序之间的通讯;功能程序是利用Java、JSP、XML、Spring、SQLMap等开发语言和Java框架开发而成,用于实现售图业务流程的各个功能,负责Tomcat与数据库之间的通讯;数据库服务器用于存储售图业务数据,实现对售图业务数据的管理。其系统框架如图 1所示。
图1 系统框架
我院售图业务范围主要包括地形图、管线图和专题图。其中,专题图是指我院指令性任务生产的地图(市区挂图、旅游图等),其业务流程描述如下:
(1)客户到售图接待室提出购图要求,接待人员根据购图要求进行地图量算,填写购图结算单和售图任务单。
(2)客户根据购图结算单,到财务处缴纳购图费用。
(3)接待员根据客户的要求及缴费情况将任务下达给地图晒制员和地图数据采集处理员。
(4)档案中心根据下发的任务单进行蓝图晒制。
(5)由接待员将晒好的蓝图拿到院办盖章。
(6)如果客户需要数据刻盘,数据中心根据下发的数据采集任务单,从数据库中提取并处理数据,并将处理的数据传到档案中心刻盘。
(7)将盖过章的蓝图和数据光盘交于售图接待员,由售接待员将其交给客户,并填写发出图存根。
其流程图,如图 2所示。
图2 售图业务现状流程图
根据业务的流程现状,将售图业务系统的流程设置为以下几个节点:售图任务登记、购图任务缴费、购图任务的下达、蓝图的晒制、蓝图盖章、电子数据处理采集、电子数据刻盘和资料领取 8个步骤。其中,任务下达后分两个子流程:纸质地图和电子数据处理,纸质地图处理包括蓝图晒制和蓝图盖章,电子数据处理包括电子数据采集处理和电子数据刻盘,两子流程在资料领取节点汇合。资料领取工作完成表示售图任务的终结,最后返回到用户。
每个节点都有节点状态,节点的初始状态由上一节点的“办结”操作由系统自动设定,其他状态由该节点的其他操作而定。在某一节点上,当工作完成进行办结操作后,任务信息自动流转到下一节点。其流程如图 3所示。
图3 售图业务系统流程图
本系统从功能上分为业务管理、用户管理和字典管理三个部分。业务管理主要实现对任务信息的采集、任务的流转、任务的进度控制以及查询统计功能,任务的流转通过办结操作决定流转的判断条件;用户管理主要实现用户的注册和权限分配功能;字典管理主要包括对系统中字典信息的添加、修改等功能,其主要目的是最大限度地实现系统字典信息的自定义,尽量避免由于某一子典类型修改而改变程序代码的可能。
业务管理主要包括以下功能:
(1)售图登记:由售图接待员根据购图客户的要求登记任务信息。这些信息包括客户信息、客户的要求信息和具体图幅信息。同时在这里提供《购图结算单》自动生成和打印功能。
(2)售图缴费:工作人员根据客户的缴费情况,登记缴费信息,并提供办结操作。
(3)任务下达:接待员通过“下达办结”操作将缴纳过费用的售图任务自动流转到下一节点。这里能够根据售图登记时的客户要求自动判断下达到哪一节点。
(4)蓝图晒制:记录蓝图晒制工作人员信息,提供售图任务自动流转到下一节点的“办结”操作,同时自动改变蓝图晒制的状态。
(5)蓝图盖章:记录蓝图盖章工作人员信息,提供售图任务自动流转到下一节点的“办结”操作,同时自动改变蓝图盖章的状态。
(6)数据采集:记录数据采集工作人员信息,提供售图任务自动流转到下一节点的“办结”操作,同时自动改变数据采集的状态。
(7)数据刻盘:记录数据刻盘工作人员信息,提供售图任务自动流转到下一节点的“办结”操作,同时自动改变数据刻盘的状态。
(8)资料领取:验证领取资料的客户信息,如果不一致则提供修改功能。通过“办结”操作改变资料领取状态。根据前面登记的任务信息提供《回执单》打印功能。
(9)流程跟踪:显示售图任务在各个流程节点上的工作状态。利用查询功能,可查看某一任务的流转情况。
(10)售图统计:包括售图产值统计和售图图幅统计。前者可根据统计条件统计出符合条件的售图任务的产值情况;后者可统计和查询在某种统计条件下的图幅数量和图幅的产值。
用户管理主要包括用户注册和权限分配两个功能。
(1)用户注册:注册新的用户,登记用户的基本信息。
(2)权限分配:将每一个功能设置为一个权限单元。每一个权限单元划分为三级:院级、部门级和用户级,不同的权限级别访问和操作该功能下的任务内容不同。院级权限的用户可以访问和操作该功能下的所有内容;部门级权限的用户可以访问和操作本部门的任务内容;用户级的用户只能访问和操作本人能操作的任务内容。在本系统中,以用户为权限分配的对象,一个用户可以有一个或多个权限单元;用户登录时,系统根据分配给登录用户的权限单元进行显示。
字典管理主要包括比例尺字典、地图类型字典、部门字典、用户角色字典、地图价格字典等的自定义功能。
本系统主要涉及五类数据:售图任务数据、售图图幅数据、字典数据、流程状态数据和用户数据。其中售图任务数据是指任务的基本数据包括任务编号、客户信息、客户要求及其他和任务相关的基本信息;售图图幅数据是指售图任务中客户所购买的地图的元数据信息,包括图幅号、格号、价格、单幅图的费用等;字典数据指的是相对不变的类型信息,如比例尺字典数据、地图类型字典数据、部门字典数据、用户角色字典数据、地图价格字典数据、系统模块字典数据、系统功能字典数据等;流程状态数据指的是售图任务在各个节点的状态参数;用户数据指的是登录用户的信息。
根据以上类型数据的特点及在流程管理中各类数据扮演的角色将其抽象为以下几类数据模型:
(1)任务数据模型:描述任务的基本信息,是任务流程管理的基本单元。
(2)图幅数据模型:它隶属于任务数据模型,用于描述图幅信息,是售图图幅统计的基本单元。
(3)字典数据模型:所有数据字典的一个统称,它是为任务数据模型和图幅数据模型提供服务的一类数据模型,每一类字典数据是任务数据或图幅数据中的一项信息。其中系统模块字典和系统功能字典是用于自动生成树状型功能列表而设计的。
(4)流程状态数据模型:隶属于任务数据模型,描述任务在各个节点的状态。
(5)用户数据模型:用于描述用户信息,除了基本信息外还包括用户权限信息。
根据需要本系统共建立了 12个数据表,如表 1所示。
表1
Spring是由Open Source开发的一个优秀的多层J2EE系统框架,其核心是IOC和AOP。IOC是一种设计模式,即IOC模式。IOC模式进一步降低了类之间的耦合度,并且改变了传统的对象的创建方法,实现了一种配置式的对象管理方式,Spring框架中由IOC容器负责配置性的对象的管理。IOC模式极大提高了系统开发与维护的灵活性。
AOP是一种编程模式,它从系统的横切面关注问题,为解决系统级服务问题提供了一种很好的方法。AOP将系统服务分解成方面看待,并为类提供一种声明式系统服务方式。Java类不需要知道日志服务的存在也不需要考虑相关的代码。所以,用AOP编写的应用程序是松耦合的,提高了代码的复用性。
SQLMap是基于J2EE规则、实现数据持久层的一个框架。相对于如Hibernate和Apache OJB“一站式”ORM解决方案对数据库结构提供的较为完整的封装而言,它提供了“半自动化”的封装。这里的“半自动化”,是相对Hibernate等提供了全面的数据库封装机制的“全自动化”ORM实现而言,“全自动”ORM实现了POJO和数据库表之间的映射。而ibatis的着力点,则在于POJO与SQL之间的映射关系。也就是说,iBatis并不会为程序员在运行期自动生成SQL执行。具体的 SQL需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。这种技术虽然会花费一些时间用于SQL语句的编写,但它却为程序员提供了更大的灵活性和自由空间,并且简单易学,程序员很容易上手。
JSTL是JSP标准标记库(JSP Standard Tag Library)缩写,是一个实现 Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML操作以及数据库访问。在JSP页面中利用JSTL提供的标签可简化数据处理、进行复杂的条件判断,使得视图中界面的编辑和生成更加简单。
数据库视图是从一个或多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。和表一样,视图也是包括几个被定义的数据列和多个数据行,但就本质而言这些数据列和数据行来源于其所引用的表。但视图不是真实存在的基础表而是一张虚表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。其优点表现在:
(1)能分割数据,简化观点。可以通过select和where来定义视图,从而可以分割数据基表中某些对于用户不关心的数据,使用户把注意力集中到所关心的数据列.进一步简化浏览数据工作 。
(2)为数据提供一定的逻辑独立性。如果为某一个基表定义一个视图,即使以后基本表的内容的发生改变了也不会影响“视图定义”所得到的数据 。
(3)提供自动的安全保护功能。视图能像基本表一样授予或撤销访问许可权 。
(4)视图可以间接对表进行更新,因此视图的更新就是表的更新。
图4,图 5是售图业务流程管理系统的框架和任务登记的界面。图 4为功能列表部分,图 5为内容显示及操作部分。
图4 售图登记任务列表页面
图5 售图任务信息登记页面
基于J2EE开发框架,采用当前流行的网络MIS系统开发技术,开发了基于B/S架构的我院售图业务流程管理系统。经过半年多的运行和使用,系统运行稳定,操作响应速度快,满足了我院对售图业务的管理,实现了售图业务管理的信息化、网络化和自动化,提高了管理效率。同时为售图业务管理提供了良好的决策支持。
[1] 张春奎,张明芳,张益娟.西安市勘察测绘院测绘生产流程与档案管理信息系统平台开发需求分析手册.2007
[2] 李澎林,朱国清,吴斌.基于iBatis SQLMap的数据持久层实现应用研究[J].浙江工业大学学报.2008,36(1)
[3] Spring中文论坛.Spring Framework开发手册.http:// sp ring.jactiongroup.net
[4] Clinton Begin.iBatis SQLMaps开发指南.http://www.ibatis.com.2004
[5] 袁福庆.Oracle数据库管理与维护手册[M].北京:人民邮电出版社,2006
[6] http://baike.baidu.com/view/8039.htm
[7] http://baike.baidu.com/view/10166.htm
[8] http://oracle.chinaitlab.com/backup/350473.html
[9] http://www.cnblogs.com/pony/archive/2008/07/15/ 1243210.html
[10] http://wenwen.soso.com/z/q35872659.htm