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

        ?

        Web Service在鐵路安全環(huán)境中的應(yīng)用

        2015-02-11 20:11:52仇士春鄧敏麗
        鐵道通信信號(hào) 2015年9期
        關(guān)鍵詞:設(shè)置文本用戶

        仇士春 鄧敏麗

        1 現(xiàn)狀概述

        Web Service是一個(gè)平臺(tái)獨(dú)立的、低耦合的、自包含的、基于可編程的web應(yīng)用程序,可使用開放的XML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)子集)標(biāo)準(zhǔn)來描述、發(fā)布、發(fā)現(xiàn)、協(xié)調(diào)和配置應(yīng)用程序,常用于開發(fā)分布式的互操作的應(yīng)用系統(tǒng)。

        Web Service能使得運(yùn)行在不同機(jī)器上的不同應(yīng)用,無須借助附加的、專門的第三方軟件或硬件,就可相互交換數(shù)據(jù)或集成。依據(jù) Web Service規(guī)范實(shí)施的應(yīng)用程序之間,無論使用哪種語言、平臺(tái)或內(nèi)部協(xié)議,都可以相互交換數(shù)據(jù)。Web Service是自描述、自包含的可用網(wǎng)絡(luò)模塊,可以執(zhí)行具體的業(yè)務(wù)功能;也很容易部署,因?yàn)樗鼈兓谝恍┏R?guī)的產(chǎn)業(yè)標(biāo)準(zhǔn)及已有的一些技術(shù),如標(biāo)準(zhǔn)通用標(biāo)記語言下的子集XML、HTTP;Web Service減少了應(yīng)用接口的花費(fèi),為整個(gè)企業(yè)甚至多個(gè)組織之間業(yè)務(wù)流程的集成提供了一個(gè)通用機(jī)制。

        Web Service 作 為 RPC (Remote Procedure Call Protocol)技術(shù)的一種演進(jìn),主要由SOAP、UDDI和WSDL組成。SOAP是基于XML的簡易協(xié)議,可使應(yīng)用程序在HTTP之上進(jìn)行信息交換。UDDI是一種目錄服務(wù),企業(yè)可通過它注冊(cè)并搜索Web Services。WSDL是一門基于XML的語言,用于描述 Web Services及如何對(duì)其進(jìn)行訪問。Web Service通過這一系列的協(xié)議從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議,使開發(fā)者可以更加專注于開發(fā)的程序本身,更加輕松和有效地使用遠(yuǎn)程的資源或進(jìn)行數(shù)據(jù)交互。

        Web Service作為一種平臺(tái)獨(dú)立的技術(shù),具備跨平臺(tái)、跨開發(fā)語言的特性??梢栽?Windows、Linux、Unix甚至是手機(jī)App中都能使用,而且包括Java、.Net、PHP、Delphi等開發(fā)語言都支持使用該技術(shù)開發(fā)各項(xiàng)應(yīng)用。

        近年來,隨著鐵路信息化的發(fā)展,越來越多的應(yīng)用系統(tǒng)也開始使用這項(xiàng)技術(shù)進(jìn)行開發(fā),極大的提高了不同系統(tǒng)之間的整合效率。

        2 Web Service的應(yīng)用

        盡管Web Service有諸多優(yōu)點(diǎn),但由于其運(yùn)行方式及鐵路信息系統(tǒng)的特點(diǎn),在使用中還是會(huì)遇到一些問題,下面對(duì)這些問題的表現(xiàn)及解決進(jìn)行總結(jié)。

        2.1 兼容性問題

        嚴(yán)格來說Web Service是行業(yè)標(biāo)準(zhǔn),各個(gè)組織和廠商以其為依據(jù)開發(fā)自己的服務(wù)和框架,其中最具代表性的就是Java的JAX-WS、微軟的.net web server和 WCF、Apache的Xfire和axis2。

        實(shí)際工作中遇到兼容性問題主要是在JAX-WS和WCF之間,由于微軟的技術(shù)實(shí)力雄厚,不僅實(shí)現(xiàn)了Web Service的標(biāo)準(zhǔn),而且基于自家的.net做了大量的擴(kuò)展和優(yōu)化,使其作為服務(wù)與JAX-WS進(jìn)行交互時(shí)會(huì)出現(xiàn)兼容性問題。解決這個(gè)問題的辦法比較簡單,就是在WCF的服務(wù)開發(fā)時(shí)將其服務(wù)綁定規(guī)則設(shè)置為basicHttpBinding,這樣WCF就能夠以Web Service的標(biāo)準(zhǔn)方式對(duì)外提供服務(wù),與JAX-WS開發(fā)的程序進(jìn)行正常交互。

        通過Web Service進(jìn)行不同系統(tǒng)和服務(wù)之間的相互調(diào)用的模式具備非常明顯的SOA特征。

        1.獨(dú)立功能的實(shí)體。目前開發(fā)設(shè)計(jì)新系統(tǒng)無一例外都是采用分系統(tǒng)、分模塊進(jìn)行的,這樣各系統(tǒng)、模塊具備自我管理和恢復(fù)的能力。常見的技術(shù)有事物處理、消息隊(duì)列、冗余部署、集群系統(tǒng)等,這些技術(shù)和模塊之間差異巨大,但是通過Web Service進(jìn)行相互調(diào)用時(shí)只需知道對(duì)方的服務(wù)接口,而不用關(guān)心對(duì)方使用的什么硬件平臺(tái)、運(yùn)行什么操作系統(tǒng)、使用什么語言、網(wǎng)絡(luò)層接口處理等底層細(xì)節(jié)。

        2.大數(shù)據(jù)量低頻率訪問。通過使用 WSDL和基于文本 (Literal)的SOAP請(qǐng)求,可以實(shí)現(xiàn)一次性接收大量數(shù)據(jù)接口。SOAP請(qǐng)求分為文本 (Literal)方式和遠(yuǎn)程調(diào)用 (RPC)方式,使用文本方式就可以一次性發(fā)送/接收大量數(shù)據(jù),測(cè)試和使用過程中可實(shí)現(xiàn)一次性傳送20MB的文本數(shù)據(jù),進(jìn)行少許改造后甚至可以用來傳送照片、統(tǒng)計(jì)圖表之類的小型文件。只是對(duì)平臺(tái)有些要求,如Java環(huán)境版本不能低于1.6.0_20,服務(wù)器軟件如WebLogic、WebSphere也不能使用過老的版本。

        3.基于文本的消息傳遞。Web Service所有的通信都是通過SOAP進(jìn)行的,而SOAP是基于XML的,不同版本之間可以使用不同的DTD或XML Scheme加以辨別和區(qū)分。而傳統(tǒng)的COM、CORBA這類組件模型中從服務(wù)器端傳往客戶端的是一個(gè)二進(jìn)制編碼的對(duì)象,在客戶端通過調(diào)用這個(gè)對(duì)象的方法來完成某些功能。但是在現(xiàn)實(shí)環(huán)境下,不同語言、不同平臺(tái)對(duì)數(shù)據(jù)、甚至是一些基本數(shù)據(jù)類型定義不同,給不同服務(wù)傳遞對(duì)象帶來很大困難。由于基于文本的消息本身是不包含任何處理邏輯和數(shù)據(jù)類型的,因此服務(wù)間只傳遞文本,對(duì)數(shù)據(jù)處理依賴于接收端的方式可以繞過兼容性問題。

        Web Service的使用促進(jìn)了SOA架構(gòu)的成熟與完善,降低了不同系統(tǒng)軟硬件之間的兼容性障礙,使得開發(fā)更大更豐富的信息系統(tǒng)成為可能,不但可以更快的開發(fā)新系統(tǒng),而且可以無縫的與既有系統(tǒng)進(jìn)行集成和整合。

        2.2 跨安全域問題

        鐵路網(wǎng)絡(luò)系統(tǒng)的安全域是通過安全平臺(tái)將網(wǎng)絡(luò)分為內(nèi)網(wǎng)和外網(wǎng),數(shù)據(jù)和關(guān)鍵服務(wù)處于內(nèi)網(wǎng),用戶和應(yīng)用服務(wù)處于外網(wǎng)。用戶訪問應(yīng)用服務(wù)器時(shí),應(yīng)用服務(wù)器通過安全平臺(tái)訪問內(nèi)網(wǎng)服務(wù)進(jìn)行處理,然后將處理結(jié)果再通過響應(yīng)方式反饋給用戶。用戶訪問見圖1所示。

        由于穿越安全平臺(tái)過程比較復(fù)雜,所以在使用Web Service穿越安全平臺(tái)進(jìn)行內(nèi)外網(wǎng)應(yīng)用交互時(shí),公用的實(shí)現(xiàn)框架均不能滿足這種需求,需要進(jìn)行相關(guān)的安全認(rèn)證和設(shè)置安全信息的工作才能將訪問請(qǐng)求通過安全平臺(tái)發(fā)送到內(nèi)網(wǎng)服務(wù)端。為了完成這部分工作,開發(fā)了一個(gè)Java接口開發(fā)包,這個(gè)開發(fā)包通過使用定制化的SSLSocketFactory獲取到認(rèn)證中心的SSL連接認(rèn)證適配器,基于這個(gè)定制化的SSLSocketFactory結(jié)合HttpsURLConnection即可完成到認(rèn)證中心的通信,獲取認(rèn)證令牌,然后通過定制化的HandlerResolver接口和定制化的SOAPHandler接口,即可將獲取到的認(rèn)證令牌按照指定的格式填充到Web Service請(qǐng)求的HTTP頭中去,然后將定制化的HandlerResolver設(shè)置到Web Service的服務(wù)接口中后,就可以像調(diào)用普通的Web Service,而這一系列的初始化操作都可以通過使用Spring Framework配置實(shí)現(xiàn)自動(dòng)化,而在程序中只需要進(jìn)行類似如下操作即可調(diào)用:

        class Test {

        @Autowired

        private IHello iHello;//測(cè)試 Web Service服務(wù)接口

        public void sayHello () {this.iHello.say-Hello ();}

        因此雖然在不同的安全域間可能會(huì)存在以上這種比較復(fù)雜的認(rèn)證隔離設(shè)備,給內(nèi)外網(wǎng)之間的應(yīng)用通信帶來不小的影響,但是只要選擇的方式、方法得當(dāng),仍然可以將這種影響降到最低,既能保證內(nèi)外網(wǎng)間的通信安全,又能順利的通過 Web Service進(jìn)行服務(wù)調(diào)用。

        2.3 超時(shí)問題

        在進(jìn)行應(yīng)用訪問的過程中,由于網(wǎng)絡(luò)問題、服務(wù)響應(yīng)問題等不可避免的會(huì)出現(xiàn)響應(yīng)超時(shí)的情況,如果不處理超時(shí)問題,不僅會(huì)影響用戶的訪問體驗(yàn),甚至?xí)绊懗绦虻姆€(wěn)定性,導(dǎo)致程序僵死。

        對(duì)于比較常用的JAX-WS框架,如果需要在訪問Web Service的時(shí)候啟用超時(shí)處理,則需要一些特別的方法,主要方法如下:

        #假設(shè)Service服務(wù)下有個(gè)IHello服務(wù)接口

        IHello ihello=Service.getIHello ();

        Map<String,Object>requestContext=((BindingProvider)ihello).getRequestContext();

        #設(shè)置連接超時(shí),單位ms

        requestContext.put(BindingProviderProperties.CONNECT_TIMEOUT,10000);

        #設(shè)置訪問請(qǐng)求超時(shí),單位ms

        requestContext.put(BindingProviderProperties.REQUEST_TIMEOUT,10000);

        #然后在調(diào)用IHello接口中的方法就會(huì)受到超時(shí)設(shè)置的影響

        ihello.sayHello ("Hello World!" );

        這個(gè)方法可解決Web Service調(diào)用時(shí)的超時(shí)問題,通過這個(gè)方法設(shè)置連接超時(shí)和請(qǐng)求超時(shí),當(dāng)相應(yīng)超時(shí)事件發(fā)生時(shí)就會(huì)拋出異常TimeoutException,應(yīng)用可以捕獲該異常進(jìn)行處理或是反饋給前端用戶,由用戶決定是否繼續(xù),更加友好的解決應(yīng)用中的超時(shí)問題。

        3 總結(jié)

        Web Service作為一種重要的跨平臺(tái)、跨語言的開發(fā)標(biāo)準(zhǔn),其優(yōu)點(diǎn)眾多,而且促進(jìn)了SOA的成熟與發(fā)展,勢(shì)必會(huì)成為一種廣泛使用的開發(fā)模式,甚至是應(yīng)用架構(gòu)的重要演進(jìn)方向。然而就像以前曾經(jīng)流行過的其他技術(shù)一樣,它并不完美,在實(shí)際使用中,也會(huì)遇到諸如跨安全域訪問、超時(shí)等問題,不僅會(huì)影響用戶的使用感受,嚴(yán)重時(shí)會(huì)影響應(yīng)用的穩(wěn)定性,危及應(yīng)用的安全穩(wěn)定運(yùn)行。因此必須要不斷的研究、學(xué)習(xí)和測(cè)試它,才能在鐵路信息系統(tǒng)中更好的使用它,發(fā)揮其優(yōu)點(diǎn),規(guī)避其缺點(diǎn),使其更好地為鐵路應(yīng)用系統(tǒng)服務(wù)。

        [1] Martin Kalin.Java Web Services:Up and Running.O'Reilly Media,Inc,USA,2009.

        [2] 陳雄華.Spring 3.x企業(yè)應(yīng)用開發(fā)實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2012.

        [3] Elliotte Rusty Harold.Java Network Programming .O'Reilly Media,Inc,USA,2004.

        [4] 許令波 .深入分析Java Web技術(shù)內(nèi)幕,第2版[M].北京:電子工業(yè)出版社,2014.

        猜你喜歡
        設(shè)置文本用戶
        中隊(duì)崗位該如何設(shè)置
        在808DA上文本顯示的改善
        基于doc2vec和TF-IDF的相似文本識(shí)別
        電子制作(2018年18期)2018-11-14 01:48:06
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學(xué)隱喻
        本刊欄目設(shè)置說明
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        如何獲取一億海外用戶
        欧美精品黄页在线观看视频| 日韩精品 在线 国产 丝袜| 亚洲精品色婷婷在线影院| 日本乱人伦在线观看| 久久国产欧美日韩高清专区| 粗大挺进孕妇人妻在线| 亚洲精品中文字幕一二三区| 免费国产黄网站在线观看可以下载 | 国产超碰在线91观看| 国产高清乱码又大又圆| 国产无人区码一码二码三mba| 亚洲AV秘 无码一区二p区三区| 手机av在线观看视频| 人妻少妇不满足中文字幕| 中文字幕丰满乱子无码视频| 亚洲国产成人久久一区www妖精 | 日本人妻少妇精品视频专区| 成人大片免费在线观看视频| 免费女人高潮流视频在线观看| 无码国产激情在线观看| 亚洲乱精品中文字字幕| 午夜福利视频一区二区二区| 无码精品人妻一区二区三区av | 欧美成人精品福利在线视频| 国产偷闻女邻居av在线观看| 夜夜躁日日躁狠狠久久av| 国产成人亚洲精品无码h在线| 亚洲中文久久久久无码| 最近中文字幕精品在线| 久久久久人妻一区精品| 亚洲av无码国产精品麻豆天美 | 色爱情人网站| 久久精品人人爽人人爽| 久9热免费精品视频在线观看| 国产人妖伦理视频在线观看 | 亚洲免费人成网站在线观看| 亚洲av网站在线观看一页| 亚洲日韩av无码| 国产在线不卡AV观看| 亚洲国产av精品一区二| 国产亚洲综合一区二区三区|