pre-con ed: best practices for setting up ca workload automation esp application procedures
TRANSCRIPT
World®’16
BestpracticesforsettingupCAWorkloadAutomationESPEditionApplicationProceduresJohnRooney,CATechnologies,Sr.PrincipalConsultant
MFX33E
MAINFRAMEANDWORKLOADAUTOMATION
2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
©2016CA.Allrightsreserved.Alltrademarksreferencedhereinbelongtotheirrespectivecompanies.
Thecontentprovidedinthis CAWorld2016presentationisintendedforinformationalpurposesonlyanddoesnotformanytypeofwarranty. The informationprovidedbyaCApartnerand/orCAcustomerhasnotbeenreviewedforaccuracybyCA.
ForInformationalPurposesOnlyTermsofthisPresentation
3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Abstract
AsCAWorkloadAutomationESPEdition(CAWLAESP)userstakeadvantageofpre-production
environmentstotestouttheirjobflows,ithasbecomemoreimportanttobeabletoableto
migratetheCAWLAESPApplicationsfromDevtoProductionwithaslittlemanualintervention
aspossible.ThistalkwilldiscussthestrategiesandmainframeCASoftwareChange
ManagementtoolstousetocreateanautomatedprocesstomigrateyourCAWLAESP
Applicationproceduresthroughthelifecycleprocess.
JohnP.RooneyCATechnologiesSr.PrincipalConsultant
4 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Agenda
MULTIPLEENVIRONMENTSANDSTANDARDS
USEOFSYMBOLICS
LEVERAGINGSYMBOLICLIBRARIES
SOFTWARECHANGEMANAGEMENTPROCESSES
1
2
3
4
Q&A
SUMMARY5
6
5 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
DecisionToUseYourEnterpriseWorkloadProductorNot?
§ Istheapplicationbusinesscritical?
§ Doestheapplicationhaveabusinessimpacton:– Revenue– Service– Customer
§ Yes.ThenyouneedtousetheEnterpriseWorkloadsolution
6 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
OnceYouHaveaProductionWorkloadInstance,WhatisTheValueofaPre-productionInstance?§ Itisusedtoprotectproduction
– Minimizespotentialforproductionfailureoroutage– Testingofapplicationflowsbeforeproduction– TestingofApplicationIntegrationsinpre-prodenablesbetter
EnterpriseWorkloadusageandvisibility– PartofaDevops implementationstrategy
§ TestingofCAWLAESPserverupgradesandfixes
7 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
PotentialissueswithmultipleCAWLAESPinstances
§ ManualefforttomigrateCAWLAESPproceduresfromoneinstancetoanother– Manualefforttochangevalueslikeargumentsandtimesinthe
ApplicationsandJobs– ChangeEventnamesandschedulingfrequencies
§ HardtokeepCAWLAESPproceduresinsyncwithoutpropernamingstandards
8 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
PotentialissueswithusingasingleCAWLAESPinstances
§ Testcaninadvertentlyaffectproduction– Namingstandardsandsecurityprofilesshouldpreventthisfrom
happening– RunawayREXXprograms
§ EnsureseparateEventInitiators– Trytohaveasmuchphysicalandlogicseparation
9 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
ValueofcreatingNamingstandards
§ Easiertocategorizeartifactsforsearchingpurposes
§ Easiertodetermineownershiporresponsibility
§ Easiertocreateandonboardnewapplications
10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
ValueofcreatingNamingstandards
§ Easiertocreateand/orclonesecurityrules
§ EasiertosubscribeinMonitoring– CansubscribetojusttheApplicationsthatyouwant
§ EnablemovingapplicationsthroughadevelopmentlifecycleaspartofyourDevops strategy– Minimizeoreliminatemanualchangesbetweenstages
11 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
SuggestionsforCAWLAESPArtifactNamingStandards
§ 8characterApplicationnames(PDSMember)makesithardtousemultiplecharactersfortheApplicationname– Manycustomershaveanamingconvention
foracoupleofcharacterstorepresentthebusinessapplication
– PDSmembernamedoesnothavetomatchtheApplicationnamebutmakessearchingeasierifitdoes
– APPLDESCwascreatedtoprovidebettervisibilityoftheapplicationpurpose§ APPLAPPLDESCDESC('HELLOFROMCAWORLD')
PQC =SUBSTR(1,3,%ESPTRMEM)SITE =SUBSTR(4,1,%ESPTRMEM)THRD =SUBSTR(5,1,%ESPTRMEM)APPLID=SUBSTR(6,2,%ESPTRMEM)
12 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
SuggestionsforCAWLAESPArtifactNamingStandards
§ EventprefixesareindependentnamesandnotassociatedwitharealTSOlogonuserid– ExampleDEV.PAYOLL,TEST.PAYROLL,PROD.PAYROLL– Usuallyusedasatestforwhichenvironmentstandardstoload– Thisisusuallytheuserid usedfortheexecutionofz/OSworkload
REXXON Eventname=CLANGVAR('%ESPEVENT') PARSE VAR Eventname event_prefix '.' event_name"event_prefix='"event_prefix"' " REXXOFF ENVCHAR = substr(1,1,%ESPEVENT) INVOKE CAIDEMO.PROD.ESP.PROCLIB($%event_prefix)
REXXONEventname = CLANGVAR('%ESPEVENT')parse var Eventname PAR1 "." PAR2 "_" PAR3 "_" PAR4"SSID='"PAR1"'""ACID='"PAR2"'""GSID='"PAR3"'""VSID='"PAR4"'"REXXOFFBCID = SUBSTR(7,2,%ACID)HCID = SUBSTR(1,2,%GSID)
13 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
SuggestionsforCAWLAESPArtifactNamingStandards
§ AnothersuggestionforEventnamesistouseacustomernameordistributioncenternamewhenyouareusinganApplicationasaTemplateforamanytooneexecution– ExampleDC1,DC2,DC3– ChangetheApplicationnameaswell
DCNUM = substr(1,3,%ESPEVENT)
APPL %ENV.STATS
INVOKE CAIDEMO.PROD.ESP.PROCLIB($%DCNUM)
14 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAWLAESPArtifactsWheretheBusinessApplicationNameCanbeUsedasaPrefix§ Resources- prefix_D/R/T_RESOURCE_NAME
– Trytobeverydescriptiveinthename– Easiertotroublehoot whenjobsareinRESWAIT
§ SecurityGroupprofile- prefix_GR
§ GlobalVariableTableName- prefix_GV
15 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAWLAESPArtifactsWheretheBusinessApplicationNameMakesSenseasaPrefix
§ CalendarSpecialDays- prefix_SPECIAL_DAY
§ JCLLIB,TEMPLIB,COPYJCL,DOCLIB
16 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
StaticVariables- EnvironmentVariablesSymlib atEventLevel(DEFSYMLcommand)
ESP_subsys ='ESPP'ESP_env ='PROD'ESP_envchar = ‘P’ESP_zosusr ='PRODUSR'ESP_ftpusr ='FTPUSR'ESP_rcvport ='9671'ESP_wssport ='9654'ESP_webport ='4567'ESP_hostdns ='TSO21'
17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
DynamicVariables– SomeCommonExamplesUsedbyINVOKEstatement
§ JCLLIB,COPYJCL,TEMPLIB,DOCLIB
§ Dates
§ Agents
§ Directories/paths
§ Fixlib
§ Times/SLAs/Criticaljobs
§ Notifications
§ Jobname/qualifier
§ NotificationLists
§ Databaseservers
18 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
SampleDynamicVariables
JCLLIB'CAIDEMO.PROD.ESP.JCLLIB'COPYJCL'CAIDEMO.PROD.ESP.COPYJCL'JOBNAMETEMPLIB'CAIDEMO.PROD.ESP.TEMPLIB'USEMEMDOCLIB'CAIDEMO.PROD.ESP.DOCLIB'OPTIONSRESTARTSTEPDUEOUTPROPAGATIONCRITPATHON
NOTIFYFAILUREMAILBOX(JROONEY)NOTIFYOVERDUEALERT(LATE)
root_directory='c:\prod\home\bin'report_directory='c:\Reports'agentname ='PROD_AGENT'
gentime P0todaygentime P1todayplus1daygentime M1todayless1day
P0DATEA='%P0YEAR%P0MM%P0DD'P1DATEA='%P1YEAR%P1MM%P1DD'M1DATEA='%M1YEAR%M1MM%M1DD'
echo%P0DATEAecho%P1DATEAecho%M1DATEA
19 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
UseasEnvars inWob Defintion
REXXONEventname=CLANGVAR('%ESPEVENT')PARSEVAREventname event_prefix '.'event_name"event_prefix='"event_prefix"'"REXXOFF
APPL%event_prefix.SYM
INVOKECAIDEMO.PROD.ESP.PROCLIB($%EVENT_PREFIX)
JOB%ESP_ENVCHAR.AACJ001MEMBERPAACJ001RUNDAILYTIME='30'CODE='04'ENDJOB
NT_JOBEcho_testRUNnowAGENT%AGENTNAMECMDNAME%root_directory\echoit.batARGS'justsomemessage'ENVARESP_subsys =%ESP_subsysENVARESP_env =%ESP_envENVARESP_envchar =%ESP_envcharENVARESP_zosusr =%ESP_zosusrENVARESP_ftpusr =%ESP_ftpusrENVARESP_rcvport=%ESP_rcvportENVARESP_wssport=%ESP_wssportENVARESP_webport=%ESP_webportENVARESP_hostdns=%ESP_hostdns
ENDJOB
20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
SimulationOutput
§ ExecutionofSymlib
§ Echousedtoconfirmsomevaluesbeingpassedduringexecution
§ ENVARusedtopasssymbolics withouttheneedtoincludeintheargs
21 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
JCLandSpoolOutput
ESPAGENT=JPRR1134ESPAGENTDIR=C:\ProgramFiles\CA\WAAgentR11.3.4DB7535ESPAGENTHASH=5D26EA9A1D5EE36CC682EBD5EBBE3E867F5B5CE0ESPAGENTPORT=7535ESPAGENTSPOOL=C:/ProgramFiles/CA/WAAgentR11.3.4DB7535/spoolESPAGENTTOKEN=524F4F4A4F3032ESPAPGEN=4ESPAPPL=PRODSYMESPAPPLMGR=JavaAgent#tcpip@CM_CAESP21ESPOBJECT=ECHO_TEST/PRODSYM.4/MAINESPWOB=ECHO_TESTESP_env=PRODESP_ftpusr=FTPUSRESP_hostdns=TSO21ESP_rcvport=9671ESP_subsys=ESPPESP_webport=4567ESP_wssport=9654ESP_zosusr=PRODUSR
AgentGeneratedENVARs
JobPassedENVARs
22 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
GlobalVariableTablesCanBeUsedAsWell
§ VTDEFINECAWORLD
§ VTLISTCAWORLD
§ VPUTGV_TESTTABLE(CAWORLD)
§ VGETGV_TESTTABLE(CAWORLD)
23 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CanSetGlobalVariablesandPickedUpDynamically
JOBSET.GV_STARTLINKPROCESSRUNANYREXXON"GV_TEST='START'""VPUTGV_TESTTABLE(CAWORLD)"REXXOFFRELEASE(%ESP_ENVCHAR.AACJ001)
ENDJOB
JOB%ESP_ENVCHAR.AACJ001TIME='30'CODE='04'VGETGV_TESTTABLE(CAWORLD)GLOBVAR='%GV_TEST'MEMBERPAACJ001RUNDAILYRELEASE(Echo_test)
ENDJOB
NT_JOBEcho_testRUNDAILYAGENT%AGENTNAMEVGETGV_TESTTABLE(CAWORLD)CMDNAME%root_directory\echoit.batVGETGV_TESTTABLE(CAWORLD)ARGS'%GV_TEST'ENVARESP_subsys=%ESP_subsysENVARESP_env=%ESP_envENVARESP_envchar=%ESP_envcharENVARESP_zosusr=%ESP_zosusrENVARESP_ftpusr=%ESP_ftpusrENVARESP_rcvport=%ESP_rcvportENVARESP_wssport=%ESP_wssportENVARESP_webport=%ESP_webportENVARESP_hostdns=%ESP_hostdnsRELEASE(SET.GV_stop)
ENDJOB
24 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
VTRDEF– DefineGlobalVariableTrigger
§ CreateaGlobalVariabletrigger
§ Wheneveravariableisupdated
§ Orwhenitisupdatedtoacertainvalue
VTRDEFVARIABLE(GV_TEST)TABLE(CAWORLD)EVENT(PROD.GVTRIG)WHEN(‘START’)
25 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WaystoMinimizeorEliminateChangesWhileMovingThroughtheLifecycle§ DefineanEventwithaSymlib withstaticvariables
– MaynotneedtomovetheEventthoughthelifecycle
§ DefinedynamicvariablesintheINVOKEdefinedintheApplicationatEventTriggertime– Datesymbolics forpast,presentandfuturedates
§ EmbedIF/THEN/ELSElogicinthejobdefinition– Forvaluesthatneedtobesetjustbeforethejobisexecuted
26 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WaystoMinimizeorEliminateChangesWhileMovingThroughtheLifecycle§ TrytomakeitsothatonlytheApplicationneedstobe
migrated– UselinksforAPPLSTARTandAPPLENDasfunctionstoexecuteCAWLA
ESPcommandstoset-upotherjobsandtokeeptheApplicationasself-sufficientaspossible
27 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WaystoMinimizeorEliminateChangesWhileMovingThroughtheLifecycle§ Createapplicationstandardsfordeployingapplications
– Standarddirectorynamesinpre-prodandprodwillminimizetheneedforcreatingexceptionsymbolics
§ UnixandLinuxareinterchangeablejobtypes– CantestwithaUnixagentbutactuallyuseLinuxinproduction
28 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
LeveragingAgentAlias§ DonotneedtodefinetherealagentnameintheCAWLAESP
topologytouseaparticularagent
§ Anagentaliascanbeset-upforanyreasonandforanypurpose– CApre-salesroutinelyusesaliasestomimiccustomer’sagents– Multiplealiasescanbeset-uponanagent
§ Coulduseproductionagentnamesforpre-prodagents
§ Whenretiringanagent,canbeaneasywaytoswitchagentswithoutchangingjobdefinitionsimmediately
29 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
ExecutingtheCASoftwareChangeManagementSolutionforLifeCycleManagement§ MovetheCAWLAESPProcedurePDSmember
§ ExecuteaSimulationoftheApplication– ValidatethesyntaxoftheCAWLAESPProcedure– CanuseagenericEventforthesimulation– Executefordaily,Weekly,monthly,Holiday,etc…
§ CanmovetheEvent– Mayneedtoexecuteaprocessortochangethedefinitioninpre-prod
30 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAEndevor®SoftwareChangeManager(CAEndevor)RepositoryofDifferentTypes
31 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
SampleCAEndevor ProcessorforSimulation
//*------------------------------------------------------//* GESPSIM PROCESSOR FOR ESP PROCEDURE SIMILATION //* //*-------------------------------------------------------------------//GESPSIM PROC AA=' ', // CPFX=&#COMMPRFX., // PFX=&#BASEPRFX// VIO=SYSDA //* ---------------------------------------//* ALLOCATE THE OUTPUT LISTING DATASETS //* ---------------------------------------//INITLIST EXEC PGM=BC1PDSIN //C1INIT01 DD DSN=&&ESPLST,DISP=(,PASS), // SPACE=(TRK,(3,5)), // DCB=(RECFM=FBA,LRECL=133,DSORG=PS) //**=====================================================//** ESPSIM - SIMULATE PROC VIA ESP //**=====================================================//ESPSIM EXEC PGM=ESP,MAXRC=0,PARM='SUBSYS(EP21)' //SYSPRINT DD DSN=&&ESPLST,DISP=(OLD,PASS) //*YSPRINT DD SYSOUT=* //SYSIN DD * SIMULATE EVENT(ROOJO02.&C1ELEMENT) SCHED('TODAY') //*
//* -----------------------------------//* PLACE THE LISTING IN LISTINGS //* -----------------------------------//CONLIST EXEC PGM=CONLIST,PARM=STORE,MAXRC=0,COND=EVEN //C1LLIBO DD DSN=&PFX..LISTLIB, // DISP=OLD,MONITOR=COMPONENTS,FOOTPRNT=CREATE //C1BANNER DD UNIT=&VIO,SPACE=(TRK,(1,1)), // DCB=(RECFM=FBA,LRECL=121,BLKSIZE=6171,DSORG=PS) //LIST01 DD DSN=&&ESPLST,DISP=(OLD,PASS) //* -----------------------------------//* COPY SIMULATE OUTPUT TO SYSOUT //* -----------------------------------//COPYSRC EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=X,BLKSIZE=0 //SYSIN DD DUMMY,BLKSIZE=0 //SYSUT1 DD DSN=&&ESPLST,DISP=(OLD,PASS) //SYSUT2 DD SYSOUT=*
32 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CanalsoManagetheCAWLAESPEvent
//*-------------------------------------------------------------------//* GESPEVNT: Define ESP event //* //*-------------------------------------------------------------------//GESPEVNT PROC AA=' ', START OF SYMBOLIC LIST // CPFX=&#COMMPRFX., COMMON SYSTEM PREFIX // ZZZ=' ' //**=================================================================** //** ESP - Execute ESP commands ** //**=================================================================** //STEP010 EXEC PGM=ESP,PARM=('SUBSYS(JPR)') //STEPLIB DD DISP=SHR,DSN=CAIDEMO.ESP.R113.SSCPLINK //SYSPRINT DD SYSOUT=* //SYSIN DD DISP=SHR,DSN=&C1BASELIB(&C1ELEMENT) //*
33 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAWLAESPEventDefinition
§ Becauseyoucheck-intheproductiondefinition,youwillprobablyneedtowriteaREXXroutinetochangethingsliketheEventprefix
34 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Summary
§ SomeupfrontnamingconventionscanhelpoutlaterwhenplanningforApplicationlifecyclemanagement
§ LeverageSymlibs,InvokesandGlobalvariablesforCAWLAESPinstancerelatedsymbolics
§ CAEndevor canbeveryusefulformanagingandvalidatingthemovementofartifactsfrompre-prodtoprod
35 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
RecommendedSessionsSESSION# TITLE DATE/TIME
MFX129SVisionandRoadmap:CAWorkloadAutomationESPEdition
11/16/2016at12:45pm
JasmineC
MFX138SVerizonCaseStudy:CAWLAESP:BestPractices,DevOps,ChangeManagementUtilizingCAEndevor
11/16/2016at3:00pm
JasmineC
MFX123SCaseStudy:UPSEnablesOrganizationalEfficienciesthroughtheUseofCAWorkloadAutomation
11/17/2016at12:45pm
JasmineC
MFT157PPanelDiscussion- BestPractices:HighVolumeTransactionProcessingandAnalytics
11/17/2016at1:45pm
MainframeTheatre
36 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
MustSeeDemos
ModernWorkloadAutomation
CAWLADEMFandWorkloadAutomation
SeamlessApplicationAutomationAgents&AdvancedIntegrationsMFandWorkloadAutomation
CAConversionasaService
CAWorkloadAutomationMFandWorkloadAutomation
Innovations:MainframeWorkloadAutomationCAWLAESP&CA7MFandWorkloadAutomation
37 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Questions?
38 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Thankyou
Stayconnectedatcommunities.ca.com
@CAWORLD#CAWORLD ©2016CA.AllRIGHTSRESERVED.39 @CAWORLD#CAWORLD
MainframeandWorkloadAutomation
FormoreinformationonMainframeandWorkloadAutomation,pleasevisit:http://cainc.to/9GQ2JI