Download - BPMN Advanced Concepts[1]
-
8/21/2019 BPMN Advanced Concepts[1]
1/41
Oracle
BPM11gT
raining
BPMN
Advanced
Concepts
-
8/21/2019 BPMN Advanced Concepts[1]
2/41
MoreB
PMN-Events
BPMN
Events-Somethingthathappens
(signals)duringthe
courseofaprocesstha
taffectsthesequ
enceortimingso
fthe
activitiesofaprocess.
Cano
ccur
AttheStart-StartEvent
AttheEndEndEvent
Int
heMiddleIntermediateEvent
TwoT
ypes
row:
roucey
e
rocess
nvens
some
IntermediateEvents
fallunderthisca
tegory)
SendMessage
ThrowException
Waitforxamountof
time
Ca
tch:ConsumedbytheProcess(S
tartEvents&som
e
IntermediateEvents
fallunderthisca
tegory)
CatchExceptions(Timeout,Exceptions)
ReceiveMessage
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
3/41
More
Startand
EndEven
ts
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
4/41
BPMN
byExamp
leMoreStartandE
nd
Events
Message
Start
Event
MessageEn
d
Event
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
5/41
StartE
ventTypes
Starte
vent:
Listenstoexternalsignals
andcreatesanewprocess
instance.
MultipleStartEventscan
beusedtotriggeraprocess.
Com
monTypesofStartE
vents.Markersusedtodenote
thedifferenttypesoftriggeringmechanisms.
NoneCalledfroma
Mainprocess.Sub-pr
ocesses
mustalwaysstartwith
NoneStartEvent.
MessageTriggered
bythearrivalofaMessage.
Messaeisasecialt
eofdataandisusedto
showdataexchanges
inthecontextofproc
ess
interactions.
TimerTriggeredbas
edonsomeschedule
.Itcan
beafixedtimestamporaregularlyoccurringevent.
SignalTriggeredbasedonthearrivalofa
subscribedsignalviabroadcastmechanism
s.The
senderisunknownin
thiscaseandtheSign
alStart
Eventlistensonawellknowntopic.
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
6/41
BPMN
byExamp
leMultip
leStartEv
ents
Theprocessissta
rted
eitherbythearrivalofthe
eventviamultiple
channels
ReceiveE-Mail
ReceiveSMS
ParseE-
Mail
HandleSMS
Faxarrived
Transcribe
Fax
P
rocess
R
equest
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
XOREve
ntGatewayisus
edtomimicmultiplestartevents
(similartoBPELPick).
Thefirsteventthatarrives
triggerstheprocess.
Inthisca
se,itiseitherthe
firststepintheP
rocessorshould
be
preceded
byaStartEvent
oftypeNone.
-
8/21/2019 BPMN Advanced Concepts[1]
7/41
BPMN
byExamp
leTriggerprocess
using
InitiateTask
InitiateTask
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
InitiateTask
InitiateTaskisanOracle
extensiontoBPMN2
.0.
ItcanbeusedtotriggertheprocessfromtheT
askWorklistForm.
ThisTaskisalwaysprecededbyaStartEvent
oftypeNone.
The
assigneeiscalculate
dfromtheRoleassociatedwiththeswim
lane.
-
8/21/2019 BPMN Advanced Concepts[1]
8/41
BPMN
byExamp
leTriggerprocess
using
ReceiveTask
ReceiveTask
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
ReceiveTask
ReceiveTaskisoneofth
eBPMNtasktypes.
Itcanbeusedtotriggertheprocessuponarriv
alofaMessage.
Ithasthesamesemantic
sastheMessageSta
rtEventandcanbe
use
dinitsplace.
-
8/21/2019 BPMN Advanced Concepts[1]
9/41
EndEv
entTypes
Endevent:
Sign
ifiesendoftheprocesspathandisgeneratedbythe
proc
essuponcompletion
MultipleEndeventsarepossible.
Processcompletesonlyw
henallPathsarecom
pleted.
Com
monTypesofEndEvents
NoneNormalComp
letion.Thecontrolpassestothe
subsequentstepinthemainprocessifasu
bprocess
completesnormally.
.
Messagecaninturntriggerotherprocesses.
SignalBroadcasts(publishes)signalbefore
Completion.
ErrorThrowsErrorB
eforeCompletion.Th
eprocess
getsterminatedanda
bortsotherpathsthat
mightstill
beinexecution.Used
asawaytotriggerex
ceptions
fromthesubprocesstoama
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
10/41
BPMN
byExamp
leMultip
leEndEvents
MessageEnd
Eve
nt
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
Examplethatshowscombinatio
nofGatewaysandmultipleEndEvents.On
lyone
oftheMes
sageEndEventisreachedinthisexample.
Another
Message
EndEven
t
-
8/21/2019 BPMN Advanced Concepts[1]
11/41
BPMN
byExamp
leabrup
tterminationof
thepro
cess
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
Whenan
ErrorEndEventisre
ached,theprocessorthesub-processterm
inates
evenifallotherparallelpathsarestillactive.
Usefulforpropagatingerrorsfromthesub-processtoparentprocess.
ErrorEnd
Event
TheprocessisterminatedwhenO
rder
Cancele
deventisreachedevenif
the
OrderP
artsorAssembleProductisstill
active.
-
8/21/2019 BPMN Advanced Concepts[1]
12/41
BPMN
byExamp
leProcessasaSe
rvice
Receive
Reply
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
13/41
Expos
ingProcessasaService
ToexposetheProces
sasaService
useMessage
StartEventandMess
ageEndEvent.
TheProcessthenbec
omesaServic
eProviderand
canbe
invokedviaaServiceinterfacebyotherBP
MN
orBPELprocesses.
TheMe
ssageStartEventandcorresponding
MessageEndEventtransformsinto
endpoints(
Operations).
TheEventSub-process(in-linefault
handlers)are
usedfo
rhandlingfaults.
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
14/41
IntermediateEventsofty
pethrow
andcatch
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
15/41
MoreB
PMNIntermediate
Events
Intermed
iateEventsoccurinthemiddleoftheprocess.
SomeIntermediateEventsa
reoftypeCatchand
someoftypeThrow
.
Throw
symbolsareshadedw
hileCatchsymbolsa
renot.
TheC
atchEventswaitorb
lockforappropriatesignalswhiletheThrowevents
procee
dafterthrowingthesignal.
ThrowIn
termediateEvent
s
throw
MessageIntermediateEvent
SendaMessagetomessage
toanother
particip
ant(orprocess).Use
dforrequest-responseandreceive-replysc
enarios.
throw
SignalIntermediateE
vent
Publishorbroadcastasignal.
CatchIn
termediateEvents
catch
TimerIntermediateE
vent
Actsasadelaymechanism.B
asedona
specifictimedateortimecy
cle.
catch
MessageIntermediateEvent
ReceivesMessage.Usedforrequest-
responseandreceive-reply
scenarios.
catch
SignalIntermediateE
vent
-Subscribes
toabroadcastedSig
nal.
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
16/41
BPMN
byExamp
leWaitf
oraspecific
timeperiod
catchTimer
Inte
rmediateEvent.
blocksorwaitsfortheev
entstooccur.
Theexecutionisstalledanddoesnotproc
eeduntiltheevent
arrives.
TimerIntermediateEven
tisofCatchtypeonly.Thereisno
equivalentThrowtypeforTimerIntermediateEvent.
TheTim
erEventsuseth
esystemclockfo
rscheduling.
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
17/41
BPMN
byExamp
leAsync
hronous
Invoca
tionusing
Message
Events.
SendQuoteto
Customer
ReceiveQuote
Responsefrom
Customer
thro
w
Messa
ge
Intermediate
Even
t
catch
Message
Intermediate
Event
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
AthrowM
essageIntermed
iateEvent(send)
followedbycatch
Message
IntermediateEvent(receive)isasy
nchronousreque
st-
response
scenario.
AcatchM
essageIntermediateEvent(receiv
e)followedbythr
ow
Message
IntermediateEvent(send)isreceiv
e-replyscenario.
ThrowandcatchMessage
IntermediateEventsareusefulfor
asynchronousandB2BCollaborations
-
8/21/2019 BPMN Advanced Concepts[1]
18/41
BPMN
byExamp
leAsync
hronous
Invoca
tionusing
Send&ReceiveTas
ks
SendTask.
ReceiveTask.Qu
otetocashProcess
.
SendTask
sendsaMessageandReceiveT
askreceivesa
Message.
SendTaskinthemiddleoftheprocessisthesameasthe
MessageIntermediateE
ventofthrow
type.
SendTaskattheendoftheproce
ssisthesameastheMe
ssageEndEvent.
ReceiveTaskinthemiddleofthe
processisthesameastheMessageIntermediateEventof
catchty
pe.
ReceiveTaskatthebeginningoftheprocessisthesameastheMessageStartEvent.
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
19/41
BPMN
byExamp
leAsync
hronous
Invoca
tion
SendQuoteto
Customer
XOREvent
Gateway
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
XOREventGatewayisuse
dforconditionalbranchingbasedon
alternativeincomingevents(Message,Signal,Conditional-Ru
le,Timer)
rathertha
ndataconditions.ThefirstEventtoarrive/triggersw
in.Any
Eventsthatarrivelaterare
ignored.
Itdoesno
thaveconditiona
lexpressionsontheoutgoingsequ
ence
flows.
andtheseque
nceofactivitiesarediffere
ntin
thesecases.Y
oucanalsoincludeacatc
h
IntermediateT
imerEventtohandletime
out
exceptions
CatchTimer
In
termediateEvent
-
8/21/2019 BPMN Advanced Concepts[1]
20/41
IntermediateEventsofty
pe
bou
ndar
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
21/41
Attach
ed(Bound
ary)Events
IntermediateEventscanbeattachedtoan
activityorsub-process
boundary.
Theyare
oftypeCatcha
ndreferredtoas
BoundaryorAtta
ched
Events.
Theyhav
eonly1outgoing
sequenceflowth
atleadstoEventHandling
path.
Usefulfo
rExcetionandInterrutionHandlin.
Types
attachedErrorEventCatcheserrorthrownbytheactivityorsub-process.Errors
haveu
niqueidentifiers.Therecanbemultipleatta
chedErroreventsfor
catchingthe
various
typesoferrorsbeing
thrownbytheactivity
orsub-process.
attachedTimerEvent-Catchestime-outexceptio
ns(specializedtypeoferror)
thrown
bytheactivityorsub-
process.
attache
dMessageEventC
atchesMessagesentbyanotherparticipa
ntor
process.
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
22/41
BPMN
byExamp
leBoun
daryEven
ts
TimerBoundaryEvent
(fo
rcatchingtimeoutexceptions)
ErrorB
oundaryEvent
(forcatchingexceptions)
ExceptionPaths
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopicE
rrorHandlingactivity
TheErrorandTimerboundary
eventsaretriggerediftheactivity
towhichtheyareattachedisnotyetcompleted.
-
8/21/2019 BPMN Advanced Concepts[1]
23/41
BPMN
byExamp
leSubpr
ocess
Bound
aryevents
.
BoundaryError
InsertQuote-
Embeddedsubprocess
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
su
b-process.
Ex
ceptionPath
-
8/21/2019 BPMN Advanced Concepts[1]
24/41
BPMN
byExamp
leMore
Boundary
Events
Cancel
Order
Message
ExceptionPath
Message
Boundar
y
Event
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
TheFulfillOrdersub-pro
cesslistensforth
eCancelOrderMessage
onasep
aratethread.The
Boundaryevents
donotblockthe
stepto
whichtheyareattachedw
hilelistening.
IftheMe
ssageisreceived
beforetheFulfillOrderstepisco
mplete,
theFulfillOrderstepisin
terrupted.
TheExceptionpathistakenandtheCancelOrderstepise
xecuted.
TheMes
sage,Error,Time
rboundaryevent
sarenotactiveif
theactivity
(task/sub
process)towhichtheyareattache
discompleted.
-
8/21/2019 BPMN Advanced Concepts[1]
25/41
BPMN
byExamp
lePropa
gationof
Errors
Mainprocess
catchesthe
errorand
followsthe
exception
path.
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
Subprocessthr
owsan
OrderCance
lederror.
-
8/21/2019 BPMN Advanced Concepts[1]
26/41
IntermediateEventsofty
peEvent
Sub
rocess
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
27/41
Advan
cedBPMN
EventSubProcess
TheE
ventSub-Proces
siscontainedwithinaprocessora
subprocess.ItisnotapplicabletoaTask.
Itismarkedwithadottedlineboundaryandtr
iggeredbyaStartEvent.
Itd
oesnothaveincomin
goroutgoingsequen
ceflows.
Itc
anbecollapsedorex
panded.Whencollap
sed,ithasthemarkerofthe
StartEvent.
TypesofStartEventsforEventSubproc
ess
Me
ssage,
Error,Timer,Signal
Ithas
accesstotheda
taofits
arentsc
oeasnashota
tthe
point
intimewhenitsp
arentcompleted.
Justlikeboundaryeventsitlistensforexterna
lsignalsbutinsteado
f
tra
nsferringoutsideofth
eactivityitrunswithintheactivity(process
/
subprocess).
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
28/41
BPMN
byExampleEventSubprocess
Eventsubprocess.
ErrorStart
Event
Process
ends
Boundaryerrorevent.
TheEventS
ubprocessinterrupts
theregularflowofthe
process.
ErrorStartE
ventisonlyusedinP
rocessEventHandle
rs.
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
29/41
BPMN
byExampleEventSubProc
ess
Event
Subprocesswith
ErrorEndEvent.Ithas
tobec
aughtbya
corres
ponding
bound
aryevent.
Exception
Path
No
rmal
Path
Message
StartEvent
TherecanbemanyEventSubprocessesbutonlyonegets
activated.
Inthecas
eofEventSubprocessw
ithNoneEndEvent,the
normalflowafterthesub
processstep
isexecuted.
Inthecas
eofEventSubprocessthathasanErrororMessageEndEvent,thecorre
sponding
boundary
catcheventattachedto
thesubprocessboundaryistriggeredandtheeve
nthandling
pathistaken.
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
correspondin
g
boundaryeve
ntthat
catchestheCancel
Ordererror.
EventSubproce
ss
withNoneEndEvent.
Normalflowafter
subprocessstepis
taken.
ErrorStart
Event
-
8/21/2019 BPMN Advanced Concepts[1]
30/41
ImplementationofEvents
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
31/41
Imple
mentation
ofMessageEvent
Cane
itherinitiate(sendorthrow)or
contin
ue(catchorreceive)
Messages.
MessageEventasinitiator:
Choosetheinitiateoption.
Yo
ucaneithercreatea
Service
interfaceonthefly
(or)
BrowseforanexistingS
ervice
fro
mtheBusinessCatalog.
MessageEventascontinua
tion:
ChoosetheContinuesoption.
Itwills
howalistofMessage
Endpointsthatcansen
d
messages.
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
32/41
Imple
mentation
ofErrorE
vent
TheE
rrorEventscatcheso
r
throwsBusinessException.
DefineBusinessExceptions
GototheBusinessCatalog,
rig
ht-click,selectNew
op
tionandchooseBus
iness
Exception.
ThislaunchestheBusin
ess
Exceptionwizard.Choo
seor
cr
eaeao
eruner
BusinessCatalog.
SpecifytheXMLSchem
afor
th
eBusinessException.
Goto
theImplementation
tabof
theEndEventandchoosethe
desire
dBusinessException
..
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
33/41
Implem
entationo
fTimer&
Signal
Events
TimerEvent
TheTimerEventsareusedfor
schedulingtheprocess
instantiationorforwaitingfo
ra
specifictimeperiod.
Twow
aystospecifytime:
Sp
ecificdatetime.
Sc
heduled,recurringtim
e
.
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
SignalEvent
TheSig
nalEventsareusedfor
publish
ingorsubscribingtoa
wellknowntopicusingbroad
cast
mechanisms.
Browse
forEventsspecifiedin
theBus
inessCatalog.
-
8/21/2019 BPMN Advanced Concepts[1]
34/41
Imple
mentation
ofSendT
ask
Referstoanasynchronous
send.
Send
Taskcaneitherinitiatethe
conve
rsation(asynchronous
reque
st-response)orreplytoa
conve
rsation(receive-reply).
Send
Taskasinitiator:
Choosetheinitiateoption.
Browseforanexisting
ServiceoraMessageE
nd
PointintheProcessfromthe
usness
aaog.
Send
Taskasreply:
ChoosetheContinues
op
tion.
It
wills
howalistofReceive
Tasksinthesameprocess.
TheS
endTaskhasonlyinp
ut
argum
ents.
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
35/41
Imple
mentation
ofReceiv
eTask
Receiveamessage.
ReceiveTaskcaneitherinitiatethe
conve
rsation(receive-reply)orreply
toaconversation(request-response).
Itcan
alsoinitiatetheproce
ss
ReceiveTaskasinitiator:
Choosetheinitiateoption.
Youcaneithercreatea
Service
interfaceonthefly
(or)
BrowseforanexistingS
erviceor
ProcessfromtheBusiness
Catalog.
ReceiveTaskasreply:
ChoosetheContinuesoption.
It
wills
howalistofSen
dTasks
in
thesameprocess.
TheR
eceiveTaskhasonly
output
argum
ents.
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
36/41
Loop
&Multi-in
stanceMarkers
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
37/41
BPMN
Loopsus
ingActivityMarkers
Markers
oriconscanbea
ddedtoTasksor
Sub-
processestoillustratefurthersemanticcon
text
aroundTaskbehavior.
LoopMarker
UsedtocreateaForloop.
ImplementationAttributes:
L
oopCondition(Expression)
L
oopMaximum(Integer)
L
oopconditionevaluation
time
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
Beginning(while-0or
more)
End(until-10rmore)
Looping
Subpro
cess
-
8/21/2019 BPMN Advanced Concepts[1]
38/41
BPMN
LoopsusingMulti-In
stance
Marker
Multi-instancemarkeris
awrapper
forthe
Activitytoexecutethe
activity
multipletimes.Itisused
whenthesamepathinthe
proces
sneedstobeexecuted
morethanonetime.
Activitiescanbeexecutedeither
Parallel
Multi-instance
subpr
ocess
SequentialMulti-instance
subprocess
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
sequentially(instancesa
regenerated
sequentially)
parallel(allinstancesare
generated
firs
tandexecutedinparallel).
Numberofinstancesdependson
eitherthe
Loopcardinalityattribute
Nu
mberofinstancesintheincoming
data(usuallyanArray).
-
8/21/2019 BPMN Advanced Concepts[1]
39/41
BPMN
Example
Multi-ins
tancescenario
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
Multi-instance
Marker
-
8/21/2019 BPMN Advanced Concepts[1]
40/41
2009OracleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
-
8/21/2019 BPMN Advanced Concepts[1]
41/41
Thepre
cedingisinten
dedtooutline
ourgeneral
productdirection.Itis
intendedforin
formation
purposesonly,andmaynotbeincor
poratedintoany
contrac
t.Itisnotacommitmenttodeliverany
materia
l,code,orfunctionality,ands
houldnotbe
cleCorporationProp
rietaryandConfidential
BPMSuite
11gTrainingBPMNAdvancedTopic
reliedu
poninmaking
purchasingde
cisions.
Thedevelopment,release,andtimin
gofany
featuresorfunctionalitydescribedfo
rOracles
productsremainsatth
esolediscretionofOracle.