Вы находитесь на странице: 1из 9

12/24/2016 AntonisAntoniou'sBlog:OracleBPM12cSubprocesses(Part1of3):ReusableSubprocess

1 More NextBlog CreateBlog SignIn

AntonisAntoniou'sBlog

Thursday,October8,2015
OracleBPM12cSubprocesses(Part1of3):
ReusableSubprocess
InthisthreepartserieswewillexploreanadditionalBPMNflow
object,thesubprocess.Bydefinition,asubprocessisanothertype
ofprocessthatcaneitherresidewithinthemainprocessoritis
calledbyanotherprocess.

Asubprocess,justlikeanormalprocesshasitsownstartandend
eventsandcanacceptdataobject,updatedataobjectsandreturn
dataobjects.Therearethreetypesofsubprocesses,Reusable
subprocesses,EmbeddedsubprocessesandEventsubprocesses.
InthisfirstpartwewilldiveintotheResuableprocess. OracleBusinessProcess
ManagementSuite12c
AResuableprocesses,asthenameimpliesisanindependent CertifiedImplementation
processthatisoftenusedtogroupcommonandrepeatedflows(and Specialist
activities)sothattheycanbereused(asopposedtore
implementedeverytimewhereneeded)andwhichcanbeinvoked OracleSOASuite12cCertified
bymultipleparentprocesseswithinthesameBPMproject.Andits ImplementationSpecialist
imperativetostressherethelastpart,withinthesameBPM
project,asaResuableprocesscannotbeused/invokedfromother OracleApplication
BPMprojects.Toachievethelatteryouwillneedtousetemplates DevelopmentFramework12c
(featurethatIwillbeblogginglater). CertifiedImplementation
Specialist
Asopposedtoanormalprocesswherecanyouuseavarietyof
eventstostartandendaprocess(forexample,messagestart OracleApplicationGrid11g
event,timerstartevent,signalstartevent,messageendevent, CertifiedImplementation
signalendevent,etc.),aReusablesubprocesscanonlystartwith Specialist
anonestarteventandcanonlyendwithanoneendevent.
OracleUnifiedBusiness
Furthermore,toinvokeaReusablesubprocessfromamain ProcessManagement11g
process,youwillneedtouseaCallactivitythatby CertifiedImplementation
implementationallowsyoutocallareusableprocesssynchronously. Specialist
Whatthismeansisthatwhentheparentprocessinvokesa
ReusableprocessitwillwaituntiltheReusablechildprocess ServiceOrientedArchitecture
completesexecutionbeforetheparentcontinuesitsflow. 11gImplementationSpecialist

However,eventhoughthetokenispassedfromtheparentprocess OracleApplication
tothesubprocess,thechildsubprocessdoesnotsharetheparent DevelopmentFramework11g
context,meaningthatthedataobjectsoftheparentprocessarenot CertifiedImplementation
availabletotheReusablechildprocess. Specialist

OracleWebCenterPortal11g
CertifiedImplementation
Specialist

OracleWebCenterContent11g
ImplementationSpecialist

http://antonisantoniou.blogspot.in/2015/09/oraclebpm12csubprocessespart1of3.html 1/9
12/24/2016 AntonisAntoniou'sBlog:OracleBPM12cSubprocesses(Part1of3):ReusableSubprocess

Tweetsby@AntoniouAntonis
AntonisAntoniou
@AntoniouAntonis

OracleIntegrationCloudService
Integrationin#OraclePCSantonis
antoniou.blogspot.com/2016/12/ora
cle|@soacommunity
SotopassdataobjectsfromtheparentprocesstotheReusable @OTNArchBeat@oracleace
childprocess(andviceversa),yoursubprocesswillneedtodefine
dataobjectofitsownandusingthedataassociationmappingsof 13Dec
thecallactivityyoucanpassdataobjectsfromtheparentprocess
tothesubprocessandbackwards.Dataobjectsdefinedina AntonisAntoniouRetweeted
subprocessareonlyaccessiblewithinthesubprocess.
RalfMueller
Letsseeinpracticehowyoucancreateasubprocessandhowto @ralf_mueller
invokeasubprocessfromamainprocess.Forthesakeofsimplicity
Greatblogpostby
andeasinesswewillbuildtheQuoteprocessdepictedabovebut
@AntoniouAntonisonEventBased
SaveQuoteservicecall.
GatewaysandCorrelationsin
CreatethebasicBPMapplicationandBPMprojectwithan #OraclePCS
asynchronousBPMNprocessthattakesasimplestringinput antonis
argument(forexamplebidId)andreturnsastringargument(for antoniou.blogspot.de/2016/11/even
examplestatus). t

07Dec

AntonisAntoniouRetweeted

SimoneGeib
@SOASimone

Embed ViewonTwitter

SearchThisBlog

Search

Followers
Createtwostringprocessdataobjectstostoretheprocessinputand
outputargumentsforreferencethroughouttheprocess. Followers(31)Next

Follow

TotalPageviews

http://antonisantoniou.blogspot.in/2015/09/oraclebpm12csubprocessespart1of3.html 2/9
12/24/2016 AntonisAntoniou'sBlog:OracleBPM12cSubprocesses(Part1of3):ReusableSubprocess

Nextassigntheprocessinputandoutputargumentstothe
respectiveprocessdataobjects.Onthe"StartMessage"select 160281
"Properties","Implementation","DataAssociations"anddragsource
argument(bidId)totargetdataobject(pBidId).Dothesameforthe
BlogArchive
outputargument,mappingstatustopStatus.
2016(15)

2015(23)
December(2)

November(2)

October(3)
OracleBPM12c
Subprocesses(Part2of
3):Embedde...

OracleBPM12c
Subprocesses(Part1of
3):Reusabl...

SuppressApproval
Draganddroptwointeractivehumantaskactivitiesontothedefault
ControlsfromBPM
transitionlinefromstarttoendnamingthefirstEnterQuote
DetailsandthesecondoneFinalizeQuote.Youprocessshould Workspace12c...
looklikebelow.
August(2)

July(2)

June(1)

May(1)
Noticehowthehumantaskactivitiesaremarkedasincomplete.
Thatsbecausetheyhaventbeenimplementedyet.Soletscreatea April(2)
singlehumantaskdefinitiontoservebothhumantasks.
March(2)
DoubleclickontheEnterQuoteDetailshumantaskandfromthe February(3)
PropertieswindowgototheImplementationtabandclickonthe
greenAddbuttontocreateanewdefinition.Specifyaname,(for January(3)
exampleSingleOutcomeHT)andjustselectasingleoutcome,OK.
2014(22)

2013(2)

2012(8)

2011(9)

2010(7)

AboutMe
A N T O N I SA N T O N I O U

Viewmycompleteprofile

Openthepropertiesofthesecondhumantask(FinalizeQuote)and
http://antonisantoniou.blogspot.in/2015/09/oraclebpm12csubprocessespart1of3.html 3/9
12/24/2016 AntonisAntoniou'sBlog:OracleBPM12cSubprocesses(Part1of3):ReusableSubprocess

selectthehumantaskdefinitionyoucreatedabove.Bothwarnings
shoulddisappearsincebothhumantaskshavebeenimplemented.

Letsnowcreateourreusablesubprocess.Thissubprocesswilljust
serveasavalidationsubprocessandwillincludeasinglehuman
task.

Rightclickthe"BPMNProcesses"folderandfromthecontextmenu
selectnew"BPMN2.0Process".Giveyourprocessanameand
ensureyouselect"ReusableProcess"fromtheprocesstype
selectionlist.

Todemonstratecontextisolationbetweenthemainprocessandthe
subprocesslet'screateaninputandanoutputargument(quoteIdas
aninputstringargumentandanoutcomeasanoutputstring
argument).

Createtwoprocessdataobjectstostoretheinputandoutput
argumentsforreferencethroughoutthesubprocess.

http://antonisantoniou.blogspot.in/2015/09/oraclebpm12csubprocessespart1of3.html 4/9
12/24/2016 AntonisAntoniou'sBlog:OracleBPM12cSubprocesses(Part1of3):ReusableSubprocess

Nextassignthesubprocessinputandoutputargumentstothe
respectivesubprocessdataobjects.Onthe"StartNone"select
"Properties","Implementation","DataAssociations"anddragsource
argument(quoteId)totargetdataobject(pQuoteId).Dothesame
fortheoutputargument,mappingpOutcometooutcome.

Draganddropaninteractivehumantaskactivityontothedefault
transitionlinefromstarttoend,nameit"ValidateQuote"andcreate
anewdefinitionfortheinteractivehumantaskactivity.Specifya
name,(forexampleDualOutcomeHT)andensurethatboth
"APPROVE"and"REJECT"outcomesareselected.

http://antonisantoniou.blogspot.in/2015/09/oraclebpm12csubprocessespart1of3.html 5/9
12/24/2016 AntonisAntoniou'sBlog:OracleBPM12cSubprocesses(Part1of3):ReusableSubprocess

Inthehumantasktitleensurethatyouusethesubprocessinput
dataobjecttoseehowdataobjectsarepassed(viaassignments)
fromtheparentprocesstothesubprocess.

Onelastthingistoassignthehumantaskoutcometothesub
processdataobjectyou'vecreatedtostorethesubprocessreturn
argument(pOutcome).Todosoopentheinteractivehumantask
activityproperties,gototheimplementationtabandusingthedata
associationsensurethatyoucopythehumantaskoutcome
argumentvaluetothepOutcomedataobject.

http://antonisantoniou.blogspot.in/2015/09/oraclebpm12csubprocessespart1of3.html 6/9
12/24/2016 AntonisAntoniou'sBlog:OracleBPM12cSubprocesses(Part1of3):ReusableSubprocess

Withthesubprocesscompletewecannowgotothemain(parent)
processandcallthe"ValidateQuoteSubProcess".Toinvokea
reusablesubprocessfromamainprocessyouwillneedtousea
"Call"activity.

Thereforedraganddropa"Call"activityjustbetweenthetwo
interactivehumantaskactivities.Giveyour"Call"activityaname
(forexample"CallValidateQuoteSubProcess")andfromthe
implementationtab,intheprocessdropdownlistensureyouselect
yourreusablesubprocess.

Asalreadystatedabove,themainprocessdoesnotshareits
context(thereforeitsdataobjects)withareusablesubprocess.To
passdataobjectsfromthemainprocesstoasubprocessyouneed
tousedataassociations.

Thereforeusingthedataassociationsofthe"Call"activityensure
that,fromtheinputtab,youcopythepBidIdmainprocessdata
objecttothequoteIdinputargumentofthereusablesubprocess
andfromtheoutputtabyoucopybacktheoutcomefromthe
reusablesubprocessbacktothemainprocess.

http://antonisantoniou.blogspot.in/2015/09/oraclebpm12csubprocessespart1of3.html 7/9
12/24/2016 AntonisAntoniou'sBlog:OracleBPM12cSubprocesses(Part1of3):ReusableSubprocess

Wearenowreadytodeployandtestourprocess(andsubprocess).
FromtheEM(EnterpriseManager)invokeanewinstanceofyour
processandopenontheflowtrace.Yourinstanceshouldbewaiting
atthefirsthumantaskactivity.

GototheBPMWorkspaceandyoushouldseeanewtaskinyour
inbox(weblogicgiventhatyoumappedweblogicastheprocess
owner).Submitthetaskandgobacktotheflowtrace.Youshould
seethatyourinstancehasinvokedyourreusablesubprocessandis
waitingforreview.

Approve(usingtheBPMWorkspace)thenewtaskthathasbeen
createdandassignedandgobacktotheflowtrace.Youinstance
shouldhaveresumedexecutionofyourmainprocessandshouldbe
pendingatthethirdstep.

Approvethethirdandlaststepandyourinstanceshouldbe
completed.Ifyouinspecttheaudittrailoftheendactivityofyour
mainprocessyoushouldnoticethatreviewhumantaskoutcome
fromthereusablesubprocesshasbeenpassedbacktothemain
processandcopiedtothereturnargumentofthemainprocess.

http://antonisantoniou.blogspot.in/2015/09/oraclebpm12csubprocessespart1of3.html 8/9
12/24/2016 AntonisAntoniou'sBlog:OracleBPM12cSubprocesses(Part1of3):ReusableSubprocess

Downloadsampleapplication:ReusableSubprocess

PostedbyAntonisAntoniouat12:51PM

Nocomments:

PostaComment

Enteryourcomment...

Commentas: GoogleAccount

Publish
Preview

NewerPost Home OlderPost

Subscribeto:PostComments(Atom)

http://antonisantoniou.blogspot.in/2015/09/oraclebpm12csubprocessespart1of3.html 9/9

Вам также может понравиться