面向服務設計的Web服務組合系統

2021-04-14 00:08:39 字數 2767 閱讀 4044

現有的web服務技術和體系結構關注於如何開發使用xml技術和網際網路的整合應用,其核心是用標準的資訊和協議來提供web服務的發布、定位和呼叫等互動功能。但是,完成由各種不同的web服務提供者提供的各種web服務組成的web服務組合工作,實現真正的跨越企業邊界整合業務流程,僅僅使用標準的資訊和協議提供簡單的互動功能是遠遠不能滿足要求的[1]。wsdl基本上是與狀態無關的,因為該語言不知道操作之間的狀態。它所提供的狀態的概念是在請求-響應或者請求-響應操作中傳送和接受訊息之間的狀態。任何支援web服務組合的技術都將必須為過程記錄狀態,只有記錄狀態,才能確定下一步將要做什麼,這將比簡單的請求-響應複雜得多。

在web服務設計階段,包含由各種不同的web服務提供者提供的各種web服務組成的web服務組合,對消費者來說越來越有用,而軟體開發人員必須面對如何從各種現有的web服務或web應用系統中根據使用者的要求摘取出資料,再加上運算、整合並返回給使用者[2]。因此,迫切需要有關技術來解決如何開發乙個整合運算的web應用問題,以便能夠建築在原來的web服務之上,提供整合的服務,而不需要使用特定的開發工具或是程式語言,也不需要重複的開發。這樣,對整合各種異構動態的web服務的web服務組合技術的需求將顯得尤為突出[2]。

為解決web服務組合問題,一些研究者和系統開發商使用一些商業的協議來建立web服務組合[1-3],如ibm的wsfl,微軟的xlang,ibm、微軟以及bea systems等公司將其流程語言合併成為的一種新的協議bpel4ws]。這些協議通常都基於現有的產品(例如:wsfl幾乎就是ibm的flowmark/mq series workflow 語言的乙個拷貝),像組合語義、表現力以及適用性等更加基本的論點及問題在其中沒有獲得其應有的關注。另一些研究者從服務模型角度研究web服務組合技術[4-5],如eflow、cmi等,這些研究主要針對組合服務的可配置性以及從服務實現中分離出服務介面的技術,對web服務動態組合的語義異構性和web服務動態性關注不夠,而且缺少對web服務進行語義搜尋的支援。還有一些研究者以傳統的工作流整合技術為基礎來研究web服務組合技術[6-7],如interwork、wise、flowjet等,但工作流和面向服務設計的web服務組合面向的目標是不同的,工作流描繪出乙個服務所作的工作,而web服務組合需要模型化乙個服務從外部可見的互操作,實現服務的商務功能,需要提供鬆散耦合的互操作。

對於正在興起和即將廣泛應用的服務設計而言,如何整合各種web服務和web資源來提供新的組合服務以滿足客戶的需要將是成敗的關鍵[2]。當然,服務設計也必須在這些整合的組合服務中提供增值的功能。而在服務設計應用領域,最新趨勢是漸漸脫離緊密耦合系統而朝著鬆散耦合、動態組合成員部件的系統發展。不論是針對簡單的web服務合成應用還是針對複雜的web服務組合應用,所做的工作可以分為語法和語義二個層次[4]:在語法或者實現層(低抽象層)上,主要考慮的是程式設計者的需求。而在語義層(高抽象層)上,需要從web服務的語義或者概念方面的層次上考慮通過隱藏低階別的技術細節來更好地為業務使用者提供服務。本文提出的系統是以已有的語法層面的研究成果和軟體產品為基礎,主要是為語義層上的應用開發提供必要的技術手段和軟體。針對internet的易變性和internet上web服務的自治性、異構性和動態性,該層的使用者希望擁有新一代的web服務組合技術和工具以幫助其快速、動態地建立和維持組合的web服務,這些技術和工具可以幫助使用者在語義層面上發現和組合自治的、異構的、動態的基本web服務或者組合服務,並且是以模型化web服務從外部可見的互操作來實現組合web服務商務功能的web服務互操作機制為基礎,而不是以描繪出乙個組合web服務所作工作的工作流機制為基礎。這樣,企業就可以在多源web服務組合的基礎上,以協同工作的方法整合由不同企業提供的自治的、異構的、動態的web服務,構建分布式的web應用。我們認為支援語義層上構建和整合以服務為嚮導的新一代web應用系統的乙個很有希望的方式之一是:以支援web服務設計為目標,以語義級的web服務互操作機制為基礎,以通過標準資料表示形式和協議來訪問的服務**機制為平台,按照使用者自己的習慣和知識、以統一的web服務檢視為使用者提供自治的、異構的、動態的組合web服務。由於web服務技術的應用正在漸漸脫離緊密耦合系統而朝著鬆散耦合、動態組合成員部件的系統發展,我們認為提供乙個以標準資料表示形式和協議為基礎的語義級的、動態的web服務互操作機制是必要的,以此在語義層上提供對web服務動態組合的支援。由於web服務設計所針對的基本web服務具有很強的自治性和語義異構性,而其面對的使用者又具有非常強烈的個性化需求,為了能夠整合和按不同的使用者視點來組合web服務,為使用者提供統一web服務檢視,需要提供模型化web服務從外部可見的互操作語義的能力,進而生成組合web服務,在生成組合web服務的過程中,可以實現web服務的發現、語義描述、智慧型選取、定義組合規則、web服務組合等功能。

面向web服務設計的web服務組合技術是正在興起和即將廣泛應用的新技術,它將徹底改變提供電子商務和客戶軟體應用的方式[1],是國內外在資訊整合、軟體工程等領域關注的焦點,也是web服務技術的主要發展方向之一[2]。 在當今的網路時代,在各個領域中,對面向web服務設計的web服務組合技術的需求無處不在,下面是幾個典型的領域應用例項:

在**鏈領域,可借助於本領域的研究成果和產品快速獲得商機,即時整合,按需提供最好的服務。

在網路化製造領域,可借助於本領域的研究成果和產品,通過競爭,尋找最佳合作夥伴,通過優化配置,提供最好的產品。

全球資訊檢索領域,根據消費者的不同需求,動態查詢,提供優質服務給消費者。

在該系統上進一步擴充套件和研究,就可以使該系統研究具有廣闊的應用前景。對於各企業開發基於intranet的資訊系統,特別是對於那些已經良好地執行了一種或多種資訊系統的大型企業,在新的網路和資料庫的支援下開發、合併、整合新的intranet上的資訊系統具有更加重要的意義和應用價值。

本文**

服務組合筆記

一 過程驅動 基於工作流的wsc 一般半自動實現 由於參與組合的任一服務不可用都會導致整個組合方案崩潰,因此研究如何克服動態環境的影響,在基於工作流的wsc方法中十分重要,現有的方法是盡可能保證生成的服務組合方案有效。cafise 基於狀態演算的wsc 建立wsc形式化描述和服務狀態模型圖,本質上仍...

服務組合與服務協作的區別

由於服務組合與服務協作都涉及一組服務以及這些服務之間的互動和協作,很容易混淆,在此作一區分 1 在soa中,所謂服務組合是指以流程的方式完成服務的編排 orchestration 服務的編排由乙個中心協調者 如 指揮 完成。這個中心協調者依據流程規劃協調對不同服務的呼叫,以完成既定的業務目標,而參與...

精通soa 構建服務組合

儘管面向服務的體系結構或soa仍然是新生事物,但許多公司正逐步認識到需要採用soa方法作為執行滿足業務需求的解決方案的方法。採用這種方法的乙個關鍵步驟是構建可重用服務的組合。soa 的乙個主要優點是縮小了業務和 it 之間的差距。作為需求收集活動的一部分,將業務和技術需求與機構的與專案有關的主要業務...