蔡萌++谷志峰
摘要:采用基于Ajax的前端开发技术Extjs和后台技术SSH框架设计了一个在线医药管理系统。以此系统为例介绍了ExtJS技术和SSH框架开发Web项目时的框架之间的融合应用,分析了整个系统的机构。并在详细分析设计中说明了ExtJS各个组件,如:表格组件,工具栏组件,Window面板组件,树形结构组件,按钮组件以及布局等在系统中的详细应用。ExtJS框架的引入提高了系统的可拓展性和用户的体验以及使得程序的逻辑更加清晰。降低了程序的复杂度以及维护的难度。
关键词:电子商务;药物系统;SSH框架技术;ExtJS框架;MySQL数据库
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)29-0003-02
医药管理系统是采用计算机技术与网络技术所开发的计算机应用系统,它的使用可以使企业内部实现信息共享,以及企业与用户之间高效的交互,并能实现系统中的协同工作,大大提高企业中员工的工作效率,同时也为企业提供全方位的信息采集及处理,为企业提供全方位的信息化管理提供依据。而在现阶段使用的管理信息系统超出了一个OA系统所能达到的程度,一个企业使用管理信息系统的程度是衡量企业现代化管理的标准,也是实现高效低能办公的重要途径。本文根据信息化系统化这个大环境,构建一个适合一个医药企业业务结构的管理系统。开发平台采用了三层架构,运用了MVC开发模式,使用了MySQL数据库,以及Struts2/Spring/Hibernate/ExtJS等技术框架。系统着重实现了对药品的管理销售及更新,以及订单查询及处理,还有用户的统一分权限管理,实现了办公的高效以及办公的自动化。
1 研究背景及研究内容
随着网络的发展,工业企业日益朝着精细化、标准化的方向迈进,信息管理日益显得重要。为了提高企业的核心竞争力,实行企业信息化管理是必然的选择。信息管理系统能更好地管理企业与客户的各类数据,并能对数据进行集中的分析和共享,从而加强企业与客户之间的沟通联系,提高生产效率,最终提高企业的核心竞争力。在此大背景下,国内很多药物企业开始谋求转型,确立“打造一流创新型生产基地”的发展目标,并提出了信息化管理的要求。网上在线购物正适合当今社会的生活节奏,使客户足不出户就可以购买到心仪的商品。然而大多数的网上在线系统,常面临更新及美观和维护等诸多问题。所以开发一个美观高效方便的管理系统显得尤为重要。
SSH为Struts2+ Spring +Hibernate组合框架,是当今比较流行的框架。然而每个框架并不是完美的,业务逻辑框架Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架,使用基本的JavaBean代替EJB的强大功能。数据持久层框架Hibernate使程序员以非常简单的方式对数据库进行操作。表示层Struts2是实现MVC框架,虽然可以使逻辑变得清晰,但视图的美观并不能以简单的方式进行调整布局操作,为了使用户得到更好的体验,在表示层引用了ExtJS框架,ExtJS框架与Struts2的结合使用不但能快速高效的得到漂亮的效果,而且逻辑清晰,布局方便,功能强大。尤其是用户常用到的ExtJS的表格组件,无论是对表格的分页和编辑以及排序等功能的实现都相当方便。“用最少的代码做更多的事”,ExtJS实现的相当轻松。因此对SSH的改进是在表示层引用了ExtJS框架。
2 系统总体技术要求
2.1 系统架构要求
1)系统采用B/S(浏览器/服务器)架构模式。
2)开发技术为JavaEE技术。
3)运用MVC开发模式,可以为一个模型在运行期间同时建立和使用多个视图,视图和控制器可接插性,允许更换视图和控制器对象,而且可以根据需求动态无刷新打开或关闭,运行期间进行对象的替换,模型可移植性等优点。
4)使用体积小,速度快,成本低的MySQL数据库。
5)使用Javascript、JAVA、HTML编程语言Ajax技术,Struts2、Spring、Hibernate、ExtJS框架,Json技术框架。
6)系统保证可扩展性,未来能够方便实现功能增强,以及健壮性。
7)系统预留有标准的接口(应用接口、数据接口),实现与其他业务系统的应用集成。
8)系统提供严格的用户权限管理,根据不同的权限,每个用户看到的功能菜单也不同。
9)系统提供良好的试图组件以及丰富的界面皮肤,大幅度提高用户的体验度。
2.2 硬件环境
运行本软件所要求的硬件设备的最小配置:CPU:3.0Hz;内存:2G;硬盘:40G。
2.3 软件环境
为运行本软件所需要的支持软件(最低配置):操作系统:Window 7/Window XP。
Web服务器: Tomcat 6.0,数据库:MySQL 5.0,客户端:Chrome 44.0.2403.89。
3 医药管理系统设计及实现
系统在开发中所用到的ExtJS、Javascript、SSH框架、都是当今成熟的先进的流行的技术,因此在技术上可行。由于系统的规模小,因此在经济上可行。系统设计的功能模块为:用户管理、药品管理、购物车功能、订单管理、及邮件管理等。
以管理员身份为例,通过部分具有代表性的功能展示、重点功能的实现详解、演示系统实现增删改功能,以及介绍所用到的组件、属性,来全面的介绍系统的实现。管理员登陆成功后拥有用户管理、药品管理、订单管理、邮箱管理四大模块,下面分别详细介绍。
3.1 用户管理
此功能中按钮的监听,数据校验不通过时注册按钮无法点击,通过Ext.form.FormPanel面板的monitorValid:true,属性开通监听,在按钮组件中添加属性formBind:true来指定监听的对象,从而实现数据不符合条件不能点击注册。添加时的数据校验,在此系统中所用到的Ext.form.TextField组件(文本框)时,均进行数据的输入验证。数据的输入验证可通过组件自带的属性vtype(验证格式)进行自动校验,以vtypeText属性中的定义提醒消息。也可通过maxLength、minLength属性控制最大长度及最小长度,分别以minLengthText、maxLengthText定义不符合要求时的提示消息。还可以通过regex属性定义正则表达式进行验证,以regexText属性定义不符合要求时的提示消息。以上是通过此功能介绍此系统的数据校验三种方法。
3.2药品管理
管理员登陆成功后选择药品管理模块中的药品查询功能,查询用户中介绍了表单的上面的工具栏,再次介绍表单的下面的工具栏,下面有五个按钮,分别是:第一页、上一页、下一页、最后一页、页面刷新。数据由Ext.grid.GridPanel组件显示,显示的数据起始索引以及每页数目由Ext.grid.GridPanel组件中的bbar定义的Ext.PagingToolbar(分页工具栏)中的store、pageSize属性进行配置。
用户的修改功能是在用户的查询功能的基础上完成的,除了具有查询功能外,数据的显示已不是Ext.grid.GridPanel组件,而是Ext.grid.EditorGridPanel组件(可编辑),商品的修改有两种方式,一种通过表单的双击编辑点击表单上边的工具栏中的“保存”按钮进行修改,第二种选中整条数据后点击“修改”按钮,弹出Ext.Window面板布局的修改弹框,如图所示。数据的输入均进行校验。
3.3 订单管理
订单的查询运用了两次Ext.grid.GridPanel组件,显示订单数据集订单详情数据。同样需要请求不同的action。订单详情的查询依据订单id,再次必须得到订单id,id的得到通过Ext.grid.GridPanel组件的.getStore().getAt(0)方法得到选中的整个数据,通过get()方法得到订单id数据,get()方法中的name值与自己定义的订单逻辑结构中的name值保持一致。订单数据可以依据支付费用排序,排序的实现是通过定义列模型Ext.grid.ColumnModel的sortable属性实现。
3.4 邮件管理
实现邮箱信息的查看和修改。点击管理员管理界面的单位用户管理,进入管理界面查看邮件设置信息:点击已设邮箱查看发件E-mail地址和密码,收件E-mail地址修改邮件设置:输入发件E-mail地址和密码,收件E-mail地址,点击提交。
4 结论
通过对SSH框架的改进使得程序的代码逻辑更加清晰,ExtJS前端开发的代码量大大减少,而功能却更加丰富,界面更加美观。数据通过Ajax技术实现交互,实现界面无刷新的与后台进行数据交互界面动态变化。页面的布局通过引用组件,使得页面布局逻辑更加直观。Ajax技术访问action,通过Json技术框架的转化,使得得到的数据格式简单更加易于读写且清晰直观。综上所述,改进后的架构的优点:耦合度低,植入性好,MVC模式结构清晰,开发者只需关注业务的实现等优点。另外改进后的SSH框架也解决的改进之前如下缺点:数据前台与后台交互时,参数很多时action类会变得很臃肿,而且界面的UI很不容易做到用户体验的感知度;改进后的SSH框架数据交互更加易于读写,界面UI轻松地做到了美观,有效的解决的SSH框架改进前的缺点。
参考文献:
[1] 覃国蓉. 基于B/S架构的软件项目实训[M]. 北京:电子工业出版社,2004:12-30.
[2] 李小玲. 管理信息系统开发中C/S模式和B/S模式的比较[J]. 林区教学,2013(199):83-84.
[3] 毕建信. 基于MVC设计模式的Web应用研究与实现[D]. 武汉:武汉理工大学,2006:12-25.
[4] 杨志刚. MVC模式在办公自动化信息系统中的研究与应用[D]. 太原:太原理工大学,2011:11-21.
[5] 刘淑珍, 王文帅, 齐法制. 基于MVC模式的研究所评审系统的设计与实现[J]. 核电子学与探测技术,2014, 34(1):59-62.
[6] 王珊, 萨师煊. 数据库系统概论[M]. 北京:高等教育出版社,2006:13-29.
[7] 蔡雷. 数据库查询语言SQL的语法分析及实现[D]. 天津:天津大学,2006:15-21.