Flo for Spring XD - Pivotal · Flo for Spring XD Flo is an HTML5 canvas application that runs on...

Preview:

Citation preview

FloforSpringXD

Documentation

Published:14March2019

©2019PivotalSoftware,Inc.AllRightsReserved.

235614

TableofContents

TableofContentsFloforSpringXDInstallingFloGuidelinesforBuildingComposedJobsProvidingFeedback,RequestingFeatures,andReportingBugs

©CopyrightPivotalSoftwareInc,2013-2019 2

FloforSpringXD

FloisanHTML5canvasapplicationthatrunsontheSpringXDruntime,offeringagraphicalinterfaceforcreatingandmonitoringstreamingandbatchdatapipelines.

DragandDropInterfaceFloallowsyoutocreatereal-timestreamingandbatchpipelineseitherwiththetextualshellorthe‘draganddrop’interface.Formoreinformation,seetheBuildingStreams andAdvancedStreamCreation .

FloandStreamingPipelinesThetextualshellofferscontent-assistforstreamdefinitions.Whetheritisasource,processor,sink,orjob,content-assistofferscompletionofmodulenamesandmoduleoptions.Thisallowsforrapiddevelopment,andissimilartothecontent-assistexperiencewhenwritingcodeinanIDE.Formoreinformation,seetheContentAssistandValidation tutorialvideo.

Thetextualandgraphicalviewsarekeptinsyncautomatically.Whileworkingonastreamdefinitionyoucanswitchthemandstillfindanup-to-daterepresentationofyourpipelines.

Floincludesapalettewithallout-of-the-boxadaptersavailableinSpringXD.Thepalettealsoincludesasmartsearchfilterforquickmodulelookup.Onceyoufindyourdesiredmodule,youcandraganddropthemoduletothecanvastocreateanewdefinitionoraugmentanexistingone.

Pipelinesarecomposedofsource,processor(0..n),andsinkmodules.Floexpectsthisstructureandoffersimmediatefeedbackonanyissuesitfinds.Thetextualshelldisplayserrormessagesforsyntaxerrorsandotherproblemswithstreamdefinitions,suchasifamoduleisspecifiedwithanunsupportedoption.

HealthMonitoringSpringXDusesSpringBoot’smonitoringandmanagementsupportoverHTTPandJMXalongwithSpringIntegration’sMBeanExporters.Floleveragestheseendpointstoprovidevisualhealthmonitoring.

ThestatesofpipelinesinSpringXDarerepresentedvisuallybydifferentcolors.Green,orange,grey,andredindicate Deployed , Incomplete , Undeployed ,and Failed ,respectively.

Smallcoloredcirclesundereachmodulerepresentthestatesofthatmodule’sinstances.Whiteindicatesthataninstanceiswaitingtobedeployed,andgreenindicatessuccessfuldeployment.Hoveringoveracircleprovidesinformationspecifictothecorrespondinginstance,suchaswhereitisrunning.Ifyourequestalargenumberofinstancesinthisway,theviewswitchesfromcirclestoasimplenumericsummaryofhowmanyaresuccessfullydeployedversushowmanyhavebeenrequested.

MetricsFlooverlaysthestreamviewofeachmodulewiththecombinedmessagethroughputforallinstancesofthatmodule.Whereapplicable,theinputrateisdisplayedtotheleftofthemoduleandtheoutputrateisdisplayedontheright.

Formoreinformation,seetheHealthMetrics tutorialvideo.

FloandBatchPipelinesFloalsooffersatextualshellandgraphicalviewforbatchpipelines.Aswiththetextualshellandgraphicalviewforstreamingpipelines,theyarekeptinsyncautomatically.FloforBatchpipelinesinSpringXDisavailableunderJobs>CreateComposedJob.

Unlikethepaletteforstreamingpipelines,thepaletteforbatchpipelinesdoesnotincludeout-of-the-boxjobmodules.Jobdefinitionsforbatchpipelinesmustfirstbecreated,andarethenavailableinthepalette,alongwithanyalready-definedcomposedjobs.

Note:FloforSpringXDisnolongersupported.Tostayuptodatewiththelatestsoftwareandsecurityupdates,upgradetoasupportedversion.

©CopyrightPivotalSoftwareInc,2013-2019 3

FloforBatchpipelinebuildsuponthenewlysupportedBatchDSLinSpringXD,whichcanbeusedtocreatecompositebatchworkflowsinvolvingsequentialjobs,paralleljobsoreventhecombinationofthetwo.

TheFlocanvastextualshellanddrag-and-dropinterfacebothsupporttheSpringXDbatchDSL.JobdefinitionsintheDSLwillbecomputedautomaticallyforbatchjobscomposedinthedrag-and-dropinterface.

ExistingcompositebatchworkflowscanbeviewedbyclickingJobs>Definitions.Infuturereleases,Flowillincludecomprehensivefeaturesforbatchpipelinessuchasmetrics,statusesanddistributedtracingofbatchjobs.

©CopyrightPivotalSoftwareInc,2013-2019 4

InstallingFloThistopicprovidesinstructionsforinstallingFloforSpringXD.

1. InstallorupdatetothelatestSpringXDGArelease,orthereleaseofyourchoice.

2. VisittheFloproductpage anddownload flo-spring-xd-admin-ui-client-[RELEASE_OF_YOUR_CHOICE].zip .

3. Navigatetothe XD_HOME/lib directoryandbackupyouroriginal spring-xd-admin-ui-client-[RELEASE].jar file.

4. Whilestillinthe XD_HOME/lib directory,unzip flo-spring-xd-admin-ui-client-[RELEASE_OF_YOUR_CHOICE].zip toreplacetheexisting spring-xd-admin-ui-client-[RELEASE].jar .

5. Clearyourbrowsercache.

6. AccessFloforSpringXDatthefollowingURIendpoints:

Maindashboard: http://HOST_NAME:PORT/admin-uiStreamcreation: http://HOST_NAME:PORT/admin-ui/#/streams/createHealthmonitoring: http://HOST_NAME:PORT/admin-ui/#/streams/definitionsModulethroughputratesarevisibleat http://HOST_NAME:PORT/admin-ui/#/streams/definitions .

Note:Ifunchanged,thedefaultPORTpointsto9393.

Note:Toseethroughputratesformodules,youmustenableJMXinyourSpringXDcluster.Bydefaultitisdisabled.

©CopyrightPivotalSoftwareInc,2013-2019 5

GuidelinesforBuildingComposedJobsThistopicprovidesinstructionsforbuildingcomposedjobs.

Thebasicbuildingblockisaflow,whichisasequenceofoneormorejobs.

Flowsareselfcontainedandthereiseffectivelyoneentrypointandallexitsfromaflowexittothesamenexttarget.

Youcanlinktheendofoneflowtothestartofanewflowbutyoucan’tlinkbetweenintermediatenodesintwoflows.

Asplitindicatesanumberofflowsruninparallel.

Acomposedjobcanspecifyatimeout,thisaglobalsettingforthejob.TosetaglobalsettingforajobopenthepropertiesfortheSTARTnodeandsetitthere.

Althoughjobsinaflowareexpressedsuchthatonerunsafteranother,aconditionaltransitioncanbesetuptocausesomethingdifferenttohappenwhenaparticularjobfinishes.TheconditionaltransitionspecifiestheJobExitStatuswhichtriggersitandthenwhathappensnext:thismightbeanotherjoboritmightbeimmediatelyENDingorFAILingthatflow.

Thewildcard‘*’valueforaconditionaltransitionjobexitstatusrepresentseverythingnotmappedbyothertransitionsfromthesamejob.

Forthelastjobinaflow,iftheexitspaceisbeingmappedinanyway(ifthereareanyconditionaltransitionsoutofit)thenitisimportanttomaptheentireexitspacebyensuringyouhaveaconditionaltransitionfor‘*’(meaning‘anyexitstatus’).

Ifyourgraphlookslikespaghetti,considerdecomposingitfurther.Youcanbuildasimplecomposedjobthenusethatasabuildingblockinanothercomposedjob.

©CopyrightPivotalSoftwareInc,2013-2019 6

©CopyrightPivotalSoftwareInc,2013-2019 7

©CopyrightPivotalSoftwareInc,2013-2019 8

©CopyrightPivotalSoftwareInc,2013-2019 9

©CopyrightPivotalSoftwareInc,2013-2019 10

©CopyrightPivotalSoftwareInc,2013-2019 11

©CopyrightPivotalSoftwareInc,2013-2019 12

©CopyrightPivotalSoftwareInc,2013-2019 13

ProvidingFeedback,RequestingFeatures,andReportingBugsUseJIRAtoprovidefeedback,requestafeature,orreportabug.EnsurethatyouenterthefollowinginformationinanySpringXDJIRAticket thatyoucreate:

EpicLink:FloforSpringXD

Summary:[Flo]Myissue…

Description:AsaFloforSpringXDuser,I…

©CopyrightPivotalSoftwareInc,2013-2019 14

Recommended