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。

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

主站蜘蛛池模板: av免费在线观看美女叉开腿| 欧美乱妇高清无乱码免费| 91精品福利自产拍在线观看| 亚洲一区二区日韩欧美gif| 精品国产三级在线观看| 不卡色老大久久综合网| 午夜在线不卡| 97精品久久久大香线焦| 中文国产成人精品久久一| 女人av社区男人的天堂| 国产成人盗摄精品| 黄色在线不卡| 巨熟乳波霸若妻中文观看免费| 久久不卡国产精品无码| 国产十八禁在线观看免费| 久久99国产视频| 亚洲一区免费看| 国产成人91精品免费网址在线| 91亚洲免费视频| 国产成人夜色91| 4虎影视国产在线观看精品| 在线无码私拍| 四虎国产精品永久一区| 91激情视频| 中文字幕第1页在线播| 免费一极毛片| 国产在线精品人成导航| 日韩免费毛片| 亚洲三级电影在线播放| 国产精品成人免费视频99| 日韩精品高清自在线| 婷婷亚洲最大| 91无码视频在线观看| 久久国产拍爱| 免费毛片全部不收费的| 国产美女在线观看| 97成人在线视频| 国产美女精品在线| igao国产精品| 国产一区自拍视频| 国产精品久久久久鬼色| 宅男噜噜噜66国产在线观看| 日本久久久久久免费网络| 精品视频一区在线观看| 成人小视频在线观看免费| 亚洲日本中文综合在线| 久久亚洲国产最新网站| 一级黄色片网| www.91在线播放| 4虎影视国产在线观看精品| 国产专区综合另类日韩一区| 久久天天躁夜夜躁狠狠| 国产精品三级av及在线观看| 欧美日韩在线成人| 国产精品三级av及在线观看| 美女无遮挡拍拍拍免费视频| 国产一区二区人大臿蕉香蕉| 中文字幕在线日韩91| 米奇精品一区二区三区| 国产又粗又猛又爽视频| 三上悠亚精品二区在线观看| 国产jizz| 一级毛片免费播放视频| 亚洲国产成人麻豆精品| 国产乱人伦AV在线A| 国产96在线 | 无码AV动漫| 在线综合亚洲欧美网站| 欧美日韩北条麻妃一区二区| 久久精品国产亚洲麻豆| 色九九视频| 欧美一道本| 国产凹凸视频在线观看| a级毛片一区二区免费视频| 超薄丝袜足j国产在线视频| 四虎永久免费地址| 99资源在线| 不卡无码h在线观看| 97视频精品全国免费观看| 欧美精品在线看| 天天综合网在线| 亚洲最大福利网站|