当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:采用当前最为流行的Java EE开源框架Struts2+Hibernate+Spring组合,并整合Java开源工作流JBPM和兼容各种浏览器的前端通用UI框架Jquery easyui,完成食品药品电子监管平台的设计。 整个平台采用B/S架构,并结合开源Java开源容器Tomcat,将食品药品溯源和行政许可监管打印工作通过网页实现,方便、直观友好地呈现给用户。该平台极大增强了用户体验,减轻了工作人员的工作量。

温小清,潘永才,刘海龙,汪 标,罗雪姣

(湖北大学 计信学院,湖北 武汉 430062)

0 引 言

食品药品是人类赖以生存和发展的必需品,食品药品安全直接关系人民群众的身体健康和生命安全,体现了人民群众最关心、最直接、最现实的利益。传统的食品药品监管由人工手动录入,效率非常低下,加快食品药品监管信息化与电子监管建设,不仅能够帮助各级监管部门及时、全面地掌握食品药品的生产经营及零售情况,更好地进行日常监管,而且能够及时、方便、准确地进行追溯查询和迅速召回,更好地处理食品药品突发事件,还能够及时为各级领导提供食品药品监管信息,为公众提供食品药品信息检索、监管码查询和真伪鉴别等信息查询服务,对强化食品药品监管、提高监管水平与效能、保证人民群众用药安全有效具有十分重要的意义。在当前食品药品质量事件多发、监管手段不够和基层监管力量不足的情况下,显得尤为紧迫。

1 平台建设思路

行政执法 :以网格化监管为基准原则,配以执法人员绩效考核机制,督促相关人员可有序、严格地,采用人机交互或企业互动方式执法。

信息惠民 :采用政民互动,加强消费者安全意识的同时辅助执法人员进行执法考察 ;信息透明,数据对消费者开放, 做到可溯源的目的。

多领域监管:支持食药品生产环境监管、生鲜或肉制品等在加工或饲养过程监管、流通领域监管、市场环节监管、消费环节监管等。

2 系统业务架构

以企业信息基础库、四品一械产品基础信息库、行政区域数据字典、量化评级指标库等四大资源为基础手段 ;结合行政执法、信息监测、应急管理、公共服务、决策支持及内部管理等六大业务系统为辅助;全方位覆盖食品、药品、保健品、化妆品及医疗器械等四品一械行业 ;系统制定流程化的行政许可方案,各个环节的流程可根据当地的具体情况自省定制, 更好地保证食药行政人员可以更便利,更有效得完成既定目标, 为后续的行政监管工作提供安全入门保障。

整体业务架构流程如图 1 所示:

基于SSH2的电子监管平台的设计与实现

图1 业务架构流程图

建立许可:食药局用户对前来办理许可证的新商户进行许可受理,现场核查、审核、打印许可证、归档入库等流程。

变更许可:当商户经营的项目范围变化后,食药局用户根据变化内容对原有许可证进行变更、核查审核、打印归档等流程。

延续许可:商户经营范围内的许可证到期之后,如果继续经营,需要进入系统进行相应的延续许可操作。

注销许可:商户不再经营许可证内项目时,需要进入系统办理注销许可申请并存档。

现场核查 :食药局执法人员对办理许可证的经营单位进行实地现场核查。

听证 :当现场核查有争议时选择听证。

补证许可:商户许可证意外丢失需要办理补证手续。

撤回申请:商户不再需要许可证后,可对已经申请的许可证进行撤回。

行政流程如图 2 所示:

控制层、业务逻辑层和DAO 层。分层体系将业务规则、数据访问等工作放到中间层处理,客户不直接与数据库进行交互, 而是通过控制器与中间层建立连接,再由中间层与数据库交互。

系统技术架构

基于SSH2的电子监管平台的设计与实现

图 2 行政流程图

3系统技术架构

数据库方面由于监管平台涉及的用户群体比较庞大,数据量和并发数量相对较多,可以选择甲骨文公司的 Oracle 数据库。Oracle 数据库采用并行服务器模式,安全性、稳定性和可扩展性都很强,并且由于其跨平台和具有强大的分布式处理功能,经常作为大型网站的首选关系型数据库。

应用开发方面选择 J2EE 技术,Java 语言以其特有的安全性、跨平台性、一次编写到处执行和具有诸多开源框架的特性已经成为电子商务平台的首选语言。该平台在应用架构技术实现上依赖于目前最为流行的Struts2+Hibernate+Spring 组合;应用架构采用具有高度可扩展性的控制器层 + 业务逻辑层+DAO 层的分层架构 ;工作流程采用开源 Java工作流框架JBPM ;前端部分采用通用的前端 UI 框架 easyUI+jsp 实现, 广泛兼容各种不同的浏览器和移动设备。系统技术架构见图 3。

基于SSH2的电子监管平台的设计与实现

4平台架构设计

该平台服务器采用Java EE 的分层结构,分为视图层、

控制层、业务逻辑层和DAO 层。分层体系将业务规则、数据访问等工作放到中间层处理,客户不直接与数据库进行交互, 而是通过控制器与中间层建立连接,再由中间层与数据库交互。



中间层采用Struts2+Spring3+Hibernate4。其中:

控制层负责表现层与业务逻辑层的交互,调用业务逻辑层,并将业务数据返回给表现层来显示。此处选择 struts2 的action 作为控制器,web.xml 配置如下:

<filter>

<filter-name> struts2

</filter-name>

<filter-class> org.apache.struts2.dispatcher

.ng.filter.StrutsPrepareAndExecuteFilter

</filter-class>

</filter>

<filter-mapping>

<filter-name>struts2</filter-name>

<url-pattern>*.action</url-pattern>

</filter-mapping>


首先用户通过 http 向服务器发送请求,服务器获得请求后根据 xml 中的映射地址将其提交给 Struts2 进行处理, Struts2 对请求路径进行action 控制器匹配并执行相应的方法, 将返回的结果交给视图,经过解析渲染后最终以 html 页面的方式呈现给用户。

Service 层(业务逻辑层),负责实现业务逻辑,对 DAO对象进行模块封装。此处业务对象由Spring 进行管理,利用Spring 的依赖注入将业务代码注入到控制层完成业务逻辑。事务控制采用Spring 的声明式事务,配置在业务层,代码如下:

<bean name="transactionManager" class=" org.springframework. orm.hibernate4.HibernateTransactionManager">

<property name="sessionFactory" ref="sessionFactory"></property>

</bean>

<aop :config>

<aop :pointcut id="transactionPointcut"expression=

"(execution(* fda.service..*Impl.*(..)))"/>

<aop :advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice" />

</aop :config>

Dao 层(数据访问对象层),负责与持久化对象交互,封装了对数据的增、删、改、查原子操作, 此处数据源选择druid 数据源,该数据源可监控网站访问情况。

PO层(持久化对象层),通过实体 /关系映射工具将关系型数据库的数据映射成对象,实现以面向对象的方式操作数据库,此处采用Hibernate 作为O/R Mapping 框架,相关配置代码如下:

<bean name="dataSource" class="com.alibaba.druid.pool. DruidDataSource"

init-method="init" destroy-method="close">

<property name="url" value="${jdbc_url}" />

<property name="username" value="${jdbc_username}" />

<property name="password" value="${jdbc_password}"/>

<property name="initialSize" value="0" />

<property name="maxActive" value="20" />

<property name="minIdle" value="0" />

<property name="maxWait" value="60000" />

<property name="validationQuery" value="${validationQuery}" />

<property name="testOnBorrow" value="false" />

<property name="testOnReturn" value="false" />

<property name="testWhileIdle" value="true" />

<property name="timeBetweenEvictionRunsMillis" value="60000" />

<property

name="minEvictableIdleTimeMillis" value="25200000" />

<property name="removeAbandoned" value="true" />

<property name="removeAbandonedTimeout" value="1800" />

<property name="logAbandoned" value="true" />

<property name="filters" value="stat" />

</bean>

<!-- 配置hibernate session 工厂 -->

<bean id="sessionFactory" class="org.springframework.orm. hibernate4.LocalSessionFactoryBean">

<property name="dataSource" ref="dataSource" />

<property name="hibernateProperties">

<props>

<prop key="hibernate.hbm2ddl.auto">

${hibernate.hbm2ddl.auto}</prop>

<prop key="hibernate.dialect">

${hibernate.dialect}</prop>

<prop key="hibernate.show_sql">

${hibernate.show_sql}</prop>

<prop key="hibernate.format_sql">

${hibernate.format_sql}</prop>

<prop key="hibernate.use_sql_comments">

${hibernate.use_sql_comments}</prop>

</props>

</property>

</bean>

映射文件采用注解方式,配置如下:

<property name="packagesToScan">

<list>

<value>fda.model</value>

</list>

</property>

视图层采用通用的Jquery easyUI 框架获取控制层传回来的数据进行页面解析渲染,最终向客户端显示相应的视图。

5 系统主要模块

(1)食品经营户信息 :包括食品经营户总台账、食品总台账和同步经营户;

(2)准入检查 :包括食品索证、供货商索证和备案监管;

(3)信息查询 :包括食品流向查询、食品分布查询、库存查询、进货台帐查询、销售台帐查询和过期证照查询;

(4)应急处理 :整改通知发布、锁定和解锁功能 ;

(5)通知公告 :警示信息发布和食药文件发布;

(6)食品检测 :包括检测计划上报、检测信息发布、不合格食品检测信息;

(7)登记管理:设立许可、撤回许可、变更许可、延续许可、

注销许可、excel 导入许可和补证许可;

(8)许可证打印:包括文书打印和证照打印。

结 语

电子监管平台有利于食药局部门对与食品药品等产品质量的远程监控,减少食品药品监管的盲点;能加强与经营企业信息的共享与交流,快速应对要害事件 ;有利于食品药品管理部门对自身管理的效率,大大提高企业经营流通效率,降低企业经营成本 ;有利于对假冒伪劣产品的有效监管。电子监管平台的使用将大大改善人们的日常生活,提高人们对食品和药品安全使用的信心。

参 考文献

[1]王朋,赵保华,韩仙玉. 基于SSH2 的动态工作流模型的研究[J].

电脑与信息技术,2013,21(3):7-10.

[2]吴慰娜. 基于工作流的“一站式服务”行政许可系统 [J]. 计算机工程,

2006,32(18):267-269..

[3]李勇“.  一站式”行政许可系统总体设计研究 [J]. 电子政务,200(8  7): 94-101.

[4]韩江. 基于 SSH2 架构的 Java Web 通用权限管理的设计 [J]. 智能计算机与应用,2014(2):112-114.

[5]高亮,刘旸,宗传玉,等. 基于SSH2 与JBPM 的OA 系统应用研究[J]. 微处理机,2011(4):38-40.

[6]梁永潮,朱宇,张坤鳌. 基于SSH2 动态工作流模型的研究与设计

[J]. 电脑知识与技术,2011(19):4719-4723.

[7]李君,王宇新. 基于JBPM 的工作流管理系统的设计与实现[J]. 信息通信,2013(4):85-86.

[8]袁雄伟,钟宝荣.Spring MVC 框架下公文审批中应用JBPM 工作流引擎[J]. 信息系统工程,2013(3):88-90.


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Java是一种广泛应用于软件开发的编程语言,它具有跨平台、面向对象和高度可靠性的特点。在嵌入式系统设计中,Java也有着广泛的应用方案。本文将详细介绍Java在嵌入式系统设计中的应用方案,并分析其优势和挑战。

关键字: Java 软件开发 编程语言

嵌入式系统是指集成了计算机软硬件的特定系统,通常用于控制和监控设备、机器和系统。Java作为一种通用的编程语言,在嵌入式系统的开发中也有广泛的应用。下面将介绍一些嵌入式系统中Java的开发工具和解决方案。

关键字: 嵌入式 计算机 Java

Java语言是一种面向对象的编程语言,由Sun Microsystems(现在是Oracle Corporation)于1995年推出。Java具有跨平台性和可移植性的特点,广泛用于开发各种应用程序,包括嵌入式系统、移动...

关键字: Java 编程语言 互联网

12月7日消息,近日,Java全球管理组织JCP披露了最高执行委员会(JCP-EC)新成员名单,作为唯一中国代表,阿里巴巴再次连任,任期两年。这是阿里连续三次入选JCP最高管理席位,代表着中国技术公司长期参与Java全球...

关键字: 阿里云 Java

经常有一些小伙伴来咨询二哥培训机构方面的问题,通常情况下,如果自学能力可以的话,我是建议通过《Java 程序员进阶之路》配上 B 站的教学视频,先把 Java 后端四大件学扎实(Java 基础、Spring Boot、R...

关键字: Java 培训机构 算法

Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向...

关键字: Java C++

作为一个 PHP 转 Java 的业务开发,经常对自己的 Java 基础是否扎实有个问号。实际业务上由于基本上都是 CURD,并没遇到什么困难,但越是这样有时候心里就越慌。

关键字: PHP Java

昨天,二哥的编程星球里的一位球友问我能不能给他解释一下@SpringBootApplication注解是什么意思,还有 Spring Boot 的运行原理,于是我就带着他扒拉了一下这个注解的源码,还有SpringAppl...

关键字: Java Spring Boot

摘要:设计了一种基于Java和selenium的自动化操作工具,利用selenium开源自动化测试框架建立企业信息系统自动化执行的解决方案,着重对比自动化工具和手工操作的差异。通过使用工具和人工操作的对比试验,证明这种工...

关键字: 自动化操作工具 selenium Java

摘 要 :为了节约油气生产的建设投资成本,提高劳动生产效率,中石油建设了规范、统一的油气生产物联网系统。文中介绍了油气生产物联网管理子系统的功能设计、系统数据架构及数据处理。该系统的持续完善与深入应用必将为转变油气田生产...

关键字: 油气生产 物联网 管理 Java 生产效率 子系统
关闭
关闭