1.Introduction
ThegoaloftheWebServiceseffortistoachieveinteroperabilitybetweenapplicationsbyusingWebstandards.WebServicesusealooselycoupledintegration
modeltoallowflexibleintegrationofheterogeneoussystemsinavarietyofdomainsincludingbusinesstoconsumer,businesstobusinessandenterpriseapplication
integration.ThefollowingbasicspecificationsoriginallydefinedtheWebServicesspace:SOAP[SOAP1.1],WebServicesDescriptionLanguage(WSDL)[WSDL
1.1],andUniversalDescription,Discovery,andIntegration(UDDI)[UDDI].SOAPdefinesanXMLmessagingprotocolforbasicserviceinteroperability.WSDL
introducesacommongrammarfordescribingservices.UDDIprovidestheinfrastructurerequiredtopublishanddiscoverservicesinasystematicway.Together,
thesespecificationsallowapplicationstofindeachotherandinteractfollowingalooselycoupled,platformindependentmodel.
Systemsintegrationrequiresmorethantheabilitytoconductsimpleinteractionsbyusingstandardprotocols.ThefullpotentialofWebServicesasanintegration
platformwillbeachievedonlywhenapplicationsandbusinessprocessesareabletointegratetheircomplexinteractionsbyusingastandardprocessintegration
model.TheinteractionmodelthatisdirectlysupportedbyWSDLisessentiallyastatelessmodelofrequestresponseoruncorrelatedonewayinteractions.
Modelsforbusinessinteractionstypicallyassumesequencesofpeertopeermessageexchanges,bothrequestresponseandoneway,withinstateful,longrunning
interactionsinvolvingtwoormoreparties.Todefinesuchbusinessinteractions,aformaldescriptionofthemessageexchangeprotocolsusedbybusinessprocesses
intheirinteractionsisneeded.AnAbstractProcessmaybeusedtodescribeobservablemessageexchangebehaviorofeachofthepartiesinvolved,withoutrevealing
theirinternalimplementation.Therearetwogoodreasonstoseparatethepublicaspectsofbusinessprocessbehaviorfrominternalorprivateaspects.Oneisthat
businessesobviouslydonotwanttorevealalltheirinternaldecisionmakinganddatamanagementtotheirbusinesspartners.Theotheristhat,evenwherethisisnot
thecase,separatingpublicfromprivateprocessprovidesthefreedomtochangeprivateaspectsoftheprocessimplementationwithoutaffectingtheobservable
behavior.Observablebehaviormustclearlybedescribedinaplatformindependentmannerandcapturesbehavioralaspectsthatmayhavecrossenterprisebusiness
significance.
Thefollowingconceptsfordescribingbusinessprocessesshouldbeconsidered:
·Businessprocessesincludedatadependentbehavior.Forexample,asupplychainprocessdependsondatasuchasthenumberoflineitemsinanorder,the
totalvalueofanorder,oradeliverbydeadline.Definingbusinessintentinthesecasesrequirestheuseofconditionalandtimeoutconstructs.
·Theabilitytospecifyexceptionalconditionsandtheirconsequences,includingrecoverysequences,isatleastasimportantforbusinessprocessesasthe
abilitytodefinethebehaviorinthe"allgoeswell"case.
·Longrunninginteractionsincludemultiple,oftennestedunitsofwork,eachwithitsowndatarequirements.Businessprocessesfrequentlyrequirecross
partnercoordinationoftheoutcome(successorfailure)ofunitsofworkatvariouslevelsofgranularity.
ThebasicconceptsofWSBPELcanbeappliedinoneoftwoways,AbstractorExecutable.
AWSBPELAbstractProcessisapartiallyspecifiedprocessthatisnotintendedtobeexecutedandthatmustbeexplicitlydeclaredas‘abstract’.Whereas
ExecutableProcessesarefullyspecifiedandthuscanbeexecuted,anAbstractProcessmayhidesomeoftherequiredconcreteoperationaldetailsexpressedbyan
Executableartifact.
AlltheconstructsofExecutablesProcessesaremadeavailabletoAbstractProcesses;consequently,ExecutableandAbstractWSBPELProcessessharethesame
expressivepower.InadditiontothefeaturesavailableinExecutableProcesses,AbstractProcessesprovidetwomechanismsforhidingoperationaldetails:(1)theuse
ofexplicitopaquetokensand(2)omission.AlthoughaparticularAbstractProcessdefinitionmightcontaincompleteinformationthatwouldrenderitExecutable,its
Abstractstatusstatesthatanyconcreterealizationsofitarepermittedtoperformadditionalprocessingstepsthatarenotrelevanttotheaudiencetowhichithasbeen
given.
AbstractProcessesserveadescriptiverole,withmorethanoneusecase.Onesuchusecasemightbetodescribetheobservablebehaviorofsomeorallofthe
servicesofferedbyanExecutableProcess.Anotherusecasewouldbetodefineaprocesstemplatethatembodiesdomainspecificbestpractices.Suchaprocess
templatewouldcaptureessentialprocesslogicinamannercompatiblewithadesigntimerepresentation,whileexcludingexecutiondetailstobecompletedwhen
mappingtoanExecutableProcess.
Regardlessofthespecificusecaseandpurpose,allAbstractProcessesshareacommonsyntacticbase.Theyhavedifferentrequirementsforthelevelofopacityand
restrictionsonwhichpartsofaprocessdefinitionmaybeomittedorhidden.TailoredusesofAbstractProcesseshavedifferenteffectsontheconsistencyconstraints
andonthesemanticsofthatprocess.SomeoftheserequiredconstraintsarenotenforceablebytheXMLSchema.
AcommonbasespecifiesthefeaturesthatdefinethesyntacticuniverseofAbstractProcesses.Giventhiscommonbase,ausageprofileprovidesthenecessary
specializationsandsemanticsbasedonExecutableWSBPELforaparticularuseofanAbstractProcess.
AsmentionedaboveitispossibletouseWSBPELtodefineanExecutableBusinessProcess.WhileaWSBPELAbstractProcessdefinitionisnotrequiredtobe
fullyspecified,thelanguageeffectivelydefinesaportableexecutionformatforbusinessprocessesthatrelyexclusivelyonWebServiceresourcesandXMLdata.
Moreover,suchprocessesexecuteandinteractwiththeirpartnersinaconsistentwayregardlessofthesupportingplatformorprogrammingmodelusedbythe
implementationofthehostingenvironment.
ThecontinuityofthebasicconceptualmodelbetweenAbstractandExecutableProcessesinWSBPELmakesitpossibletoexportandimportthepublicaspects
embodiedinAbstractProcessesasprocessorroletemplateswhilemaintainingtheintentandstructureoftheobservablebehavior.Thisappliesevenwhereprivate
implementationaspectsuseplatformdependentfunctionality.ThisisakeyfeaturefortheuseofWSBPELfromtheviewpointofunlockingthepotentialofWeb
Servicesbecauseitallowsthedevelopmentoftoolsandothertechnologiesthatgreatlyincreasethelevelofautomationandtherebylowerthecostinestablishing
crossenterpriseautomatedbusinessprocesses.
Inthisspecification,thedescriptionofAbstractBusinessProcessesispresentedafterExecutable.WeclearlydifferentiateconceptsrequiredforAbstractBusiness
ProcessdescriptionfromtheconceptsforExecutableinthesection13.WSBPELAbstractProcesses.
WSBPELdefinesamodelandagrammarfordescribingthebehaviorofabusinessprocessbasedoninteractionsbetweentheprocessanditspartners.The
interactionwitheachpartneroccursthroughWebServiceinterfaces,andthestructureoftherelationshipattheinterfacelevelisencapsulatedinwhatiscalleda
partnerLink.TheWSBPELprocessdefineshowmultipleserviceinteractionswiththesepartnersarecoordinatedtoachieveabusinessgoal,aswellasthestateand
thelogicnecessaryforthiscoordination.WSBPELalsointroducessystematicmechanismsfordealingwithbusinessexceptionsandprocessingfaults.Moreover,
WSBPELintroducesamechanismtodefinehowindividualorcompositeactivitieswithinaunitofworkaretobecompensatedincaseswhereexceptionsoccurora
partnerrequestsreversal.
WSBPELutilizesseveralXMLspecifications:WSDL1.1,XMLSchema1.0,XPath1.0andXSLT1.0.WSDLmessagesandXMLSchematypedefinitionsprovide
thedatamodelusedbyWSBPELprocesses.XPathandXSLTprovidesupportfordatamanipulation.AllexternalresourcesandpartnersarerepresentedasWSDL
services.WSBPELprovidesextensibilitytoaccommodatefutureversionsofthesestandards,specificallytheXPathandrelatedstandardsusedinXML
computation.
AWSBPELprocessisareusabledefinitionthatcanbedeployedindifferentwaysandindifferentscenarios,whilemaintainingauniformapplicationlevel
behavioracrossallofthem.ThedescriptionofthedeploymentofaWSBPELprocessisoutofscopeforthisspecification.