999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OSGi和用戶權(quán)限的客戶端集成研究

2014-08-01 15:07:51王勝東
鐵路計算機(jī)應(yīng)用 2014年2期
關(guān)鍵詞:界面用戶系統(tǒng)

王勝東

(中鐵信弘遠(yuǎn)(北京)軟件科技有限責(zé)任公司, 北京 100038)

基于OSGi和用戶權(quán)限的客戶端集成研究

王勝東

(中鐵信弘遠(yuǎn)(北京)軟件科技有限責(zé)任公司, 北京 100038)

鐵路調(diào)度信息系統(tǒng)包括多個業(yè)務(wù)場景,每個場景的應(yīng)用架構(gòu)涵蓋瀏覽器/服務(wù)器(B/ S)模式和客戶端/服務(wù)器(C/S)模式,將不同場景應(yīng)用在客戶端進(jìn)行集成是當(dāng)前的主要問題。OSGi技術(shù)為客戶端集成提供了通用的解決方案。開發(fā)OSGi插件進(jìn)行既有應(yīng)用的集成,在插件啟動類中進(jìn)行系統(tǒng)界面加載;根據(jù)用戶對系統(tǒng)集成的需求,對用戶權(quán)限進(jìn)行統(tǒng)一的管理和分配;根據(jù)用戶權(quán)限,OSGi框架進(jìn)行應(yīng)用的啟動加載,從而實現(xiàn)既有應(yīng)用系統(tǒng)的整合,并且按照權(quán)限內(nèi)容實現(xiàn)功能定制。

鐵路調(diào)度信息系統(tǒng);OSGi;訪問控制;客戶端集成

鐵路調(diào)度信息系統(tǒng)負(fù)責(zé)鐵路運輸業(yè)務(wù)的調(diào)度信息化管理,支持運輸業(yè)務(wù)中的資源調(diào)度工作。運輸調(diào)度業(yè)務(wù)系統(tǒng)管理范圍復(fù)雜,需要多項資源進(jìn)行綜合協(xié)調(diào)管理;按照調(diào)度業(yè)務(wù)事前計劃、事中監(jiān)控、事后統(tǒng)計的方式,將調(diào)度業(yè)務(wù)場景分為計劃場景、指揮場景、統(tǒng)計場景、非常規(guī)事件處理時的命令場景,在這樣4個場景情況下,就可以進(jìn)行整體應(yīng)用的劃分和規(guī)劃。在當(dāng)前的業(yè)務(wù)系統(tǒng)中,不同的應(yīng)用場景采取了不同的應(yīng)用架構(gòu)模式,對于調(diào)度命令、生產(chǎn)指揮等需要進(jìn)行及時響應(yīng)場景,采用C/S模式;對于統(tǒng)計分析、計劃報表等數(shù)據(jù)統(tǒng)計顯示場景,采用B/S模式。

調(diào)度信息系統(tǒng)應(yīng)用是基于Java語言開發(fā)的,OSGi為系統(tǒng)的集成提供了統(tǒng)一的解決方案。通過OSGi插件開發(fā),進(jìn)行已有系統(tǒng)的集成;使用OSGi生命周期API函數(shù),可以在已開發(fā)插件中進(jìn)行既有系統(tǒng)的加載,從而充分利用既有系統(tǒng)代碼。對于不同的用戶,其系統(tǒng)集成權(quán)限是不一致的;基于不同的用戶需求,進(jìn)行用戶權(quán)限的統(tǒng)一管理,實現(xiàn)系統(tǒng)的統(tǒng)一集成。

1 OSGi的基本原理和集成優(yōu)勢

OSGi委員會成立于1999年,當(dāng)前最新版本OSGi規(guī)范為2012年發(fā)布的第5版。OSGi定義了動態(tài)的Java模塊系統(tǒng),利用OSGi可以更好的控制代碼結(jié)構(gòu),進(jìn)行模塊的生命周期管理,降低系統(tǒng)的耦合性。OSGi框架如圖1所示,安全層基于Java 2安全機(jī)制構(gòu)建,并且進(jìn)行了某些空白的補(bǔ)充。模塊層定義了Java模塊化模型,彌補(bǔ)了Java部署模型的一些缺點,模塊層嚴(yán)格定義了插件之間共享或者隱藏Java包的規(guī)則。生命周期層為插件提供了生命周期API函數(shù),定義了插件的安裝、更新、卸載等行為。服務(wù)層為Java插件開發(fā)者提供了動態(tài)的編程模型,實現(xiàn)了服務(wù)的實現(xiàn)與接口的分離。

圖1 OSGi框架結(jié)構(gòu)

Java語言本身是有模塊化概念的,但是Java語言的模塊化基本上是基于面向?qū)ο笳Z言為基礎(chǔ)的,一般只能使用訪問控制符(如public、private)來進(jìn)行訪問權(quán)限的設(shè)定;一旦設(shè)置為public,就會暴露過多的實現(xiàn)細(xì)節(jié)。當(dāng)多個JAR文件一起工作時,常常會引起“類路徑地獄”問題,主要是某一個JAR文件中的類與另外一個JAR文件中的類版本不一致導(dǎo)致的;在大規(guī)模系統(tǒng)開發(fā)中,諸如日志記錄或XML解析等經(jīng)常存在不同版本。而且標(biāo)準(zhǔn)的Java環(huán)境很難實現(xiàn)動態(tài)的插件升級管理。OSGi架構(gòu)對上述問題提供了很好的解決方案,使用模塊化機(jī)制對應(yīng)用進(jìn)行了邏輯、物理的封裝,使用生命周期函數(shù)進(jìn)行插件的動態(tài)管理。

2 基于角色的用戶權(quán)限管理

采用基于角色的權(quán)限管理,其權(quán)限分配模型如圖 2所示。

圖2 基于角色的權(quán)限分配

基于角色的用戶授權(quán)可以解決用戶權(quán)限的集中管理問題,如圖2的角色1、角色2、角色3,在實際的調(diào)度業(yè)務(wù)系統(tǒng)中,經(jīng)常會根據(jù)調(diào)度員負(fù)責(zé)的業(yè)務(wù)工作,將具體工作設(shè)置為具體崗位,對每一個具體崗位的應(yīng)用權(quán)限進(jìn)行統(tǒng)一分配,把用戶與具體角色進(jìn)行關(guān)聯(lián)實現(xiàn)用戶授權(quán)。還有一種情況如圖2中的用戶2,調(diào)度業(yè)務(wù)中常常存在輪換崗位的需求,需要在不同的崗位之間進(jìn)行工作調(diào)換,這種情況需要對一個用戶分配多個角色,在用戶登錄系統(tǒng)時進(jìn)行角色選擇,再進(jìn)行用戶權(quán)限分配。

在進(jìn)行系統(tǒng)集成過程中,將用戶權(quán)限分為兩類,用戶界面權(quán)限和應(yīng)用功能權(quán)限。用戶界面權(quán)限是指在系統(tǒng)加載的過程中,需要加載的界面內(nèi)容;應(yīng)用功能權(quán)限是指在系統(tǒng)使用過程中,具體的業(yè)務(wù)操作范圍。

3 用戶權(quán)限分類整理

圖3 用戶權(quán)限分類

如圖3所示,類似崗位的用戶如行調(diào)1和行調(diào)2,因為具體業(yè)務(wù)操作完全相同,需要加載相同的界面;但是其管理范圍不一樣,行調(diào)1管理哈爾濱、沈陽、北京、太原、呼和浩特5個鐵路局,而行調(diào)2管理鄭州、武漢、西安、濟(jì)南、上海5個鐵路局。這是兩類不同類型的權(quán)限內(nèi)容,用戶界面權(quán)限在系統(tǒng)開發(fā)設(shè)計階段進(jìn)行設(shè)定,在后期系統(tǒng)運行階段調(diào)整范圍不大,只有在系統(tǒng)更新或升級時才進(jìn)行改變。應(yīng)用功能權(quán)限需要根據(jù)業(yè)務(wù)的變動進(jìn)行相應(yīng)的改變,完成對于業(yè)務(wù)功能調(diào)整的支持。進(jìn)行權(quán)限的分類管理,可以方便系統(tǒng)的集成和功能內(nèi)容的調(diào)整。

4 集成插件實現(xiàn)

根據(jù)用戶的界面權(quán)限,進(jìn)行相應(yīng)的OSGi插件開發(fā)。將插件開發(fā)與應(yīng)用開發(fā)分離,降低兩者之間的關(guān)聯(lián),采用了Java反射技術(shù)進(jìn)行關(guān)聯(lián)分拆。

具體的實現(xiàn)代碼如圖 4所示,在反射技術(shù)的支持下,插件開發(fā)時不知道需要加載頁面的具體類名,可以在系統(tǒng)運行時進(jìn)行動態(tài)的配置和調(diào)整,降低系統(tǒng)之間的耦合性,保持插件開發(fā)與應(yīng)用開發(fā)的獨立性。

圖4 使用反射獲得Swing Composite類

在客戶端框架啟動過程中,首先會根據(jù)用戶名、密碼進(jìn)行權(quán)限加載,用戶界面權(quán)限在插件中進(jìn)行初始界面的加載,應(yīng)用功能權(quán)限包含了各個子系統(tǒng)初始化條件和信息,可以在初始化過程中根據(jù)這些權(quán)限進(jìn)行系統(tǒng)初始化情況的設(shè)定。

對于B/S應(yīng)用模式,可以采用SWT中自帶的org.eclipse.swt.browser.Browser進(jìn)行Web頁面加載,從而方便多種模式的應(yīng)用集成。B/S模式的認(rèn)證方式支持兩種情況,由于在客戶端框架中進(jìn)行Browser類的URL設(shè)定,所以在設(shè)定過程中可以使用HTTP GET方式進(jìn)行用戶名、密碼的傳入,在相應(yīng)的B/S應(yīng)用中,就可以按照傳輸?shù)恼J(rèn)證信息進(jìn)行用戶權(quán)限的設(shè)定;如果采用數(shù)字證書認(rèn)證方式,只要在用戶客戶端已經(jīng)安裝了有效的數(shù)字證書,既可以通過系統(tǒng)認(rèn)證。

在進(jìn)行插件開發(fā)過程中,需要對插件的權(quán)限進(jìn)行統(tǒng)一的管理,搭建了插件管理系統(tǒng),其界面如圖5所示。在插件管理系統(tǒng)中,將插件的啟動類統(tǒng)一存儲在數(shù)據(jù)庫中,通過管理界面進(jìn)行管理,實現(xiàn)動態(tài)用戶界面加載。

5 不同集成需求的實現(xiàn)

圖5 插件管理界面

根據(jù)系統(tǒng)集成的設(shè)計思想,進(jìn)行了客戶端集成框架的開發(fā);OSGi框架采用了Equinox作為具體實現(xiàn),客戶端應(yīng)用集成了C/S模式的Java Swing和SWT客戶端界面,同時集成了B/S模式的Web頁面。集成場景分為命令、計劃、指揮和統(tǒng)計4個場景,每一個場景下的插件可以進(jìn)行動態(tài)的配置,其集成界面如圖6所示。

圖6 應(yīng)用系統(tǒng)集成界面

利用OSGi進(jìn)行集成時,其能夠加載的插件必須事先寫在配置文件中,針對不同的用戶,最終加載的插件個數(shù)不同,提前需要安裝的插件都相同。為了方便系統(tǒng)升級和新功能添加,必須預(yù)留一部分插件,插件的使用個數(shù)和預(yù)留個數(shù)必須進(jìn)行一個合理的折中選擇。

6 結(jié)束語

本文對OSGi基本原理進(jìn)行了介紹,討論了OSGi進(jìn)行系統(tǒng)集成的優(yōu)勢。基于角色進(jìn)行了用戶權(quán)限的配置管理,根據(jù)具體的業(yè)務(wù)場景和權(quán)限管理需求,進(jìn)行了用戶權(quán)限的分類整理。根據(jù)鐵路調(diào)度信息系統(tǒng)所涵蓋的命令、計劃、指揮、統(tǒng)計場景進(jìn)行了系統(tǒng)分類,利用Java反射模式進(jìn)行了插件開發(fā)與應(yīng)用開發(fā)的分離,降低了系統(tǒng)的耦合性,同時兼容了瀏覽器/服務(wù)器模式和客戶端/服務(wù)器模式,實現(xiàn)了客戶端應(yīng)用系統(tǒng)的集成。

責(zé)任編輯 陳 蓉

Research on client integration based on OSGi & user privileges

WANG Shengdong
( Sinorail Hong Yuan(Beijing) Information Software Development Co., Ltd., Beijing 100038, China )

There were several scenarios in the Transportation Dispatching Information System, each scenario had own application frameworks which covered from browser/server to client/server. The different scene in the client application integration was the key issue. OSGi technology provided a general solution for the client integration. The OSGi bundles were developed to integrate applications, interfaces of existing system were loaded in the bundle activator. User privileges were managed and assigned according to requirements, the union client application platform was launched by OSGi framework and customized by user privileges.

Transportation Dispatching Information System; Open Service Gateway Initiative(OSGi); access control; client integration

U284.5∶TP39

A

1005-8451(2014)02-0029-03

2013-10-25

王勝東,工程師。

猜你喜歡
界面用戶系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
國企黨委前置研究的“四個界面”
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
人機(jī)交互界面發(fā)展趨勢研究
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
主站蜘蛛池模板: 国产精品自在在线午夜区app| 波多野结衣一区二区三视频| 精品久久久无码专区中文字幕| 无码内射在线| 免费观看国产小粉嫩喷水 | 欧美精品亚洲日韩a| 久久女人网| 97超级碰碰碰碰精品| 麻豆精品国产自产在线| 亚洲最新网址| 成人精品免费视频| 嫩草在线视频| 精品自窥自偷在线看| 中文字幕调教一区二区视频| 亚洲码一区二区三区| 亚洲精品动漫| 日韩无码视频播放| aaa国产一级毛片| 国产激情无码一区二区三区免费| 成年人福利视频| 成人国产免费| 久久天天躁狠狠躁夜夜2020一| 国产91在线免费视频| 91精品免费久久久| 91娇喘视频| 欧美在线导航| 久久99国产综合精品女同| 强奷白丝美女在线观看| 国产麻豆aⅴ精品无码| 国产成人AV综合久久| 国产资源免费观看| 日韩a级片视频| 高潮爽到爆的喷水女主播视频| 精品国产成人国产在线| 国产精品.com| 香蕉视频在线精品| 亚洲欧美精品一中文字幕| a毛片基地免费大全| 免费av一区二区三区在线| 中文字幕伦视频| 97视频精品全国在线观看| 免费人成视网站在线不卡| 日韩精品一区二区三区大桥未久| 亚洲日本中文字幕天堂网| 小说区 亚洲 自拍 另类| 亚洲日韩第九十九页| 欧美福利在线| 草草影院国产第一页| 国产成人在线无码免费视频| 欧美成人免费一区在线播放| 色老二精品视频在线观看| 中文字幕在线不卡视频| 欧美在线视频不卡第一页| 亚洲色图综合在线| 日本高清有码人妻| 国产精品午夜电影| 久久这里只有精品国产99| 国产精品视频导航| 国产高清又黄又嫩的免费视频网站| 亚洲视频色图| 久久情精品国产品免费| 天天综合网在线| 日韩精品成人网页视频在线 | 91在线国内在线播放老师| 色偷偷综合网| 免费一级毛片在线观看| 草逼视频国产| 国产精品久久自在自2021| 久久6免费视频| 国模极品一区二区三区| 尤物视频一区| 2020极品精品国产| 99久久精品国产麻豆婷婷| 亚洲天堂首页| 日韩国产一区二区三区无码| 欧美日本在线| 久久国产精品波多野结衣| 精品福利视频网| 国产欧美日本在线观看| 欧美午夜在线观看| 国产青青操| 99草精品视频|