

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、使用 BPEL 構(gòu)建 Web 服務(wù)網(wǎng)絡(luò) 【2005-12-27 09:47 】【】【Oracle 】 受不斷成熟的 Web 服務(wù)標(biāo)準(zhǔn)的鼓舞,越來(lái)越多的組織正在協(xié)作環(huán)境中使用 Web 服務(wù)。 BPEL 正快速成為為實(shí)現(xiàn)企業(yè)間協(xié)作而編排這些 Web 服務(wù)的平臺(tái)。BPEL 為構(gòu)建在線(xiàn)市場(chǎng) 或協(xié)作網(wǎng)絡(luò)的公司提供了引人矚目的好處,即基于標(biāo)準(zhǔn)的方法和松散耦合的流程集成。 而 Web 服務(wù)提供的激動(dòng)人心的新功能卻隱藏著某些風(fēng)險(xiǎn)。 在許多情況下,如果在設(shè)計(jì) 時(shí)未解決某些技術(shù)和管理難題,則合作伙伴關(guān)系將會(huì)破裂或集成成本飆升 : 合作伙伴必須事先進(jìn)行充分的協(xié)商,約定根據(jù)特定標(biāo)準(zhǔn)開(kāi)展業(yè)務(wù)。傳輸協(xié)議、交互目 的、消息
2、格式以及業(yè)務(wù)約束必須實(shí)現(xiàn)清晰地通信。 連接網(wǎng)絡(luò)必須是一個(gè)簡(jiǎn)單的過(guò)程;協(xié)作網(wǎng)絡(luò)主要通過(guò)不斷壯大取得成功。 用戶(hù)必須在運(yùn)行時(shí)輕松地找到業(yè)務(wù)服務(wù), 否則將在很大程度上無(wú)法實(shí)現(xiàn)面向服務(wù)體系 結(jié)構(gòu)(SOA)這一承諾。(服務(wù)信息庫(kù)在這方面很有用。 )如果開(kāi)發(fā)人員無(wú)法輕松地找到和重 用服務(wù),則這些服務(wù)本質(zhì)上就算不存在。 合作伙伴應(yīng)能夠?qū)崟r(shí)監(jiān)控 Web 服務(wù)。最終用戶(hù)應(yīng)能跟蹤特定訂單的進(jìn)度,并且貿(mào)易 合作伙伴應(yīng)能診斷業(yè)務(wù)流程中的特定瓶頸。 如果協(xié)作網(wǎng)絡(luò)在托管環(huán)境中運(yùn)行, 這些難題將變得更為棘手。 在該模型中,合作伙伴將 他們?cè)袘?yīng)用程序提供的功能公開(kāi)到 Web 服務(wù)中,并將此 Web 服務(wù)發(fā)布到集中的信息庫(kù)
3、中。主機(jī)負(fù)責(zé)編排復(fù)雜的業(yè)務(wù)流程,后者反過(guò)來(lái)利用合作伙伴的 Web 服務(wù)。 在 BPEL 指南的這一部分中,我將把歐洲航天局 (ESA)項(xiàng)目(來(lái)自 Spacebel sa 的小 組參與了該項(xiàng)目)作為一個(gè)案例分析,介紹與這些挑戰(zhàn)相關(guān)的體系結(jié)構(gòu)注意事項(xiàng)。此外,我 還將介紹該項(xiàng)目如何利用 BPEL 作用域、BPEL 域和 Oracle BPEL 流程管理器 API構(gòu)建一 個(gè)易于合作伙伴使用的”協(xié)作網(wǎng)絡(luò)。 ESA 網(wǎng)絡(luò)概述 ESA 已著手制定一個(gè)戰(zhàn)略性計(jì)劃,旨在完全基于開(kāi)放標(biāo)準(zhǔn)創(chuàng)建一個(gè) BPEL 驅(qū)動(dòng)的服務(wù) 提供商協(xié)作網(wǎng)絡(luò)。該網(wǎng)絡(luò)稱(chēng)作服務(wù)支持環(huán)境 (SSE)網(wǎng)絡(luò),它組合第三方的地球觀(guān)測(cè) (EO)和 地理
4、信息系統(tǒng)(GIS)服務(wù),提供增值的復(fù)合型服務(wù)。 SSE 是一個(gè)不斷壯大的網(wǎng)絡(luò),目前包 括遍布 9 個(gè)不同國(guó)家/地區(qū)的 20 多個(gè)合作伙伴。 如圖 1 所示,SSE 是一個(gè)支持 BPEL 的網(wǎng)絡(luò)的簡(jiǎn)單實(shí)現(xiàn)。ESA 充當(dāng)中介,它使用各種 Web 服務(wù)標(biāo)準(zhǔn)(如 SOAP、WSDL、WS-Addressing、WS-Inspection 等)為不同合作伙伴之 間基于流程的協(xié)作提供支持。該網(wǎng)絡(luò)在集中星型拓?fù)洵h(huán)境中運(yùn)行 :服務(wù)提供商使用 Oracle BPEL Designer 將不同類(lèi)型的地球觀(guān)測(cè)和 GIS 服務(wù)集中到一個(gè)信息庫(kù)中,從而創(chuàng)建了一個(gè) 不斷擴(kuò)大的服務(wù)目錄。 Oracle BPEL PM 圖
5、1 SSE 體系結(jié)構(gòu) SSE 提供執(zhí)行以下任務(wù)所必需的基礎(chǔ)架構(gòu) -承載和管理充當(dāng)可用服務(wù)目錄的中央信息庫(kù) -在中央目錄內(nèi)部注冊(cè)和搜索服務(wù) 在 Oracle BPEL 引擎內(nèi)部執(zhí)行短期和長(zhǎng)期的業(yè)務(wù)流程 使合作伙伴能夠使用 Oracle BPEL 流程管理器控制臺(tái)監(jiān)控 Web 服務(wù)的執(zhí)行 最終用戶(hù)通過(guò)瀏覽可用服務(wù)目錄請(qǐng)求特定服務(wù)。 SSE 根據(jù)請(qǐng)求調(diào)用相關(guān)的業(yè)務(wù)流程。 該業(yè)務(wù)流程調(diào)用 Web 服務(wù)(運(yùn)行在服務(wù)提供商處)來(lái)完成請(qǐng)求。 SSE 支持同步和異步的交互模型。 ESA 廣泛使用 Oracle BPEL 流程管理器 API來(lái)為提 供商和最終用戶(hù)提供最大程度的靈活性和易用性體驗(yàn)。 設(shè)計(jì) Web
6、服務(wù)網(wǎng)絡(luò) 開(kāi)放標(biāo)準(zhǔn)正在不斷改變集成的規(guī)則。 BPEL 提供了一個(gè)以流程為中心的跨企業(yè)集成方 法,因此可以使用 BPEL 流程流定義合作伙伴集成。SOA 與 BPEL 的這一組合為構(gòu)建松散 耦合的協(xié)作網(wǎng)絡(luò)提供了一個(gè)前所未有的良機(jī)。 集中星型(SSE 采用的方法)是一個(gè)廣泛使用的網(wǎng)絡(luò)拓?fù)洌?組織通過(guò)它與各種合作伙伴建 立連接。網(wǎng)絡(luò)也可以采用單向?qū)Φ饶P汀_@種情況下,每個(gè)合作伙伴都為 Web 服務(wù)安全性 和供應(yīng)提供了一個(gè)平臺(tái)。 現(xiàn)在,我們來(lái)看網(wǎng)絡(luò)設(shè)計(jì)的四個(gè)方面 : 設(shè)置接口關(guān)系 簡(jiǎn)化合作伙伴支持 創(chuàng)建集中的服務(wù)注冊(cè)表 為合作伙伴和最終用戶(hù)提供自助監(jiān)視功能 設(shè)置接口關(guān)系。協(xié)作網(wǎng)絡(luò)設(shè)計(jì)從定義參與規(guī)則開(kāi)始
7、。 這些規(guī)則指定在業(yè)務(wù)流程中交換的 消息、這些消息的交換順序以及該消息的物理屬性。 要正確通信,所有合作伙伴都必須能夠 回答以下問(wèn)題。 交互的目的 一是請(qǐng)求報(bào)價(jià)還是訂單? 消息格式-消息是如何編碼的? 詞匯一應(yīng)如何構(gòu)造消息,以便其他各方可以理解和處理它們 ? 業(yè)務(wù)約束-應(yīng)在多長(zhǎng)時(shí)間內(nèi)響應(yīng)請(qǐng)求 ? -通信渠道-是否應(yīng)把消息加密? 為幫助合作伙伴回答以上問(wèn)題, ESA 公布了一個(gè)接口控制文檔來(lái)定義這些術(shù)語(yǔ)。本文 檔正式確定了在多個(gè) ESA 贊助的項(xiàng)目中建立、改進(jìn)和驗(yàn)證的技術(shù)集成規(guī)則?;谙⒌?SOAP(通過(guò)HTTP 或 HTTPS 實(shí)現(xiàn)安全通信)是 SSE 服務(wù)器與服務(wù)提供商之間采用的通信 協(xié)議
8、。(對(duì)于本文檔,我們將分析 WS-Security 的用法。)Web 服務(wù)定義語(yǔ)言(WSDL)是唯 一一個(gè)綁定了所有實(shí)體的接口協(xié)定;服務(wù)提供商必須創(chuàng)建一個(gè) WSDL 文件,用于描述它的 SOAP 接口并使其他合作伙伴可以訪(fǎng)問(wèn)該接口。 WSDL 文件中包含的某些信息是固定的, 但 必須提供以下信息: 根據(jù)選定的交互模型(搜索、RFQ、訂購(gòu))選擇的操作 服務(wù)的物理位置 服務(wù) XSD 模式的導(dǎo)入 為便于服務(wù)、一致性和消息轉(zhuǎn)換的比較,ESA 要求使用 XSD 模式表示 XML 有效載荷。 SSE 還要求使用主 XSLT 文檔來(lái)確保表示層中的一致性。必須按如下所示在每個(gè)服務(wù)中導(dǎo) 入模板樣式表: xsl:
9、apply-imports 使用從 SSE 樣式表中導(dǎo)入的模板規(guī)則處理根節(jié)點(diǎn)。注冊(cè)該服務(wù)時(shí), 服務(wù)提供商提供 XML 模式、 WSDL 和 XSLT 文件的 URL。SSE 強(qiáng)制使用文檔樣式的 SOAP。 該方法允許使用 XML模式對(duì)輸入服務(wù)和服務(wù)輸出的數(shù)據(jù)進(jìn)行詳細(xì)的指定并驗(yàn)證傳 入和傳出的消息。 ESA 采用的方法為打算構(gòu)建一個(gè)合作伙伴數(shù)量有限的 Web 服務(wù)網(wǎng)絡(luò)的公司提供了一 個(gè)便捷解決方案。隨著網(wǎng)絡(luò)規(guī)模的增長(zhǎng), 將需要引入新的消息格式、通信規(guī)則、安全性以及 傳輸機(jī)制。 簡(jiǎn)化合作伙伴的參與。 任何網(wǎng)絡(luò)的壯大都離不開(kāi)合作伙伴的輕松參與。 下列因素將對(duì)此 過(guò)程產(chǎn)生很大的影響。 與集線(xiàn)器的集成-
10、合作伙伴如何創(chuàng)建和提交他們的 Web 服務(wù)?集線(xiàn)器能否支持不同 的傳輸協(xié)議? 流程管理-不同合作伙伴流程之間是否有清晰的界限 ?合作伙伴能否修改它的業(yè)務(wù)流 程而不影響整個(gè)網(wǎng)絡(luò)的可靠性 ?能否使用元數(shù)據(jù)定義即時(shí)生成流程 ? SSE 通過(guò)降低對(duì)服務(wù)提供商的技術(shù)要求成功穩(wěn)固了與其合作伙伴的聯(lián)系。 ESA 通過(guò)分 發(fā)合作伙伴連接軟件、劃分開(kāi)發(fā)平臺(tái)以及自動(dòng)代表合作伙伴生成流程流實(shí)現(xiàn)了該目標(biāo)。 例如,為加快集成流程的速度, ESA 分發(fā)了 SSE Toolbox,這是一個(gè)在 SSE 與服務(wù)提 供商的現(xiàn)有系統(tǒng)間充當(dāng)接口的免費(fèi)工具包。 基于 Sun Java Web Services Developer Pa
11、ck 的 SSE Toolbox 提供了一個(gè)支持各種后端集成機(jī)制 (如 FTP、文件交換、JDBC、調(diào)用 Java API、 HTTP等)的 XML 腳本語(yǔ)言。它還自動(dòng)生成注冊(cè)服務(wù)所需的 WSDL 文件。 不同的合作伙伴將多個(gè)服務(wù)提供給中央信息庫(kù)。 開(kāi)發(fā)和部署環(huán)境的劃分使合作伙伴間的更改 互不影響。SSE 通過(guò)在 Oracle BPEL 流程管理器中使用 BPEL 域有效地利用了劃分功能。 BPEL 域使開(kāi)發(fā)人員或管理員能夠?qū)?Oracle BPEL 流程管理器的單個(gè)實(shí)例劃分為多個(gè)虛擬 BPEL 沙箱。BPEL 域由一個(gè) ID 標(biāo)識(shí),并由一個(gè)口令保護(hù)。 當(dāng)服務(wù)提供商在 SSE 上注冊(cè)時(shí), 將調(diào)
12、用 Oracle BPEL 流程管理器 API自動(dòng)創(chuàng)建一個(gè) BPEL 域保存服務(wù)定義文件。 以下是一個(gè) createDomain 方法示例: /* * Create new doma in space for a service provider to hold her/his services workflow * defi niti ons files in * param doma inN ame The Id to ide ntify the doma in * param password The password used to logi n to the corresp ondi
13、ng doma in * excepti on RemoteExcepti on System com muni cati on error * excepti on WorkflowExcepti on Throw n if any error happe ns on the server that preve nt the delete */ public void createDoma in( Stri ng doma inN ame, Stri ng password) throws RemoteExcepti on, WorkflowExcepti on if(ml.isDebugE
14、 nabled() ml.debug(E nter createDoma in( doma in = ” + doma inN ame + password = + password); /* * check if the being created doma in exist? */ try Locator locator = new Locator(doma inN ame, password); (Stop creating domain: + domainName + because it has already existed.); throw new Workflow
15、Exceptio n(1019); catch (com.oracle.bpel.clie nt.ServerExceptio n e) J try /obtai n the domai n admin password from the system con figuratio n SSE.properties file String doma in Adm in Password = SystemCo nfigurati onln fo.getProperty(WorkflowCo nsta nt.BPEL_DOMAIN_ADMI N_PASSWORD); ServerAuth auth
16、= ServerAuthFactory.authe nticate( doma in Adm in Password, localhost); if(ml.isDebugE nabled() ml.debug(obta in authe nticati on ok); / Create server object . this is our service in terface / Server server = new Server( auth ); / Domain id is newDomain, the password is myPassword if(ml.isDebugE nab
17、led() ml.debug(create server in sta nee ok); / Map doma in Properties = new HashMap(); domai nProperties.put( Con figuratio n.DATASOURCE_JNDI, SystemC on figurati onln fo.getProperty (Commo nCo nsta nt.DEFAULT_BPELDOMAIN_DS_JNDI); domai nProperties.put( Con figuratio n.TX_DATASOURCE_JNDI, SystemC on
18、 figurati onln fo.getProperty (Commo nCo nsta nt.DEFAULT_BPELDOMAIN_DS_JNDI); if(ml.isDebugE nabled() ml.debug(create doma in - ds jndi property key/value: + Con figuratio n.DATASOURCE_JNDI + / + SystemC on figurati onln fo.getProperty (Commo nCo nsta nt.DEFAULT_BPELDOMAIN_DS_JNDI); if(ml.isDebugE n
19、abled() ml.debug(create doma in - tx_ds jndi property key/value: + Con figuratio n.TX_DATASOURCE_JNDI + / + SystemC on figurati onln fo.getProperty (Commo nCo nsta nt.DEFAULT_BPELDOMAIN_DS_JNDI); server.createDoma in( doma inN ame, password, doma in Properties); if(ml.isDebugE nabled() ml.debug(E nt
20、er createDomai n(doma in = ” + doma inN ame + password = + password); catch( com.oracle.bpel.clie nt.ServerExcepti on se ) ml.error(se.getMessage(); if(ml.isDebugE nabled() se.pri ntStackTrace(); throw new WorkflowExceptio n(1018, se.getCause(); 在下面 runBuildScript 方法的實(shí)現(xiàn)中,通過(guò)一個(gè) Ant 構(gòu)建腳本訪(fǎng)問(wèn) 數(shù)。runBuildSc
21、ript 方法調(diào)用一個(gè) Ant 項(xiàng)目文件,后者隨后調(diào)用 bpelc 供商的 BPEL流程。 * execute the ant script to build an Oracle BPEL process that impleme nts the workflow. * The script also deploys the workflow to the service doma ins. * All in put i nformati on is provided un der the props at the in put param. * param props Contain all
22、 n ecessary properties used to build/deploy the workflow BPEL process * throws WorkflowExcepti on */ private void runBuildScript(String buildFilename, Properties props) throws WorkflowExceptio n if(ml.isDebugE nabled()ml.debug(E nter run BuildScript(buildFileName = + buildFile name + , properties =.
23、); try Project project = new Project(); project.i nit(); File buildFile = new File(buildFile name); if (!buildFile.exists() throw new WorkflowExceptio n(1015); if(ml.isDebugEnabled() ml.debug(ant build file: + buildFile.getAbsolutePath(); ProjectHelper.c on figureProject(project, buildFile); /prepar
24、e logger for the project build Prin tStream out = System.out; BuildLogger logger = new DefaultLogger(); logger.setMessageOutputLevel(Project.MSG_DEBUG); logger.setOutputPri ntStream(out); Oracle bpelc 函 編譯和部署服務(wù)提 logger.setErrorPri ntStream(out); project.addBuildListe ner(logger); /set project proper
25、ties Enu merati on keys = props.keys(); while(keys.hasMoreEleme nts() Stri ng key = keys. nextEleme nt().toStri ng(); project.setProperty(key, props.getProperty(key); / test /excute default target project.executeTarget(project.getDefaultTarget(); if(ml.isDebugE nabled()ml.debug(Exit run BuildScript(
26、buildFileName = + buildFile name + , properties =.); catch (Excepti on ex) ml.error(ex.getMessage(); if(ml.isDebugE nabled() ex.pri ntStackTrace(); throw new WorkflowExceptio n(1002,ex.getCause(); 在 Web 服務(wù)網(wǎng)絡(luò)設(shè)計(jì)中,應(yīng)考慮使用 BPEL 域?yàn)樗邢嚓P(guān)各方劃分流程設(shè)計(jì)和部署平臺(tái)。 以下是一些可能的應(yīng)用: 將單個(gè) Oracle BPEL 流程管理器實(shí)例劃分為多開(kāi)發(fā)人員環(huán)境。 這種情況下,域 ID
27、 通 常標(biāo)識(shí)擁有該域的開(kāi)發(fā)人員。 將單個(gè) Oracle BPEL 流程管理器實(shí)例劃分為開(kāi)發(fā)環(huán)境和 QA 環(huán)境。這種情況下,域 ID 可能為“ test 和”“ QA” 將單個(gè) Oracle BPEL 流程管理器實(shí)例劃分為一個(gè)可以由多個(gè)部門(mén)或合作伙伴使用的 環(huán)境。這些情況下,域 ID 是部門(mén)或合作伙伴的名稱(chēng)。 創(chuàng)建中央服務(wù)信息庫(kù)。定義了網(wǎng)絡(luò)關(guān)系后,合作伙伴便可以免費(fèi)加入并提供他們的服務(wù)。 當(dāng)然,發(fā)布和搜索這些服務(wù)的功能是 SOA 平臺(tái)的一個(gè)基礎(chǔ)功能。 在該流程中,合作伙伴將他們的 Web 服務(wù)發(fā)布到一個(gè)中央信息庫(kù), 有關(guān)該服務(wù)的所有 信息都在這里進(jìn)行管理。 這個(gè)中央框架提高了服務(wù)的可重用性, 最
28、大限度地降低了定位服務(wù) 所需的工作量和時(shí)間。沒(méi)有中央信息庫(kù)將導(dǎo)致不一致和混亂。 這反過(guò)來(lái)會(huì)降低網(wǎng)絡(luò)的靈活性 和開(kāi)放性。 SSE 網(wǎng)絡(luò)頻繁使用中央 Web 服務(wù)信息庫(kù);合作伙伴使用 Web 服務(wù)檢查語(yǔ)言(WSIL) 發(fā)現(xiàn)可用服務(wù)。服務(wù)提供商可以通過(guò)選擇相應(yīng)的 WSDL 文件重用現(xiàn)有的 Web 服務(wù)(由網(wǎng)絡(luò) 中的其他提供商提供 )。可以在 Oracle BPEL Designer 工具配置文件 UDDIProviderList.xml 中添加 WS-Inspection URL /inspection.wsil 來(lái)完成此任務(wù),如 下所示。 ES
29、A SSE Portal wsil /in spect ion. wsil 位于服務(wù)提供商處的 Oracle BPEL Designer 連接到 SSE 服務(wù)器并使用 WS-lnspection 協(xié)議發(fā)現(xiàn)可用服務(wù)及其 WSDL 文件。連接到 WS-lnspection 服務(wù)器后,將 顯示所有可用服務(wù)列表,如圖 2 中所示。 圖 2 可用 SSE 服務(wù)列表 對(duì)于每個(gè)服務(wù),將提供相應(yīng)的 WSDL 文件和簡(jiǎn)短的文字描述。 可以通過(guò)選擇 WSDL 文 件為該服務(wù)添加一個(gè)合作伙伴鏈接。 構(gòu)建流程流后,可以使用 BPEL 控制臺(tái)將其部署在 SSE 門(mén)戶(hù)
30、上。(在它的下個(gè)版本中,SSE 將實(shí)現(xiàn) UDDI注冊(cè)表與 Oracle BPEL 的集成。注冊(cè)新服 務(wù)時(shí),還將在此 UDDI注冊(cè)表中自動(dòng)注冊(cè)該服務(wù)。該集成將簡(jiǎn)化使用外部工具的服務(wù)發(fā)現(xiàn), 目前僅當(dāng)這些工具支持 WS-I nspection 時(shí)才能發(fā)現(xiàn)服務(wù)。) 盡管您不必建立服務(wù)信息庫(kù)即可構(gòu)建 SOA 并獲得它的眾多好處,但從長(zhǎng)遠(yuǎn)來(lái)看,信息 庫(kù)是不可或缺的。如果服務(wù)的作用域只是一個(gè)項(xiàng)目, 則架構(gòu)師不用信息庫(kù)也能處理。 但大多 數(shù)企業(yè)都擁有各種服務(wù)和合作伙伴,并且這些服務(wù)和合作伙伴的大部分都在不斷變化。 提供自助式監(jiān)視。在多方參與業(yè)務(wù)流程的協(xié)作網(wǎng)絡(luò)中, 對(duì)業(yè)務(wù)流程執(zhí)行情況的監(jiān)視非常 關(guān)鍵,因此可以將
31、圍繞業(yè)務(wù)流程的關(guān)鍵性能指標(biāo)與服務(wù)級(jí)協(xié)議相聯(lián)系。 (例如,加入網(wǎng)絡(luò)的 關(guān)鍵要求之一可能是確認(rèn)兩小時(shí)內(nèi)的報(bào)價(jià)請(qǐng)求。 )監(jiān)視業(yè)務(wù)流程可以更好地獲知特定業(yè)務(wù)流 程實(shí)例執(zhí)行的時(shí)間、出現(xiàn)延遲的原因以及如何為未來(lái)事務(wù)修復(fù)此問(wèn)題。 應(yīng)向合作伙伴和最終用戶(hù)提供該級(jí)別的診斷。 通過(guò)創(chuàng)建自助式環(huán)境,合作伙伴和最終用 戶(hù)可以跟蹤他們的單個(gè)流程,從而減輕中央監(jiān)視框架檢測(cè)到的問(wèn)題。 可以使用 Oracle BPEL 控制臺(tái)監(jiān)視和調(diào)試業(yè)務(wù)流程 (參見(jiàn)圖 3)。 ESA 和服務(wù)提供商利 用 BPEL 控制臺(tái)跟蹤正在運(yùn)行和已經(jīng)完成的 BPEL 流程實(shí)例數(shù)量、流程實(shí)例的平均持續(xù)時(shí) 間(從而細(xì)分流程中消耗的時(shí)間 )以及文本格式的流
32、程實(shí)例審計(jì)線(xiàn)索, 從而使合作伙伴可以查 看中間結(jié)果。ORACLE BPEL Conwle M*rage &PEL n | Logout I Support Dashboard BPEL Prccesfes In stare1 Acthdith&i j Iri BPEL Pracwt【HEtagK H arehtG r#enCe tE 瓷.嘩 en JCirde Pryjtt&rroilu cti 曠封 b *rc_5 tndOrdr NfPb&efidOrttr INPD.DB卵FQ 料 4% cfl E 忻戟爭(zhēng)iWrOQiuct口息 Mi 療-帰 ndOrrj
33、r rin*K /P rod u Hi &as.icsndord6 iencft-3 ( V i.o ) CcnflP.FQ ( IX ) M-1CH G40C791 :t:01;+4.0 7 醜犯:Odw it NPP_D& lantjO- dr ( V. l.Q 2CCM -10 13 15 : 2&:17 D “盤(pán)料 1 HerrnenPridkjet*seftcKrder ( CC04-10 13 CmQQ 1.0】 i:3i:u m 7 JIM - X * NetPnrrdr Tpraiuctivptvf airndOrdgr 2QO4-1O If O Dsd
34、&r Nw Prongs C340M44 f v. 1.0 ) U:57:30 Lged to doriri; vitd C 吋論 &FEL Cw sle Y .1 圖 3 使用 Oracle BPEL 控制臺(tái)監(jiān)視業(yè)務(wù)流程 此外,訂購(gòu)了特定服務(wù)的最終用戶(hù)可以跟蹤其訂單的狀態(tài)??梢允褂?Oracle BPEL 流程管 理器 API在 BPEL 控制臺(tái)的外部顯示該信息。建議服務(wù)提供商在他們的 BPEL 流程中使用 有意義的作用域名稱(chēng);在運(yùn)行時(shí),門(mén)戶(hù)使用 lln sta nceHa ndle.getStatus() API 提取當(dāng)前 BPEL 作用域”的名稱(chēng)向最終用戶(hù)顯示該進(jìn)度的信息
35、。 作用域按層次結(jié)構(gòu)組織,一個(gè)復(fù)雜的業(yè)務(wù)流程可以分為幾個(gè)作用域。它們?yōu)榛顒?dòng)提供 了行為上下文。通過(guò)在 BPEL 流程中使用有意義的作用域名稱(chēng),合作伙伴可以跟蹤 短期” 和長(zhǎng)期業(yè)務(wù)流程的狀態(tài)。 例如以下 getOrderSubstatus 方法的實(shí)現(xiàn)。該方法使 ESS 合作伙伴可以使用在 bpel 文件中執(zhí)行的作用域的名稱(chēng)獲取 BPEL 流程實(shí)例的當(dāng)前狀態(tài)。 * call the Oracle BPEL API to get current status of the workflow instanee, corresp onding to * the ordered supplied at t
36、he in put * param ordered The order ide ntified * param workflowld The workflow n ame (or Id) that is process ing the order stage. * Normally, there are two stages of an order:se nd(process)rfq and sen d(process) order * param doma in The doma in that the order workflow bel ongs to * param password The password used to logi n to the workflow domai n * retur n the curre nt status of the workflow in sta nee - particularly, it is the n ame of the curre nt * active scope in the workflow BPEL file. * throws RemoteExcepti on * throws WorkflowExcepti on */ public String getOr
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省九江市彭澤縣重點(diǎn)達(dá)標(biāo)名校2025屆初三周考物理試題二含解析
- 皖江工學(xué)院《計(jì)算機(jī)組成原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西省運(yùn)城市稷山縣2025屆三年級(jí)數(shù)學(xué)第二學(xué)期期末經(jīng)典試題含解析
- 陜西省定邊縣2025年初三綜合練習(xí)數(shù)學(xué)試題卷(三模)含解析
- 柳州工學(xué)院《足球主項(xiàng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 濰坊食品科技職業(yè)學(xué)院《漢字與板書(shū)藝術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年新媒體運(yùn)營(yíng)職業(yè)技能考試試卷及答案
- 上海立達(dá)學(xué)院《藥物合成反應(yīng)Ⅰ》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東省臨沂市沂南縣2025年高考生物試題考前模擬試題含解析
- 2025年中學(xué)數(shù)學(xué)教輔試卷及答案
- 工程設(shè)計(jì)資質(zhì)專(zhuān)業(yè)人員專(zhuān)業(yè)對(duì)照表
- 開(kāi)放大學(xué)辦學(xué)組織體系建設(shè)的困境與突破路徑
- 立式機(jī)組軸線(xiàn)調(diào)整及瓦間隙計(jì)算
- 胸痛中心培訓(xùn)課件胸痛中心的時(shí)鐘統(tǒng)一及時(shí)間管理胸痛中心時(shí)間節(jié)點(diǎn)管理要求
- 孕期艾滋病檢測(cè)及服務(wù)流程
- 重癥肺炎患者護(hù)理查房PPT
- GB/T 9126.1-2023管法蘭用非金屬平墊片第1部分:PN系列
- GB/T 9126.2-2023管法蘭用非金屬平墊片第2部分:Class系列
- 教育調(diào)查報(bào)告3000字小學(xué)
- 功能性敷料類(lèi)別及特點(diǎn)
- 液壓系統(tǒng)原理課件 液壓傳動(dòng)與控制
評(píng)論
0/150
提交評(píng)論