欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

文檔序號:7703389閱讀:428來源:國知局
專利名稱:基于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ù)實現(xiàn)并支持SOA的一組基礎(chǔ)架構(gòu), 支持異構(gòu)環(huán)境中的服務(wù)、消息以及基于事件的交互,并且具有適當(dāng)?shù)姆?wù)級別 和可管理性。通過企業(yè)服務(wù)總線實現(xiàn)應(yīng)用系統(tǒng)的快速接入,并通過更高級的事 件、流程處理能力,能夠很好的將企業(yè)信息系統(tǒng)與實際業(yè)務(wù)協(xié)調(diào)起來,在保證 原有投資的條件下,實現(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)點,提供了描述業(yè)務(wù)流程的定義語言,描述了時間、順序、地 點等相關(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ā)的平臺、異構(gòu)系統(tǒng)等問題。
一般情況下,企業(yè)服務(wù)總線內(nèi)部組件提供的服務(wù)都是相互獨立的,這只能適 應(yīng)于小規(guī)模的企業(yè)應(yīng)用。為了能夠適應(yīng)大規(guī)模的企業(yè)應(yīng)用,有必要將企業(yè)服務(wù)總線原有的多個服務(wù)組合成一個規(guī)模較大的服務(wù)。在以往的實踐中,為了將企 業(yè)服務(wù)總線提供的服務(wù)組合到一起,往往是服務(wù)消費者根據(jù)需求場景,依次調(diào) 用服務(wù)倉庫中的已有服務(wù)。這種硬編碼的方式將業(yè)務(wù)邏輯寫死,導(dǎo)致系統(tǒng)彈性 差,可復(fù)用性不強。
在S0A的架構(gòu)中,為了把功能邏輯和業(yè)務(wù)邏輯分離,使系統(tǒng)具有最大程度的可 擴展性,應(yīng)該把工作流引擎(如BPEL)接入企業(yè)服務(wù)總線,而不是硬編碼的方 式,把原有的相對小的服務(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ù)用性強的將企業(yè) 服務(wù)總線內(nèi)部服務(wù)進行組合的方法。
一種基于BPEL引擎組合企業(yè)服務(wù)總線內(nèi)部服務(wù)的方法,具體包括如下步 驟1)把內(nèi)部服務(wù)暴露成Web服務(wù)為每一個內(nèi)部服務(wù)定義抽象WSDL,并使 得WSDL端點與內(nèi)部端點一一對應(yīng);2)部署流程服務(wù)用BPEL語言編寫流程文 件,然后創(chuàng)建一個包含該文件的部署包部署到總線中,總線便激活一個Web服 務(wù)來代表該流程服務(wù);3)調(diào)用流程服務(wù)外部消費者獲取流程服務(wù)的WSDL, 發(fā)送SOAP消息至BPEL引擎,執(zhí)行流程服務(wù)。
進一步的,所述部署包包括部署包描述文件、BPEL流程定義文件、抽象 WSDL文件、具體WSDL文件、端點映射文件和數(shù)據(jù)結(jié)構(gòu)定義文件。
進一步的,所述步驟3)調(diào)用流程服務(wù)過程中企業(yè)服務(wù)總線與BPEL引擎間 的消息交換方式包括當(dāng)流程執(zhí)行時需要調(diào)用總線內(nèi)部服務(wù)時,BPEL引擎把SOAP消息轉(zhuǎn) 換為規(guī)范化消息,發(fā)送至規(guī)范化消息路由器,再由路由器把該消息轉(zhuǎn)發(fā) 給相應(yīng)的內(nèi)部組件;
當(dāng)內(nèi)部組件需要回復(fù)消息給流程時,該回復(fù)消息先發(fā)送至規(guī)范化消 息路由器,再由路由器轉(zhuǎn)發(fā)至BPEL引擎,最后引擎把規(guī)范化消息轉(zhuǎn)換為 SOAP消息供流程使用。 下面對本發(fā)明做進一步描述
本技術(shù)把BPEL引擎接入到企業(yè)服務(wù)總線,使之成為總線的一個標準內(nèi)部組 件,并利用BPEL引擎對總線內(nèi)部服務(wù)進行組合,最后再把總的流程服務(wù)暴露成 標準Web服務(wù),大致步驟可簡單描述為
1) 把內(nèi)部服務(wù)暴露成Web服務(wù)BPEL引擎是對Web服務(wù)的組合,但企業(yè)服務(wù) 總線內(nèi)部服務(wù)并不是暴露成標準的Web服務(wù),因此,為了利用BPEL引擎進 行服務(wù)組合,必須先把內(nèi)部服務(wù)暴露成Web服務(wù)。
2) 部署流程服務(wù)用BPEL語言編寫流程文件,然后創(chuàng)建一個包含該文件的部 署單元(SU)或部署集合(SA)部署到總線中,總線便激活一個Web服務(wù)來 代表該流程服務(wù)。
3) 調(diào)用流程服務(wù)外部消費者獲取流程服務(wù)的WSDL,發(fā)送SOAP消息至BPEL 引擎,執(zhí)行流程服務(wù)。在執(zhí)行流程過程中若需要調(diào)用總線內(nèi)部服務(wù)時,BPEL 引擎提供消息轉(zhuǎn)換功能使SOAP消息和規(guī)范化消息進行相互轉(zhuǎn)換。
企業(yè)服務(wù)總線與BPEL引擎間的消息交換方式可簡單描述為-當(dāng)流程執(zhí)行時需要調(diào)用總線內(nèi)部服務(wù)時,BPEL引擎會把SOAP消息轉(zhuǎn)換為
規(guī)范化消息,發(fā)送至規(guī)范化消息路由器,隨后,由路由器把該消息轉(zhuǎn)發(fā)給相應(yīng)
的內(nèi)部組件;當(dāng)內(nèi)部組件需要回復(fù)消息給流程時,該回復(fù)消息先發(fā)送至規(guī)范化消息路由
器,再由路由器轉(zhuǎn)發(fā)至BPEL引擎,最后,引擎把規(guī)范化消息轉(zhuǎn)換為SOAP消息 供流程使用。
本發(fā)明的優(yōu)點在于
1. 提供一種簡單方便的方式對企業(yè)服務(wù)總線內(nèi)部服務(wù)進行組合,系統(tǒng)彈 性好,可復(fù)用性強;
2. 提供一種把企業(yè)服務(wù)總線內(nèi)部服務(wù)暴露成標準Web服務(wù)的方法;
3. 支持流程執(zhí)行過程中的信息持久化及監(jiān)視功能


圖1 BPEL引擎服務(wù)部署包結(jié)構(gòu)圖 圖2 BPEL引擎與企業(yè)服務(wù)總線容器的消息交換示意圖 圖3內(nèi)部端點與Web服務(wù)端點的映射示意圖 圖4規(guī)范化消息與SOAP消息的相互轉(zhuǎn)換示意圖
具體實施例方式
下面結(jié)合附圖和實例對本發(fā)明作進一步介紹-圖1描述了 BPEL引擎部署包的結(jié)構(gòu)。
1) 部署包描述文件該文件描述了流程服務(wù)的相關(guān)屬性,部署時,總線容 器會解析該文件;
2) BPEL流程定義文件該文件是用標準的BPEL語言編寫而成,是總線內(nèi)
部服務(wù)組合的邏輯實現(xiàn)部分;
3) 抽象WSDL文件這些文件的作用是把總線內(nèi)部服務(wù)暴露成Web服務(wù),這 些WSDL文件只要提供抽象的Web服務(wù)接口定義即可;
4) 具體WSDL文件該文件描述了流程本身所暴露的Web服務(wù),需提供具體的Web服務(wù)操作等;
5) 端點映射文件該文件描述了內(nèi)部服務(wù)端點和Web服務(wù)端點之間是如何 映射的。
6) 其它包括BPEL及WSDL文件中所需的數(shù)據(jù)結(jié)構(gòu)定義(XML schema)等。 圖2描述了 BPEL引擎是如何同總線其它內(nèi)部組件進行交互的。
1) 當(dāng)把部署包(包含BPEL流程文件、WSDL文件和Schema文件等)部署到 容器時,BPEL引擎將編譯流程文件,并根據(jù)WSDL文件把相關(guān)的內(nèi)部服 務(wù)暴露成Web服務(wù),最后創(chuàng)建端點映射表,該表將內(nèi)部服務(wù)端點和Web 服務(wù)端點進行一一映射。
2) 當(dāng)流程要調(diào)用服務(wù)提供者的服務(wù)時,BPEL運行時構(gòu)造SOAP消息并將其 發(fā)送至消息格式轉(zhuǎn)換工具,該工具根據(jù)SOAP消息中指定的Web服務(wù)端點 在端點映射表中查找相關(guān)的內(nèi)部端點,查找到后,根據(jù)SOAP消息的其它 內(nèi)容和查找到的內(nèi)部端點構(gòu)造規(guī)范化消息,并將其發(fā)送至規(guī)范化消息路 由器。路由器根據(jù)消息中包含的內(nèi)部端點信息將消息轉(zhuǎn)發(fā)至相應(yīng)的服務(wù) 提供者,若服務(wù)調(diào)用失敗,將錯誤信息照原路徑返回給流程。
3) 當(dāng)服務(wù)消費者要發(fā)送消息至流程請求服務(wù)時,消費者構(gòu)造規(guī)范化消息并 將其發(fā)送至規(guī)范化消息路由器,路由器根據(jù)消息中的內(nèi)部服務(wù)端點把消 息轉(zhuǎn)發(fā)至BPEL引擎;引擎中的消息格式轉(zhuǎn)換工具在端點映射表中查找相 應(yīng)的Web服務(wù)端點,再構(gòu)造SOAP消息,并將其發(fā)送至BPEL運行時,若 服務(wù)調(diào)用失敗,將錯誤信息照原路徑返回給服務(wù)消費者。
圖3描述了 BPEL引擎如何把總線內(nèi)部端點與Web服務(wù)端點進行一一映射。 1) BPEL引擎端點映射文件(d印loy.xml)包含兩中元素provide和invoke。 這兩個元素分別描述了總線服務(wù)提供者和消費者端點是如何和Web服務(wù)端點進行一一映射的; 2) provide禾口 invoke元素都有partnerLink禾口 service兩個子元素,每個 partnerLink對應(yīng)抽象WSDL中定義的partnerLinkType的一個實例,而 每個service則對應(yīng)總線的一個內(nèi)部服務(wù),service元素還有name和 port這兩個子元素,分別對應(yīng)總線內(nèi)部服務(wù)的服務(wù)名稱和服務(wù)端點。 圖4描述了規(guī)范化消息與SOAP消息是如何進行相互轉(zhuǎn)換的。 1)規(guī)范化消息中的服務(wù)端點、提供者ID、消費者ID與SOAP消息頭相對應(yīng)。 規(guī)范化消息中的消息內(nèi)容與SOAP消息體相對應(yīng)。
權(quán)利要求
1.一種基于BPEL引擎組合企業(yè)服務(wù)總線內(nèi)部服務(wù)的方法,其特征在于具體包括如下步驟1)把內(nèi)部服務(wù)暴露成Web服務(wù)為每一個內(nèi)部服務(wù)定義抽象WSDL,并使得WSDL端點與內(nèi)部端點一一對應(yīng);2)部署流程服務(wù)用BPEL語言編寫流程文件,然后創(chuàng)建一個包含該文件的部署包部署到總線中,總線便激活一個Web服務(wù)來代表該流程服務(wù);3)調(diào)用流程服務(wù)外部消費者獲取流程服務(wù)的WSDL,發(fā)送SOAP消息至BPEL引擎,執(zhí)行流程服務(wù)。
2. 根據(jù)權(quán)利要求1所述的基于BPEL引擎組合企業(yè)服務(wù)總線內(nèi)部服務(wù)的方法, 其特征在于所述部署包包括部署包描述文件、BPEL流程定義文件、抽象WSDL 文件、具體WSDL文件、端點映射文件和數(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í)行時需要調(diào)用總線內(nèi)部服務(wù)時,BPEL引擎把SOAP消息轉(zhuǎn)換為規(guī)范 化消息,發(fā)送至規(guī)范化消息路由器,再由路由器把該消息轉(zhuǎn)發(fā)給相應(yīng)的內(nèi)部組 件;當(dāng)內(nèi)部組件需要回復(fù)消息給流程時,該回復(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ù)為每一個內(nèi)部服務(wù)定義抽象WSDL,并使得WSDL端點與內(nèi)部端點一一對應(yīng);2)部署流程服務(wù)用BPEL語言編寫流程文件,然后創(chuàng)建一個包含該文件的部署包部署到總線中,總線便激活一個Web服務(wù)來代表該流程服務(wù);3)調(diào)用流程服務(wù)外部消費者獲取流程服務(wù)的WSDL,發(fā)送SOAP消息至BPEL引擎,執(zhí)行流程服務(wù)。本發(fā)明提供一種簡單方便的方式對企業(yè)服務(wù)總線內(nèi)部服務(wù)進行組合,系統(tǒng)彈性好,可復(fù)用性強;支持流程執(zhí)行過程中的信息持久化及監(jiān)視功能。
文檔編號H04L29/08GK101621540SQ20091010096
公開日2010年1月6日 申請日期2009年8月10日 優(yōu)先權(quán)日2009年8月10日
發(fā)明者健 吳, 吳朝暉, 尹建偉, 朱顯杰, 瑩 李, 鄧水光, 陳韓偉 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
巢湖市| 来宾市| 巴彦县| 县级市| 新源县| 安乡县| 克山县| 揭西县| 汝阳县| 焉耆| 威远县| 利川市| 辽阳县| 山阴县| 南和县| 牙克石市| 年辖:市辖区| 兴隆县| 东阿县| 精河县| 高邑县| 建始县| 黎川县| 金堂县| 正阳县| 桃源县| 辽阳县| 绥阳县| 沈丘县| 合川市| 鹤岗市| 横山县| 都昌县| 温泉县| 滦平县| 陇西县| 博湖县| 安陆市| 济南市| 肥乡县| 周至县|