Informatica (Version 9.6.0) Developer Workflow Guide

Similar documents
Informatica PowerExchange for MSMQ (Version 9.0.1) User Guide

Informatica (Version 9.1.0) Data Quality Installation and Configuration Quick Start

Informatica (Version 9.6.1) Mapping Guide

Informatica Data Services (Version 9.5.0) User Guide

Informatica PowerExchange for Tableau (Version HotFix 1) User Guide

Informatica PowerCenter Express (Version 9.6.1) Mapping Guide

Informatica Data Director for Data Quality (Version HotFix 4) User Guide

Informatica Test Data Management (Version 9.6.0) User Guide

Informatica PowerCenter Express (Version 9.6.1) Getting Started Guide

Informatica Data Archive (Version HotFix 1) Amdocs Accelerator Reference

Informatica (Version ) Developer Workflow Guide

Informatica PowerCenter Express (Version 9.6.0) Administrator Guide

Informatica (Version HotFix 4) Metadata Manager Repository Reports Reference

Informatica (Version 9.6.1) Profile Guide

Informatica (Version 10.0) Rule Specification Guide

Informatica Data Services (Version 9.6.0) Web Services Guide

Informatica Fast Clone (Version 9.6.0) Release Guide

Informatica Version Developer Workflow Guide

Informatica B2B Data Transformation (Version 10.0) Agent for WebSphere Message Broker User Guide

Informatica PowerExchange for SAS (Version 9.6.1) User Guide

Informatica PowerExchange for Hive (Version 9.6.0) User Guide

Informatica (Version ) SQL Data Service Guide

Informatica Data Quality for SAP Point of Entry (Version 9.5.1) Installation and Configuration Guide

Informatica PowerExchange for Web Services (Version 9.6.1) User Guide for PowerCenter

Informatica Development Platform (Version 9.6.1) Developer Guide

Informatica PowerExchange for SAP NetWeaver (Version 10.2)

Informatica B2B Data Transformation (Version 10.0) XMap Tutorial

Informatica PowerExchange for HBase (Version 9.6.0) User Guide

Informatica Data Integration Hub (Version 10.0) Developer Guide

Informatica Dynamic Data Masking (Version 9.6.1) Active Directory Accelerator Guide

Informatica (Version 10.0) Mapping Specification Guide

Informatica Vibe Data Stream for Machine Data (Version 2.1.0) User Guide

Informatica (Version HotFix 3) Business Glossary 9.5.x to 9.6.x Transition Guide

Informatica Cloud (Version Fall 2016) Qlik Connector Guide

Informatica PowerExchange for Hive (Version 9.6.1) User Guide

Informatica Cloud (Version Winter 2015) Dropbox Connector Guide

Informatica PowerCenter Express (Version HotFix2) Release Guide

Informatica Cloud (Version Winter 2015) Box API Connector Guide

Informatica Data Integration Analyst (Version 9.5.1) User Guide

Informatica PowerCenter Express (Version 9.5.1) User Guide

Informatica (Version HotFix 4) Installation and Configuration Guide

Informatica (Version 10.1) Metadata Manager Custom Metadata Integration Guide

Informatica (Version 9.1.0) Data Explorer User Guide

Informatica (Version 10.0) Exception Management Guide

Informatica Business Glossary (Version 2.0) API Guide

Informatica Dynamic Data Masking (Version 9.6.2) Stored Procedure Accelerator Guide for Sybase

Informatica Cloud (Version Spring 2017) Microsoft Azure DocumentDB Connector Guide

Informatica PowerCenter (Version HotFix 1) Metadata Manager Business Glossary Guide

Informatica Cloud (Version Spring 2017) Magento Connector User Guide

Informatica Cloud (Version Spring 2017) Microsoft Dynamics 365 for Operations Connector Guide

Informatica Data Integration Hub (Version 10.1) Developer Guide

Informatica PowerCenter Express (Version 9.6.1) Performance Tuning Guide

Infomatica PowerCenter (Version 10.0) PowerCenter Repository Reports

Informatica Cloud (Version Spring 2017) Box Connector Guide

Informatica PowerExchange for Hive (Version HotFix 1) User Guide

Informatica Test Data Management (Version 9.7.0) User Guide

Informatica Informatica PIM - Media Manager Version October 2013 Copyright (c) Informatica Corporation. All rights reserved.

Informatica PowerExchange for Amazon S3 (Version HotFix 3) User Guide for PowerCenter

Informatica (Version HotFix 2) Upgrading from Version 9.1.0

Informatica Persistent Data Masking and Data Subset (Version 9.5.0) User Guide

Informatica Data Integration Hub (Version ) Administrator Guide

Informatica PowerExchange for Tableau (Version 10.0) User Guide

Informatica (Version HotFix 3) Reference Data Guide

Informatica 4.0. Installation and Configuration Guide

Informatica PowerExchange for Salesforce (Version HotFix 3) User Guide

Informatica B2B Data Transformation (Version 9.5.1) Studio Editing Guide

Informatica PowerCenter Data Validation Option (Version 9.6.0) Installation and User Guide

Informatica Cloud (Version Winter 2016) REST API Connector Guide

Informatica PowerExchange for Microsoft Azure Cosmos DB SQL API User Guide

Informatica (Version ) Intelligent Data Lake Administrator Guide

Informatica PowerCenter Data Validation Option (Version 10.0) User Guide

Informatica PowerCenter (Version 9.1.0) Mapping Architect for Visio Guide

Informatica MDM Multidomain Edition (Version 1) Unclaimed Life Insurance Data Management Solution Guide

Informatica Data Quality (Version 9.5.1) User Guide

Informatica PowerCenter (Version 9.6.0) Upgrade Guide for Version 9.5.0

Informatica Cloud (Version Spring 2017) DynamoDB Connector Guide

Informatica MDM Multidomain Edition (Version 9.6.1) Informatica Data Director (IDD)-Interstage Integration Guide

Informatica PowerExchange for Web Content- Kapow Katalyst (Version 10.0) User Guide

Informatica B2B Data Exchange (Version 9.6.2) Developer Guide

Informatica PowerExchange for Siebel (Version 9.6.1) User Guide for PowerCenter

Informatica MDM Multidomain Edition (Version ) Provisioning Tool Guide

Informatica Cloud (Version Fall 2015) Data Integration Hub Connector Guide

Informatica PowerExchange for Greenplum (Version 9.6.0) User Guide for PowerCenter

Informatica Informatica (Version ) Installation and Configuration Guide

User Guide for PowerCenter

Informatica MDM Multidomain Edition (Version 9.7.1) Informatica Data Director Implementation Guide

Informatica PowerExchange (Version HotFix 4) PowerExchange Interfaces for PowerCenter

Informatica (Version 10.1) Metadata Manager Administrator Guide

Informatica PowerExchange for Web Content-Kapow Katalyst (Version ) User Guide

Informatica B2B Data Exchange (Version 10.2) Administrator Guide

Informatica PowerExchange for Microsoft Azure SQL Data Warehouse (Version ) User Guide for PowerCenter

Informatica B2B Data Exchange (Version 9.6.2) Installation and Configuration Guide

Informatica 4.5. Installation and Configuration Guide

Informatica Dynamic Data Masking (Version 9.8.3) Installation and Upgrade Guide

Informatica Enterprise Data Catalog Installation and Configuration Guide

Informatica PowerExchange for Tableau (Version HotFix 4) User Guide

Informatica PowerCenter (Version HotFix 3) Metadata Manager User Guide

Informatica Cloud Integration Hub Spring 2018 August. User Guide

Informatica B2B Data Exchange (Version 9.1.0) Developer Guide

Informatica SQL Data Service Guide

Transcription:

Informatica (Version 9.6.0) Developer Workflow Guide

Informatica Developer Workflow Guide Version 9.6.0 January 2014 Copyright (c) 1998-2014 Informatica Corporation. All rights reserved. This software and documentation contain proprietary information of Informatica Corporation and are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright law. Reverse engineering of the software is prohibited. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise) without prior consent of Informatica Corporation. This Software may be protected by U.S. and/or international Patents and other Patents Pending. Use, duplication, or disclosure of the Software by the U.S. Government is subject to the restrictions set forth in the applicable software license agreement and as provided in DFARS 227.7202-1(a) and 227.7702-3(a) (1995), DFARS 252.227-7013 (1)(ii) (OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14 (ALT III), as applicable. The information in this product or documentation is subject to change without notice. If you find any problems in this product or documentation, please report them to us in writing. Informatica, Informatica Platform, Informatica Data Services, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data Analyzer, PowerExchange, PowerMart, Metadata Manager, Informatica Data Quality, Informatica Data Explorer, Informatica B2B Data Transformation, Informatica B2B Data Exchange Informatica On Demand, Informatica Identity Resolution, Informatica Application Information Lifecycle Management, Informatica Complex Event Processing, Ultra Messaging and Informatica Master Data Management are trademarks or registered trademarks of Informatica Corporation in the United States and in jurisdictions throughout the world. All other company and product names may be trade names or trademarks of their respective owners. Portions of this software and/or documentation are subject to copyright held by third parties, including without limitation: Copyright DataDirect Technologies. All rights reserved. Copyright Sun Microsystems. All rights reserved. Copyright RSA Security Inc. All Rights Reserved. Copyright Ordinal Technology Corp. All rights reserved.copyright Aandacht c.v. All rights reserved. Copyright Genivia, Inc. All rights reserved. Copyright Isomorphic Software. All rights reserved. Copyright Meta Integration Technology, Inc. All rights reserved. Copyright Intalio. All rights reserved. Copyright Oracle. All rights reserved. Copyright Adobe Systems Incorporated. All rights reserved. Copyright DataArt, Inc. All rights reserved. Copyright ComponentSource. All rights reserved. Copyright Microsoft Corporation. All rights reserved. Copyright Rogue Wave Software, Inc. All rights reserved. Copyright Teradata Corporation. All rights reserved. Copyright Yahoo! Inc. All rights reserved. Copyright Glyph & Cog, LLC. All rights reserved. Copyright Thinkmap, Inc. All rights reserved. Copyright Clearpace Software Limited. All rights reserved. Copyright Information Builders, Inc. All rights reserved. Copyright OSS Nokalva, Inc. All rights reserved. Copyright Edifecs, Inc. All rights reserved. Copyright Cleo Communications, Inc. All rights reserved. Copyright International Organization for Standardization 1986. All rights reserved. Copyright ejtechnologies GmbH. All rights reserved. Copyright Jaspersoft Corporation. All rights reserved. Copyright is International Business Machines Corporation. All rights reserved. Copyright yworks GmbH. All rights reserved. Copyright Lucent Technologies. All rights reserved. Copyright (c) University of Toronto. All rights reserved. Copyright Daniel Veillard. All rights reserved. Copyright Unicode, Inc. Copyright IBM Corp. All rights reserved. Copyright MicroQuill Software Publishing, Inc. All rights reserved. Copyright PassMark Software Pty Ltd. All rights reserved. Copyright LogiXML, Inc. All rights reserved. Copyright 2003-2010 Lorenzi Davide, All rights reserved. Copyright Red Hat, Inc. All rights reserved. Copyright The Board of Trustees of the Leland Stanford Junior University. All rights reserved. Copyright EMC Corporation. All rights reserved. Copyright Flexera Software. All rights reserved. Copyright Jinfonet Software. All rights reserved. Copyright Apple Inc. All rights reserved. Copyright Telerik Inc. All rights reserved. Copyright BEA Systems. All rights reserved. Copyright PDFlib GmbH. All rights reserved. Copyright Orientation in Objects GmbH. All rights reserved. Copyright Tanuki Software, Ltd. All rights reserved. Copyright Ricebridge. All rights reserved. Copyright Sencha, Inc. All rights reserved. This product includes software developed by the Apache Software Foundation (http://www.apache.org/), and/or other software which is licensed under various versions of the Apache License (the "License"). You may obtain a copy of these Licenses at http://www.apache.org/licenses/. Unless required by applicable law or agreed to in writing, software distributed under these Licenses is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licenses for the specific language governing permissions and limitations under the Licenses. This product includes software which was developed by Mozilla (http://www.mozilla.org/), software copyright The JBoss Group, LLC, all rights reserved; software copyright 1999-2006 by Bruno Lowagie and Paulo Soares and other software which is licensed under various versions of the GNU Lesser General Public License Agreement, which may be found at http:// www.gnu.org/licenses/lgpl.html. The materials are provided free of charge by Informatica, "as-is", without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. The product includes ACE(TM) and TAO(TM) software copyrighted by Douglas C. Schmidt and his research group at Washington University, University of California, Irvine, and Vanderbilt University, Copyright ( ) 1993-2006, all rights reserved. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (copyright The OpenSSL Project. All Rights Reserved) and redistribution of this software is subject to terms available at http://www.openssl.org and http://www.openssl.org/source/license.html. This product includes Curl software which is Copyright 1996-2013, Daniel Stenberg, <daniel@haxx.se>. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http://curl.haxx.se/docs/copyright.html. Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. The product includes software copyright 2001-2005 ( ) MetaStuff, Ltd. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http://www.dom4j.org/ license.html. The product includes software copyright 2004-2007, The Dojo Foundation. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http://dojotoolkit.org/license. This product includes ICU software which is copyright International Business Machines Corporation and others. All rights reserved. Permissions and limitations regarding this software are subject to terms available at http://source.icu-project.org/repos/icu/icu/trunk/license.html. This product includes software copyright 1996-2006 Per Bothner. All rights reserved. Your right to use such materials is set forth in the license which may be found at http:// www.gnu.org/software/ kawa/software-license.html. This product includes OSSP UUID software which is Copyright 2002 Ralf S. Engelschall, Copyright 2002 The OSSP Project Copyright 2002 Cable & Wireless Deutschland. Permissions and limitations regarding this software are subject to terms available at http://www.opensource.org/licenses/mit-license.php. This product includes software developed by Boost (http://www.boost.org/) or under the Boost software license. Permissions and limitations regarding this software are subject to terms available at http:/ /www.boost.org/license_1_0.txt. This product includes software copyright 1997-2007 University of Cambridge. Permissions and limitations regarding this software are subject to terms available at http:// www.pcre.org/license.txt. This product includes software copyright 2007 The Eclipse Foundation. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http:// www.eclipse.org/org/documents/epl-v10.php and at http://www.eclipse.org/org/documents/edl-v10.php. This product includes software licensed under the terms at http://www.tcl.tk/software/tcltk/license.html, http://www.bosrup.com/web/overlib/?license, http:// www.stlport.org/doc/ license.html, http:// asm.ow2.org/license.html, http://www.cryptix.org/license.txt, http://hsqldb.org/web/hsqllicense.html, http:// httpunit.sourceforge.net/doc/ license.html, http://jung.sourceforge.net/license.txt, http://www.gzip.org/zlib/zlib_license.html, http://www.openldap.org/software/release/

license.html, http://www.libssh2.org, http://slf4j.org/license.html, http://www.sente.ch/software/opensourcelicense.html, http://fusesource.com/downloads/licenseagreements/fuse-message-broker-v-5-3- license-agreement; http://antlr.org/license.html; http://aopalliance.sourceforge.net/; http://www.bouncycastle.org/licence.html; http://www.jgraph.com/jgraphdownload.html; http://www.jcraft.com/jsch/license.txt; http://jotm.objectweb.org/bsd_license.html;. http://www.w3.org/consortium/legal/ 2002/copyright-software-20021231; http://www.slf4j.org/license.html; http://nanoxml.sourceforge.net/orig/copyright.html; http://www.json.org/license.html; http:// forge.ow2.org/projects/javaservice/, http://www.postgresql.org/about/licence.html, http://www.sqlite.org/copyright.html, http://www.tcl.tk/software/tcltk/license.html, http:// www.jaxen.org/faq.html, http://www.jdom.org/docs/faq.html, http://www.slf4j.org/license.html; http://www.iodbc.org/dataspace/iodbc/wiki/iodbc/license; http:// www.keplerproject.org/md5/license.html; http://www.toedter.com/en/jcalendar/license.html; http://www.edankert.com/bounce/index.html; http://www.net-snmp.org/about/ license.html; http://www.openmdx.org/#faq; http://www.php.net/license/3_01.txt; http://srp.stanford.edu/license.txt; http://www.schneier.com/blowfish.html; http:// www.jmock.org/license.html; http://xsom.java.net; http://benalman.com/about/license/; https://github.com/createjs/easeljs/blob/master/src/easeljs/display/bitmap.js; http://www.h2database.com/html/license.html#summary; http://jsoncpp.sourceforge.net/license; http://jdbc.postgresql.org/license.html; http:// protobuf.googlecode.com/svn/trunk/src/google/protobuf/descriptor.proto; https://github.com/rantav/hector/blob/master/license; http://web.mit.edu/kerberos/krb5- current/doc/mitk5license.html. and http://jibx.sourceforge.net/jibx-license.html. This product includes software licensed under the Academic Free License (http://www.opensource.org/licenses/afl-3.0.php), the Common Development and Distribution License (http://www.opensource.org/licenses/cddl1.php) the Common Public License (http://www.opensource.org/licenses/cpl1.0.php), the Sun Binary Code License Agreement Supplemental License Terms, the BSD License (http:// www.opensource.org/licenses/bsd-license.php), the new BSD License (http://opensource.org/ licenses/bsd-3-clause), the MIT License (http://www.opensource.org/licenses/mit-license.php), the Artistic License (http://www.opensource.org/licenses/artisticlicense-1.0) and the Initial Developer s Public License Version 1.0 (http://www.firebirdsql.org/en/initial-developer-s-public-license-version-1-0/). This product includes software copyright 2003-2006 Joe WaInes, 2006-2007 XStream Committers. All rights reserved. Permissions and limitations regarding this software are subject to terms available at http://xstream.codehaus.org/license.html. This product includes software developed by the Indiana University Extreme! Lab. For further information please visit http://www.extreme.indiana.edu/. This product includes software Copyright (c) 2013 Frank Balluffi and Markus Moeller. All rights reserved. Permissions and limitations regarding this software are subject to terms of the MIT license. This Software is protected by U.S. Patent Numbers 5,794,246; 6,014,670; 6,016,501; 6,029,178; 6,032,158; 6,035,307; 6,044,374; 6,092,086; 6,208,990; 6,339,775; 6,640,226; 6,789,096; 6,823,373; 6,850,947; 6,895,471; 7,117,215; 7,162,643; 7,243,110; 7,254,590; 7,281,001; 7,421,458; 7,496,588; 7,523,121; 7,584,422; 7,676,516; 7,720,842; 7,721,270; 7,774,791; 8,065,266; 8,150,803; 8,166,048; 8,166,071; 8,200,622; 8,224,873; 8,271,477; 8,327,419; 8,386,435; 8,392,460; 8,453,159; 8,458,230; and RE44,478, International Patents and other Patents Pending. DISCLAIMER: Informatica Corporation provides this documentation "as is" without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of noninfringement, merchantability, or use for a particular purpose. Informatica Corporation does not warrant that this software or documentation is error free. The information provided in this software or documentation may include technical inaccuracies or typographical errors. The information in this software and documentation is subject to change at any time without notice. NOTICES This Informatica product (the "Software") includes certain drivers (the "DataDirect Drivers") from DataDirect Technologies, an operating company of Progress Software Corporation ("DataDirect") which are subject to the following terms and conditions: 1. THE DATADIRECT DRIVERS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 2. IN NO EVENT WILL DATADIRECT OR ITS THIRD PARTY SUPPLIERS BE LIABLE TO THE END-USER CUSTOMER FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR OTHER DAMAGES ARISING OUT OF THE USE OF THE ODBC DRIVERS, WHETHER OR NOT INFORMED OF THE POSSIBILITIES OF DAMAGES IN ADVANCE. THESE LIMITATIONS APPLY TO ALL CAUSES OF ACTION, INCLUDING, WITHOUT LIMITATION, BREACH OF CONTRACT, BREACH OF WARRANTY, NEGLIGENCE, STRICT LIABILITY, MISREPRESENTATION AND OTHER TORTS. Part Number: IN-DWG-96000-0001

Table of Contents Preface.... vi Informatica Resources.... vi Informatica My Support Portal.... vi Informatica Documentation.... vi Informatica Web Site.... vi Informatica How-To Library.... vi Informatica Knowledge Base.... vii Informatica Support YouTube Channel.... vii Informatica Marketplace.... vii Informatica Velocity.... vii Informatica Global Customer Support.... vii Chapter 1: Workflows.... 1 Workflows Overview.... 1 Creating a Workflow.... 2 Workflow Objects.... 2 Events.... 2 Tasks.... 3 Exclusive Gateways.... 3 Adding Objects to a Workflow.... 4 Sequence Flows.... 4 Conditional Sequence Flows.... 4 Parameters and Variables in Conditional Sequence Flows.... 5 Connecting Objects.... 6 Creating a Conditional Sequence Flow.... 6 Workflow Advanced Properties.... 6 Workflow Validation.... 8 Sequence Flow Validation.... 8 Expression Validation.... 8 Workflow Object Validation.... 8 Validating a Workflow.... 9 Workflow Deployment.... 9 Deploy and Run a Workflow.... 9 Running Workflows.... 10 Monitoring Workflows.... 10 Deleting a Workflow.... 10 Workflow Examples.... 11 Example: Running Commands Before and After Running a Mapping.... 11 Example: Splitting a Workflow.... 11 Table of Contents i

Chapter 2: Workflow Variables.... 13 Workflow Variables Overview.... 13 Task Input.... 14 Task Output.... 14 System Workflow Variables.... 15 User-Defined Workflow Variables.... 15 Creating a User-Defined Variable.... 15 Assign a Value with an Assignment Task.... 16 Assign a Value with Task Output.... 17 Where to Use Workflow Variables.... 18 Assigning Variables to Task Input.... 19 Variable Names in Expressions and Strings.... 20 Escape Character in Strings.... 20 Nested Variables.... 21 Workflow Variable Datatype Conversion.... 21 Changing the Format of Date Variables.... 22 Chapter 3: Workflow Parameters and Parameter Files.... 24 Workflow Parameters and Parameter Files Overview.... 24 Task Input.... 24 Process to Run Workflows with Parameters.... 25 Workflow Parameters.... 25 Default Parameter Values.... 25 Creating a Workflow Parameter.... 26 Where to Use Workflow Parameters.... 26 Workflow Parameter Datatype Conversion.... 29 Parameter Files.... 30 Parameter File Structure.... 30 Project Element.... 31 Application Element.... 32 Rules and Guidelines for Parameter Files.... 32 Sample Parameter File.... 33 Creating a Parameter File.... 34 Running a Workflow with a Parameter File.... 35 Chapter 4: Command Task.... 36 Command Task Overview.... 36 Command Syntax.... 36 Parameters and Variables in a Command.... 37 Command Task Input.... 37 Command Task Output.... 38 Command Task Advanced Properties.... 39 ii Table of Contents

Troubleshooting Command Tasks.... 39 Chapter 5: Human Task.... 41 Human Task Overview.... 41 Human Tasks and Exception Data Management.... 42 Types of Exception Data.... 42 Analyst Tool.... 42 Human Task Instances.... 43 Human Task Steps.... 43 Human Task Roles.... 44 Human Task Properties.... 44 General Tab.... 45 Participants Tab.... 45 Data Source Tab.... 45 Task Distribution Tab.... 46 Notifications Tab.... 46 Input Tab... 47 Output Tab.... 47 Advanced Tab.... 47 Step Properties.... 47 General Options.... 48 Configuration Options.... 48 Participants Options.... 48 Timeout Options.... 49 Notifications Options.... 50 Human Tasks and Workflow Configuration.... 50 Human Task Configuration.... 51 Configuring Task Instances in a Human Task.... 51 Configuring Task Steps.... 51 Create Task Instances.... 52 Creating Task Instances of Equal Size.... 52 Using Row and Cluster Data Values to Create Task Instances.... 52 Chapter 6: Mapping Task.... 54 Mapping Task Overview.... 54 Multiple Mapping Tasks that Run the Same Mapping.... 54 Mapping Task Input.... 55 Mapping Parameters.... 55 Override Mapping Parameters During a Workflow Run.... 55 Mapping Task Output.... 56 Mapping Task Outputs.... 56 Mapping Outputs.... 57 Mapping Task Advanced Properties.... 57 Table of Contents iii

Variable and Parameter Values for Configuration Properties.... 59 Changing the Mapping that the Task Runs.... 61 Chapter 7: Notification Task.... 62 Notification Task Overview.... 62 Recipients.... 63 Selecting Recipients.... 63 Configuring Notification Types for Recipients.... 64 Typing Recipient Names.... 64 Dynamic Email Recipients.... 64 Email Addresses.... 65 Entering Email Addresses.... 65 Dynamic Email Addresses.... 66 Email Content.... 67 Dynamic Email Content.... 67 Entering Email Content.... 67 Notification Task Output.... 68 Notification Task Advanced Properties.... 68 Troubleshooting Notification Tasks.... 69 Chapter 8: Exclusive Gateway.... 70 Exclusive Gateway Overview.... 70 Default Outgoing Sequence Flow.... 70 Using an Exclusive Gateway to Split a Workflow.... 71 Using an Exclusive Gateway to Merge a Workflow.... 71 Chapter 9: Workflow Recovery.... 73 Workflow Recovery Overview.... 73 Workflow Errors and Recovery.... 74 Task Errors and Recovery.... 74 Process to Configure Recovery.... 75 Recoverable Workflow States.... 75 Parameter and Variable Values During Workflow Recovery.... 76 Workflow Recovery Logs.... 76 Automatic Workflow Recovery.... 77 Configuring a Workflow for Recovery.... 77 Task Recovery Strategy.... 77 Restart Recovery Strategy.... 78 Skip Recovery Strategy.... 79 Human Task Restart Behavior.... 80 Configuring a Task Recovery Strategy.... 81 Develop a Mapping for Restart.... 81 Remove Target Rows Manually.... 81 iv Table of Contents

Remove Target Rows in the Mapping.... 82 Recovering Workflow Instances.... 83 Summary of Workflow States After an Interruption.... 84 Example Recoverable Workflows.... 85 Appendix A: Glossary.... 87 Index.... 90 Table of Contents v

Preface The Informatica Developer Workflow Guide is written for developers and administrators who are responsible for creating and running workflows. This guide assumes that you have an understanding of flat file and relational database concepts, the database engines in your environment, and data quality concepts. This guide also assumes that you are familiar with the concepts presented in the Informatica Developer User Guide. Informatica Resources Informatica My Support Portal As an Informatica customer, you can access the Informatica My Support Portal at http://mysupport.informatica.com. The site contains product information, user group information, newsletters, access to the Informatica customer support case management system (ATLAS), the Informatica How-To Library, the Informatica Knowledge Base, Informatica Product Documentation, and access to the Informatica user community. Informatica Documentation The Informatica Documentation team takes every effort to create accurate, usable documentation. If you have questions, comments, or ideas about this documentation, contact the Informatica Documentation team through email at infa_documentation@informatica.com. We will use your feedback to improve our documentation. Let us know if we can contact you regarding your comments. The Documentation team updates documentation as needed. To get the latest documentation for your product, navigate to Product Documentation from http://mysupport.informatica.com. Informatica Web Site You can access the Informatica corporate web site at http://www.informatica.com. The site contains information about Informatica, its background, upcoming events, and sales offices. You will also find product and partner information. The services area of the site includes important information about technical support, training and education, and implementation services. Informatica How-To Library As an Informatica customer, you can access the Informatica How-To Library at http://mysupport.informatica.com. The How-To Library is a collection of resources to help you learn more vi

about Informatica products and features. It includes articles and interactive demonstrations that provide solutions to common problems, compare features and behaviors, and guide you through performing specific real-world tasks. Informatica Knowledge Base As an Informatica customer, you can access the Informatica Knowledge Base at http://mysupport.informatica.com. Use the Knowledge Base to search for documented solutions to known technical issues about Informatica products. You can also find answers to frequently asked questions, technical white papers, and technical tips. If you have questions, comments, or ideas about the Knowledge Base, contact the Informatica Knowledge Base team through email at KB_Feedback@informatica.com. Informatica Support YouTube Channel You can access the Informatica Support YouTube channel at http://www.youtube.com/user/infasupport. The Informatica Support YouTube channel includes videos about solutions that guide you through performing specific tasks. If you have questions, comments, or ideas about the Informatica Support YouTube channel, contact the Support YouTube team through email at supportvideos@informatica.com or send a tweet to @INFASupport. Informatica Marketplace The Informatica Marketplace is a forum where developers and partners can share solutions that augment, extend, or enhance data integration implementations. By leveraging any of the hundreds of solutions available on the Marketplace, you can improve your productivity and speed up time to implementation on your projects. You can access Informatica Marketplace at http://www.informaticamarketplace.com. Informatica Velocity You can access Informatica Velocity at http://mysupport.informatica.com. Developed from the real-world experience of hundreds of data management projects, Informatica Velocity represents the collective knowledge of our consultants who have worked with organizations from around the world to plan, develop, deploy, and maintain successful data management solutions. If you have questions, comments, or ideas about Informatica Velocity, contact Informatica Professional Services at ips@informatica.com. Informatica Global Customer Support You can contact a Customer Support Center by telephone or through the Online Support. Online Support requires a user name and password. You can request a user name and password at http://mysupport.informatica.com. The telephone numbers for Informatica Global Customer Support are available from the Informatica web site at http://www.informatica.com/us/services-and-training/support-services/global-support-centers/. Preface vii

viii

C H A P T E R 1 Workflows This chapter includes the following topics: Workflows Overview, 1 Creating a Workflow, 2 Workflow Objects, 2 Sequence Flows, 4 Workflow Advanced Properties, 6 Workflow Validation, 8 Workflow Deployment, 9 Running Workflows, 10 Monitoring Workflows, 10 Deleting a Workflow, 10 Workflow Examples, 11 Workflows Overview A workflow is a graphical representation of a set of events, tasks, and decisions that define a business process. You use the Developer tool to add objects to a workflow and to connect the objects with sequence flows. The Data Integration Service uses the instructions configured in the workflow to run the objects. A workflow object is an event, task, or gateway. An event starts or ends the workflow. A task is an activity that runs a single unit of work in the workflow, such as running a mapping, sending an email, or running a shell command. A gateway makes a decision to split and merge paths in the workflow. A sequence flow connects workflow objects to specify the order that the Data Integration Service runs the objects. You can create a conditional sequence flow to determine whether the Data Integration Service runs the next object. You can define and use workflow variables and parameters to make workflows more flexible. A workflow variable represents a value that records run-time information and that can change during a workflow run. A workflow parameter represents a constant value that you define before running a workflow. You use workflow variables and parameters in conditional sequence flows and object fields. You also use workflow variables and parameters to pass data between a task and the workflow. You can configure a workflow for recovery so that you can complete an interrupted workflow instance. A running workflow instance can be interrupted when an error occurs, when you abort or cancel the workflow instance, or when a service process shuts down unexpectedly. 1

To develop a workflow, complete the following steps: 1. Create a workflow. 2. Add objects to the workflow and configure the object properties. 3. Connect objects with sequence flows to specify the order that the Data Integration Service runs the objects. Create conditional sequence flows to determine whether the Data Integration Service runs the next object. 4. Define variables for the workflow to capture run-time information. Use the workflow variables in conditional sequence flows and object fields. 5. Define parameters for the workflow so that you can change parameter values each time you run a workflow. Use the workflow parameters in conditional sequence flows and object fields. 6. Optionally, configure the workflow for recovery. 7. Validate the workflow to identify errors. 8. Add the workflow to an application and deploy the application to the Data Integration Service. After you deploy a workflow, you run an instance of the workflow from the deployed application using the infacmd wfs command line program. You monitor the workflow instance run in the Monitoring tool. Creating a Workflow When you create a workflow, the Developer tool adds a Start event and an End event to the workflow. 1. Select a project or folder in the Object Explorer view. 2. Click File > New > Workflow. The Developer tool gives the workflow a default name. 3. Optionally, edit the default workflow name. 4. Click Finish. A workflow with a Start event and an End event appears in the editor. Workflow Objects A workflow object is an event, task, or gateway. You add objects as you develop a worklow in the editor. Workflow objects are non-reusable. The Developer tool stores the objects within the workflow only. Events An event starts or ends the workflow. An event represents something that happens when the workflow runs. The editor displays events as circles. 2 Chapter 1: Workflows

The following table describes all events that you can add to a workflow: Event Start End Description Represents the beginning of the workflow. A workflow must contain one Start event. Represents the end of the workflow. A workflow must contain one End event. The Developer tool gives each event a default name of Start_Event or End_Event. You can rename and add a description to an event in the event properties. Tasks A task in an activity that runs a single unit of work in the workflow, such as running a mapping, sending an email, or running a shell command. A task represents something that is performed during the workflow. The editor displays tasks as squares. The following table describes all tasks that you can add to a workflow: Task Assignment Command Human Mapping Notification Description Assigns a value to a user-defined workflow variable. Runs a single shell command or starts an external executable program. Contains steps that require human input to complete. Human tasks allow users to participate in the business process that a workflow models. Runs a mapping. Sends an email notification to specified recipients. A workflow can contain multiple tasks of the same task type. The Developer tool gives each task a default name of <task type>_task, for example Command_Task. When you add another task of the same type to the same workflow, the Developer tool appends an integer to the default name, for example Command_Task1. You can rename and add a description to a task in the task general properties. Exclusive Gateways An Exclusive gateway splits and merges paths in the workflow based on how the Data Integration Service evaluates expressions in conditional sequence flows. An Exclusive gateway represents a decision made in the workflow. The editor displays Exclusive gateways as diamonds. When an Exclusive gateway splits the workflow, the Data Integration Service makes a decision to take one of the outgoing branches. When an Exclusive gateway merges the workflow, the Data Integration Service waits for one incoming branch to complete before triggering the outgoing branch. When you add an Exclusive gateway to split a workflow, you must add another Exclusive gateway to merge the branches back into a single flow. The Developer tool gives each Exclusive gateway a default name of Exclusive_Gateway. When you add another Exclusive gateway to the same workflow, the Developer tool appends an integer to the default name, Workflow Objects 3

for example Exclusive_Gateway1. You can rename and add a description to an Exclusive gateway in the gateway general properties. Adding Objects to a Workflow Add the tasks and gateways that you want to run in the workflow. A workflow must contain one Start event and one End event. When you create a workflow, the Developer tool adds the Start event and End event to the workflow. 1. Open the workflow in the editor. 2. Select an object from the Workflow Object palette and drag it to the editor. If you selected a Mapping task, click Browse to select the mapping and then click Finish. Or to add a Mapping task, select a mapping from the Object Explorer view and drag it to the editor. The object appears in the editor. Select the object to configure the object properties. Sequence Flows A sequence flow connects workflow objects to specify the order that the Data Integration Service runs the objects. The editor displays sequence flows as arrows. You can create conditional sequence flows to determine whether the Data Integration Service runs the next object. You cannot use sequence flows to create loops. Each sequence flow can run one time. The number of incoming and outgoing sequence flows that an object can have depends on the object type: Events Tasks A Start event must have a single outgoing sequence flow. An End event must have a single incoming sequence flow. Gateways Tasks must have a single incoming sequence flow and a single outgoing sequence flow. Gateways must have either multiple incoming sequence flows or multiple outgoing sequence flows, but not both. Use multiple outgoing sequence flows from an Exclusive gateway to split a workflow. Use multiple incoming sequence flows to an Exclusive gateway to merge multiple branches into a single flow. When you connect objects, the Developer tool gives the sequence flow a default name. The Developer tool names sequence flows using the following format: <originating object name>_to_<ending object name> If you create a conditional sequence flow, you might want to rename the sequence flow to indicate the conditional expression. For example, if a conditional sequence flow from a Mapping task to a Command task includes a condition that checks if the Mapping task ran successfully, you might want to rename the sequence flow to MappingSucceeded. You can rename and add a description to a sequence flow in the sequence flow general properties. Conditional Sequence Flows Create a conditional sequence flow to determine whether the Data Integration Service runs the next object in the workflow. 4 Chapter 1: Workflows

A conditional sequence flow includes an expression that the Data Integration Service evaluates to true or false. The expression must return either a boolean or an integer value. If an expression returns an integer value, any non-zero value is the equivalent of true. A value of zero (0) is the equivalent of false. If the expression evaluates to true, the Data Integration Service runs the next object. If the expression evaluates to false, the Data Integration Service does not run the next object. If you do not specify a condition in a sequence flow, the Data Integration Service runs the next object by default. When an expression in a conditional sequence flow evaluates to false, the Data Integration Service does not run the next object or any of the subsequent objects in that branch. When you monitor the workflow, the Monitoring tool does not list objects that do not run in the workflow. When a workflow includes objects that do not run, the workflow can still complete successfully. You cannot create a conditional sequence flow from the Start event to the next object in the workflow or from the last object in the workflow to the End event. Failed Tasks and Conditional Sequence Flows By default, the Data Integration Service continues to run subsequent objects in a workflow after a task fails. To stop running subsequent workflow objects after a task fails, use a conditional sequence flow that checks if the previous task succeeds. You can use a conditional sequence flow to check if a Mapping, Command, Notification, or Human task succeeds. These tasks return an Is Successful general output. The Is Successful output contains true if the task ran successfully, or it contains false if the task failed. Create a boolean workflow variable that captures the Is Successful output returned by a task. Then, create an expression in the outgoing conditional sequence flow that checks if the variable value is true. For example, you create a boolean workflow variable that captures the Is Successful output returned by a Mapping task. You create the following expression in the conditional sequence flow that connects the Mapping task to the next task in the workflow: $var:mappingtasksuccessful = true If the Mapping task fails, the expression evaluates to false and the Data Integration Service stops running any subsequent workflow objects. RELATED TOPICS: Task Output on page 14 Parameters and Variables in Conditional Sequence Flows You can include workflow parameters and variables in an expression for a conditional sequence flow. You can select a workflow parameter or variable in the Condition tab, or you can type the parameter or variable name in the conditional expression using the required syntax. For example, you create a workflow variable that captures the number of rows written to the target by a mapping run by a Mapping task. You create the following expression in the conditional sequence flow that connects the Mapping task to a Command task: $var:targetrowsmapping > 500 The Data Integration Service runs the Command task if the mapping wrote more than 500 rows to the target. RELATED TOPICS: Parameter Names in Expressions and Strings on page 27 Variable Names in Expressions and Strings on page 20 Sequence Flows 5

Connecting Objects Connect objects with sequence flows to determine the order that the Data Integration Service runs the objects in the workflow. To connect two objects, select the first object in the editor and drag it to the second object. To connect multiple objects, use the Connect Workflow Objects dialog box. 1. Right-click in the editor and select Connect Workflow Objects. The Connect Workflow Objects dialog box appears. 2. Select the object that you want to connect from, select the object that you want to connect to, and click Apply. 3. Continue connecting additional objects, and then click OK. The sequence flows appear between the objects. Creating a Conditional Sequence Flow A conditional sequence flow includes an expression that evaluates to true or false. Create a conditional sequence flow to determine whether the Data Integration Service runs the next object in the workflow. 1. Select a sequence flow in the editor. 2. In the Properties view, click the Condition tab. 3. Enter the conditional expression. The Functions tab lists transformation language functions. The Inputs tab lists workflow parameters and variables. Double-click a function, parameter, or variable name to include it in the expression. Type operators and literal values into the expression as needed. 4. Validate the condition using the Validate button. Errors appear in a dialog box. 5. If an error appears, fix the error and validate the condition again. Workflow Advanced Properties The workflow advanced properties include properties that define how workflow instances run. Tracing Level Determines the amount of detail that appears in the workflow log. You can select a value for the tracing level. Or, you can assign the tracing level to a parameter so that you can define the value of the property in a workflow parameter. The tracing level has a string datatype. Default is INFO. 6 Chapter 1: Workflows

The following table describes the workflow tracing levels: Tracing Level ERROR WARNING INFO TRACE DEBUG Description Logs error messages that caused the workflow instance to fail. The workflow log displays this level as SEVERE. In addition to the error level messages, logs warning messages that indicate failures occurred, but the failures did not cause the workflow instance to fail. The workflow log displays this level as WARNING. In addition to the warning level messages, logs additional initialization information and details about the workflow instance run. Logs task processing details including the input data passed to the task, the work item completed by the task, and the output data produced by the task. Also logs the parameter file name and expression evaluation results for conditional sequence flows. The workflow log displays this level as INFO. In addition to the info level messages, logs additional details about workflow or task initialization. The workflow log displays this level as FINE. In addition to the trace level messages, logs additional details about task input and task output and about the workflow state. The workflow log displays this level as FINEST. Enable Recovery Indicates that the workflow is enabled for recovery. When you enable a workflow for recovery, you can recover a workflow instance if a task with a restart recovery strategy encounters a recoverable error, if you abort or cancel the workflow instance, or if the Data Integration Service process shuts down unexpectedly. When you enable a workflow for recovery, you must define a recovery strategy for each task in the workflow. Default is disabled. Automatically Recover Workflows Indicates that the Data Integration Service process automatically recovers workflow instances that were aborted due to an unexpected service process shutdown. The workflow recovery starts after the Data Integration Service process restarts. You can select this option if the workflow is enabled for recovery. Default is disabled. Maximum Recovery Attempts Maximum number of times that a user can attempt to recover a workflow instance. When a workflow instance reaches the maximum number of recovery attempts, the workflow instance is no longer recoverable. When workflow recovery is enabled, the value must be greater than zero. Default is 5. Workflow Advanced Properties 7

Workflow Validation When you develop a workflow, you must configure it so that the Data Integration Service can read and process the entire workflow. The Developer tool marks a workflow as not valid when it detects errors that will prevent the Data Integration Service from running the workflow. When you validate a workflow, the Developer tool validates sequence flows, expressions, and workflow objects. Sequence Flow Validation The Developer tool performs sequence flow validation each time you validate a workflow. The Developer tool makes the following sequence flow validations: The workflow cannot run if the sequence flows loop. Each sequence flow can run one time. The Start event has one outgoing sequence flow that does not include a condition. The End event has one incoming sequence flow. Each task has one incoming sequence flow and one outgoing sequence flow. Each Exclusive gateway has either multiple incoming sequence flows or multiple outgoing sequence flows, but not both. Each Exclusive gateway that splits the workflow has at least two outgoing sequence flows with one of the sequence flows set as the default. Each Exclusive gateway that merges the workflow does not have a default outgoing sequence flow. For a conditional sequence flow, the expression returns a boolean or integer value. The expression cannot contain a carriage return character or line feed character. Expression Validation You can validate an expression in a conditional sequence flow or in an Assignment task while you are creating the expression. If you did not correct the errors, error messages appear in the Validation Log view when you validate the workflow. Workflow Object Validation The Developer tool performs workflow object validation each time you validate a workflow. The Developer tool validates the following workflow objects: Events Tasks The workflow contains one Start event that is the first object in the workflow. The workflow contains one End event that is the last object in the workflow. The workflow has a path from the Start event to the End event. Each task has a unique name within the workflow. If applicable, task input is assigned to workflow parameters and variables with compatible types. If applicable, task output is assigned to workflow variables with compatible datatypes. Task configuration properties are assigned to valid values. Each Assignment task assigns a valid value to a single workflow variable. The value assigned to the workflow variable has a compatible datatype. If the task uses workflow parameters or variables in the assignment expression, the Developer tool verifies that the parameters and variables exist. 8 Chapter 1: Workflows

Each Command task includes a command that does not contain a carriage return character or line feed character. If the command uses workflow parameters or variables, the Developer tool verifies that the parameters and variables exist. Each Mapping task includes a valid mapping that exists in the repository. Each Notification task includes at least one recipient. If the task uses workflow parameters or variables, the Developer tool verifies that the parameters and variables exist. Gateways Each Exclusive gateway has a unique name within the workflow. Validating a Workflow Validate a workflow to ensure that the Data Integration Service can read and process the entire workflow. 1. Open the workflow in the editor. 2. Click Edit > Validate. Errors appear in the Validation Log view. 3. If an error appears, fix the error and validate the workflow again. Workflow Deployment When you develop a workflow in the Developer tool, you create a workflow definition. To run an instance of the workflow, you add the workflow definition to an application. Then, you deploy the application to the Data Integration Service. Deploy workflows to allow users to run workflows using the infacmd wfs startworkflow command. When you deploy a workflow, the Data Integration Service creates a separate set of run-time metadata in the Model repository for the workflow. If you make changes to a workflow definition in the Developer tool after you deploy it, you must redeploy the application that contains the workflow definition for the changes to take effect. Use the Developer tool to deploy workflows. You deploy workflows using the same procedure that you use to deploy other Model repository objects. Deploy and Run a Workflow When you deploy a workflow to the Data Integration Service, you can run a single instance of the workflow immediately after you deploy it. When you deploy and run a workflow, you cannot specify a parameter file. If the workflow uses parameters, the Data Integration Service uses the default parameter values. To run a workflow immediately after you deploy it, click Run Object in the Deploy Completed dialog box. If the deployed application contains multiple workflows, select the workflows to run. The Data Integration Service concurrently runs an instance of each selected workflow. If the deployed application contains other object types, you cannot select those objects to run. Monitor the workflow instance run in the Monitoring tab of the Administrator tool. To run additional instances of the workflow, use the infacmd wfs startworkflow command. If you receive an error message when you deploy and run a workflow, view the workflow and Data Integration Service logs for more information. Workflow Deployment 9

Running Workflows After you deploy a workflow, you run an instance of the workflow from the deployed application using the infacmd wfs startworkflow command. You can specify a parameter file for the workflow run. You can concurrently run multiple instances of the same workflow from the deployed application. When you run a workflow instance, the application sends the request to the Data Integration Service. The Data Integration Service runs the objects in the workflow according to the sequence flows connecting the objects. For example, the following command runs an instance of the workflow MyWorkflow in the deployed application MyApplication using the parameter values defined in the parameter file MyParameterFile: infacmd wfs startworkflow -dn MyDomain -sn MyDataIntSvs -un MyUser -pd MyPassword -a MyApplication -wf MyWorkflow -pf MyParameterFile.xml Monitoring Workflows You monitor a workflow instance run in the Monitoring tool. The Monitoring tool is a direct link to the Monitoring tab of the Administrator tool. The Monitoring tool shows the status of running workflow and workflow object instances. You can abort or cancel a running workflow instance in the Monitoring tool. You can also use the Monitoring tool to view logs for workflow instances and to view workflow reports. Deleting a Workflow You might decide to delete a workflow that you no longer use. When you delete a workflow, you delete all objects in the workflow. When you delete a workflow in the Developer tool, you delete the workflow definition in the Model repository. If the workflow definition has been deployed to a Data Integration Service, you can continue to run instances of the workflow from the deployed workflow definition. To delete a workflow, select the workflow in the Object Explorer view and then click Edit > Delete. 10 Chapter 1: Workflows

Workflow Examples The following examples show how you might want to develop workflows. Example: Running Commands Before and After Running a Mapping You can develop a workflow that runs commands to perform steps before and after a mapping runs. For example, you might want to use Command tasks before and after a Mapping task to drop indexes on the target before the mapping runs, and then recreate the indexes when the mapping completes. The following figure shows a workflow that runs a command, runs a mapping, runs another command, and sends an email notifying users of the status of the workflow: Parameter files provide you with the flexibility to change parameter values each time you run a workflow. You can use the following parameters in this workflow: Workflow parameter that represents the command run by the first Command task. Mapping parameter that represents the connection to the source for the mapping. Mapping parameter that represents the connection to the target for the mapping. Workflow parameter that represents the command run by the second Command task. Workflow parameter that represents the email address that the Notification task sends an email to. Define the value of these parameters in a parameter file. Specify the parameter file when you run the workflow. You can run the same workflow with a different parameter file to run different commands, to run a mapping that connects to a different source or target, or to send an email to a different user. Example: Splitting a Workflow You can develop a workflow that includes an Exclusive gateway that makes a decision to split the workflow. For example, you can develop the following workflow that runs a mapping, decides to take one branch of the workflow depending on whether the Mapping task succeeded or failed, merges the branches back into a single flow, and sends an email notifying users of the status of the workflow: Workflow Examples 11