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。

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

主站蜘蛛池模板: a毛片免费看| 日韩欧美在线观看| 国产欧美日韩视频怡春院| 中文字幕 欧美日韩| 精品人妻一区二区三区蜜桃AⅤ| 国产毛片久久国产| 国产精品中文免费福利| 999精品视频在线| 欧美成人精品欧美一级乱黄| 欧美精品成人一区二区在线观看| 国产免费网址| 国产在线精品美女观看| 欧美一区国产| 奇米精品一区二区三区在线观看| 久久婷婷国产综合尤物精品| 2024av在线无码中文最新| 91成人在线观看| 在线免费不卡视频| 亚洲床戏一区| 国产成人亚洲精品色欲AV| 91精品在线视频观看| 欧美www在线观看| 99偷拍视频精品一区二区| 国产成人精品一区二区| 97国产精品视频人人做人人爱| 久久天天躁狠狠躁夜夜2020一| 九九热免费在线视频| 亚洲天堂伊人| 成人福利在线视频| 国产美女在线观看| 毛片免费在线视频| 国产美女在线观看| 亚洲男人在线| 免费毛片网站在线观看| 欧美日在线观看| 国模视频一区二区| 免费啪啪网址| 久久精品娱乐亚洲领先| 一本综合久久| 激情视频综合网| 日韩二区三区无| 伊人丁香五月天久久综合| 蜜臀AV在线播放| 久久香蕉国产线| 亚洲v日韩v欧美在线观看| 香蕉久久国产超碰青草| 国产成人精彩在线视频50| 国产亚洲欧美在线中文bt天堂 | 欧美色亚洲| 国产av剧情无码精品色午夜| 伊人久久久久久久| 丝袜久久剧情精品国产| 五月激情婷婷综合| 亚欧美国产综合| 91在线丝袜| 91系列在线观看| 欧美啪啪视频免码| 尤物特级无码毛片免费| 97视频在线精品国自产拍| 国产久操视频| 最新日本中文字幕| 久久精品66| 找国产毛片看| 国产无遮挡猛进猛出免费软件| 国产激情影院| 久久99国产综合精品女同| 亚洲人成网址| 亚洲欧美日韩动漫| 国产福利一区在线| 色综合网址| 国产微拍一区| 中国丰满人妻无码束缚啪啪| 亚洲天堂区| 国产无码制服丝袜| 思思热在线视频精品| 亚洲欧州色色免费AV| 亚洲AV电影不卡在线观看| 日韩人妻无码制服丝袜视频| 中文无码日韩精品| 欧美精品v| 高清无码手机在线观看| 美女啪啪无遮挡|