C/S及B/S结构在校园一卡通系统中的应用
引言
随着科学技术的高速发展,我们的社会已逐步迈向数字化、信息化、网络化。各高等院校作为发展的先驱,相继建立了自己的校园网并得到不断的完善,校园一卡通系统正是在校园网平台的基础上建立起来,成为数字化校园建设的重要部分。校园一卡通系统包含了多种金融系统和信息管理系统,为实现“一卡在手,走遍校园”的愿望,校园一卡通系统将多种应用集于一张Ic卡当中,并且系统的功能应用也在不断的扩展。基于一卡通系统的功能扩展需要软件的灵活性、可维护性、可重性,数据处理的高效性、安全性等问题,广东轻工职业技术学院校园一卡通系统采用了三层C/S及B/S结构混合使用的风格。
1 系统结构及相关技术
1.1 C/S结构
C/S(client/server)客户/服务器结构是20世纪90年代较为先进的结构,具有强大的数据操作和事务处理能力。传统二层C/S结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。C/S结构主要优点在于系统的客户应用程序和服务器构件分别在不同的计算机上,系统中每台服务器都可以适合构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,且易于对系统进行扩充和缩小。但随着企业规模的日益扩大,软件的复杂程序不断提高,传统二层C/S结构存在一些局限性,如软、硬件的组合及集成能力有限、客户机负荷太重、数据安全性不够好等,提出了三层C/S结构。三层C/S结构在传统二层C/S结构中增加了一个应用服务器,将整个应用逻辑驻留在此应用服务器上,这样,三层C/S结构将应用功能分为表示层、功能层和数据层三个部分,弥补了二层C/S结构的一些不足,有效提高了系统的灵活性、高效性、安全性,如图1所示。
图1 一卡通系统三层C/S结构示意图
表示层:用户接口部份,担负用户与应用间的对话功能。提供信息浏览、数据输入输出查询。
功能层:实现客户的全部业务逻辑。通过接口响应表示层发出的请求,完成相应的业务处理及对数据库的操作,并把结果返回给客户端。
数据层:数据库管理系统,负责管理对数据库数据的读写。实现数据定义、存储、备份、检索,响应功能层的数据处理请求,并将结果返回给功能层。
使用这种模型,可以将系统需求划分成可以明确定义的服务,并逻辑上使其独立,这样安全性得到了更高的保证。该模型可以更灵活有效的选用相应平台和硬件系统,各层之间可以并行开发,也可以选择各自合适的开发语言,使系统开发起来更加高效,性价比更高。
1.2 中间件技术
在三层C/S结构中,中间件是最重要的构件。它位于硬件、操作系统平台和应用程序之间,是一个用API定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件管理框架,可实现不同硬件和操作系统平台上的数据共享和应用互操作。中间件技术对数据接口的开放性和安全性方面来说都是最佳的一种模式。数据服务器通过建立一系列的中间数据服务,根据系统的功能、性能等各方面的需求,系统管理员可以在网络上灵活的部署这些组件.针对不同的第三方系统应用,同时制定不同的开放策略,灵活性很高。中间件技术具有可重用性、灵活性、可管理性、易维护性等一系列优良的特性。一卡通系统采用了流行的中间件技术,加强了数据交换的灵活性、传输的安全性,以及易实施性等诸多优点,如与水电费缴费系统、网络缴费系统、图书馆借阅书管理系统等等系统对接,很好的实现了软件可复用,灵活性优点。其结构图如图2所示。
图2 中间件交互结构不意图
1.3 DCOM 技术
Microsoft的DCOM(分布式组件模型)技术是OLE与ActiveX的扩展,是实现三层C/S结构的关键技术,它支持在不同计算机上组件对象与客户程序之间或者组件之间的相互通信,这些计算机可以分布在局域网、广域网上。DCOM 具有以下几个特点:
1)可复用性:构件支持的重用是建立在构件对象的行为方式上,而不是具体的实现上。它既支持面向对象的代码级复用,也支持目标码级复用。
2)语言无关性:DCOM 是一个二进制代码级的标准,不依赖于特定的编程语言。
3)易扩展性:当测试系统的负载发生变化时,DCOM 可以轻松地把所需的组件和功能模块进行分配,极大地方便了系统软件的测试和维护。
4)构件运行进程和位置透明性:DCOM对分布式应用的支持是基于远程过程调用(RPC)的进程间通信机制,RPC为DCOM提供了跨越网络为对象服务的能力。
DCOM技术要求用户依据软件的要求开发组件,这些组件通常是被设计成DLL的形式,可以将这些组件放置在一台专用的组件服务器上,由客户端来进行远程调用,或者直接放于客户端进行调用。
1.4 B/S结构
B/S(Browser/Server)结构,即浏览器/服务器结构。其原理简单来说就是用户通过浏览器向服务器发送请求,服务器收到请求后对其进行处理,然后将用户所需的信息返回到浏览器,实现浏览器与服务器的交互功能。B/S结构不需要用户在客户机安装管理软件,只需配置少量的插件程序,这对比C/S结构而言,客户机的压力减轻了,把负荷分配给了WEB服务器。在B/S结构中,系统安装、修改和维护全在服务器端解决,系统可以面向网络上所有用户,可以更加的充分利用资源。而C/S结构中,客户端程序需要安装在每一台客户机上,系统及客户端升级或者更新都需要在每一台服务器及客户机上处理,工程量很大。因此,对比C/S结构,B/S结构在系统升级方面有很大的优势;且可以在运行时升级,同时应用程序维护的工作量也大大减少;管理员可以把主要精力放在服务器程序的更新工作上。
同时,与C/S结构相比,B/S结构也有以下不足之处:
1)B/S结构对动态页面的支持能力和数据库处理能力较差。
2)B/S结构的系统扩展能力较差,采用浏览器以HTTP方式,可靠性、安全性较低。
3)处理大量数据或大量用户同时访问时,B/S结构在响应速度方面远远低于C/S结构,且会造成WEB服务器负载过重。
4)B/S结构在数据的交互性上不够强,不利于在线事务处理应用。
2 系统应用与实现
我校一卡通系统采用C/S结构与B/S结构混合模式,主要是将这两种结构优点都发挥出来,提高系统安全,扬长避短,很好的实现用户的需求。系统查询功能主要采用B/S结构模式,而其中采用专用硬件设备操作的部分或触摸屏客户端缴费系统采用C/S模式,具体如:Ic卡综合业务模块、身份信息采集模块、缴费系统等采用C/S模式,基础数据查询模块、挂失IC卡、水电费查询等采用B/S模式。系统使用多台应用服务器及Web服务器,负责不同的功能模块,与数据库的操作是通过Oracle 8数据引擎来完成的。
2.1 C/S结构的运用与实现
一卡通系统中,对于使用POS刷卡机以及用Ic卡等设备的业务应用模块采用C/S结构,只有授权的应用子系统才能进行连接。具体运用如下:
1)饭堂、超市、车载、水控等用POS刷卡机消费方式的商务管理子系统。这一方式均是用硬件系统来实现,采用智能Ic卡,结合数据传输技术,把POS机作为消费终端,将刷卡消费流水通过485通讯线传输至网关,网关收集所有POS机传来的流水经过校园网传输至应用服务器,实现多层C/S结构。
2)使用Ic卡的其它业务方式。这需要在客户机上配备一个通用读卡器,用来读取Ic卡里的信息。如用于充值结算业务的综合业务子系统、广东轻工职业技术学院个性化设置的网费、水费、电费缴费系统、图书管理子系统、上机管理子系统等。其中网费、水费、电费缴费系统是针对校园个性化设计的系统,采用Delphi 7.0开发环境的Automation ObjectWizard定义了DCOM类,并用类型库编辑器定义接口的属性和方法,最终结合一卡通系统提供的第三方接入套件API进行系统参数对接,实现了与其它子系统耦合成一卡通系统。图书馆管理子系统是已经应用了较为成熟且专业的管理系统,为了保护学校前期投资和系统平滑升级,同样通过中间件技术和一卡通系统紧密耦合在一起。这样,加快了软件的开发进度,直接使用现有的成熟开发类库,避免了与硬件结合的测试和节约了时间。
3)使用客户端系统的方式,如身份信息管理系统。就是使用管理界面与应用服务器进行交互,针对身份信息采集和管理功能而开发,是制作信息Ic卡的首先步骤。
2.2 B/S结构的运用与实现
虽然在与硬件设备紧密结合的模块采用C/S结构,系统大范围的应用还是基于B/S结构,主要体现在Ic卡消费流水查询、IC卡挂失处理,网费、水费、电费查询系统上。在校园一卡通系统中,WEB服务器采用的是J2EE (Java 2 platform enterpriseedition)平台,Java的优势是纯语言的,跨平台性非常好。它所提供的Java分布对象技术和基于XML的数据交换,以及统一的安全模式和灵活的事物控制,非常适用拥有复杂事务和大量数据流的校园一卡通系统。
3 结束语
基于以上系统结构的分析,校园一卡通系统上应用的商务管理子系统、综合业务子系统、身份信息管理子系统和缴费子系统等由于要求实时响应程度高及安全性能高的特点,采用了C/S三层体系结构风格;通过校园网访问的查询业务子系统由于面向全校师生,范围广,故采用B/S体系结构。广东轻工职业技术学院2004年建设一卡通系统至今,已经实现广州校区和南海校区两校区互联,一卡通系统在两校区正常运行,基本实现了“一卡在手,走遍校园”的愿望。
参考文献:
[1] 张友生.软件体系结构[M].北京:清华大学出版社,2006.
[2] 周蕾,刘虎.中间件技术在校园一卡通系统的应用[J].金卡工程,2008(4):56.
[3] 张加林,陈小平.COM/DCOM 技术分析及其应用[J].情报指挥控制系统与仿真技术,2003(1):47.
[4] 连光耀,黄考利,李天刚.基于DCOM技术的分布式网络测试系统设计[J].仪表技术,2004(3):17.
[5] 郑贵林,夏丹,岳林.基于J2EE的城域网公交一卡通系统设计[J].计算机工程与设计,2007(21).
[6] 刘学武,彭玲艺.浅谈系统开发C/S与B/S模式[J].企业技术开发,2008(2):58.