cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1664
Views
5
Helpful
4
Replies

Best Practices for Workflow Development

Renato Fichmann
Cisco Employee
Cisco Employee

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

4 Replies 4

Shaun Roberts
Cisco Employee
Cisco Employee

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
Principal Engineer, CX
shaurobe@cisco.com

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.

Julio Silveira
Level 1
Level 1

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

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?

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: