您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 本体为基础之服务动态分合与执
以知識本體為基礎之服務動態分合與執行平台之建構施學琦侯克林沈佳璇國立雲林科技大學國立雲林科技大學國立雲林科技大學資訊管理系資訊管理系資訊管理系shihhc@yuntech.edu.twg9323704@yuntech.edu.twg9323702@yuntech.edu.tw摘要緃觀現今網路上的資源充斥,如何有效整合分散於各地的資源成為一個重要的議題,為了整合鬆散耦合的資源所發展的服務導向架構(Service-OrientedArchitecture,SOA)是普遍被接受的方法之一,網路服務(Webservice)的相關技術與標準便是以SOA架構為基礎發展而成的。在本篇論文中,介紹一個結合知識本體(ontologies)以及SOA所發展的網路服務整合平台,並且清楚的定義由領域知識本體(domainontologies)、流程知識本體(taskontologies)與網路服務組成的網路服務組合架構的設計,希望藉由domainontologies以及taskontologies的協助,加強網路服務媒合的彈性以及提高網路服務的利用率。本研究也利用BPEL4WS(BusinessProcessExecutionLanguageforWebServices)以及BPWS4JExecutionEngine做為動態網路服務複合流程描述以及執行的環境。最後則將執行成功的網路服務複合(orchestration)記錄予以儲存,以後只需針對先前從未提出過的請求進行拆解與組合的動作即可,以提升系統執行效能。關鍵詞:服務導向架構、網路服務、知識本體、BPEL4WS、網路服務媒合1.前言服務為網路上的運算資源,它的產生促使網路資源從靜態的資料轉變為動態的服務,使網路功能性越豐富。服務導向架構的發展提昇了運算資源的使用率,服務為此架構運行的基本單位,服務的功能性能滿足使用者的需求,架構的運行方式,首先是服務請求者將服務請求訊息發送給服務提供者,接著提供者便會將服務執行後的結果訊息回傳給請求者。現行的網路服務技術為能實現服務導向架構的技術,UDDI(UniversalDescription,Discovery,andIntegration)為現行的服務仲介技術,主要的任務為媒合提供者的網路服務給請求者。服務提供者與以WSDL(WebServiceDescriptionLanguage)描述的服務資訊會發佈到服務註冊處(UDDIRegistry),讓請求者能藉由服務仲介發現自身所需要的服務,增加搜尋服務的便利性,於UDDIRegistry搜尋網路服務時常是以關鍵字搜尋方式進行,使得功能相近的網路服務不易被搜尋出來。網路服務的動態整合可以被分成三個主要任務,即(1)動態網路服務的發現與選擇、(2)動態網路服務的拆解與組合、與(3)動態網路服務複合的流程描述、執行與監督。本研究是要發展一個Ontologies為基礎的網路服務動態分合之架構,希望藉由網路服務流程的抽象化配合語意搜尋機制,以提高網路服務的利用率以及網路服務需求端的滿意度。為了達成此目標,本研究發展domaintaskontologies、applicationdomaintaskontologies、taskconceptontology、以及Webservices,且詳細定義在執行網路服務動態分合所扮演的角色以及相互之關係。除此之外,因應網路服務數量的日益龐大,不管在網路服務媒合過程或是網路服務複合流程描述的產生、發佈與執行也變的相對複雜,因此本研究配合網路服務流程規範(BPEL4WS)以及網路服務流程執行引擎(BPWS4J)的使用,希望達到網路服務複合的動態產生、部署、執行。這樣的做法不但簡化網路服務需求端的工作程序,也讓網路服務整合的工作變的容易且有效率。最後將先前網路服務複合記錄予以儲存,便可達到重覆使用的目的,以省去媒合的動作。本研究的應用範圍,適用於以網路服務為主所建構的分散式平台,在此平台上可以藉由定義taskontologiesframework中相關的taskontologies,以增進網路服務的利用率以及簡化網路服務需求端的工作程序,並且促進網路服務的整合與應用。2.文獻回顧網路服務組合,是以網路上現有的網路服務為基礎,重覆運用並組織,藉此產生新的網路服務功能[6]。如果將網路服務組合應用於企業流程上,網路服務組合能夠處理複雜的網路交易,例如金融財務、單據及交通資訊等網路服務,網路服務組合能夠作為企業與企業之間合作的溝通方式[3]。網路服務的類型可分為三種:基礎網路服務、組合網路服務及網路服務社群[5][12]。Yang與Papazoglou指出組合網路服務可分為五個階段:規劃、定義、排程、建構、及執行[11],Rao與Su認為自動化的組合網路服務可分為五個階段:(1)將網路服務資訊儲存在服務貯藏處,(2)將服務請求訊息轉譯為程序產生器能處理的訊息,(3)規劃網路服務組合,(4)評量最佳的組合規劃,(5)執行網路服務組合[10]。以服務使用者的觀點,則可將組合服務的需求規格分為:程序導向規格與界面導向規格[7];Yang與Pagazoglou以網路服務執行方式為觀點認為組合網路服務的主要的分類為:探索式組合、半固定式組合及固定式組合[11]。Benatallah等指出應用於組合網路服務的執行方式分有中央管理模式與點對點執行模式[4]。網路服務發現技術能輔助動態的組合網路服務[4],現行網路服務的資訊會以WSDL描述並發佈到UDDIRegistry以提供使用者發現到需要的網路服務,此方法的缺點是不易搜尋到功能相近似的網路服務,為此,Paolucci等利用能夠用來描述網路服務的知識本體DAML-S,將DAML-S描述網路服務的格式對應至UDDI的tModel[8],使功能相近似的網路服務更容易被發現與獲得。另外,Paolucci等比較網路服務的功能性與請求者期望網路服務之功能,將兩者相近的程度區分為:exact、PlugIn、subsumes及fail[9]。Balke與Wagner則是以數值表示同一個知識本識內兩個不同概念之間的距離長度,以決定兩者相近的程度,此數值表示方式能夠使用於多個知識本體內的概念須同時進行比較的情狀[2]。另外,Balke與Wagner以使用者導向為考量,利用usagepattern描述使用網路服務的時機,userprofile描述使用者對網路服務的偏好值,讓發現到的網路服務能達到使用者個人化的需要[1]。3.方法架構說明本節針對系統的架構進行介紹,在本研究所提的系統架構中,主要是以服務動態分合架構為基礎,發展ServiceIntegrationManager以及ServiceMatchmaker二個部份,如圖1所示。底下則對系統中的Roles(ServiceRequester、ServiceProvider和DomainExpert)、服務動態分合架構的設計、ServiceIntegrationManager、ServiceMatchmaker以及Repository等作說明與討論。圖1系統架構圖3.1Roles•ServiceProvider:網路服務的提供者提供需求的一方。必須針對所部署的網路服務撰寫描述該網路服務的WSDL檔案,並且利用將網路服務和此WSDL檔案,佈署(deploy)在網路上,當網路服務的需求端知道網路服務的位址後,就可以取得該WSDL檔案,解析其內容,並且呼叫該網路服務。以上所述和一般實作網路服務架構時並無不同,在本研究中,不同的是網路服務提供者在進行網路服務的註冊動作時,必須將該網路服務的介面以及功能和domainontologies以及domaintaskontologies鍵結在一起,做為將來進行語意搜尋以及網路服務動態分合的基礎。•ServiceRequester:網路服務的需求端(請求者)提出需求的一方。在本研究所建構的平台中,需求端可經由架構在網路上的使用者介面提出任務需求,也就是指定一個taskconceptontology的一個任務概念節點,交由ServiceIntegrationManager中的TaskGranularityResolutionModule,以找出相關的輸出介面資訊,待需求端選擇欲求得的輸出介面的概念後,並且輸入需要的輸入介面值,便可再交由ServiceIntegrationManager,最後由ServiceIntegrationManager中的ServiceOrchestrationExecutionModule傳回執行結果,並且顯示於使用者介面。•DomainExpert:領域專家本研究所發展的domainontologies以及taskontologiesframework,必須經由領域專家來進行設計與建構的動作,也就是說領域專家必須擔任OntologiesEngineer的工作,以建立專業的領域流程知識。3.2服務動態分合架構的設計本研究所提出的taskontologiesframework如圖2所示,applicationdomaintaskontologies表示抽象化的任務流程,其中的每一節點表示抽象化的任務項目,稱為applicationtaskconcept,而不是表示網路服務本身。另一方面,本研究以domaintaskontologies以及applicationdomaintaskontologies來表示抽象化的工作流程。首先利用domaintaskontologies來表示一般化的任務流程(例如:訂票),也利用applicationdomaintaskontologies來表示特殊化的任務流程(例如:訂機票、訂高速鐵路票),在此的特殊化指應用於特定應用而言。本研究認為domaintaskontologies主要是領域中任務概念的集合,而每一個任務概念,稱為domaintaskconcept,都會有許多實體的網路服務與之對應。而applicationdomaintaskontologies則是表示領域中的特定應用而言,並且當中的每一節點都是domaintaskontologies流程概念的特殊化。圖2TaskOntologiesFramework不同於Majithia,Walker&Gray(2004)所提的抽象化流程表現,本研究主要利用applicationdomaintaskontologies以及domaintaskontologies來表示流程抽象化的部份,並且實作符合domaintaskontologies內domaintaskconcept的網路服務,這樣一來不僅可以找到特定抽象化工作流程(applicationdomaintaskontology)下的網路服務外,利用domaintaskontologies與applicationdomaintaskontologies的一般化與特殊化的關係,尚可找到實作位於domaintaskontologies中相同domaintaskconcept的網路服務,如此將有利於未來在進行網路服務自動整合時,媒合動作的進行,也藉此一般化與特殊化的對應關係,擴大網路服務搜尋空間,提高網路服務應用的彈性。有關TaskOntologiesFramework中各個單元的說明,如下所示:•DomainOntologiesDomainontologies描述特定領域的靜態領域概念並且定義它們之間的關聯,可能的domainontologies包含旅遊相關的知識本體,地理的知識本體等。在domainontologies內的概念稱為domainconcept,是作為網路服務的輸入參數與輸出參數介面的定義。•TaskConceptOntologyTaskconceptontology主要協助指到對應的applicationdomaintaskontology。taskconceptontology內的每一個任務概念節點,稱為taskconcept,都會指向一個唯一的applicationdomaintaskontology或是
本文标题:本体为基础之服务动态分合与执
链接地址:https://www.777doc.com/doc-1595796 .html