《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于JAVA實現基于本體的Web服務發現

基于JAVA實現基于本體的Web服務發現

2009-02-02
作者:張 釙 朱 倩 李涓子 王克宏

1、引言?

隨著INTERNET應用的普及和軟件技術的進步,基于Web的網絡計算模式或INTERNET計算模式得到了廣泛的重視和應用。目前,面向Web應用的三層結構(或多層結構)、構件化的商務邏輯封裝、基于XML和Web Services的自動電子商務等理論和技術深入人心。而現有的這些Web技術并不能真正解決人們期待已久的智能搜索引擎、智能信息代理、智能交易代理等基于Web的個性化、智能化的服務。這正是語義Web(Semantic Web)要解決的問題。語義Web是對當前Web的一種擴展,它允許用戶更簡便地查找、共享以及組合信息。用本體來改進目前Web Services,使之成為語義Web服務(Semantic Web Services),正是目前國際上語義Web研究中的共識。基于此,W3C,DARPA等研究機制定了基于本體的,應用于Web的技術標準,如RDF、DAML和OWL等。?

同時,基于語義的自動Web Services發現機制是自動Web Services協作機制中的重要一環,。提出這個問題的關鍵因素來源于Web Services本身的發展。因為隨著Web Services的不斷走向實際應用,所提供的Web Services也越來越豐富,簡單的基于UDDI的Web Services發現機制已經不能滿足這種不斷發展的需要。?

本文介紹的正是這樣一種Web Services發現系統,此系統采用Struts基礎構架實現,并充分利用了已經取得成果WODOS(Web Oriented Distributed Ontology System),展現了JAVA技術的可擴展性可重用性。?

2、Struts介紹?

Struts是Apache公司Jarkata工程提供的開發Web應用程序的框架(Framework)。它具有組件的模塊化,靈活性和重用性優點,同時簡化了基于MVC的Web應用程序開發。Struts框架基于Java技術,Web應用程序開發人員通過Struts可以充分利用面對對象設計、代碼重用以及“編寫一次、到處運行”的優點。除此之外,Struts主要對應用程序頁面顯示、表示和數據的后臺處理代碼進行了抽象和分離,使得模塊易于劃分和管理,代碼易于維護。?

3、用MVC分析Struts?

接下來從MVC(Model-View-Control)角度觀察Struts框架中的組件:

1 Struts概覽

?????? MVC模式劃分:

*???????? 視圖

Struts采用JSP作為視圖。JSP頁面使用定制標簽,全部表單元素都使用定制標簽? 編碼,這樣頁面能夠很方便同控制器交互。每個表單都通過映射JSPServlet的請求這個方式指向一個控制器的特定入口。同時,Struts包含擴展自定義標簽庫,可以簡化創建完全國際化用戶界面的過程。

*???????? 控制器

Struts中,基本的控制器組件是Struts中的Action,用Struts提供基類,負責視圖和模型的交互。控制器的入口都由struts-config.xml的配置文件設置(由ActionMapping類進行描述)。該配置文件將來自JSP的請求映射到一個Sevlet類進行相應的處理,并制定下一個視圖的位置。

*???????? 模型

Struts框架中,模型分為兩個部分:系統的內部狀態和可以改變狀態的操作(事務邏輯)。內部狀態通常由一組ActinFormJavaBean表示。其中JavaBean有兩種作用:一是存儲來自客戶端的請求(代表是繼承ActionForm的子類);二是保存查詢結果集,用于頁面顯示(代表是用戶自定義的JavaBean)。根據設計或應用程序復雜度不同,這些Bean可以是自包含的并具有持續的狀態,或只在需要時才獲得數據(從某個數據庫)。大型應用程序通常在方法內部封裝事務邏輯(操作),這些方法可以被擁有狀態信息的bean調用;小型程序中,操作可能會被內嵌在Action類,它是Struts框架中控制器角色的一部分,僅當邏輯簡單時適合。

4Struts框架應用到WSIDS

4.1 WSIDS登錄主界面

圖2 WSIDS登錄主界面

從上圖可以看到,進入WSIDS時,用戶可以選擇登錄或是進行注冊。如果是WSIDS用戶登錄,需要輸入用戶名和密碼,驗證合法才能進入功能操作主界面。這個界面對應了Struts框架里的一個ActionForm——loginForm,它由用戶名(username)和密碼(password)組成(這里本論文使用Struts中的html標簽),并帶有隱含值actionLogin,用于判斷用戶選擇的是“登錄”還是“注冊”;同時,loginForm對應的動作(action)是login.do,(Struts中的轉向頁面均用.do表示)并且用戶提交登錄信息時,會進行有效性驗證。?

4.2 Struts配置?

將Struts組件結合到一起靠配置文件struts-config.xml,它默認位置是WEB-INFstruts-config.xml,其中定義了全局轉發、ActionMapping類、ActionForm bean和JDBC數據源。下面結合WSIDS登錄,具體論述上述問題:?

n???????? 配置全局轉發?

全局轉發用來在JSP頁之間創建邏輯名稱映射。轉發都可以通過對調用操作映射的實例來獲得。比如,我們設置了名為“notLogin”的全局轉發名字,作用是一旦系統發現用戶沒有合法登錄就試圖進行操作時,激發的Action就會ActionMapping.findForward(“notLogin”);把用戶操作的頁面轉向NotLogin.htm,避免其進行非法操作。?

n???????? 配置ActionMapping

ActionMapping對象幫助進行框架內部的流程控制,它們可將請求URI映射到Action類,并且將Action類與ActionForm bean相關聯。ActionServlet在內部使用這些映射,并將控制轉移到特定Action類的實例。所有Action類使用execute方法(Struts1.1)實現特定應用程序代碼,返回一個ActionForward對象,其中包括響應轉發的目標資源名稱。由于WSIDS用戶分三種角色,不用角色登錄進入不同的功能操作主界面,因此當用戶的用戶名和密碼驗證成功,就會從數據庫中查詢出其角色,根據角色轉向下一頁面。?

n???????? 配置ActionForm Bean

ActionServlet使用ActionForm來保存請求的參數,這些bean的屬性名稱與HTTP請求參數中的名稱相對應,控制器將請求參數傳遞到ActionForm bean的實例,然后將這個實例傳送到Action類。比如Login.jsp中頁面變量username和password在LoginAction中:

可直接獲得變量值,便于在Action中進行操作。?

n???????? 配置JDBC數據源

元素可以定義多個數據源。比如WSIDS使用了MySQL數據庫的org.gjt.mm.mysql.Driver驅動程序,連接到名為kpsdb數據庫上。?

n???????? 配置消息資源

Struts框架對國際化的支持是使用標記,以及使用java.util數據包中定義的Locale和ResourceBundle類來實現Java2平臺對這些任務的支持。定義資源文件,其后綴名為properties,需要存儲在類的路徑下,而且它的路徑要作為初始化參數傳送給ActionServlet。?

為了實現國際化,所有的資源文件必須都存儲在基本資源文件所在的目錄中。基本資源文件包含的是用默認地區語言-本地語言編寫的消息。比如WSIDS的消息資源配置文件為ApplicationResources.properties,其對應的其他特定語言編寫的資源文件名稱就應該是ApplicationResources_xx.properties(xx為ISO編碼,如英語是en)。?

WSIDS的資源配置文件ApplicationResources.properties中,其中和登錄面相關的資源是:?

具體在Login.jsp中,作如下調用:

這樣做無疑使頁面所顯示的資源進行維護變得簡單。?

4.3其它頁面

圖3 管理員操作主頁面和提交加入語義注解的WSDL文件頁面

圖4 瀏覽WSIDS服務庫頁面和基本本體瀏覽頁面

圖5 WSIDS用戶注冊頁面和增加規則頁面

圖6 WSIDS服務查詢請求界面和服務查詢結果界面

5、WODOS介紹?

WODOS(Web Oriented Distributed Ontology System),即面向web的分布式本體系統。它本身是完全采用JAVA編寫的一個語義Web支撐平臺,具有以下功能:支持中英文,可以將本體信息存于關系型數據庫中,支持RDF/OWL文件的導入導出,支持RQL查詢,第三方軟件可以通過OdoAPI進行操作。還引入推理機制,可以對存于WODOS中的本體事實施以規則(基于F-Logic),并在這些規則的基礎上進行推理。WODOS建立了統一的用戶界面,可以把對它的各種操作(如原有的RQL查詢、RDF文件導入導出和新加入的F-Logic操作等)集成在一起。?

WSIDS系統就是基于WODOS系統提供的語義Web基本功能,在Web Services發現的應用方向上進行了一個有機的結合,這也充分體現出JAVA本身的可擴展性和可重用性。?

6、結束語?

本文通過對WSIDS系統的介紹,展示了Struts基礎構架的應用,并且基于已有的成果WODOS展示了JAVA技術的可擴展性和可重用性。并且由于JAVA的跨平臺性,本系統可以運行于Linux、Windows的各種操作系統,采用Struts使得其操作簡單,易于測試和維護。?

參考文獻?

1.? 徐劍軍等,“基于本體的智能Web服務”,計算機科學,2002,第29卷第12期:92-94

2.? James Hendler. “Agents and the Semantic Web” IEEE Intelligent Systems March/April 2001:30-37

3.? Jeff Heflin and James Hendler. “A Portrait of the Semantic Web in Action” ?IEEE Intelligent Systems March/April 2001:54-59

4.? Sheila A. McIlraith, Tran Cao Son and Honglei Zeng. “Semantic Web Service” IEEE Intelligent Systems March/April 2001:46-53

5.? Tim Berners-Lee, James Hendler and Ora Lassila. “The Semantic Web”,SCIENTIFIC AMERICAN,May,2001:34-43?

6.? Omair Javed. “Semantic Web-Mobile Internet Technical Architecture”. Institute of Software Systems, Tampere University of Technology, 2003.5

7.? T. Sollazzo, S. Handshuch, S. Staab, and M. Frank: Semantic Web Service Architecture– Evolving Web Service Standards toward the Semantic Web. Proceedings of the Fifteenth International FLAIRS Conference, Pensacola, Florida, May 2002.

8.? Oussama Kassem Zein and Yvon Kermarrec. “An Approach For Describing/Discovering Services and For Adapting Them to the Needs of Users in Distributed Systems”. American Association for Artificial Intelligence,2004.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 国产一级毛片一区二区三区 | 亚洲视色 | 91人人视频国产香蕉 | 91在线免费公开视频 | 国产美女在线一区二区三区 | 996re免费热在线视频手机 | 91热久久免费频精品黑人99 | 精品香蕉99久久久久网站 | 亚洲欧美另类自拍第一页 | 亚洲国产精品自在现线让你爽 | 波多野结衣在线观看高清免费资源 | 黄色毛片视频在线观看 | 91视频国内| 久久爰www免费人成 久久曰视频 | 国产三级视频网站 | 午夜三级a三级三点在线观看 | 香蕉网影院在线观看免费 | 成人爽爽大片在线观看 | 2022国产精品网站在线播放 | 国产乱码一区二区三区四 | 国产亚洲精品一区二区三区 | 欧美成人在线视频 | 国产成人黄网在线免 | 特级深夜a级毛片免费观看 特级生活片 | 成年人网站免费观看 | 国产六区| 亚洲国产欧美精品 | 国产主播大尺度精品福利 | www.一区二区三区.com | 免费人成在观看 | 一级片a| 欧美精品三区 | 亚洲天堂网在线视频 | 久久国产精品视频 | 国产亚洲精品久久久久久久网站 | 在线播放一区二区精品产 | 国产自一区 | a级毛片免费观看视频 | 免费看成人频视在线视频 | 精品国产区一区二区三区在线观看 | 日本中文字幕不卡免费视频 |