業(yè)務(wù)流程建模語言BPEL_第1頁
業(yè)務(wù)流程建模語言BPEL_第2頁
業(yè)務(wù)流程建模語言BPEL_第3頁
業(yè)務(wù)流程建模語言BPEL_第4頁
業(yè)務(wù)流程建模語言BPEL_第5頁
已閱讀5頁,還剩92頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

辦事科學(xué)與工程第八章BPEL1?辦事科學(xué)與工程第八章BPEL1?Wearehere!ServicesatomicandcompositeOperationalSystemsServiceComponentsConsumersBusinessProcessComposition;choreography;businessstatemachinesPackagedApplicationCustomApplicationOOApplicationChannelB2BV2.02山東大年夜學(xué)齊魯軟件學(xué)院Wearehere!ServicesOperationa重要內(nèi)容BPEL簡(jiǎn)介BPEL的根底布局和重要元素BPEL根底舉動(dòng)BPEL布局化舉動(dòng)BPEL實(shí)例V2.03山東大年夜學(xué)齊魯軟件學(xué)院重要內(nèi)容BPEL簡(jiǎn)介V2.03山東大年夜學(xué)齊魯軟件學(xué)院BPEL簡(jiǎn)介4?BPEL簡(jiǎn)介4?BPEL:BusinessProcessExecutionLanguage

營(yíng)業(yè)流程履行措辭BuildingStandards-BasedBusinessProcesseswithWebServices5?BPEL:BusinessProcessExecutio營(yíng)業(yè)流程按營(yíng)業(yè)流程之間的協(xié)作體例可以分為單工作流模式和多工作流模式;單工作流模式把一組相關(guān)的辦事按必定按次和前提組合履行,完成某項(xiàng)營(yíng)業(yè),流程履行歷程中觸及的辦事不屬于其他營(yíng)業(yè)流程;多工作流模式是兩個(gè)或兩個(gè)以上的工作流程并行履行并進(jìn)展交互的營(yíng)業(yè)流程模式,多工作流模式側(cè)重于營(yíng)業(yè)流程之間的交互。單工作流模式嵌套子流程模式鏈型流程模式V2.06山東大年夜學(xué)齊魯軟件學(xué)院營(yíng)業(yè)流程按營(yíng)業(yè)流程之間的協(xié)作體例可以分為單工作流模式和多工作BusinessProcessesFlowBusinessprocessesareasetofactivities,supportedbyservices,thatsupportaparticularbusinessactivity.Businessprocessesarebusinessservicesbuiltusingotherbusinessservices.V2.07山東大年夜學(xué)齊魯軟件學(xué)院BusinessProcessesFlowBusinesBPELBPEL4WS是專為整合WebServices而制定的一項(xiàng)標(biāo)準(zhǔn)尺度。BPEL描寫流程可履行工作流—描寫營(yíng)業(yè)交互中介入者的實(shí)際動(dòng)作;抽象流程—描寫各方介入者對(duì)外可見的動(dòng)靜互換。BPEL的傳染感動(dòng)是將一組現(xiàn)有的辦事組合起來,從而定義一個(gè)新的Web辦事。是以,BPEL根底上是一種實(shí)現(xiàn)此種組合的措辭。組合辦事的接口也被描寫為WSDLportType的糾合。V2.08山東大年夜學(xué)齊魯軟件學(xué)院BPELBPEL4WS是專為整合WebServices而制BPELV2.09山東大年夜學(xué)齊魯軟件學(xué)院BPELV2.09山東大年夜學(xué)齊魯軟件學(xué)院WhatBPELdoes…BPELbindsservicestogethertoformlargercomplexbusinessservicesControlFlow(branch,loop,parallel)AsynchronouscorrelationTransactionsupport,UnitsofWorkCompensationV2.010山東大年夜學(xué)齊魯軟件學(xué)院WhatBPELdoes…BPELbindsserWebServicesMeetBusinessProcessesWebService1WebService2WebService3WebService4WebService5WebServicenV2.011山東大年夜學(xué)齊魯軟件學(xué)院WebServicesMeetBusinessProExampleProblemSpaceClientPOServiceCreditServiceInventoryServicePurchase

OrderCredit

CheckReserve

InventoryCredit

ResponseInventory

ResponseInvoiceConsolidateResultsV2.012山東大年夜學(xué)齊魯軟件學(xué)院ExampleProblemSpaceClientPOBusinessProcessChallengesCoordinateasynchronouscommunicationbetweenservicesCorrelatemessageexchangesbetweenpartiesImplementparallelprocessingofactivities...Manipulate/transformdatabetweenpartnerinteractionsSupportforlongrunningbusinesstransactionsandactivitiesProvideconsistentexceptionhandling...V2.013山東大年夜學(xué)齊魯軟件學(xué)院BusinessProcessChallengesCooOrchestration(管弦樂編曲)vsChoreography(舞蹈編排)使用Orchestration,需要一個(gè)總控歷程來控制觸及到的Web辦事,并和諧Web辦事不合操作的履行。所觸及到的Web辦事其實(shí)不知道〔也沒需要知道〕它們是組合歷程的一局部。只有中央的總控歷程知道它們假設(shè)何組合和和諧Choreography其實(shí)不依托中央的總控和諧歷程。相反,每一個(gè)觸及個(gè)中的Web辦事都知道什么時(shí)刻履行本身的操作,和誰交互。所有的Choreography介入者都需要知道營(yíng)業(yè)流程,要履行的操作,要交互的動(dòng)靜,和互換動(dòng)靜的時(shí)機(jī)V2.014山東大年夜學(xué)齊魯軟件學(xué)院Orchestration(管弦樂編曲)vsChoreOrchestration(管弦樂編曲)vsChoreography(舞蹈編排)從組合Web辦事來履行營(yíng)業(yè)流程的角度來看,Orchestration比Choreography更天真:

1、我們知道誰負(fù)責(zé)履行全部營(yíng)業(yè)流程。

2、即使Web辦事其實(shí)不知道它們是營(yíng)業(yè)流程的一局部,仍然可以把它們組合起來。

3、當(dāng)毛病產(chǎn)生時(shí),我們可以供應(yīng)一個(gè)備選的ScenarioBPEL遵守Orchestration范式V2.015山東大年夜學(xué)齊魯軟件學(xué)院Orchestration(管弦樂編曲)vsChoreSampleBusinessProcess:PurchaseOrderSamplePurchaseOrderPurchaseOrderRequestPurchaseOrderAcknowledgementPurchaseOrderResponseBusiness

“A”Business“B”V2.016山東大年夜學(xué)齊魯軟件學(xué)院SampleBusinessProcess:PurchFromaChoreographyPerspectivePORequestSend

POReceivePOAckReceivePOResponseReceive

POSend

POAckSendPOResponsePOAcknowledgementPOResponseChoreography–TheobservablepublicexchangeofmessagesPublicProcessBusinessABusinessBV2.017山東大年夜學(xué)齊魯軟件學(xué)院FromaChoreographyPerspectivFromanOrchestrationPerspectiveSend

POReceivePOAckReceivePOResponseTransformTransformFromERPToERPPORequestPOAcknowledgementPOResponseOrchestration–AprivateexecutablebusinessprocessPrivateProcessBusinessABPELWorkflowV2.018山東大年夜學(xué)齊魯軟件學(xué)院FromanOrchestrationPerspectOrchestrationandChoreographyTogetherBusiness

BBusinessAnalystToolBusiness

ASend

POReceivePOAckReceivePOResponseTransformTransformBusinessABPELWorkflowPORequestPOAcknowledgementPOResponseGenerateBPEL

TemplateGenerateBPEL

TemplateReceive

POSendPOAckReceivePOResponseTransformTransformBusinessBBPELWorkflowTwoBPELworkflowtemplatesreflectingabusinessagreementV2.019山東大年夜學(xué)齊魯軟件學(xué)院OrchestrationandChoreographyRecentHistoryof

BusinessProcessStandards2000/05XLang(Microsoft)2001/03BPML(Intallioetal)2001/05WSFL(IBM)2001/06BPSS(ebXML)2002/03BPEL4WS1.0

(IBM,Microsoft)BPEL4WS1.1

(OASIS)2002/062003/01WS-Choreography(W3C)2003/04WSCI(Sunetal)WSCL(HP)2002/08V2.020山東大年夜學(xué)齊魯軟件學(xué)院RecentHistoryof

BusinessPrStandardsBuildingBlocksofBPELDescriptionHTTP,IIOP,JMS,SMTPTransportXMLMessageSOAPWSDLUDDIDiscoveryTransactionsCoordinationWS-SecurityWS-ReliabilityQualityof

ServiceOrchestration-BPEL4WSBusiness

ProcessesContextDescriptionManagementChoreography-CDL4WSV2.021山東大年夜學(xué)齊魯軟件學(xué)院StandardsBuildingBlocksofBBPELDependsonWSDLandWSDLExtensionsServiceImplementationDefinitionServiceInterfaceDefinitionServicePortBindingPorttypesdefineOperationsMessageTypeV2.022山東大年夜學(xué)齊魯軟件學(xué)院BPELDependsonWSDLandWSDLBPEL的根底布局23?BPEL的根底布局23?BPEL的根底布局<processname="ncname"targetNamespace="uri"queryLanguage="anyURI"?expressionLanguage="anyURI"?suppressJoinFailure="yes|no"?enableInstanceCompensation="yes|no"?abstractProcess="yes|no"?><partnerLinks>?...</partnerLinks><partners>?...</partners><variables>?...</variables><correlationSets>?...</correlationSets><faultHandlers>?...</faultHandlers><compensationHandlers>?...</compensationHandlers><eventHandlers>?...</eventHandlers>

activity</process>V2.024山東大年夜學(xué)齊魯軟件學(xué)院BPEL的根底布局<processname="ncnameBPEL的重要元素partnerLinks:合作伙伴鏈接partners:合作伙伴variables:變量定義correlationSets:相關(guān)集定義faultHandlers:故障措置法式compensationHandlers:抵償措置法式eventHandlers:事務(wù)措置法式V2.025山東大年夜學(xué)齊魯軟件學(xué)院BPEL的重要元素partnerLinks:合作伙伴鏈接V2PartnersDeclaretheWebservicesandrolesusedbytheprocessTiedtoWSDLoftheprocessitselfandtheparticipatingWebservicesbyservicelinktypesCredit

ServicePartner2Inventory

ServicePartner3Partner1

(theprocess)Purchase

ServiceV2.026山東大年夜學(xué)齊魯軟件學(xué)院PartnersDeclaretheWebservicPartnersinBPEL<partnerLinks><partnerLinkname=“customer"serviceLinkType=“l(fā)ns:purchasePLT”

myRole=“purchaseService”/><partnerLinkname=“inventoryChecker”serviceLinkType=“l(fā)ns:inventoryPLT”

myRole=“inventoryRequestor”partnerRole=“inventoryService”/><partnerLinkname=“creditChecker”serviceLinkType=“l(fā)ns:creditPLT”

myRole=“creditRequestor”partnerRole=“creditService”/></partnerLinks><plt:partnerLinkTypename=“purchasePLT”><plt:rolename=“purchaseService”><plt:portTypename=“tns:purchasePT”/></plt:role></plt:partnerLinkType>PurchaseProcessWSDL:BPEL:<portTypename=“purchasePT”><operation

name="sendPurchase"></operation></portType>PurchaseProcessPortType:V2.027山東大年夜學(xué)齊魯軟件學(xué)院PartnersinBPEL<partnerLinks>合作伙伴鏈接類型...<plnk:partnerLinkTypename="ncname"><plnk:rolename="ncname"><plnk:portTypename="qname"/></plnk:role><plnk:rolename="ncname">?<plnk:portTypename="qname"/></plnk:role></plnk:partnerLinkType>...</definitions>V2.028山東大年夜學(xué)齊魯軟件學(xué)院合作伙伴鏈接類型V2.028山東大年夜學(xué)齊魯軟件學(xué)院伙伴鏈接類型為了描寫兩個(gè)辦事之間的會(huì)話關(guān)系,伙伴鏈接類型定義了會(huì)話中每一個(gè)辦事所扮演的“腳色”,并且指定了每一個(gè)辦事所供應(yīng)的portType,以便領(lǐng)受會(huì)話的上下文中的動(dòng)靜。每一個(gè)腳色的portType可以產(chǎn)生于不合的名稱空間,也在產(chǎn)生于一樣的名稱空間。憑據(jù)一樣名稱空間中的portType來定義合作伙伴鏈接類型的兩個(gè)腳色?;锇殒溄宇愋投x文檔可所以自力于任一個(gè)辦事的WSDL文檔的伶仃構(gòu)件,也可以或許被放在定義portType的WSDL文檔中,這些portType也被用來定義不合的腳色。有些情景下,定義僅包孕一個(gè)腳色的伙伴鏈接類型是成心義的。在這類伙伴鏈接情景中,一個(gè)辦事可以鏈接任何其他辦事。V2.029山東大年夜學(xué)齊魯軟件學(xué)院伙伴鏈接類型為了描寫兩個(gè)辦事之間的會(huì)話關(guān)系,伙伴鏈接類型定義伙伴鏈接營(yíng)業(yè)流程交互的辦事被描寫成伙伴鏈。每一個(gè)伙伴鏈由partnerLinkType來描寫。每一個(gè)伙伴鏈都被命名。經(jīng)由過程該伙伴鏈的所有辦事交互。屬性myRole指出了營(yíng)業(yè)流程本身的腳色,而屬性partnerRole指出了伙伴的腳色。假如partnerLinkType唯一一個(gè)腳色,那么將憑據(jù)需要省略個(gè)中一個(gè)屬性。<partnerLinks><partnerLinkname="ncname"partnerLinkType="qname"myRole="ncname"?partnerRole="ncname"?>+</partnerLink></partnerLinks>V2.030山東大年夜學(xué)齊魯軟件學(xué)院伙伴鏈接營(yíng)業(yè)流程交互的辦事被描寫成伙伴鏈。每一個(gè)伙伴鏈由pa營(yíng)業(yè)伙伴伙伴鏈暗示兩個(gè)合作伙伴流程之間會(huì)話關(guān)系?;锇閜artner元素被定義為流程的伙伴鏈一局部?;锇槎x是可選的,并且不需要包孕流程中定義的所有伙伴鏈?;锇殒満敛怀梢猿鋈缃穸鄠€(gè)伙伴定義中。<partners><partnername="ncname">+<partnerLinkname="ncname"/>+</partner></partners>V2.031山東大年夜學(xué)齊魯軟件學(xué)院營(yíng)業(yè)伙伴伙伴鏈暗示兩個(gè)合作伙伴流程之間會(huì)話關(guān)系。<partn端點(diǎn)援引WSDL的PortType使用抽象動(dòng)靜來定義抽象功能。端口供應(yīng)實(shí)際會(huì)見信息,包孕通信端點(diǎn)和其他與布置有關(guān)的信息。綁定使兩者保持在一路。辦事的用戶必需靜態(tài)地依托于由portType定義的抽象接口,可是在凡是情景下可以動(dòng)態(tài)地發(fā)現(xiàn)和使用端口定義的信息。端點(diǎn)援引的根底用處是作為一種機(jī)制,用于辦事的特定于端口的數(shù)據(jù)的動(dòng)態(tài)通信。BPEL使用了WS-Addressing中定義的端點(diǎn)援引的概念。流程實(shí)例的伙伴鏈接的每一個(gè)伙伴腳色被分派一個(gè)具有唯一性的端點(diǎn)援引,這可以在流程的布置歷程中完成,也可以或許由流程中的某個(gè)舉動(dòng)動(dòng)態(tài)地履行。V2.032山東大年夜學(xué)齊魯軟件學(xué)院端點(diǎn)援引WSDL的PortType使用抽象動(dòng)靜來定義抽象功能變量營(yíng)業(yè)流程指定了觸及伙伴之間動(dòng)靜互換的有狀況交互。營(yíng)業(yè)流程的狀況不僅包孕被互換的動(dòng)靜,并且還包孕用于營(yíng)業(yè)邏輯和機(jī)關(guān)發(fā)送給伙伴的動(dòng)靜的中央數(shù)據(jù)。每一個(gè)變量的類型可所以WSDL動(dòng)靜類型、XMLSchema簡(jiǎn)單類型或XMLSchema元素。屬于全局流程傳染感動(dòng)域的變量稱為全局變量;屬于流程傳染感動(dòng)域的變量稱為局部變量;每一個(gè)變量只有在定義它的傳染感動(dòng)域和嵌套在它所屬于的傳染感動(dòng)域內(nèi)的全數(shù)傳染感動(dòng)域中才是可見的<variables><variablename="ncname"messageType="qname"?type="qname"?element="qname"?/>+</variables>V2.033山東大年夜學(xué)齊魯軟件學(xué)院變量營(yíng)業(yè)流程指定了觸及伙伴之間動(dòng)靜互換的有狀況交互。營(yíng)業(yè)流程VariablesMessagessentandreceivedfrompartnersPersistedforlongrunninginteractionsDefinedinWSDLtypesandmessagesCustomer

ServiceProcess<A><variable><activity><B><activity>PersistPersist/

RetrieveCustomer

ServicePersist/

RetrievePersist/

Retrieve<variable>V2.034山東大年夜學(xué)齊魯軟件學(xué)院VariablesMessagessentandrecVariablesinBPEL<variables><variablename=“PO”messageType=“l(fā)ns:POMessage”/><variablename=“Invoice”messageType=“l(fā)ns:InvMessage”/><variablename=“POFault”messageType=“l(fā)ns:orderFaultType”/></variables><messagename=“POMessage”><partname=“customerInfo”type=“sns:customerInfo”/><partname=“purchaseOrder”type=“sns:purchaseOrder”/></message><messagename="InvMessage"><partname=“IVC”type=“sns:Invoice”/></message><messagename=“orderFaultType”><partname=“problemInfo”type=“xsd:string”/></message>PurchaseProcessWSDL:BPEL:V2.035山東大年夜學(xué)齊魯軟件學(xué)院VariablesinBPEL<variables><mHowisDataManipulation

Done?Using<assign>and<copy>,datacanbecopiedandmanipulatedbetweenvariables<copy>supportsXPathqueriestosub-selectdata<assign><copy><fromvariable="PO"part="customerInfo"/><tovariable=“creditRequest”part="customerInfo"/></copy></assign>V2.036山東大年夜學(xué)齊魯軟件學(xué)院HowisDataManipulation

Done相關(guān)集在面向?qū)ο蠓懂牻?jīng)由過程對(duì)象援引進(jìn)展有狀況的交互。對(duì)象援引本身供應(yīng)了會(huì)見具有合適的交互狀況和歷史的某個(gè)對(duì)象〔實(shí)例〕的能力。這類體例合用于嚴(yán)密耦合的實(shí)現(xiàn)。Web辦事范疇援引體例將造成實(shí)現(xiàn)之間懦弱的依托關(guān)系;需要松散耦合機(jī)制實(shí)現(xiàn);避免在實(shí)例路由中使用特定于實(shí)現(xiàn)的標(biāo)志。在營(yíng)業(yè)流程實(shí)例的保存期中,它凡是與觸及它的伙伴進(jìn)展多次會(huì)話,相關(guān)聯(lián)的會(huì)話觸及的介入者不止兩個(gè),常常有需要供應(yīng)利用法式級(jí)的機(jī)制,以使動(dòng)靜和會(huì)話被匹配到預(yù)定的營(yíng)業(yè)流程實(shí)例。V2.037山東大年夜學(xué)齊魯軟件學(xué)院相關(guān)集在面向?qū)ο蠓懂燰2.037山東大年夜學(xué)齊魯軟件學(xué)院相關(guān)集BPEL供應(yīng)了聲明性機(jī)制,以指定辦事實(shí)例中相關(guān)聯(lián)的操作組。一組相關(guān)標(biāo)志可定義為相關(guān)聯(lián)的組中所有動(dòng)靜共享的一組特征。如許的一組特征稱為相關(guān)集。每一個(gè)關(guān)聯(lián)集都在一個(gè)傳染感動(dòng)域中進(jìn)展聲明并屬于該傳染感動(dòng)域。屬于全局流程傳染感動(dòng)域的關(guān)聯(lián)集稱為全局關(guān)聯(lián)集;屬于局部傳染感動(dòng)域,如許的關(guān)聯(lián)集稱為局部關(guān)聯(lián)集。在流程入手下手時(shí),全局關(guān)聯(lián)集處于未初始化的狀況。在其所屬的傳染感動(dòng)域的履行入手下手時(shí),當(dāng)?shù)仃P(guān)聯(lián)集處于未初始化的狀況。相關(guān)集在其語義上近似于延遲綁定的常數(shù)。相關(guān)集的綁定由出格標(biāo)志的動(dòng)靜發(fā)送或領(lǐng)受操作來觸發(fā)。相關(guān)集在其所屬的傳染感動(dòng)域的保存期中只能初始化一次。在初始化今后,它的值便可被認(rèn)為是營(yíng)業(yè)流程實(shí)例的標(biāo)識(shí)的別號(hào)。V2.038山東大年夜學(xué)齊魯軟件學(xué)院相關(guān)集BPEL供應(yīng)了聲明性機(jī)制,以指定辦事實(shí)例中相關(guān)聯(lián)的操作相關(guān)集在多方營(yíng)業(yè)和談中初始者流程發(fā)送啟動(dòng)會(huì)話的第一個(gè)動(dòng)靜,從而定義了標(biāo)志該對(duì)話的相關(guān)集中的特征值。所有其他介入者經(jīng)由過程領(lǐng)受供應(yīng)相關(guān)集中的特征值的傳入動(dòng)靜來綁定會(huì)話中的相關(guān)集。初始者和其他介入者都必需發(fā)送啟動(dòng)會(huì)話的第一個(gè)動(dòng)靜,從而定義標(biāo)志會(huì)話的相關(guān)集中的特征值。相關(guān)集的名稱用在invoke、receive和reply舉動(dòng)中,也用在pick舉動(dòng)的onMessage分支中,同時(shí)還用在事務(wù)措置法式的onMessage形式中。<correlationSets>?<correlationSetname="ncname"properties="qname-list"/>+</correlationSets>V2.039山東大年夜學(xué)齊魯軟件學(xué)院相關(guān)集在多方營(yíng)業(yè)和談中V2.039山東大年夜學(xué)齊魯軟件學(xué)院故障措置法式故障措置是因產(chǎn)生故障而切換到撤消產(chǎn)生故障的傳染感動(dòng)域中的局部或不成功的工作。故障措置法式供應(yīng)了定義一組自定義的故障措置舉動(dòng)的方式,句法上定義為catch舉動(dòng)。定義的每一個(gè)catch舉動(dòng)能反對(duì)某種特定的故障〔由全局唯一的故障QName和有與該故障相關(guān)聯(lián)的數(shù)據(jù)的變量來定義〕。假如沒有故障名,那么catch將反對(duì)全數(shù)有合適類型的故障數(shù)據(jù)的故障。使用catch措置法式中的faultVariable屬性來指定故障變量。<faultHandlers><catchfaultName="qname“aultVariable="ncname">activity</catch><catchAll>activity</catchAll></faultHandlers>V2.040山東大年夜學(xué)齊魯軟件學(xué)院故障措置法式故障措置是因產(chǎn)生故障而切換到撤消產(chǎn)生故障的傳染感故障措置法式對(duì)invoke舉動(dòng)的故障響應(yīng)是故障的來歷之一,憑據(jù)WSDL操作中的故障定義,該故障有顯式給出的名稱和數(shù)據(jù)局部。法式化地拋出throw舉動(dòng)是故障的別的一個(gè)來歷,它也有顯式給出的名稱和數(shù)據(jù)。V2.041山東大年夜學(xué)齊魯軟件學(xué)院故障措置法式對(duì)invoke舉動(dòng)的故障響應(yīng)是故障的來歷之一,憑抵償措置法式經(jīng)由過程抵償措置法式,傳染感動(dòng)域可以描寫一局部經(jīng)由過程利用法式定義的體例可撤消的動(dòng)作。有抵償措置法式的傳染感動(dòng)域可不受束縛肆意深地被嵌套。抵償措置法式僅僅是抵償舉動(dòng)的包裝。在很多情景下,抵償措置法式需方法受當(dāng)前狀況的數(shù)據(jù)并返回關(guān)于抵償了局的數(shù)據(jù)。抵償措置法式的挪用方式是使用compensate舉動(dòng)。<compensationHandler>?activity</compensationHandler>V2.042山東大年夜學(xué)齊魯軟件學(xué)院抵償措置法式經(jīng)由過程抵償措置法式,傳染感動(dòng)域可以描寫一局部經(jīng)事務(wù)措置法式全部流程和每一個(gè)傳染感動(dòng)域可以與一組在響應(yīng)的事務(wù)產(chǎn)生時(shí)并發(fā)挪用事務(wù)措置法式相關(guān)聯(lián)。在事務(wù)措置法式中進(jìn)展任何類型的舉動(dòng),可是不準(zhǔn)許使用<compensate/>挪用抵償措置法式。有兩種類型的事務(wù):與WSDL中要求/響應(yīng)或單向操為難刁難應(yīng)的傳入動(dòng)靜;用戶設(shè)置的時(shí)候事后發(fā)出的警報(bào)。V2.043山東大年夜學(xué)齊魯軟件學(xué)院事務(wù)措置法式全部流程和每一個(gè)傳染感動(dòng)域可以與一組在響應(yīng)的事務(wù)事務(wù)措置法式<eventHandlers>?<onMessagepartnerLink="ncname"portType="qname"operation="ncname"variable="ncname"?>*<correlations>?<correlationset="ncname"initiate="yes|no">+</correlations>activity</onMessage><onAlarmfor="duration-expr"?until="deadline-expr"?>*activity</onAlarm></eventHandlers>V2.044山東大年夜學(xué)齊魯軟件學(xué)院事務(wù)措置法式<eventHandlers>?V2.044山事務(wù)措置法式onMessage標(biāo)志暗示指定的事務(wù)是一個(gè)守候動(dòng)靜到達(dá)的事務(wù)。這個(gè)標(biāo)志及其屬性的注釋近似于receive舉動(dòng)。partnerLink屬性定義要求將到達(dá)的合作伙伴鏈接。portType和operation屬性是合作伙伴為激起事務(wù)而挪用的恰當(dāng)端口類型和操作。變量屬性標(biāo)識(shí)包孕從合作伙伴領(lǐng)受到的動(dòng)靜的變量。onAlarm標(biāo)志標(biāo)志超時(shí)事務(wù)。for屬性指定該事務(wù)產(chǎn)生之前的延續(xù)時(shí)候。計(jì)較延續(xù)時(shí)候的計(jì)時(shí)在相關(guān)的傳染感動(dòng)域的履行入手下手的時(shí)刻響起。until屬性指定發(fā)出警報(bào)的特準(zhǔn)時(shí)刻。這兩個(gè)屬性中唯一一個(gè)必需出如今任何onAlarm事務(wù)中。V2.045山東大年夜學(xué)齊魯軟件學(xué)院事務(wù)措置法式onMessage標(biāo)志暗示指定的事務(wù)是一個(gè)守候動(dòng)BPEL根底舉動(dòng)46?BPEL根底舉動(dòng)46?BPEL的舉動(dòng)根底舉動(dòng)<receive><reply><invoke><assign><throw><terminate><wait><empty>布局化舉動(dòng)<sequence><switch><while><pick><flow><scope><compensate>V2.047山東大年夜學(xué)齊魯軟件學(xué)院BPEL的舉動(dòng)根底舉動(dòng)布局化舉動(dòng)V2.047山東大年夜學(xué)齊魯SimpleActivitiesReceiveWaitforapartnerinboundmessageCanbetheinstantiatorofthebusinessprocessReplySynchronousresponsetoareceiveactivityResponsetotheinboundreceivefromapartnerInvokeIssuearequestsynchronously*or*asynchronouslyPickSpecifyaninboundsetofmessagesCanbetheinstantiatorofthebusinessprocessActivitycompleteswhenoneofthemessagesarrivesV2.048山東大年夜學(xué)齊魯軟件學(xué)院SimpleActivitiesReceiveV2.048SimpleActivitiesCombinedwithStructuredActivitiesInvoke<InventoryService>Invoke<CreditService>Reply<Invoice>Receive<PO><sequence><flow></sequence>V2.049山東大年夜學(xué)齊魯軟件學(xué)院SimpleActivitiesCombinedwitSampleActivitiesinBPEL<sequence><receivepartnerLink=“customer”portType=“l(fā)ns:purchaseOrderPT"operation=“sendPurchaseOrder”variable=“PO”createInstance="yes"/><flow><invokepartnerLink=“inventoryChecker”portType=“l(fā)ns:inventoryPT”operation="checkINV"inputVariable="inventoryRequest"outputVariable="inventoryResponse"/><invokepartnerLink="creditChecker"portType=“l(fā)ns:creditPT"operation="checkCRED"inputVariable="creditRequest"outputVariable="creditResponse"/></flow>...<replypartnerLink=“customer”portType=“l(fā)ns:purchaseOrderPT”operation=“sendPurchaseOrder”variable=“invoice"/></sequence>V2.050山東大年夜學(xué)齊魯軟件學(xué)院SampleActivitiesinBPEL<sequreceive<receive>機(jī)關(guān)營(yíng)業(yè)流程壅塞守候匹配動(dòng)靜的到達(dá)實(shí)例化營(yíng)業(yè)流程的唯一方式是注解receive舉動(dòng),把createInstance屬性設(shè)置為“yes”。該屬性的缺省值是“no”。<receivepartnerLink="ncname"portType="qname"operation="ncname"variable="ncname"?createInstance="yes|no"?standard-attributes>standard-elements<correlations>?<correlationset="ncname"initiate="yes|no"?>+</correlations></receive>V2.051山東大年夜學(xué)齊魯軟件學(xué)院receive<receive>機(jī)關(guān)營(yíng)業(yè)流程壅塞守候匹配動(dòng)靜reply<reply>機(jī)關(guān)營(yíng)業(yè)流程發(fā)送動(dòng)靜以應(yīng)對(duì)經(jīng)由過程<receive>領(lǐng)受到的動(dòng)靜。receive和reply的組合為流程構(gòu)成了在WSDLportType上的要求-響應(yīng)操作。<replypartnerLink="ncname"portType="qname"operation="ncname"variable="ncname"?faultName="qname"?standard-attributes>standard-elements<correlations>?<correlationset="ncname"initiate="yes|no"?>+</correlations></reply>V2.052山東大年夜學(xué)齊魯軟件學(xué)院reply<reply>機(jī)關(guān)營(yíng)業(yè)流程發(fā)送動(dòng)靜以應(yīng)對(duì)經(jīng)由過程<invoke<invoke>機(jī)關(guān)準(zhǔn)許營(yíng)業(yè)流程挪用由合作伙伴在portType上供應(yīng)的單向或要求-響應(yīng)操作。異步伐用僅需要操作的輸入變量;同步伐用既需要輸入變量,又需要輸出變量。V2.053山東大年夜學(xué)齊魯軟件學(xué)院invoke<invoke>機(jī)關(guān)準(zhǔn)許營(yíng)業(yè)流程挪用由合作伙伴在invoke<invokepartnerLink="ncname"portType="qname"operation="ncname"inputVariable="ncname"?outputVariable="ncname"?standard-attributes>standard-elements<correlations>?<correlationset="ncname"initiate="yes|no"?pattern="in|out|out-in"/>+</correlations><compensationHandler>?activity</compensationHandler></invoke>V2.054山東大年夜學(xué)齊魯軟件學(xué)院invoke<invokepartnerLink="ncnassign<assign>機(jī)關(guān)的傳染感動(dòng)是用新的數(shù)據(jù)來更新變量的值。assign可以包孕肆意數(shù)目標(biāo)根底賦值,還可把端點(diǎn)援引復(fù)制到合作伙伴鏈接,或把合作伙伴鏈接復(fù)制到端點(diǎn)援引〔辦事的動(dòng)態(tài)綁定〕。<assignstandard-attributes>standard-elements<copy>+from-specto-spec</copy></assign>V2.055山東大年夜學(xué)齊魯軟件學(xué)院assign<assign>機(jī)關(guān)的傳染感動(dòng)是用新的數(shù)據(jù)來更新assignfrom-spec必需是以下形式中的一種:<fromvariable="ncname"part="ncname"?/><frompartnerLink="ncname"endpointReference="myRole|partnerRole"/><fromvariable="ncname"property="qname"/><fromexpression="general-expr"/><from>...literalvalue...</from>to-spec必需是以下形式中的一種:<tovariable="ncname"part="ncname"?/><topartnerLink="ncname"/><tovariable="ncname"property="qname"/>V2.056山東大年夜學(xué)齊魯軟件學(xué)院assignfrom-spec必需是以下形式中的一種:V2throw<throw>機(jī)關(guān)從營(yíng)業(yè)流程中生成故障。使用throw發(fā)出內(nèi)部故障。每一個(gè)故障需要有一個(gè)全局唯一的QName,還可選供應(yīng)數(shù)據(jù)的變量。故障措置法式可以使用這類數(shù)據(jù),來分解和措置該故障并植入需被發(fā)送到其他辦事的所有故障動(dòng)靜。<throwfaultName="qname"faultVariable="ncname"?standard-attributes>standard-elements</throw>V2.057山東大年夜學(xué)齊魯軟件學(xué)院throw<throw>機(jī)關(guān)從營(yíng)業(yè)流程中生成故障。<throterminate<terminate>可以用于當(dāng)即終止該terminate舉動(dòng)中運(yùn)行的營(yíng)業(yè)流程實(shí)例。所有當(dāng)前正在運(yùn)行的舉動(dòng)必需盡可能快地終止,而沒有任何以障措置或抵償動(dòng)作。<terminatestandard-attributes>standard-elements</terminate>V2.058山東大年夜學(xué)齊魯軟件學(xué)院terminate<terminate>可以用于當(dāng)即終止該twait<wait>機(jī)關(guān)準(zhǔn)許守候一段給定的時(shí)候或比及某一時(shí)刻。必需切實(shí)地指定wait中一個(gè)到期前提。<wait(for="duration-expr"|until="deadline-expr")standard-attributes>standard-elements</wait>V2.059山東大年夜學(xué)齊魯軟件學(xué)院wait<wait>機(jī)關(guān)準(zhǔn)許守候一段給定的時(shí)候或比及某一時(shí)刻empty與語義<empty>機(jī)關(guān)準(zhǔn)許在營(yíng)業(yè)流程中插入“no-op”指令。empty可用于并行舉動(dòng)的同步。<emptystandard-attributes>standard-elements</empty>V2.060山東大年夜學(xué)齊魯軟件學(xué)院empty與語義<empty>機(jī)關(guān)準(zhǔn)許在營(yíng)業(yè)流程中插入“nBPEL布局化舉動(dòng)61?BPEL布局化舉動(dòng)61?布局化舉動(dòng)布局化的舉動(dòng)劃定了一組舉動(dòng)產(chǎn)生的按次,描寫了創(chuàng)建營(yíng)業(yè)流程的根底舉動(dòng)構(gòu)成的布局,這些布局表達(dá)了觸及營(yíng)業(yè)和談的流程實(shí)例間的控制形式、數(shù)據(jù)流程、故障和外部事務(wù)的措置和動(dòng)靜互換的和諧。BPEL的布局化舉動(dòng)包孕:按次控制由sequence、switch和while構(gòu)成;舉動(dòng)之間的并發(fā)和同步由flow構(gòu)成;基于外部事務(wù)的不一定的選擇由pick構(gòu)成。遞歸地使用布局化的舉動(dòng)。V2.062山東大年夜學(xué)齊魯軟件學(xué)院布局化舉動(dòng)布局化的舉動(dòng)劃定了一組舉動(dòng)產(chǎn)生的按次,描寫了創(chuàng)建營(yíng)sequence<sequence>機(jī)關(guān)定義一組按按次前后履行的舉動(dòng)。履行按次是sequence元素中被列出舉動(dòng)的前后按次。當(dāng)sequence中的最后一個(gè)舉動(dòng)完成后,該sequence舉動(dòng)也就完成了。<sequencestandard-attributes>standard-elementsactivity+</sequence>V2.063山東大年夜學(xué)齊魯軟件學(xué)院sequence<sequence>機(jī)關(guān)定義一組按按次前后履switch<switch>機(jī)關(guān)準(zhǔn)許從一組分支中只選擇一個(gè)舉動(dòng)分支。switch由case元素定義的一個(gè)或多個(gè)前提分支的有序列表構(gòu)成,后面可跟也可以或許不跟一個(gè)otherwise分支。以case分支的出現(xiàn)按次搜檢,第一個(gè)前提是true的分支被選擇并被作為被履行的舉動(dòng)。假如有前提的分支都未被選擇,那么otherwise分支將被選擇。<switchstandard-attributes>standard-elements<casecondition="bool-expr">+activity</case><otherwise>?activity</otherwise></switch>V2.064山東大年夜學(xué)齊魯軟件學(xué)院switch<switch>機(jī)關(guān)準(zhǔn)許從一組分支中只選擇一個(gè)舉while<while>機(jī)關(guān)準(zhǔn)許指定一再履行一個(gè)舉動(dòng),直到某個(gè)成功前提被滿足為止。<whilecondition="bool-expr"standard-attributes>standard-elementsactivity</while>V2.065山東大年夜學(xué)齊魯軟件學(xué)院while<while>機(jī)關(guān)準(zhǔn)許指定一再履行一個(gè)舉動(dòng),直到某pick<pick>機(jī)關(guān)準(zhǔn)許壅塞并守候某一個(gè)合適的動(dòng)靜的到達(dá)或超時(shí)警報(bào)響起。當(dāng)個(gè)中一個(gè)觸發(fā)器觸發(fā)后,相關(guān)的舉動(dòng)就被履行,pick也隨即完成了。pick舉動(dòng)守候一組互相排擠事務(wù)中的一個(gè)事務(wù)的產(chǎn)生,然后履行與產(chǎn)生的事務(wù)相關(guān)聯(lián)的舉動(dòng)。假如多個(gè)事務(wù)產(chǎn)生,那么依照時(shí)候產(chǎn)生前后或選擇原那么一定產(chǎn)鬧事務(wù)。當(dāng)營(yíng)業(yè)流程的實(shí)例的創(chuàng)建是因?yàn)轭I(lǐng)受到一組可能的動(dòng)靜中的一個(gè)動(dòng)靜而產(chǎn)生的時(shí),可以使用pick的特別形式。每一個(gè)pick舉動(dòng)必需最少包孕一個(gè)onMessage事務(wù)。onMessage事務(wù)的語義同等于有關(guān)變量屬性的可選類型的receive舉動(dòng)。V2.066山東大年夜學(xué)齊魯軟件學(xué)院pick<pick>機(jī)關(guān)準(zhǔn)許壅塞并守候某一個(gè)合適的動(dòng)靜的到達(dá)pick<pickcreateInstance="yes|no"?standard-attributes>standard-elements<onMessagepartnerLink="ncname"portType="qname"operation="ncname"variable="ncname"?>+<correlations>?<correlationset="ncname"initiate="yes|no"?>+</correlations>activity</onMessage><onAlarm(for="duration-expr"|until="deadline-expr")>*activity</onAlarm></pick>V2.067山東大年夜學(xué)齊魯軟件學(xué)院pick<pickcreateInstance="yes|flow<flow>機(jī)關(guān)指定一個(gè)或多個(gè)并行地履行的舉動(dòng)。為了定義肆意的控制布局,可以在并行的舉動(dòng)中使用鏈接。flow能進(jìn)一步表達(dá)直接或間接嵌套在個(gè)中的舉動(dòng)之間的同步相關(guān)性,link機(jī)關(guān)用來表達(dá)這類同步相關(guān)性。一個(gè)link有一個(gè)名稱,flow舉動(dòng)的所有鏈必需在flow舉動(dòng)等分隔定義。舉動(dòng)的尺度的source和target元素用來鏈接兩個(gè)舉動(dòng)。在flow舉動(dòng)中聲明的每一個(gè)link必需在該flow中剛好有一個(gè)舉動(dòng)作為它的源,剛好有一個(gè)舉動(dòng)作為它的方針。<flowstandard-attributes>standard-elements<links>?<linkname="ncname">+</links>activity+</flow>V2.068山東大年夜學(xué)齊魯軟件學(xué)院flow<flow>機(jī)關(guān)指定一個(gè)或多個(gè)并行地履行的舉動(dòng)。為了<flow><links><linkname="XtoY"/><linkname="CtoD"/></links><sequencename="X"><sourcelinkName="XtoY"/><invokename="A".../><invokename="B".../></sequence><sequencename"Y"><targetlinkName="XtoY"/><receivename="C"/><sourcelinkName="CtoD"/></receive><invokename="E".../></sequence><invokepartnerLink="D"><targetlinkName="CtoD"/></invoke></flow><flow></flow><Y><C><E><X><A><B><D><linkCtoD>Links–ControlFlow<linkXtoY>V2.069山東大年夜學(xué)齊魯軟件學(xué)院<flow><flow></flow><Y><C><E><XCorrelationCustomer

SendPurchase

ProcessPurchaseResponsePO

Correlation:

<PO_CustId=10>

<PO_OrdId=100>POResponse

Correlations:<PO_CustId=10>

<PO_OrdId=100>

<Inv_VendId=20>

<Inv_InvId=200>Seller

AsynchPurchase

AsynchPurchaseResponseinitiate=yesinitiate=yespattern=outinitiate=nopattern=outinitiate=yesinitiate=yesinitiate=noV2.070山東大年夜學(xué)齊魯軟件學(xué)院CorrelationCustomerSendPurchaCorrelationsinBPEL<correlationSets><correlationSetname="POCorr"properties="cor:custIdcor:ordId"/><correlationSetname="InvoiceCorr"properties="cor:vendIdcor:invId"/></correlationSets>...<receivepartnerLink=“Customer”portType="SP:PurchaseOrderPT"operation="AsynchPurchase"variable="PO"><correlations><correlationset="POCorr"initiate="yes"></correlations></receive>...<invokepartnerLink=“Customer”portType="SP:CustomerPT"operation=“ProcessPurchaseResponse"inputVariable="POResponse"><correlations><correlationset="POCorr"initiate="no"pattern="out">

<correlationset="InvoiceCorr"initiate="yes"pattern="out"></correlations></invoke>...V2.071山東大年夜學(xué)齊魯軟件學(xué)院CorrelationsinBPEL<correlatiscope<scope>機(jī)關(guān)準(zhǔn)許定義嵌套舉動(dòng),這個(gè)嵌套舉動(dòng)有和本身關(guān)聯(lián)的變量、故障措置法式和抵償措置法式。每一個(gè)scope有一個(gè)定義它的正常動(dòng)作的重要舉動(dòng)。該重要舉動(dòng)可所以一個(gè)復(fù)雜的布局化的舉動(dòng),個(gè)中有肆意深度的很多嵌套的舉動(dòng)。所有的嵌套的舉動(dòng)都共享該scope。<scopevariableAccessSerializable="yes|no"standard-attributes>standard-elements<variables>...</variables><correlationSets>...</correlationSets><faultHandlers>...</faultHandlers><compensationHandler>...</compensationHandler><eventHandlers>...</eventHandlers>activity</scope>V2.072山東大年夜學(xué)齊魯軟件學(xué)院scope<scope>機(jī)關(guān)準(zhǔn)許定義嵌套舉動(dòng),這個(gè)嵌套舉動(dòng)有ScopesinBPELProvideasharedcontextforsubsetofactivitiesCancontainfaulthandlerseventhandlers,compensationhandlervariablescorrelationsetsCanserializeconcurrent

accesstovariables<scope

variableAccessSerializable="yes|no“

...>

<variables>

</variables>

<correlationSets>?...</correlationSets>

<faultHandlers>

</faultHandlers>

<compensationHandler>?...</compensationHandler>

<eventHandlers>

</eventHandlers>

(activities)*

</scope>

V2.073山東大年夜學(xué)齊魯軟件學(xué)院ScopesinBPELProvideasharedcompensate<compensate>機(jī)關(guān)已正常完成履行的內(nèi)層傳染感動(dòng)域上挪用抵償。compensate命名了履行抵償?shù)攸c(diǎn)的傳染感動(dòng)域。僅當(dāng)傳染感動(dòng)域正常完成履行今后該傳染感動(dòng)域的抵償措置法式才可被挪用。顯式地履行compensate舉動(dòng)的能力是BPEL的利用法式控制的毛病措置框架的根底地點(diǎn)。該舉動(dòng)只能用于營(yíng)業(yè)流程的以下局部中:在傳染感動(dòng)域的fault措置法式中,該傳染感動(dòng)域直接包孕抵償將被履行的傳染感動(dòng)域。在傳染感動(dòng)域的抵償措置法式中,該傳染感動(dòng)域直接包孕抵償將被履行的傳染感動(dòng)域。假如按名稱顯式地抵償?shù)膫魅靖袆?dòng)域在輪回中被履行,那么在后續(xù)的迭代中抵償措置法式的實(shí)例將按相反的按次履行。<compensatescope="ncname"?standard-attributes>standard-elements</compensate>V2.074山東大年夜學(xué)齊魯軟件學(xué)院compensate<compensate>機(jī)關(guān)已正常完成履CompensationHandlers

inBPEL<scope><compensationHandler><invokepartnerLink="Seller"portType="SP:Purchasing"operation="CancelPurchase"inputVariable="getResponse"outputVariable="getConfirmation"><correlations><correlationset="PurchaseOrder"pattern="out"/></correlations></invoke></compensationHandler><invokepartnerLink="Seller"portType="SP:Purchasing"operation="SyncPurchase"inputVariable="sendPO"outputVariable="getResponse"><correlations><correlationset="PurchaseOrder"initiate=“yes”pattern="out"/></correlations></invoke></scope>V2.075山東大年夜學(xué)齊魯軟件學(xué)院CompensationHandlers

inBPELLongRunningTransactionsandCompensationUndoReserveInventory<scope></scope>

ReserveInventoryCancelReserveInvInventoryService

CheckCreditChargeHoldFeeCancelHoldFeeCreditServiceUndoChargeHoldFeeV2.076山東大年夜學(xué)齊魯軟件學(xué)院LongRunningTransactionsandExceptionHandlinginBPEL<faultHandlers>catchexceptionBasedonWSDLportdefiningfault<faultHandlers>canperformactivitiesuponinvocation<faultHandlers>

<catchfaultName="lns:cannotCompleteOrder"faultVariable="POFault"><replypartnerLink="customer"portType="lns:purchaseOrderPT"operation="sendPurchaseOrder"variable="POFault"faultName="cannotCompleteOrder"/></catch></faultHandlers>V2.077山東大年夜學(xué)齊魯軟件學(xué)院ExceptionHandlinginBPEL<fauBPEL實(shí)例78?BPEL實(shí)例78?JustShowMeHowtoDoit!Partner

WSDL1Process

WSDLPartner

WSDLn...BPELScenario<process><partners><variables><sequence><flow></sequence></process>CompilePackageDeployApplication

ServerBPELRuntimeCompiled

BPELScenarioV2.079山東大年夜學(xué)齊魯軟件學(xué)院JustShowMeHowtoDoit!PartToolingRequirementsIDE–buildyourWebservicesWSDLauthoring–modelyourinterfacesSchemaauthoring–modelyourmessagesProcessmodeling–modelyourorchestrationPackaginganddeploymentDebuggingMonitoringAnalyzingV2.080山東大年夜學(xué)齊魯軟件學(xué)院ToolingRequirementsIDE–buil油泵加工組合辦事流程例子●V2.081山東大年夜學(xué)齊魯軟件學(xué)院油泵加工組合辦事流程例子●V2.081山東大年夜學(xué)齊魯軟件學(xué)油泵加工組合辦事流程例子分泵、油量調(diào)理機(jī)構(gòu)、傳動(dòng)機(jī)構(gòu)、泵體等,它們可以劃分加工,然后在組裝到一路;供應(yīng)這些配套加工營(yíng)業(yè)的企業(yè)將其加工能力封裝為辦事這五個(gè)辦事:分泵加工辦事、油量調(diào)理機(jī)構(gòu)加工辦事、傳動(dòng)機(jī)構(gòu)加工辦事、泵體加工辦事和組裝辦事,它們被組合為一個(gè)油泵加工組合辦事V2.082山東大年夜學(xué)齊魯軟件學(xué)院油泵加工組合辦事流程例子分泵、油量調(diào)理機(jī)構(gòu)、傳動(dòng)機(jī)構(gòu)、泵體等復(fù)合辦事引擎架構(gòu)圖

復(fù)合服務(wù)(流程)部署復(fù)合作業(yè)執(zhí)行/監(jiān)控復(fù)合服務(wù)(流程)的管理BPEL執(zhí)行引擎復(fù)合服務(wù)(流程)管

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論