基于SSH2的電子監(jiān)管平臺的設計與實現(xiàn)
溫小清,潘永才,劉海龍,汪 標,羅雪姣
(湖北大學 計信學院,湖北 武漢 430062)
0 引 言
食品藥品是人類賴以生存和發(fā)展的必需品,食品藥品安全直接關系人民群眾的身體健康和生命安全,體現(xiàn)了人民群眾最關心、最直接、最現(xiàn)實的利益。傳統(tǒng)的食品藥品監(jiān)管由人工手動錄入,效率非常低下,加快食品藥品監(jiān)管信息化與電子監(jiān)管建設,不僅能夠幫助各級監(jiān)管部門及時、全面地掌握食品藥品的生產(chǎn)經(jīng)營及零售情況,更好地進行日常監(jiān)管,而且能夠及時、方便、準確地進行追溯查詢和迅速召回,更好地處理食品藥品突發(fā)事件,還能夠及時為各級領導提供食品藥品監(jiān)管信息,為公眾提供食品藥品信息檢索、監(jiān)管碼查詢和真?zhèn)舞b別等信息查詢服務,對強化食品藥品監(jiān)管、提高監(jiān)管水平與效能、保證人民群眾用藥安全有效具有十分重要的意義。在當前食品藥品質(zhì)量事件多發(fā)、監(jiān)管手段不夠和基層監(jiān)管力量不足的情況下,顯得尤為緊迫。
1 平臺建設思路
行政執(zhí)法 :以網(wǎng)格化監(jiān)管為基準原則,配以執(zhí)法人員績效考核機制,督促相關人員可有序、嚴格地,采用人機交互或企業(yè)互動方式執(zhí)法。
信息惠民 :采用政民互動,加強消費者安全意識的同時輔助執(zhí)法人員進行執(zhí)法考察 ;信息透明,數(shù)據(jù)對消費者開放, 做到可溯源的目的。
多領域監(jiān)管:支持食藥品生產(chǎn)環(huán)境監(jiān)管、生鮮或肉制品等在加工或飼養(yǎng)過程監(jiān)管、流通領域監(jiān)管、市場環(huán)節(jié)監(jiān)管、消費環(huán)節(jié)監(jiān)管等。
2 系統(tǒng)業(yè)務架構(gòu)
以企業(yè)信息基礎庫、四品一械產(chǎn)品基礎信息庫、行政區(qū)域數(shù)據(jù)字典、量化評級指標庫等四大資源為基礎手段 ;結(jié)合行政執(zhí)法、信息監(jiān)測、應急管理、公共服務、決策支持及內(nèi)部管理等六大業(yè)務系統(tǒng)為輔助;全方位覆蓋食品、藥品、保健品、化妝品及醫(yī)療器械等四品一械行業(yè) ;系統(tǒng)制定流程化的行政許可方案,各個環(huán)節(jié)的流程可根據(jù)當?shù)氐木唧w情況自省定制, 更好地保證食藥行政人員可以更便利,更有效得完成既定目標, 為后續(xù)的行政監(jiān)管工作提供安全入門保障。
整體業(yè)務架構(gòu)流程如圖 1 所示:
圖1 業(yè)務架構(gòu)流程圖
建立許可:食藥局用戶對前來辦理許可證的新商戶進行許可受理,現(xiàn)場核查、審核、打印許可證、歸檔入庫等流程。
變更許可:當商戶經(jīng)營的項目范圍變化后,食藥局用戶根據(jù)變化內(nèi)容對原有許可證進行變更、核查審核、打印歸檔等流程。
延續(xù)許可:商戶經(jīng)營范圍內(nèi)的許可證到期之后,如果繼續(xù)經(jīng)營,需要進入系統(tǒng)進行相應的延續(xù)許可操作。
注銷許可:商戶不再經(jīng)營許可證內(nèi)項目時,需要進入系統(tǒng)辦理注銷許可申請并存檔。
現(xiàn)場核查 :食藥局執(zhí)法人員對辦理許可證的經(jīng)營單位進行實地現(xiàn)場核查。
聽證 :當現(xiàn)場核查有爭議時選擇聽證。
補證許可:商戶許可證意外丟失需要辦理補證手續(xù)。
撤回申請:商戶不再需要許可證后,可對已經(jīng)申請的許可證進行撤回。
行政流程如圖 2 所示:
控制層、業(yè)務邏輯層和DAO 層。分層體系將業(yè)務規(guī)則、數(shù)據(jù)訪問等工作放到中間層處理,客戶不直接與數(shù)據(jù)庫進行交互, 而是通過控制器與中間層建立連接,再由中間層與數(shù)據(jù)庫交互。
系統(tǒng)技術(shù)架構(gòu)
圖 2 行政流程圖
3系統(tǒng)技術(shù)架構(gòu)
數(shù)據(jù)庫方面由于監(jiān)管平臺涉及的用戶群體比較龐大,數(shù)據(jù)量和并發(fā)數(shù)量相對較多,可以選擇甲骨文公司的 Oracle 數(shù)據(jù)庫。Oracle 數(shù)據(jù)庫采用并行服務器模式,安全性、穩(wěn)定性和可擴展性都很強,并且由于其跨平臺和具有強大的分布式處理功能,經(jīng)常作為大型網(wǎng)站的首選關系型數(shù)據(jù)庫。
應用開發(fā)方面選擇 J2EE 技術(shù),Java 語言以其特有的安全性、跨平臺性、一次編寫到處執(zhí)行和具有諸多開源框架的特性已經(jīng)成為電子商務平臺的首選語言。該平臺在應用架構(gòu)技術(shù)實現(xiàn)上依賴于目前最為流行的Struts2+Hibernate+Spring 組合;應用架構(gòu)采用具有高度可擴展性的控制器層 + 業(yè)務邏輯層+DAO 層的分層架構(gòu) ;工作流程采用開源 Java工作流框架JBPM ;前端部分采用通用的前端 UI 框架 easyUI+jsp 實現(xiàn), 廣泛兼容各種不同的瀏覽器和移動設備。系統(tǒng)技術(shù)架構(gòu)見圖 3。
4平臺架構(gòu)設計
該平臺服務器采用Java EE 的分層結(jié)構(gòu),分為視圖層、
控制層、業(yè)務邏輯層和DAO 層。分層體系將業(yè)務規(guī)則、數(shù)據(jù)訪問等工作放到中間層處理,客戶不直接與數(shù)據(jù)庫進行交互, 而是通過控制器與中間層建立連接,再由中間層與數(shù)據(jù)庫交互。
中間層采用Struts2+Spring3+Hibernate4。其中:
控制層負責表現(xiàn)層與業(yè)務邏輯層的交互,調(diào)用業(yè)務邏輯層,并將業(yè)務數(shù)據(jù)返回給表現(xiàn)層來顯示。此處選擇 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 向服務器發(fā)送請求,服務器獲得請求后根據(jù) xml 中的映射地址將其提交給 Struts2 進行處理, Struts2 對請求路徑進行action 控制器匹配并執(zhí)行相應的方法, 將返回的結(jié)果交給視圖,經(jīng)過解析渲染后最終以 html 頁面的方式呈現(xiàn)給用戶。
Service 層(業(yè)務邏輯層),負責實現(xiàn)業(yè)務邏輯,對 DAO對象進行模塊封裝。此處業(yè)務對象由Spring 進行管理,利用Spring 的依賴注入將業(yè)務代碼注入到控制層完成業(yè)務邏輯。事務控制采用Spring 的聲明式事務,配置在業(yè)務層,代碼如下:
<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 層(數(shù)據(jù)訪問對象層),負責與持久化對象交互,封裝了對數(shù)據(jù)的增、刪、改、查原子操作, 此處數(shù)據(jù)源選擇druid 數(shù)據(jù)源,該數(shù)據(jù)源可監(jiān)控網(wǎng)站訪問情況。
PO層(持久化對象層),通過實體 /關系映射工具將關系型數(shù)據(jù)庫的數(shù)據(jù)映射成對象,實現(xiàn)以面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫,此處采用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 框架獲取控制層傳回來的數(shù)據(jù)進行頁面解析渲染,最終向客戶端顯示相應的視圖。
5 系統(tǒng)主要模塊
(1)食品經(jīng)營戶信息 :包括食品經(jīng)營戶總臺賬、食品總臺賬和同步經(jīng)營戶;
(2)準入檢查 :包括食品索證、供貨商索證和備案監(jiān)管;
(3)信息查詢 :包括食品流向查詢、食品分布查詢、庫存查詢、進貨臺帳查詢、銷售臺帳查詢和過期證照查詢;
(4)應急處理 :整改通知發(fā)布、鎖定和解鎖功能 ;
(5)通知公告 :警示信息發(fā)布和食藥文件發(fā)布;
(6)食品檢測 :包括檢測計劃上報、檢測信息發(fā)布、不合格食品檢測信息;
(7)登記管理:設立許可、撤回許可、變更許可、延續(xù)許可、
注銷許可、excel 導入許可和補證許可;
(8)許可證打?。喊ㄎ臅蛴『妥C照打印。
結(jié) 語
電子監(jiān)管平臺有利于食藥局部門對與食品藥品等產(chǎn)品質(zhì)量的遠程監(jiān)控,減少食品藥品監(jiān)管的盲點;能加強與經(jīng)營企業(yè)信息的共享與交流,快速應對要害事件 ;有利于食品藥品管理部門對自身管理的效率,大大提高企業(yè)經(jīng)營流通效率,降低企業(yè)經(jīng)營成本 ;有利于對假冒偽劣產(chǎn)品的有效監(jiān)管。電子監(jiān)管平臺的使用將大大改善人們的日常生活,提高人們對食品和藥品安全使用的信心。
參 考文獻
[1]王朋,趙保華,韓仙玉. 基于SSH2 的動態(tài)工作流模型的研究[J].
電腦與信息技術(shù),2013,21(3):7-10.
[2]吳慰娜. 基于工作流的“一站式服務”行政許可系統(tǒng) [J]. 計算機工程,
2006,32(18):267-269..
[3]李勇“. 一站式”行政許可系統(tǒng)總體設計研究 [J]. 電子政務,200(8 7): 94-101.
[4]韓江. 基于 SSH2 架構(gòu)的 Java Web 通用權(quán)限管理的設計 [J]. 智能計算機與應用,2014(2):112-114.
[5]高亮,劉旸,宗傳玉,等. 基于SSH2 與JBPM 的OA 系統(tǒng)應用研究[J]. 微處理機,2011(4):38-40.
[6]梁永潮,朱宇,張坤鰲. 基于SSH2 動態(tài)工作流模型的研究與設計
[J]. 電腦知識與技術(shù),2011(19):4719-4723.
[7]李君,王宇新. 基于JBPM 的工作流管理系統(tǒng)的設計與實現(xiàn)[J]. 信息通信,2013(4):85-86.
[8]袁雄偉,鐘寶榮.Spring MVC 框架下公文審批中應用JBPM 工作流引擎[J]. 信息系統(tǒng)工程,2013(3):88-90.