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

基于Eclipse的JMS插件的設計與實現

2008-12-31 00:00:00周麗娟
中國校外教育(下旬) 2008年23期

【摘要】本文結合Web Service,在Eclipse平臺上實現了基于Eclipse的JMS插件。只需在JMS插件上配置一些用戶基本信息,就可以自動生成Web Service提供端和客戶端的代碼。

【關鍵詞】Eclipse Web Service Xfire 插件

1 引言

在現在的網絡環境中,跨平臺的可互操作性是近年來爭相討論的話題。Web Service正是這一時期的產物,它實現了跨防火墻的通信、異構平臺的應用、企業應用集成、行業內部B2B的應用和強安全特性的應用。它的實現將會大大改變商業運做的模式和信息交流的風格。而Xfire是新一代的Web Service框架,它通過提供簡單的API和支持標準協議,便可以開發面向服務的程序。

基于Eclipse的插件,近幾年成為研究的熱點和重點,因為Eclipse是一個開放的、通用的、可擴展的集成開發環境,而且它提供了一個用于開發插件的框架,通過開發相應的Eclipse插件,提高了項目的開發效率和質量。當前,已經出現了不少Eclipse插件,比如,Hibernate插件、HTML圖形化插件等。但針對Web Service的插件目前還沒有。我們開發了基于Eclipse的Web Service插件,它不但能簡化開發過程,而且具有擴展能力強、使用方便、可靠性高等優點。

2 Web Service

Web Service是建立可互操作的分布式應用程序的新平臺,它透過Web通訊協議及資料格式的開放標準來為應用程序提供服務,其中它的最基本協議包括:SOAP(簡單對象訪問協議,它規定了Web Service之間是怎樣傳遞信息的。)、WSDL(Web Service描述語言)和UDDI(通用服務發布與發現規范,用于集中存放和查找WSDL描述文件,起著目錄服務器的作用。)一個Web Service的生命周期,如圖1所示:(1)提供端發布一個Web Service,使其能夠接受和響應SOAP消息;(2)撰寫一個WSDL文件用于描述此Web Service;(3)將此WSDL發布到UDDI上;(4)客戶端從UDDI上搜索到發布的WSDL;(5)根據發布的WSDL,客戶端可以編寫程序。Web Service的安全性和保密性是非常重要的問題。WS-Security通過利用現有標準和規范來實現安全性,它提供了三種可選的Web Service安全模式:Username Token模式,Encrypt模式,Sign模式。

實現Web Service的框架有很多,但Xfire框架支持一系列Web Service的新標準,它通過提供簡單的API和支持標準協議,便可以開發面向服務的程序,它消除了使用不同組件模型、操作系統與編程語言系統之間存在的差異, 使異類系統能夠作為計算網絡的一部分協同運行。

3 Web Service插件

3.1 Web Service插件的設計方案

Web Service包括兩個部分:提供端和客戶端。提供端基礎代碼包括服務xml、一個接口和它的實現類;客戶端基礎代碼包括一個與提供端接口相同的接口,如果提供端發布了值對象,則有與提供端相同的值對象,如果提供端發布了復雜類型的綁定,則有與提供端相同的綁定文件。在最原始的配置文件及java類編寫方式——手工編寫時,從業務邏輯出發,我們不但需要考慮配置文件的配置方法,還要遵循Web Service的相關規范,一行一行的編寫,難免顧此失彼,既耗時也容易出錯。

Web Service插件改變了這種情況,它使得Web Service的實現極其簡單,大部分基礎代碼都可以由它幫你完成。它在提供端使程序員輕松的配置一些基本信息,就可以生成提供端代碼。而在客戶端,通過給插件一個WSDL文件便可以生成客戶端代碼。這種操作極大地減少了編碼的工作量并且在最大程度上保證了java類和配置文件的一致性、同步性,提高了編碼的質量,目前是國外非常流行的開發方式之一。Web Service插件對Web Service的Xfire框架有很好的支持,極大地提高了開發效率。

根據Web Service插件所提供的功能,我們將其分為兩部分:Web Service提供端插件和Web Service客戶端插件。Web Service提供端插件的功能為把一個普通的java文件轉換為一個web服務,并自動生成它的配置文件。具體功能為:讀取一個普通的java文件,用戶根據插件UI信息配置相應數據項并可以根據發布信息接口修改模板,從而生成web服務的java類和配置文件。Web Service客戶端插件的功能為解析WSDL文件,生成客戶端代碼,從而客戶端可以對提供端進行訪問。具體功能為:解析WSDL文件,用戶根據WSDL文件信息接口修改模板,從而生成客戶端代碼。Web Service提供端插件和Web Service客戶端插件分別針對WS-Security的三種安全模式給出相應的配置項,根據用戶所選的模式和配置信息生成相應的代碼和密鑰。

Web Service提供端插件包括的模塊有:解析java類及其方法的模塊,根據java類及方法配置生成web服務的接口及配置文件的模塊,根據用戶選擇的Web Service提供端的安全模式自動生成安全類、配置文件和密鑰的模塊。Web Service客戶端插件包括的模塊有:解析WSDL文件的模塊,根據解析后WSDL文件的信息生成客戶端代碼的模塊,根據用戶選擇的Web Service客戶端的安全模式自動生成安全類、配置文件和密鑰的模塊。

3.2 Web Service插件的算法設計

(1)代碼自動生成是由FreeMarker模板機制和我們編輯的代碼生成算法完成的,由于FreeMarker是一個強大的模板引擎,所以我們采用它的模板機制,運用我們的算法就可以完成Web Service插件的代碼生成。從而根據插件頁面傳入的信息就可以生成提供端和客戶端的java類、xml文件、屬性文件等。

具體算法如下:

s0:獲取Web Service插件用戶填入的Web Service配置信息,將其轉換為值對象。

s1:初始化欲生成的文件的輸出路徑和各個模板路徑。

s2:將Web Service配置信息值對象放入到Map中。

s3:循環每一個模板。

s31:將Map中的value和key放入到哈希表中。

s32:根據模板名將每個模板轉換為FreeMarker的模板類。

s33:FreeMarker模板類將模板中的key與hash表中的key對應上,從而將與key對應的value值放入模板中相應位置。

s34:通過java.io.BufferedWriter將文本寫入字符輸出流并緩沖字符。

s35:將緩沖字符輸出流轉換為字符串,并根據文件名將文件寫入。

s36:根據欲生成的文件的輸出路徑,生成該文件。

s37:根據文件全名作截取,如webservice.xml截取完為xml,從而判斷文件類型。如果文件類型為java文件,則跳s38,如果文件類型為xml文件,則跳s39。

s38:java文件格式化。

s39:xml文件格式化。

(2)獲取java類中的類名、方法名、方法參數和返回值等信息是我們利用了類反射機制和類裝載機制。通過它實現了讀取java類中的包名、類名、屬性、各個方法的方法名、方法參數、方法返回值等,從而完成了解析java類及其方法的模塊。

具體算法如下:

s0:傳入Web Service提供端工程路徑,創建類裝載器。

s1:類裝載器把Web Service提供端工程的java類型讀入Java虛擬機中產生一個代表該類型的二進制數據流。解析這個二進制數據流為方法區的內部數據結構。?在堆上創建一個表示該類型的java.lang.Class類的實例。

s2:根據類反射機制,傳入需要獲取信息的類名,便可以獲取java類中的任何信息。

4 Web Service插件的實現

根據Web Service插件的設計,我們實現了基于Eclipse的Web Service插件。如圖2所示,為Web Service提供端插件的界面,通過在界面中輸入Web Service提供端的基本信息和配置Web Service安全信息,便可以生成提供端接口、實現類、綁定文件、服務配置文件及安全文件等文件。如圖3所示,為Web Service客戶端插件的界面,通過在界面中輸入WSDL文件路徑及配置Web Service客戶端安全信息,客戶端插件便可以根據WSD文件的內容生成相應的接口、實現類等文件,根據配置的安全信息生成客戶端安全文件等。

5 結束語

Web Service插件界面友好,風格統一,而且在Web Service提供端和客戶端都提供了相應的插件。它可以方便的使應用程序跨平臺和跨網絡進行通信。這樣不僅可以縮短開發周期,大大方便了用戶的使用,還可以減少代碼的復雜度,并增強整個應用程序的可維護性。應用必須在Eclipse平臺中運行, 這是它的局限性。

參考文獻:

[1]Vinoski,S..Web service references[J].IEEE internet computing,2005,9 (2):94-96.

[2]Dwight Deugo.Extending Eclipse[J].Application Development Trends,2003,10(6):63-64.

[3]Mike Mccullough.Developing Eclipse Plugins[J].Linux Journal,2006,(143):90-95.

[4]Eric Armstron. Java Web Service Modeling Ontology[M].Pearson Education,2003.

[5] Dumitru Roman,Uwe Keller,Holger Lausen. Web Service Modeling Ontology[J].Applied Ontology,2005,1(1):77-106.

[6]邵京平,智明,柳先輝.ASP平臺上基于Web Service的插件技術的實現[J].計算機應用研究, 2005,12(5):90-92.

項目編號:長工大科合字第2007129。

(作者單位:吉林長春工業大學傳媒學院)

主站蜘蛛池模板: 欧美国产菊爆免费观看| 蜜桃视频一区二区| 亚洲伊人天堂| 亚洲手机在线| 鲁鲁鲁爽爽爽在线视频观看 | 一区二区日韩国产精久久| 国产精品一区二区不卡的视频| 一级毛片在线直接观看| 国产综合无码一区二区色蜜蜜| 日韩天堂在线观看| 亚洲黄色片免费看| 久久永久视频| 国产精品无码作爱| 国产精品19p| 波多野结衣无码视频在线观看| 欧美成人区| 日韩成人午夜| 全部无卡免费的毛片在线看| 九九久久99精品| 五月婷婷导航| 全色黄大色大片免费久久老太| 免费观看精品视频999| 最新国产精品第1页| 国产精品香蕉| 亚洲色图欧美| 2021天堂在线亚洲精品专区| 熟妇丰满人妻av无码区| 久久黄色视频影| 免费在线国产一区二区三区精品| 久久综合伊人 六十路| 国产黄色爱视频| 91外围女在线观看| 国产香蕉在线视频| 亚洲高清在线天堂精品| 激情视频综合网| 久久99热这里只有精品免费看 | 九九精品在线观看| WWW丫丫国产成人精品| 国产精品30p| 亚洲永久色| 国产精品不卡永久免费| 欧美专区日韩专区| 午夜日韩久久影院| 亚洲AV无码一区二区三区牲色| 国产成人久久综合一区| 人妻夜夜爽天天爽| 拍国产真实乱人偷精品| 欧美www在线观看| 又爽又大又黄a级毛片在线视频| 99这里只有精品免费视频| 五月婷婷激情四射| 日韩美一区二区| 丝袜无码一区二区三区| 国产精品自拍合集| 亚洲国产精品无码久久一线| 成人一区在线| 国产精品网址在线观看你懂的| 欧美国产精品不卡在线观看| 亚洲va欧美ⅴa国产va影院| 国内精品小视频福利网址| 97超碰精品成人国产| 她的性爱视频| 国产成人一区免费观看| 亚洲人成网线在线播放va| 四虎成人精品| 亚洲日韩久久综合中文字幕| 狠狠v日韩v欧美v| 日本久久网站| 国产9191精品免费观看| 国产成人毛片| 亚洲色欲色欲www网| 99热国产这里只有精品无卡顿"| 免费国产好深啊好涨好硬视频| 欧美日韩一区二区三区在线视频| 日韩国产欧美精品在线| 色综合a怡红院怡红院首页| 波多野结衣第一页| 免费人欧美成又黄又爽的视频| 国产极品美女在线播放| 欧美色图第一页| 久久久精品无码一二三区| 国产精品护士|