亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于RIA模式的小站集中管理信息系統(tǒng)設(shè)計

        2012-08-06 09:38:04蒲加永鄒本振
        鐵路計算機應(yīng)用 2012年7期
        關(guān)鍵詞:小站客戶端車站

        蒲加永,鄒本振

        (西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院, 成都610031)

        TMIS提高了鐵路運輸信息化的整體水平,為鐵路運輸、生產(chǎn)作業(yè)和信息化管理提供了及時準(zhǔn)確的信息和技術(shù)保障。在現(xiàn)有的TMIS中,車站管理信息系統(tǒng)是構(gòu)建TMIS的重要一環(huán),它實現(xiàn)了車站內(nèi)生產(chǎn)作業(yè)的管理,為TMIS中央系統(tǒng)和其他系統(tǒng)提供車站運輸信息,是TMIS工程的建設(shè)基礎(chǔ),為鐵路的高效運輸做出了重要貢獻?,F(xiàn)有的TMIS中,大站的車站管理系統(tǒng)普遍實現(xiàn)了車站作業(yè)計劃的制定和信息上報,但小站管理信息系統(tǒng)還存在著一些缺點,比如,由于采用C/S模式構(gòu)架,導(dǎo)致信息上報困難,出現(xiàn)信息盲點,對鐵路局調(diào)度、大型編組站的推流等工作造成了影響,同時還存在升級維護困難和成本太高等問題。為了提升全路的信息化水平,健全TMIS,迫切需要改進小站集中管理信息系統(tǒng)。

        為了解決上述問題,并且克服傳統(tǒng)B/S模式對服務(wù)器頻繁訪問等缺點,本文提出了一種基于富互聯(lián)網(wǎng)應(yīng)用程序(RIA)技術(shù)的新型小站集中管理信息系統(tǒng)。

        1 相關(guān)技術(shù)

        1.1 RIA構(gòu)架

        RIA概念于2002年3月第1次正式提出[1],這個概念是為了將桌面應(yīng)用程序豐富的表現(xiàn)力與Web應(yīng)用程序網(wǎng)絡(luò)互聯(lián)的特性結(jié)合在一起而提出。RIA是一種可以在本地運行的客戶端技術(shù)的應(yīng)用,是一種安全、可升級、具有良好適應(yīng)性的新的面向服務(wù)模型,它包含豐富的用戶界面顯示和用戶交換邏輯,提供承載已編譯的客戶端應(yīng)用程序的運行環(huán)境。這種運行環(huán)境使得用戶的大多數(shù)交互都可以在客戶端直接處理,而不必向服務(wù)器提出遠程請求,只有需要數(shù)據(jù)請求時才進行遠程訪服務(wù)器。

        RIA是集桌面應(yīng)用程序的最佳用戶界面功能與Web應(yīng)用程序的采用和快速、低成本部署以及互動多媒體通信的實時快捷于一體的新一代網(wǎng)絡(luò)應(yīng)用程序[2]。RIA應(yīng)用程序運行于傳統(tǒng)的瀏覽器上,它采用分層結(jié)構(gòu),利用中間層來避免傳統(tǒng)的頁面頻繁刷新問題。RIA將整個系統(tǒng)劃分為客戶層、表示層、業(yè)務(wù)層、集成層和資源層。各個層次之間明確劃分了責(zé)任,使系統(tǒng)易于維護和擴展。

        1.2 EJB技術(shù)

        EJB(Enterprise JavaBeans)是基于Java的面向?qū)ο髽?gòu)件標(biāo)準(zhǔn),是一個用于分布式業(yè)務(wù)應(yīng)用的標(biāo)準(zhǔn)服務(wù)端組件模型,是構(gòu)造可移植、可重用和可伸縮的業(yè)務(wù)應(yīng)用程序的平臺[3]。EJB框架的核心思想在于將業(yè)務(wù)邏輯與復(fù)雜的底層服務(wù)分開,而這些服務(wù)在很多開發(fā)模式下都具有通用性,由EJB容器去管理和提供這些服務(wù),開發(fā)者只需要通過注解或者部署配置文件,通知容器如何使用這些服務(wù),而無需從頭開發(fā)或者重復(fù)開發(fā),實現(xiàn)了重用。

        EJB定義了3種企業(yè)Bean,分別是會話Bean(Session Bean)、消息驅(qū)動Bean(Message-driven Bean,MDB)和實體Bean(Entity Bean)。其中,會話Bean和消息驅(qū)動Bean是業(yè)務(wù)方法的提供者,用來處理業(yè)務(wù)邏輯,容器管理,并提供服務(wù);而實體Bean獨立于EJB容器之外,由持久化提供器通過EntityManager接口進行管理。

        (1)會話Bean是建模業(yè)務(wù)處理或者操作的可重用組件。它使用業(yè)務(wù)邏輯,利用數(shù)據(jù)和系統(tǒng)資源實現(xiàn)用戶的目的。會話Bean是EJB框架中唯一可以被客戶端直接調(diào)用的EJB組件。每個會話Bean實現(xiàn)具有兩個獨特部分:1個或多個接口和1個Bean實現(xiàn)類??蛻舳送ㄟ^調(diào)用業(yè)務(wù)接口訪問會話Bean,而不能直接訪問Bean實現(xiàn)類,實現(xiàn)了開發(fā)的松散耦合。會話Bean分為有狀態(tài)會話Bean和無狀態(tài)會話Bean,前者用于建模不維護會話狀態(tài)的任務(wù),而后者則要保證維護會話狀態(tài)。

        (2)消息驅(qū)動Bean是用于處理來自客戶端消息請求的組件。MDB是一種無狀態(tài)會話Bean,但沒有本地和遠程接口,它接收異步的JMS(Java Message Service)消息,MDB類實現(xiàn)Message Listener 接口進行消息的處理,實現(xiàn)業(yè)務(wù)邏輯。

        (3)實體Bean是持久化數(shù)據(jù)組件,表示了存儲器中的業(yè)務(wù)對象。通常每個實體Bean對應(yīng)關(guān)系數(shù)據(jù)庫中的一張表。EJB利用持久化將實體Bean包含的數(shù)據(jù)自動存儲到數(shù)據(jù)庫,持久化提供器可以插入到容器內(nèi),開發(fā)的時候只需要建立相互之間的調(diào)用依賴關(guān)系即可。

        2 系統(tǒng)設(shè)計

        2.1 硬件設(shè)計

        新型小站集中管理信息系統(tǒng)采用3層分布式的體系結(jié)構(gòu),包括客戶端、Web服務(wù)器和數(shù)據(jù)庫服務(wù)器。圖1為小站集中管理信息系統(tǒng)的硬件結(jié)構(gòu)。該系統(tǒng)是一個多客戶端的系統(tǒng),在每個車站的一個具體崗位就是一個客戶端。一般一個車務(wù)段(或者鐵路局)下的所有車站公用一個Web應(yīng)用服務(wù)器,這個Web服務(wù)器為其提供數(shù)據(jù)訪問服務(wù),中心服務(wù)器通過防火墻與鐵路局的服務(wù)器相連,實現(xiàn)數(shù)據(jù)的及時更新,隨時保持?jǐn)?shù)據(jù)的一致性。

        圖1 小站集中管理信息系統(tǒng)硬件體系圖

        2.2 軟件架構(gòu)設(shè)計

        為了實現(xiàn)系統(tǒng)的低耦合,提高軟件的可維護性和重用性,小站集中管理信息系統(tǒng)采用基于RIA模式的4層軟件體系,如圖2,包括Flex表現(xiàn)層、EJB業(yè)務(wù)邏輯層、JPA持久化層和數(shù)據(jù)庫層。

        2.2.1 Flex表現(xiàn)層設(shè)計

        表現(xiàn)層處于系統(tǒng)的頂層,主要實現(xiàn)界面顯示,響應(yīng)用戶的請求,將請求發(fā)送給業(yè)務(wù)層,并返回業(yè)務(wù)層處理的結(jié)果,將結(jié)果顯示給用戶。本系統(tǒng)表現(xiàn)層采用Flex技術(shù),由MXML、AactionScri3.0及Flex類庫3部分組成,并采用MVC模式。

        圖2 小站集中管理信息系統(tǒng)軟件體系

        (1)視圖層設(shè)計

        視圖層主要用Flex的UI組件以及Layout組件設(shè)計實現(xiàn),組件的顯示只與所綁定的數(shù)據(jù)源有關(guān),這些數(shù)據(jù)源從模型層獲得。當(dāng)數(shù)據(jù)源改變時,組件顯示的內(nèi)容會自動更新;需要增加新的業(yè)務(wù)時,只需要傳入新的數(shù)據(jù)源。

        (2)模型層設(shè)計

        模型層中封裝了系統(tǒng)的核心數(shù)據(jù)模型和邏輯關(guān)系。模型層的改變會導(dǎo)致視圖層顯示的變化,它會根據(jù)當(dāng)前系統(tǒng)的狀態(tài)選擇適當(dāng)?shù)臄?shù)據(jù)模型與之聯(lián)系。

        (3)控制層設(shè)計

        控制層組件根據(jù)用戶提出的業(yè)務(wù)需求時產(chǎn)生的事件觸發(fā),執(zhí)行相應(yīng)的業(yè)務(wù)邏輯,根據(jù)結(jié)果刷新視圖層顯示或者更新模型層的數(shù)據(jù)。

        2.2.2 業(yè)務(wù)邏輯層

        系統(tǒng)的業(yè)務(wù)邏輯層和數(shù)據(jù)持久化層是由EJB框架構(gòu)建。其中,會話Bean和消息驅(qū)動Bean構(gòu)造了業(yè)務(wù)邏輯層,而數(shù)據(jù)持久化層由實體Bean建模。

        業(yè)務(wù)層采用基于Facade模式的服務(wù)調(diào)用框架設(shè)計,F(xiàn)lex客戶端主要通過RPC服務(wù)中的Remote-Object組件遠程訪問EJB方法。業(yè)務(wù)層提供了本地接口和遠程接口兩種訪問途徑,其中遠程接口是當(dāng)客戶端調(diào)用服務(wù)器的業(yè)務(wù)邏輯處理函數(shù)時使用,在相同容器實例中的函數(shù)相互調(diào)用則用訪問本地接口實現(xiàn)。

        在小站集中管理信息系統(tǒng)服務(wù)器端的開發(fā)中,業(yè)務(wù)邏輯用無狀態(tài)會話Bean構(gòu)造,實體與數(shù)據(jù)庫表之間的映射關(guān)系用JPA建立,會話Bean通過持久化提供器實現(xiàn)數(shù)據(jù)的檢索和修改。

        2.2.3 數(shù)據(jù)持久層設(shè)計

        持久化實體對象(EO)是介于具體應(yīng)用和數(shù)據(jù)庫之間的一層數(shù)據(jù),負責(zé)應(yīng)用和數(shù)據(jù)庫之間的交互,持久化實體對象用來維護數(shù)據(jù)庫表的記錄,與數(shù)據(jù)庫表的字段相對應(yīng)。JPA實體并不屬于EJB容器管理,而是由持久化提供器(Persistence Provider)通過EntityMana-ger接口管理并實現(xiàn)其功能,數(shù)據(jù)庫對用戶來說是完全透明的。

        以EJB為核心的服務(wù)器端的程序組織結(jié)構(gòu)如圖3。在J2EE服務(wù)器端,JavaToFlex是一個服務(wù)代理,起到Flex客戶端和EJB容器的一個中間件作用;smisEJB是EJB工程,是業(yè)務(wù)邏輯實現(xiàn)的核心;smisEJBClient為外部組件訪問會話Bean實體類提供了業(yè)務(wù)接口,包含本地接口和遠程接口;smisJPA用于JPA持久化層的開發(fā)。而smisEAR是一個EJB容器工程,它負責(zé)管理smisEJB、smisEJBClient和smisJPA這3個資源工程。

        圖3 J2EE端程序組織結(jié)構(gòu)

        2.2.4 數(shù)據(jù)庫層設(shè)計

        數(shù)據(jù)庫層由存儲持久化對象的關(guān)系數(shù)據(jù)庫構(gòu)成,它根據(jù)與持久化層的映射關(guān)系,通過業(yè)務(wù)層持久化層對數(shù)據(jù)進行修改和查詢。

        小站集中管理信息系統(tǒng)包含了確報庫、現(xiàn)車庫、鉤計劃庫、統(tǒng)計庫和知識庫這些相關(guān)的數(shù)據(jù)表。其中,現(xiàn)車庫是現(xiàn)車子系統(tǒng)的核心部分,包含有關(guān)站場、站場股道、站場現(xiàn)車基本信息的數(shù)據(jù)表,如場目錄(BCml),股道目錄(BGdml)等;確報庫存放著從其它車站鐵路局轉(zhuǎn)來的原始到報、到報、發(fā)報信息;鉤計劃庫中保存了車站的編調(diào)車作業(yè)組計劃,主要包括鉤計劃目錄(CqzGjhml)和鉤計劃正文(CqzGjhzw)這兩個數(shù)據(jù)表。

        3 數(shù)據(jù)庫訪問優(yōu)化

        作為一個以數(shù)據(jù)為核心的信息管理系統(tǒng),特別是基于Web開發(fā)的應(yīng)用系統(tǒng),響應(yīng)速度的快慢會影響到軟件的使用價值,而響應(yīng)速度的快慢在很大程度上又取決于對數(shù)據(jù)庫的訪問次數(shù)?;赗IA模式的開發(fā)特點,為了提高數(shù)據(jù)庫的訪問速度,減少對數(shù)據(jù)庫的訪問次數(shù),小站集中管理信息系統(tǒng)采用了提前加載的方法。對于大量的只讀數(shù)據(jù),或者很少修改的數(shù)據(jù),在用戶登錄時就將其全部讀入內(nèi)存。當(dāng)用戶只需要查詢這些數(shù)據(jù)時,直接從內(nèi)存中讀??;如果需要對數(shù)據(jù)進行修改或保存,進行一次數(shù)據(jù)庫訪問,修改數(shù)據(jù)庫中的值,同時更新內(nèi)存中的數(shù)據(jù)。這樣的方式可以節(jié)省大量的數(shù)據(jù)庫訪問次數(shù),提高系統(tǒng)的響應(yīng)效率。

        4 結(jié)束語

        本文針對現(xiàn)在TMIS中車站管理信息系統(tǒng)存在的問題,提出基于RIA模式的車站管理信息系統(tǒng),它改變了原有系統(tǒng)的C/S結(jié)構(gòu),便于擴展和維護,有效地降低了維護的工作量和成本,同時實現(xiàn)了車站信息及時上報鐵路局。本文對RIA的相關(guān)技術(shù)進行了介紹,同時分析了軟件的體系結(jié)構(gòu),并針對數(shù)據(jù)庫訪問和保存這兩方面對系統(tǒng)的性能提升進行了探討。本文提出的方案目前已經(jīng)在一些小站進行試用并取得了理想的效果。

        [1] STEVE WEBSTER,ALISTAIR MCLEOD.Developing rich clients with macromedia flex[M] .Michigan:Macromedia Press,2004: 331-332.

        [2] 王林. RIA技術(shù)概覽[J] .程序員,2005(2).

        [3] Debu Panda,Reza Rahman,Derek Lane. EJB 3 in Action[M] . 馬朝暉. 北京:人民郵電出版社,2008,7:3-15.

        猜你喜歡
        小站客戶端車站
        旅行者小站
        小站人的情懷
        縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
        電子測試(2018年10期)2018-06-26 05:53:34
        車站一角
        熱鬧的車站
        幼兒畫刊(2016年9期)2016-02-28 21:01:10
        熱鬧的車站
        啟蒙(3-7歲)(2016年10期)2016-02-28 12:27:06
        小站
        小說月刊(2015年12期)2015-04-23 08:51:06
        小站
        牡丹(2014年5期)2014-06-09 15:57:03
        视频福利一区二区三区| 国产在线精品一区二区三区不卡 | 国产精品久久久久免费观看| 欧美不卡视频一区发布| 国产一起色一起爱| 99久久婷婷亚洲综合国产| 人人做人人爽人人爱| 狠狠色狠狠色综合日日不卡| 国产真实伦视频在线视频| 日韩精品久久午夜夜伦鲁鲁| 久久久久久久极品内射| 久久精品日韩av无码| 国产亚洲一区二区三区成人| 大香蕉av一区二区三区| 偷偷色噜狠狠狠狠的777米奇| 日韩夜夜高潮夜夜爽无码| 色综合色狠狠天天综合色| 久草视频福利| 日韩在线精品视频免费| 亚洲av成人一区二区三区本码| 人人妻人人狠人人爽| 在线观看欧美精品| 青青草免费在线手机视频| 国产一区二区三区在线观看完整版 | 色婷婷丁香综合激情| 亚洲熟女少妇一区二区三区青久久 | 欧美乱妇日本无乱码特黄大片| 亚洲色图第一页在线观看视频| 高黄暴h日本在线观看| 欧美aa大片免费观看视频| 免费国产调教视频在线观看| 亚洲女同同性一区二区| 免费人妻精品一区二区三区| 精品无码AV无码免费专区| 国产精品人成在线观看不卡| 久久96国产精品久久久| 91久久青青草原线免费| 国产精品不卡免费版在线观看 | 一区二区三区国产| 亚洲AV综合A∨一区二区| 亚洲成熟中老妇女视频|