Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Cisco Employee

Best Practices for Workflow Development

Hi,

I'm compiling best practices in developing workflows in TEO/CPO, and accepting inputs. The result will be made available for the community to make use of it, and continuously improve the content. If you have any sort of best practices, please let me know.

Thank you in advance,

Renato Fichmann

Everyone's tags (3)
4 REPLIES
Cisco Employee

Best Practices for Workflow Development

I would suggest things like...

1) good use of functional or procedural programming design

2) Use Extended Target Properties whenever you can versus Global Variables

3) Make good use of categories

4) Make good use of CPO Tasks (alerts) in error handling

5) Make good *descriptive* names on all activities, conditional branches, loops, etc

6) Sometime I like to do with variables local to a process: If it's an input variable called username, i would call it "InputUsername". If it's an output variable called username, then "OutputUsername". If it's purely local, then call it "Username". If it's a definition variable called username, then "DefUsername". Give some context to your local variables.

Just a few off the top of my head.

Oh and please use automation packs.

--Shaun Roberts shaurobe@cisco.com CIAC Adoption Pilot Engineering Lead
Cisco Employee

Best Practices for Workflow Development

Good ones, thanks! Incorporated to the document.

Currently have the following items on my index (yet to be cleaned up)

5    Guidelines.................................................................................................................................. 8

5.1    Style.................................................................................................................................... 8

5.1.1    Naming Conventions..................................................................................................... 8

5.1.2    Capitalization Conventions.......................................................................................... 9

5.2    Usability.............................................................................................................................. 9

5.2.1    Targets vs Target Groups............................................................................................. 9

5.2.2    Global Variables and Extended Target Properties....................................................... 10

5.2.3    Create Alerts, Incidents and Other Tasks................................................................... 10

5.2.4    Classify Processes using Categories........................................................................... 10

5.2.5    Provide Automation Summary................................................................................... 10

5.2.6    Provide Descriptions to Processes, Global Variables and Target Groups.................. 11

5.2.7    Process with trigger based on tasks must have tape name as trigger condition.......... 11

5.2.8    Approve condition activities use approval index instead of approval choice............ 11

5.2.9    Do not put test data into global variables................................................................... 11

5.2.10    Add Knowledge Base to Alerts and Incidents.......................................................... 11

5.2.11    Disable “Resume execution if interrupted” and “Archive complete instances” from monitoring/problem detection processes           11

5.2.12    Make Incident Classes unique in the tap.................................................................. 11

5.2.13    Make Alert Classes unique in the tap....................................................................... 11

5.2.14    Make sure fail activities are not failing the process if the process has to create an incident even when the activities fail        12

5.2.15    Do not include targets in TAP, only target groups based on target type................. 12

5.3    Error Handling................................................................................................................... 12

5.3.1    Assignments and Notification..................................................................................... 12

5.3.2    Error handling outside the step................................................................................... 13

5.3.3    Incidents generated as result of error.......................................................................... 13

5.4    Non-Functional................................................................................................................. 14

5.4.1    Cross-Environment Practices...................................................................................... 14

5.5    Performance....................................................................................................................... 14

5.5.1    To Archive or Not to Archive.................................................................................... 14

5.5.2    Parallelize when possible............................................................................................ 15

5.5.3    Tables and Loops........................................................................................................ 15

5.5.4    Processing Data Tables............................................................................................... 15

5.5.5    Scripting...................................................................................................................... 15

5.5.6    Prefer XPath over regular expressions or text parsing when multiple values need to be retrieved in a single activity    16

5.5.7    Prefer XML transforms rather than sequences of activites or scripts........................ 16

5.5.8    Set the number of active sessions on Terminal targets appropriately........................ 16

5.5.9    Optimizing the Number and Lifecycle of Tasks......................................................... 16

5.5.10    Optimizing Process Database Grooming.................................................................. 17

5.5.11    Spacing Scheduled Automation Loads...................................................................... 18

5.6    Generic BPEL Best Practices............................................................................................ 18

Waiting for more feedback before release the first draft for community review.

Cisco Employee

Re: Best Practices for Workflow Development

Please take a look in the documents:  CiscoTEO_ProcessAuthoringBestPractices.pptx and Cisco TEO - Automation Pack Authoring Checklist.docx at:

http://wikicentral.cisco.com/display/TEOCOMM/Home

New Member

Re: Best Practices for Workflow Development

Has the first draft of best practices been completed yet? If so, where can it be viewed?

I am not able to access the wikicentral website referenced in Julios post, has the automation pack checklist and best practices power point been moved?

999
Views
5
Helpful
4
Replies
CreatePlease to create content