【正文】
較,ESA 要求使用 XSD 模式表示 XML 有效載荷。必須按如下所示在每個(gè)服務(wù)中導(dǎo)入模板樣式表: xsl:applyimports 使用從 SSE 樣式表中導(dǎo)入的模板規(guī)則處理根節(jié)點(diǎn)。SSE 強(qiáng)制使用文檔樣式的 SOAP?! SA 采用的方法為打算構(gòu)建一個(gè)合作伙伴數(shù)量有限的 Web 服務(wù)網(wǎng)絡(luò)的公司提供了一個(gè)便捷解決方案?! 『喕献骰锇榈膮⑴c。下列因素將對此過程產(chǎn)生很大的影響。 與集線器的集成 合作伙伴如何創(chuàng)建和提交他們的 Web 服務(wù)?集線器能否支持不同的傳輸協(xié)議? ESA 通過分發(fā)合作伙伴連接軟件、劃分開發(fā)平臺以及自動代表合作伙伴生成流程流實(shí)現(xiàn)了該目標(biāo)?;?Sun Java Web Services Developer Pack 的 SSE Toolbox 提供了一個(gè)支持各種后端集成機(jī)制(如 FTP、文件交換、JDBC、調(diào)用 Java API、HTTP 等)的 XML 腳本語言。不同的合作伙伴將多個(gè)服務(wù)提供給中央信息庫。SSE 通過在 Oracle BPEL 流程管理器中使用 BPEL 域有效地利用了劃分功能。BPEL 域由一個(gè) ID 標(biāo)識,并由一個(gè)口令保護(hù)。 以下是一個(gè) createDomain 方法示例:/*** Create new domain space for a service provider to hold her/his services workflow* definitions files in ** param domainName The Id to identify the domain* param password The password used to login to the corresponding domain* exception RemoteException System munication error* exception WorkflowException Thrown if any error happens on the server that prevent the delete * */public void createDomain(String domainName, String password)throws RemoteException, WorkflowException{if(()) (Enter createDomain(domain = + domainName + password = + password)。 /*** check if the being created domain exist? */(Stop creating domain: + domainName + because it has already existed.)。} catch ( e) {ServerAuth auth = ( domainAdminPassword, localhost )。// Create server object ... this is our service interface// Domain id is newDomain, the password is myPasswordif(()) (create server instance ok)。 // if(()) (create domain ds jndi property key/value: + + / + ())。 (domainName, password, domainProperties)。 } catch( se ){(())。throw new WorkflowException(1018, ())。 }runBuildScript 方法調(diào)用一個(gè) Ant 項(xiàng)目文件,后者隨后調(diào)用 bpelc 編譯和部署服務(wù)提供商的 BPEL 流程。try {Project project = new Project()。File buildFile = new File(buildFilename)。if(()) (ant build file: + ())。//prepare logger for the project buildPrintStream out = 。()。(out)。//set project propertiesEnumeration keys = ()。(key, (key))。 , properties = ...)。 }catch (Excepti