两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于bpel引擎組合企業(yè)服務(wù)總線內(nèi)部服務(wù)的方法

文檔序號(hào):7703389閱讀:430來源:國知局
專利名稱:基于bpel引擎組合企業(yè)服務(wù)總線內(nèi)部服務(wù)的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于BPEL引擎組合企業(yè)服務(wù)總線內(nèi)部服務(wù)的方法。
背景技術(shù)
"企業(yè)服務(wù)總線"作為應(yīng)用系統(tǒng)的連接中樞,是構(gòu)筑S0A(Service Oriented Architecture,面向服務(wù)架構(gòu))為基礎(chǔ)的企業(yè)信息系統(tǒng)的必要元素。企業(yè)服務(wù)總 線的定義可以簡單的理解為由中間件技術(shù)實(shí)現(xiàn)并支持SOA的一組基礎(chǔ)架構(gòu), 支持異構(gòu)環(huán)境中的服務(wù)、消息以及基于事件的交互,并且具有適當(dāng)?shù)姆?wù)級(jí)別 和可管理性。通過企業(yè)服務(wù)總線實(shí)現(xiàn)應(yīng)用系統(tǒng)的快速接入,并通過更高級(jí)的事 件、流程處理能力,能夠很好的將企業(yè)信息系統(tǒng)與實(shí)際業(yè)務(wù)協(xié)調(diào)起來,在保證 原有投資的條件下,實(shí)現(xiàn)更加靈活和敏捷的企業(yè)信息系統(tǒng)改造。
BPEL4WS (Business Process Execution Language for Web Service, Web 服務(wù)的業(yè)務(wù)流程執(zhí)行語言,也稱為BPEL)結(jié)合了基于圖形的流程語言和塊結(jié)構(gòu) 的流程語言的優(yōu)點(diǎn),提供了描述業(yè)務(wù)流程的定義語言,描述了時(shí)間、順序、地 點(diǎn)等相關(guān)內(nèi)容。BPEL4WS主要基于WSDL 1.1、 XML Schema l.O和XPath 1. 0規(guī) 范,其中,WSDL消息和XML Schema類型定義提供了 BPEL4WS流程所需的所有 數(shù)據(jù)模型,而所有需要的外部資源和伙伴都被描述為WSDL服務(wù)。在WSDL中, portType使用抽象消息來定義抽象功能,服務(wù)的用戶必須靜態(tài)地依賴于這種抽 象接口。這樣,在基于BPEL4WS的業(yè)務(wù)流程中,外部的Web服務(wù)可像黑盒一樣 來為流程提供所需的服務(wù),而不需要考慮開發(fā)的平臺(tái)、異構(gòu)系統(tǒng)等問題。
一般情況下,企業(yè)服務(wù)總線內(nèi)部組件提供的服務(wù)都是相互獨(dú)立的,這只能適 應(yīng)于小規(guī)模的企業(yè)應(yīng)用。為了能夠適應(yīng)大規(guī)模的企業(yè)應(yīng)用,有必要將企業(yè)服務(wù)總線原有的多個(gè)服務(wù)組合成一個(gè)規(guī)模較大的服務(wù)。在以往的實(shí)踐中,為了將企 業(yè)服務(wù)總線提供的服務(wù)組合到一起,往往是服務(wù)消費(fèi)者根據(jù)需求場景,依次調(diào) 用服務(wù)倉庫中的已有服務(wù)。這種硬編碼的方式將業(yè)務(wù)邏輯寫死,導(dǎo)致系統(tǒng)彈性 差,可復(fù)用性不強(qiáng)。
在S0A的架構(gòu)中,為了把功能邏輯和業(yè)務(wù)邏輯分離,使系統(tǒng)具有最大程度的可 擴(kuò)展性,應(yīng)該把工作流引擎(如BPEL)接入企業(yè)服務(wù)總線,而不是硬編碼的方 式,把原有的相對(duì)小的服務(wù)組合成新的服務(wù)以適用于更大規(guī)模的服務(wù)。把BPEL 引擎接入到企業(yè)服務(wù)總線來組合總線內(nèi)部服務(wù),并把組合后的服務(wù)暴露成Web 服務(wù),使之可以接收SOAP消息,以便外部調(diào)用者調(diào)用,這正是本發(fā)明所要解決 的問題。

發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明提供了一種系統(tǒng)彈性好,可復(fù)用性強(qiáng)的將企業(yè) 服務(wù)總線內(nèi)部服務(wù)進(jìn)行組合的方法。
一種基于BPEL引擎組合企業(yè)服務(wù)總線內(nèi)部服務(wù)的方法,具體包括如下步 驟1)把內(nèi)部服務(wù)暴露成Web服務(wù)為每一個(gè)內(nèi)部服務(wù)定義抽象WSDL,并使 得WSDL端點(diǎn)與內(nèi)部端點(diǎn)一一對(duì)應(yīng);2)部署流程服務(wù)用BPEL語言編寫流程文 件,然后創(chuàng)建一個(gè)包含該文件的部署包部署到總線中,總線便激活一個(gè)Web服 務(wù)來代表該流程服務(wù);3)調(diào)用流程服務(wù)外部消費(fèi)者獲取流程服務(wù)的WSDL, 發(fā)送SOAP消息至BPEL引擎,執(zhí)行流程服務(wù)。
進(jìn)一步的,所述部署包包括部署包描述文件、BPEL流程定義文件、抽象 WSDL文件、具體WSDL文件、端點(diǎn)映射文件和數(shù)據(jù)結(jié)構(gòu)定義文件。
進(jìn)一步的,所述步驟3)調(diào)用流程服務(wù)過程中企業(yè)服務(wù)總線與BPEL引擎間 的消息交換方式包括當(dāng)流程執(zhí)行時(shí)需要調(diào)用總線內(nèi)部服務(wù)時(shí),BPEL引擎把SOAP消息轉(zhuǎn) 換為規(guī)范化消息,發(fā)送至規(guī)范化消息路由器,再由路由器把該消息轉(zhuǎn)發(fā) 給相應(yīng)的內(nèi)部組件;
當(dāng)內(nèi)部組件需要回復(fù)消息給流程時(shí),該回復(fù)消息先發(fā)送至規(guī)范化消 息路由器,再由路由器轉(zhuǎn)發(fā)至BPEL引擎,最后引擎把規(guī)范化消息轉(zhuǎn)換為 SOAP消息供流程使用。 下面對(duì)本發(fā)明做進(jìn)一步描述
本技術(shù)把BPEL引擎接入到企業(yè)服務(wù)總線,使之成為總線的一個(gè)標(biāo)準(zhǔn)內(nèi)部組 件,并利用BPEL引擎對(duì)總線內(nèi)部服務(wù)進(jìn)行組合,最后再把總的流程服務(wù)暴露成 標(biāo)準(zhǔn)Web服務(wù),大致步驟可簡單描述為
1) 把內(nèi)部服務(wù)暴露成Web服務(wù)BPEL引擎是對(duì)Web服務(wù)的組合,但企業(yè)服務(wù) 總線內(nèi)部服務(wù)并不是暴露成標(biāo)準(zhǔn)的Web服務(wù),因此,為了利用BPEL引擎進(jìn) 行服務(wù)組合,必須先把內(nèi)部服務(wù)暴露成Web服務(wù)。
2) 部署流程服務(wù)用BPEL語言編寫流程文件,然后創(chuàng)建一個(gè)包含該文件的部 署單元(SU)或部署集合(SA)部署到總線中,總線便激活一個(gè)Web服務(wù)來 代表該流程服務(wù)。
3) 調(diào)用流程服務(wù)外部消費(fèi)者獲取流程服務(wù)的WSDL,發(fā)送SOAP消息至BPEL 引擎,執(zhí)行流程服務(wù)。在執(zhí)行流程過程中若需要調(diào)用總線內(nèi)部服務(wù)時(shí),BPEL 引擎提供消息轉(zhuǎn)換功能使SOAP消息和規(guī)范化消息進(jìn)行相互轉(zhuǎn)換。
企業(yè)服務(wù)總線與BPEL引擎間的消息交換方式可簡單描述為-當(dāng)流程執(zhí)行時(shí)需要調(diào)用總線內(nèi)部服務(wù)時(shí),BPEL引擎會(huì)把SOAP消息轉(zhuǎn)換為
規(guī)范化消息,發(fā)送至規(guī)范化消息路由器,隨后,由路由器把該消息轉(zhuǎn)發(fā)給相應(yīng)
的內(nèi)部組件;當(dāng)內(nèi)部組件需要回復(fù)消息給流程時(shí),該回復(fù)消息先發(fā)送至規(guī)范化消息路由
器,再由路由器轉(zhuǎn)發(fā)至BPEL引擎,最后,引擎把規(guī)范化消息轉(zhuǎn)換為SOAP消息 供流程使用。
本發(fā)明的優(yōu)點(diǎn)在于
1. 提供一種簡單方便的方式對(duì)企業(yè)服務(wù)總線內(nèi)部服務(wù)進(jìn)行組合,系統(tǒng)彈 性好,可復(fù)用性強(qiáng);
2. 提供一種把企業(yè)服務(wù)總線內(nèi)部服務(wù)暴露成標(biāo)準(zhǔn)Web服務(wù)的方法;
3. 支持流程執(zhí)行過程中的信息持久化及監(jiān)視功能


圖1 BPEL引擎服務(wù)部署包結(jié)構(gòu)圖 圖2 BPEL引擎與企業(yè)服務(wù)總線容器的消息交換示意圖 圖3內(nèi)部端點(diǎn)與Web服務(wù)端點(diǎn)的映射示意圖 圖4規(guī)范化消息與SOAP消息的相互轉(zhuǎn)換示意圖
具體實(shí)施例方式
下面結(jié)合附圖和實(shí)例對(duì)本發(fā)明作進(jìn)一步介紹-圖1描述了 BPEL引擎部署包的結(jié)構(gòu)。
1) 部署包描述文件該文件描述了流程服務(wù)的相關(guān)屬性,部署時(shí),總線容 器會(huì)解析該文件;
2) BPEL流程定義文件該文件是用標(biāo)準(zhǔn)的BPEL語言編寫而成,是總線內(nèi)
部服務(wù)組合的邏輯實(shí)現(xiàn)部分;
3) 抽象WSDL文件這些文件的作用是把總線內(nèi)部服務(wù)暴露成Web服務(wù),這 些WSDL文件只要提供抽象的Web服務(wù)接口定義即可;
4) 具體WSDL文件該文件描述了流程本身所暴露的Web服務(wù),需提供具體的Web服務(wù)操作等;
5) 端點(diǎn)映射文件該文件描述了內(nèi)部服務(wù)端點(diǎn)和Web服務(wù)端點(diǎn)之間是如何 映射的。
6) 其它包括BPEL及WSDL文件中所需的數(shù)據(jù)結(jié)構(gòu)定義(XML schema)等。 圖2描述了 BPEL引擎是如何同總線其它內(nèi)部組件進(jìn)行交互的。
1) 當(dāng)把部署包(包含BPEL流程文件、WSDL文件和Schema文件等)部署到 容器時(shí),BPEL引擎將編譯流程文件,并根據(jù)WSDL文件把相關(guān)的內(nèi)部服 務(wù)暴露成Web服務(wù),最后創(chuàng)建端點(diǎn)映射表,該表將內(nèi)部服務(wù)端點(diǎn)和Web 服務(wù)端點(diǎn)進(jìn)行一一映射。
2) 當(dāng)流程要調(diào)用服務(wù)提供者的服務(wù)時(shí),BPEL運(yùn)行時(shí)構(gòu)造SOAP消息并將其 發(fā)送至消息格式轉(zhuǎn)換工具,該工具根據(jù)SOAP消息中指定的Web服務(wù)端點(diǎn) 在端點(diǎn)映射表中查找相關(guān)的內(nèi)部端點(diǎn),查找到后,根據(jù)SOAP消息的其它 內(nèi)容和查找到的內(nèi)部端點(diǎn)構(gòu)造規(guī)范化消息,并將其發(fā)送至規(guī)范化消息路 由器。路由器根據(jù)消息中包含的內(nèi)部端點(diǎn)信息將消息轉(zhuǎn)發(fā)至相應(yīng)的服務(wù) 提供者,若服務(wù)調(diào)用失敗,將錯(cuò)誤信息照原路徑返回給流程。
3) 當(dāng)服務(wù)消費(fèi)者要發(fā)送消息至流程請(qǐng)求服務(wù)時(shí),消費(fèi)者構(gòu)造規(guī)范化消息并 將其發(fā)送至規(guī)范化消息路由器,路由器根據(jù)消息中的內(nèi)部服務(wù)端點(diǎn)把消 息轉(zhuǎn)發(fā)至BPEL引擎;引擎中的消息格式轉(zhuǎn)換工具在端點(diǎn)映射表中查找相 應(yīng)的Web服務(wù)端點(diǎn),再構(gòu)造SOAP消息,并將其發(fā)送至BPEL運(yùn)行時(shí),若 服務(wù)調(diào)用失敗,將錯(cuò)誤信息照原路徑返回給服務(wù)消費(fèi)者。
圖3描述了 BPEL引擎如何把總線內(nèi)部端點(diǎn)與Web服務(wù)端點(diǎn)進(jìn)行一一映射。 1) BPEL引擎端點(diǎn)映射文件(d印loy.xml)包含兩中元素provide和invoke。 這兩個(gè)元素分別描述了總線服務(wù)提供者和消費(fèi)者端點(diǎn)是如何和Web服務(wù)端點(diǎn)進(jìn)行一一映射的; 2) provide禾口 invoke元素都有partnerLink禾口 service兩個(gè)子元素,每個(gè) partnerLink對(duì)應(yīng)抽象WSDL中定義的partnerLinkType的一個(gè)實(shí)例,而 每個(gè)service則對(duì)應(yīng)總線的一個(gè)內(nèi)部服務(wù),service元素還有name和 port這兩個(gè)子元素,分別對(duì)應(yīng)總線內(nèi)部服務(wù)的服務(wù)名稱和服務(wù)端點(diǎn)。 圖4描述了規(guī)范化消息與SOAP消息是如何進(jìn)行相互轉(zhuǎn)換的。 1)規(guī)范化消息中的服務(wù)端點(diǎn)、提供者ID、消費(fèi)者ID與SOAP消息頭相對(duì)應(yīng)。 規(guī)范化消息中的消息內(nèi)容與SOAP消息體相對(duì)應(yīng)。
權(quán)利要求
1.一種基于BPEL引擎組合企業(yè)服務(wù)總線內(nèi)部服務(wù)的方法,其特征在于具體包括如下步驟1)把內(nèi)部服務(wù)暴露成Web服務(wù)為每一個(gè)內(nèi)部服務(wù)定義抽象WSDL,并使得WSDL端點(diǎn)與內(nèi)部端點(diǎn)一一對(duì)應(yīng);2)部署流程服務(wù)用BPEL語言編寫流程文件,然后創(chuàng)建一個(gè)包含該文件的部署包部署到總線中,總線便激活一個(gè)Web服務(wù)來代表該流程服務(wù);3)調(diào)用流程服務(wù)外部消費(fèi)者獲取流程服務(wù)的WSDL,發(fā)送SOAP消息至BPEL引擎,執(zhí)行流程服務(wù)。
2. 根據(jù)權(quán)利要求1所述的基于BPEL引擎組合企業(yè)服務(wù)總線內(nèi)部服務(wù)的方法, 其特征在于所述部署包包括部署包描述文件、BPEL流程定義文件、抽象WSDL 文件、具體WSDL文件、端點(diǎn)映射文件和數(shù)據(jù)結(jié)構(gòu)定義文件。
3. 根據(jù)權(quán)利要求1所述的基于BPEL引擎組合企業(yè)服務(wù)總線內(nèi)部服務(wù)的方法, 其特征在于所述步驟3)調(diào)用流程服務(wù)過程中企業(yè)服務(wù)總線與BPEL引擎間的 消息交換方式包括當(dāng)流程執(zhí)行時(shí)需要調(diào)用總線內(nèi)部服務(wù)時(shí),BPEL引擎把SOAP消息轉(zhuǎn)換為規(guī)范 化消息,發(fā)送至規(guī)范化消息路由器,再由路由器把該消息轉(zhuǎn)發(fā)給相應(yīng)的內(nèi)部組 件;當(dāng)內(nèi)部組件需要回復(fù)消息給流程時(shí),該回復(fù)消息先發(fā)送至規(guī)范化消息路由 器,再由路由器轉(zhuǎn)發(fā)至BPEL引擎,最后引擎把規(guī)范化消息轉(zhuǎn)換為SOAP消息供 流程使用。
全文摘要
本發(fā)明涉及一種基于BPEL引擎組合企業(yè)服務(wù)總線內(nèi)部服務(wù)的方法。一種基于BPEL引擎組合企業(yè)服務(wù)總線內(nèi)部服務(wù)的方法,具體包括如下步驟1)把內(nèi)部服務(wù)暴露成Web服務(wù)為每一個(gè)內(nèi)部服務(wù)定義抽象WSDL,并使得WSDL端點(diǎn)與內(nèi)部端點(diǎn)一一對(duì)應(yīng);2)部署流程服務(wù)用BPEL語言編寫流程文件,然后創(chuàng)建一個(gè)包含該文件的部署包部署到總線中,總線便激活一個(gè)Web服務(wù)來代表該流程服務(wù);3)調(diào)用流程服務(wù)外部消費(fèi)者獲取流程服務(wù)的WSDL,發(fā)送SOAP消息至BPEL引擎,執(zhí)行流程服務(wù)。本發(fā)明提供一種簡單方便的方式對(duì)企業(yè)服務(wù)總線內(nèi)部服務(wù)進(jìn)行組合,系統(tǒng)彈性好,可復(fù)用性強(qiáng);支持流程執(zhí)行過程中的信息持久化及監(jiān)視功能。
文檔編號(hào)H04L29/08GK101621540SQ20091010096
公開日2010年1月6日 申請(qǐng)日期2009年8月10日 優(yōu)先權(quán)日2009年8月10日
發(fā)明者健 吳, 吳朝暉, 尹建偉, 朱顯杰, 瑩 李, 鄧水光, 陳韓偉 申請(qǐng)人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
万州区| 大同县| 莱阳市| 元谋县| 葫芦岛市| 呈贡县| 桂林市| 云阳县| 兰溪市| 邵阳市| 龙川县| 湘阴县| 泸溪县| 白朗县| 巧家县| 繁峙县| 寿阳县| 米易县| 乌鲁木齐市| 邯郸县| 灌南县| 隆子县| 夹江县| 富宁县| 孝感市| 乐至县| 鄂尔多斯市| 垫江县| 宝应县| 乌鲁木齐县| 类乌齐县| 湖北省| 邢台市| 会昌县| 错那县| 惠州市| 平远县| 临洮县| 康平县| 东阳市| 萨嘎县|