idd-teamworks integration implementation guide documentation/1/mdm_901_idd... · idd-teamworks...

25
MDM Multidomain Edition (Version 9.0.1) IDD-Teamworks Integration Implementation Guide

Upload: others

Post on 22-Mar-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

MDM Multidomain Edition (Version 901)

IDD-Teamworks Integration Implementation Guide

IDD-Teamworks Integration Implementation Guide ii

Informatica MDM Multidomain Hub - Version 9 01 - September 2010 revised November 2010 Copyright (c) 2010 Informatica 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 is be protected by US andor international Patents and other Patents Pending

Use duplication or disclosure of the Software by the US Government is subject to the restrictions set forth in the applicable software license agreement and as provided in DFARS 2277202-1(a) and 2277702-3(a) (1995) DFARS 252227-7013copy(1)(ii) (OCT 1988) FAR 12212(a) (1995) FAR 52227-19 or FAR 52227-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 and Siperian 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 andor documentation are subject to copyright held by third parties including without limitation Copyright DataDirect Technologies All rights reserved Copyright copy Sun Microsystems All rights reserved

This product includes software developed by the Apache Software Foundation (httpwwwapacheorg) and other software which is licensed under the Apache License Version 20 (the License) You may obtain a copy of the License at httpwwwapacheorglicenses LICENSE-20 Unless required by applicable law or agreed to in writing software distributed under the License is distributed on an AS IS BASIS WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied See the License for the specific language governing permissions and limitations under the License

This product includes software which is licensed under the GNU Lesser General Public License Agreement which may be found at httpwwwgnuorglicenseslgplhtml 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

This product includes software which is licensed under the CDDL (the License) You may obtain a copy of the License at httpwwwsuncomcddlcddlhtml 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 See the License for the specific language governing permissions and limitations under the License

This product includes software which is licensed under the BSD License (the License) You may obtain a copy of the License at httpwwwopensourceorglicensesbsd-licensephp 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 See the License for the specific language governing permissions and limitations under the License

This product includes software Copyright (c) 2003-2008 Terence Parr all rights reserved which is licensed under the BSD License (the License) You may obtain a copy of the License at httpwwwantlrorglicensehtml 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 f itness for a particular purpose See the License for the specific language governing permissions and limitations under the License

This product includes software Copyright (c) 2000 - 2009 The Legion Of The Bouncy Castle (httpwwwbouncycastleorg) which is licensed under a form of the MIT License (the License) You may obtain a copy of the License at httpwwwbouncycastleorglicencehtml 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 See the License for the specific language governing permissions and limitations under the License

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 non-infringement 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 ldquoSoftwarerdquo) may include certain drivers (the ldquoDataDirect Driversrdquo) from DataDirect Technologies an operating company of Progress Software Corporation (ldquoDataDirectrdquo) which are subject to the following terms and conditions

1 THE DATADIRECT DRIVERS ARE PROVIDED ldquoAS ISrdquo WITHOUT WARRANTY OF ANY KIND EITHER EXPRESSED OR IMPLIED INCLUDING BUT NOTLIMITED 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

iii IDD-Teamworks Integration Implementation Guide

Informatica Resources

Informatica Customer Portal

As an Informatica customer you can access the Informatica Customer Portal site at httpmyinformaticacom 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 the Informatica Multimedia Knowledge Base Informatica Documentation Center 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_documentationinformaticacom 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 the Informatica Documentation Center from httpmyinformaticacom

Informatica Web Site

You can access the Informatica corporate web site at httpwwwinformaticacom 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 httpmyinformaticacom The How-

To Library is a collection of resources to help you learn more 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 httpmyinformaticacom 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_Feedbackinformaticacom

Informatica Multimedia Knowledge Base

As an Informatica customer you can access the Informatica Multimedia Knowledge Base at

httpmyinformaticacom The Multimedia Knowledge Base is a collection of instructional multimedia files that help you learn about common concepts and guide you through performing specific tasks If you have questions comments or ideas about the Multimedia Knowledge Base contact the Informatica Knowledge Base team through email at KB_Feedbackinformaticacom

IDD-Teamworks Integration Implementation Guide iv

Informatica Global Customer Support

You can contact a Customer Support Center by telephone or through the WebSupport Service WebSupport requires a user name and password You can request a user name and password at httpmyinformaticacom

Use the following telephone numbers to contact Informatica Global Customer Support

North AmericaSouth America

EuropeMiddle EastAfrica

AsiaAustralia

Toll Free

North America +1 877 463 2435

Brazil 0800 891 0202

Mexico 001 888 209 8853

Standard Rate

North America +1 650 653 6332

Toll Free

United Kingdom 00800 4632 4357 or 0800 023 4632

France 00800 4632 4357

Netherlands 00800 4632 4357

Germany 00800 4632 4357

Switzerland 00800 4632 4357

Israel 00800 4632 4357

Spain 900 813 166

Portugal 800 208 360

Italy 800 915 985

Standard Rate

Belgium +32 15 281 702

France 0805 804632

Germany +49 1805 702 702

Netherlands +31 306 022 797

Switzerland 0800 463 200

Toll Free

Australia 1 800 151 830

New Zealand 1 800 151 830

Singapore 001 800 4632 4357

Standard Rate

India +91 80 4112 5738

v IDD-Teamworks Integration Implementation Guide

Table of Contents

Introduction 1

Pre-requisites 1

Informatica Component Library for Teamworks 2

Installation 2

Business Processes 8

Participant Groups 8

Services 9

Types 11

SIF Connectors and Integrations 15

Configuring an ORS to Use Teamworks 16

Creating a User with Privileges to Teamworks 17

Updating the IDD Configuration File 17

Automatic Initiation of Merge Tasks 19

Introduction

The Informatica 901 release includes out-of-the-box integration between the

Informatica Data Director (IDD) and Lombardirsquos Teamworks This document describes how to create an IDD deployment that uses Teamworks instead of built-in

Hub tasks for workflow

Prerequisites

1 Install Teamworks version 622

Only the Teamworks Process Server and Authoring Environment are required

Instructions for installing Teamworks are available from Lombardi and are

not provided as part of this implementation guide

Note We do not support Teamworks version 7 due to fundamental changes

over previous versions of Teamworks

2 Install Informatica MDM Hub version 901 or later

Instructions for installing the MDM Hub can be found in the Informatica MDM Installation Guide

3 Enable advanced capabilities in the Teamworks Authoring Environment

1 Click Window-gtPreferences

2 Expand the Teamworks node in the tree in the left pane

3 Select the Capabilities node in the tree in the left pane

IDD-Teamworks Integration Implementation Guide 2

4 Check Teamworks Advanced Features

Informatica Component Library for Teamworks

Informatica provides the Teamworks Component Library for two reasons First the

library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components

that must be used for the IDD to be able to understand information contained in Teamworks business processes

Tip When making changes to connectors be sure to check in the component after

saving to propagate changes to the server

Installation

1 Launch the Teamworks Authoring Environment

2 Select File-gtImport from the menu bar

3 IDD-Teamworks Integration Implementation Guide

3 Choose Teamworks Library File from the Teamworks folder

4 Click Next

5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within

the Resource Kit

This file is located in the samplesBPM directory within the Resource Kit

IDD-Teamworks Integration Implementation Guide 4

6 Open the IDD-InformaticaTeamworksLibrary file

7 Click Next and Finish

Modify the SIF WSDL File for Introspection by Teamworks

Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the

WSDL file with Teamworks follow these steps

1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl

2 Open the saved file with any text editor

5 IDD-Teamworks Integration Implementation Guide

3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as

follows

From

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoice maxOccurs=unbounded minOccurs=0gt

ltxselement name=field type=Fieldgt

ltxselement name=trustOverrideField

type=TrustOverrideFieldgt

ltxselement name=trustEnabledField

type=TrustEnabledFieldgt

ltxselement name=matchPathField type=MatchPathFieldgt

ltxselement name=bvtField type=BvtFieldgt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUidgt

ltxssequencegt

ltxscomplexTypegt

To

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoicegt

ltxselement name=field type=Field maxOccurs=unbounded

minOccurs=0gt

ltxselement name=trustOverrideField

type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt

ltxselement name=trustEnabledField

type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt

IDD-Teamworks Integration Implementation Guide 6

ltxselement name=matchPathField type=MatchPathField

maxOccurs=unbounded minOccurs=0gt

ltxselement name=bvtField type=BvtField

maxOccurs=unbounded minOccurs=0gt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUid gt

ltxssequencegt

ltxscomplexTypegt

4 Save the modified file to a location accessible by the Teamworks server

Update All Connectors

1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library

2 Open each object ending in ldquohellipConnectorrdquo

3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier

See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions

4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot

7 IDD-Teamworks Integration Implementation Guide

5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server

6 Save your changes and check the changed file into Teamworks

IDD-Teamworks Integration Implementation Guide 8

Business Processes

Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the

OOB business process customers can develop their own business processes to use within the IDD

Process Input Variables

All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will

provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to

each IDD Activity in the process and also as an output from each IDD Activity

Participant Groups

The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied

to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 2: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

IDD-Teamworks Integration Implementation Guide ii

Informatica MDM Multidomain Hub - Version 9 01 - September 2010 revised November 2010 Copyright (c) 2010 Informatica 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 is be protected by US andor international Patents and other Patents Pending

Use duplication or disclosure of the Software by the US Government is subject to the restrictions set forth in the applicable software license agreement and as provided in DFARS 2277202-1(a) and 2277702-3(a) (1995) DFARS 252227-7013copy(1)(ii) (OCT 1988) FAR 12212(a) (1995) FAR 52227-19 or FAR 52227-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 and Siperian 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 andor documentation are subject to copyright held by third parties including without limitation Copyright DataDirect Technologies All rights reserved Copyright copy Sun Microsystems All rights reserved

This product includes software developed by the Apache Software Foundation (httpwwwapacheorg) and other software which is licensed under the Apache License Version 20 (the License) You may obtain a copy of the License at httpwwwapacheorglicenses LICENSE-20 Unless required by applicable law or agreed to in writing software distributed under the License is distributed on an AS IS BASIS WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied See the License for the specific language governing permissions and limitations under the License

This product includes software which is licensed under the GNU Lesser General Public License Agreement which may be found at httpwwwgnuorglicenseslgplhtml 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

This product includes software which is licensed under the CDDL (the License) You may obtain a copy of the License at httpwwwsuncomcddlcddlhtml 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 See the License for the specific language governing permissions and limitations under the License

This product includes software which is licensed under the BSD License (the License) You may obtain a copy of the License at httpwwwopensourceorglicensesbsd-licensephp 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 See the License for the specific language governing permissions and limitations under the License

This product includes software Copyright (c) 2003-2008 Terence Parr all rights reserved which is licensed under the BSD License (the License) You may obtain a copy of the License at httpwwwantlrorglicensehtml 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 f itness for a particular purpose See the License for the specific language governing permissions and limitations under the License

This product includes software Copyright (c) 2000 - 2009 The Legion Of The Bouncy Castle (httpwwwbouncycastleorg) which is licensed under a form of the MIT License (the License) You may obtain a copy of the License at httpwwwbouncycastleorglicencehtml 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 See the License for the specific language governing permissions and limitations under the License

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 non-infringement 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 ldquoSoftwarerdquo) may include certain drivers (the ldquoDataDirect Driversrdquo) from DataDirect Technologies an operating company of Progress Software Corporation (ldquoDataDirectrdquo) which are subject to the following terms and conditions

1 THE DATADIRECT DRIVERS ARE PROVIDED ldquoAS ISrdquo WITHOUT WARRANTY OF ANY KIND EITHER EXPRESSED OR IMPLIED INCLUDING BUT NOTLIMITED 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

iii IDD-Teamworks Integration Implementation Guide

Informatica Resources

Informatica Customer Portal

As an Informatica customer you can access the Informatica Customer Portal site at httpmyinformaticacom 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 the Informatica Multimedia Knowledge Base Informatica Documentation Center 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_documentationinformaticacom 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 the Informatica Documentation Center from httpmyinformaticacom

Informatica Web Site

You can access the Informatica corporate web site at httpwwwinformaticacom 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 httpmyinformaticacom The How-

To Library is a collection of resources to help you learn more 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 httpmyinformaticacom 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_Feedbackinformaticacom

Informatica Multimedia Knowledge Base

As an Informatica customer you can access the Informatica Multimedia Knowledge Base at

httpmyinformaticacom The Multimedia Knowledge Base is a collection of instructional multimedia files that help you learn about common concepts and guide you through performing specific tasks If you have questions comments or ideas about the Multimedia Knowledge Base contact the Informatica Knowledge Base team through email at KB_Feedbackinformaticacom

IDD-Teamworks Integration Implementation Guide iv

Informatica Global Customer Support

You can contact a Customer Support Center by telephone or through the WebSupport Service WebSupport requires a user name and password You can request a user name and password at httpmyinformaticacom

Use the following telephone numbers to contact Informatica Global Customer Support

North AmericaSouth America

EuropeMiddle EastAfrica

AsiaAustralia

Toll Free

North America +1 877 463 2435

Brazil 0800 891 0202

Mexico 001 888 209 8853

Standard Rate

North America +1 650 653 6332

Toll Free

United Kingdom 00800 4632 4357 or 0800 023 4632

France 00800 4632 4357

Netherlands 00800 4632 4357

Germany 00800 4632 4357

Switzerland 00800 4632 4357

Israel 00800 4632 4357

Spain 900 813 166

Portugal 800 208 360

Italy 800 915 985

Standard Rate

Belgium +32 15 281 702

France 0805 804632

Germany +49 1805 702 702

Netherlands +31 306 022 797

Switzerland 0800 463 200

Toll Free

Australia 1 800 151 830

New Zealand 1 800 151 830

Singapore 001 800 4632 4357

Standard Rate

India +91 80 4112 5738

v IDD-Teamworks Integration Implementation Guide

Table of Contents

Introduction 1

Pre-requisites 1

Informatica Component Library for Teamworks 2

Installation 2

Business Processes 8

Participant Groups 8

Services 9

Types 11

SIF Connectors and Integrations 15

Configuring an ORS to Use Teamworks 16

Creating a User with Privileges to Teamworks 17

Updating the IDD Configuration File 17

Automatic Initiation of Merge Tasks 19

Introduction

The Informatica 901 release includes out-of-the-box integration between the

Informatica Data Director (IDD) and Lombardirsquos Teamworks This document describes how to create an IDD deployment that uses Teamworks instead of built-in

Hub tasks for workflow

Prerequisites

1 Install Teamworks version 622

Only the Teamworks Process Server and Authoring Environment are required

Instructions for installing Teamworks are available from Lombardi and are

not provided as part of this implementation guide

Note We do not support Teamworks version 7 due to fundamental changes

over previous versions of Teamworks

2 Install Informatica MDM Hub version 901 or later

Instructions for installing the MDM Hub can be found in the Informatica MDM Installation Guide

3 Enable advanced capabilities in the Teamworks Authoring Environment

1 Click Window-gtPreferences

2 Expand the Teamworks node in the tree in the left pane

3 Select the Capabilities node in the tree in the left pane

IDD-Teamworks Integration Implementation Guide 2

4 Check Teamworks Advanced Features

Informatica Component Library for Teamworks

Informatica provides the Teamworks Component Library for two reasons First the

library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components

that must be used for the IDD to be able to understand information contained in Teamworks business processes

Tip When making changes to connectors be sure to check in the component after

saving to propagate changes to the server

Installation

1 Launch the Teamworks Authoring Environment

2 Select File-gtImport from the menu bar

3 IDD-Teamworks Integration Implementation Guide

3 Choose Teamworks Library File from the Teamworks folder

4 Click Next

5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within

the Resource Kit

This file is located in the samplesBPM directory within the Resource Kit

IDD-Teamworks Integration Implementation Guide 4

6 Open the IDD-InformaticaTeamworksLibrary file

7 Click Next and Finish

Modify the SIF WSDL File for Introspection by Teamworks

Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the

WSDL file with Teamworks follow these steps

1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl

2 Open the saved file with any text editor

5 IDD-Teamworks Integration Implementation Guide

3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as

follows

From

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoice maxOccurs=unbounded minOccurs=0gt

ltxselement name=field type=Fieldgt

ltxselement name=trustOverrideField

type=TrustOverrideFieldgt

ltxselement name=trustEnabledField

type=TrustEnabledFieldgt

ltxselement name=matchPathField type=MatchPathFieldgt

ltxselement name=bvtField type=BvtFieldgt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUidgt

ltxssequencegt

ltxscomplexTypegt

To

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoicegt

ltxselement name=field type=Field maxOccurs=unbounded

minOccurs=0gt

ltxselement name=trustOverrideField

type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt

ltxselement name=trustEnabledField

type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt

IDD-Teamworks Integration Implementation Guide 6

ltxselement name=matchPathField type=MatchPathField

maxOccurs=unbounded minOccurs=0gt

ltxselement name=bvtField type=BvtField

maxOccurs=unbounded minOccurs=0gt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUid gt

ltxssequencegt

ltxscomplexTypegt

4 Save the modified file to a location accessible by the Teamworks server

Update All Connectors

1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library

2 Open each object ending in ldquohellipConnectorrdquo

3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier

See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions

4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot

7 IDD-Teamworks Integration Implementation Guide

5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server

6 Save your changes and check the changed file into Teamworks

IDD-Teamworks Integration Implementation Guide 8

Business Processes

Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the

OOB business process customers can develop their own business processes to use within the IDD

Process Input Variables

All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will

provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to

each IDD Activity in the process and also as an output from each IDD Activity

Participant Groups

The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied

to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 3: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

iii IDD-Teamworks Integration Implementation Guide

Informatica Resources

Informatica Customer Portal

As an Informatica customer you can access the Informatica Customer Portal site at httpmyinformaticacom 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 the Informatica Multimedia Knowledge Base Informatica Documentation Center 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_documentationinformaticacom 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 the Informatica Documentation Center from httpmyinformaticacom

Informatica Web Site

You can access the Informatica corporate web site at httpwwwinformaticacom 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 httpmyinformaticacom The How-

To Library is a collection of resources to help you learn more 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 httpmyinformaticacom 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_Feedbackinformaticacom

Informatica Multimedia Knowledge Base

As an Informatica customer you can access the Informatica Multimedia Knowledge Base at

httpmyinformaticacom The Multimedia Knowledge Base is a collection of instructional multimedia files that help you learn about common concepts and guide you through performing specific tasks If you have questions comments or ideas about the Multimedia Knowledge Base contact the Informatica Knowledge Base team through email at KB_Feedbackinformaticacom

IDD-Teamworks Integration Implementation Guide iv

Informatica Global Customer Support

You can contact a Customer Support Center by telephone or through the WebSupport Service WebSupport requires a user name and password You can request a user name and password at httpmyinformaticacom

Use the following telephone numbers to contact Informatica Global Customer Support

North AmericaSouth America

EuropeMiddle EastAfrica

AsiaAustralia

Toll Free

North America +1 877 463 2435

Brazil 0800 891 0202

Mexico 001 888 209 8853

Standard Rate

North America +1 650 653 6332

Toll Free

United Kingdom 00800 4632 4357 or 0800 023 4632

France 00800 4632 4357

Netherlands 00800 4632 4357

Germany 00800 4632 4357

Switzerland 00800 4632 4357

Israel 00800 4632 4357

Spain 900 813 166

Portugal 800 208 360

Italy 800 915 985

Standard Rate

Belgium +32 15 281 702

France 0805 804632

Germany +49 1805 702 702

Netherlands +31 306 022 797

Switzerland 0800 463 200

Toll Free

Australia 1 800 151 830

New Zealand 1 800 151 830

Singapore 001 800 4632 4357

Standard Rate

India +91 80 4112 5738

v IDD-Teamworks Integration Implementation Guide

Table of Contents

Introduction 1

Pre-requisites 1

Informatica Component Library for Teamworks 2

Installation 2

Business Processes 8

Participant Groups 8

Services 9

Types 11

SIF Connectors and Integrations 15

Configuring an ORS to Use Teamworks 16

Creating a User with Privileges to Teamworks 17

Updating the IDD Configuration File 17

Automatic Initiation of Merge Tasks 19

Introduction

The Informatica 901 release includes out-of-the-box integration between the

Informatica Data Director (IDD) and Lombardirsquos Teamworks This document describes how to create an IDD deployment that uses Teamworks instead of built-in

Hub tasks for workflow

Prerequisites

1 Install Teamworks version 622

Only the Teamworks Process Server and Authoring Environment are required

Instructions for installing Teamworks are available from Lombardi and are

not provided as part of this implementation guide

Note We do not support Teamworks version 7 due to fundamental changes

over previous versions of Teamworks

2 Install Informatica MDM Hub version 901 or later

Instructions for installing the MDM Hub can be found in the Informatica MDM Installation Guide

3 Enable advanced capabilities in the Teamworks Authoring Environment

1 Click Window-gtPreferences

2 Expand the Teamworks node in the tree in the left pane

3 Select the Capabilities node in the tree in the left pane

IDD-Teamworks Integration Implementation Guide 2

4 Check Teamworks Advanced Features

Informatica Component Library for Teamworks

Informatica provides the Teamworks Component Library for two reasons First the

library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components

that must be used for the IDD to be able to understand information contained in Teamworks business processes

Tip When making changes to connectors be sure to check in the component after

saving to propagate changes to the server

Installation

1 Launch the Teamworks Authoring Environment

2 Select File-gtImport from the menu bar

3 IDD-Teamworks Integration Implementation Guide

3 Choose Teamworks Library File from the Teamworks folder

4 Click Next

5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within

the Resource Kit

This file is located in the samplesBPM directory within the Resource Kit

IDD-Teamworks Integration Implementation Guide 4

6 Open the IDD-InformaticaTeamworksLibrary file

7 Click Next and Finish

Modify the SIF WSDL File for Introspection by Teamworks

Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the

WSDL file with Teamworks follow these steps

1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl

2 Open the saved file with any text editor

5 IDD-Teamworks Integration Implementation Guide

3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as

follows

From

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoice maxOccurs=unbounded minOccurs=0gt

ltxselement name=field type=Fieldgt

ltxselement name=trustOverrideField

type=TrustOverrideFieldgt

ltxselement name=trustEnabledField

type=TrustEnabledFieldgt

ltxselement name=matchPathField type=MatchPathFieldgt

ltxselement name=bvtField type=BvtFieldgt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUidgt

ltxssequencegt

ltxscomplexTypegt

To

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoicegt

ltxselement name=field type=Field maxOccurs=unbounded

minOccurs=0gt

ltxselement name=trustOverrideField

type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt

ltxselement name=trustEnabledField

type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt

IDD-Teamworks Integration Implementation Guide 6

ltxselement name=matchPathField type=MatchPathField

maxOccurs=unbounded minOccurs=0gt

ltxselement name=bvtField type=BvtField

maxOccurs=unbounded minOccurs=0gt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUid gt

ltxssequencegt

ltxscomplexTypegt

4 Save the modified file to a location accessible by the Teamworks server

Update All Connectors

1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library

2 Open each object ending in ldquohellipConnectorrdquo

3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier

See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions

4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot

7 IDD-Teamworks Integration Implementation Guide

5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server

6 Save your changes and check the changed file into Teamworks

IDD-Teamworks Integration Implementation Guide 8

Business Processes

Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the

OOB business process customers can develop their own business processes to use within the IDD

Process Input Variables

All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will

provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to

each IDD Activity in the process and also as an output from each IDD Activity

Participant Groups

The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied

to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 4: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

IDD-Teamworks Integration Implementation Guide iv

Informatica Global Customer Support

You can contact a Customer Support Center by telephone or through the WebSupport Service WebSupport requires a user name and password You can request a user name and password at httpmyinformaticacom

Use the following telephone numbers to contact Informatica Global Customer Support

North AmericaSouth America

EuropeMiddle EastAfrica

AsiaAustralia

Toll Free

North America +1 877 463 2435

Brazil 0800 891 0202

Mexico 001 888 209 8853

Standard Rate

North America +1 650 653 6332

Toll Free

United Kingdom 00800 4632 4357 or 0800 023 4632

France 00800 4632 4357

Netherlands 00800 4632 4357

Germany 00800 4632 4357

Switzerland 00800 4632 4357

Israel 00800 4632 4357

Spain 900 813 166

Portugal 800 208 360

Italy 800 915 985

Standard Rate

Belgium +32 15 281 702

France 0805 804632

Germany +49 1805 702 702

Netherlands +31 306 022 797

Switzerland 0800 463 200

Toll Free

Australia 1 800 151 830

New Zealand 1 800 151 830

Singapore 001 800 4632 4357

Standard Rate

India +91 80 4112 5738

v IDD-Teamworks Integration Implementation Guide

Table of Contents

Introduction 1

Pre-requisites 1

Informatica Component Library for Teamworks 2

Installation 2

Business Processes 8

Participant Groups 8

Services 9

Types 11

SIF Connectors and Integrations 15

Configuring an ORS to Use Teamworks 16

Creating a User with Privileges to Teamworks 17

Updating the IDD Configuration File 17

Automatic Initiation of Merge Tasks 19

Introduction

The Informatica 901 release includes out-of-the-box integration between the

Informatica Data Director (IDD) and Lombardirsquos Teamworks This document describes how to create an IDD deployment that uses Teamworks instead of built-in

Hub tasks for workflow

Prerequisites

1 Install Teamworks version 622

Only the Teamworks Process Server and Authoring Environment are required

Instructions for installing Teamworks are available from Lombardi and are

not provided as part of this implementation guide

Note We do not support Teamworks version 7 due to fundamental changes

over previous versions of Teamworks

2 Install Informatica MDM Hub version 901 or later

Instructions for installing the MDM Hub can be found in the Informatica MDM Installation Guide

3 Enable advanced capabilities in the Teamworks Authoring Environment

1 Click Window-gtPreferences

2 Expand the Teamworks node in the tree in the left pane

3 Select the Capabilities node in the tree in the left pane

IDD-Teamworks Integration Implementation Guide 2

4 Check Teamworks Advanced Features

Informatica Component Library for Teamworks

Informatica provides the Teamworks Component Library for two reasons First the

library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components

that must be used for the IDD to be able to understand information contained in Teamworks business processes

Tip When making changes to connectors be sure to check in the component after

saving to propagate changes to the server

Installation

1 Launch the Teamworks Authoring Environment

2 Select File-gtImport from the menu bar

3 IDD-Teamworks Integration Implementation Guide

3 Choose Teamworks Library File from the Teamworks folder

4 Click Next

5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within

the Resource Kit

This file is located in the samplesBPM directory within the Resource Kit

IDD-Teamworks Integration Implementation Guide 4

6 Open the IDD-InformaticaTeamworksLibrary file

7 Click Next and Finish

Modify the SIF WSDL File for Introspection by Teamworks

Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the

WSDL file with Teamworks follow these steps

1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl

2 Open the saved file with any text editor

5 IDD-Teamworks Integration Implementation Guide

3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as

follows

From

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoice maxOccurs=unbounded minOccurs=0gt

ltxselement name=field type=Fieldgt

ltxselement name=trustOverrideField

type=TrustOverrideFieldgt

ltxselement name=trustEnabledField

type=TrustEnabledFieldgt

ltxselement name=matchPathField type=MatchPathFieldgt

ltxselement name=bvtField type=BvtFieldgt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUidgt

ltxssequencegt

ltxscomplexTypegt

To

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoicegt

ltxselement name=field type=Field maxOccurs=unbounded

minOccurs=0gt

ltxselement name=trustOverrideField

type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt

ltxselement name=trustEnabledField

type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt

IDD-Teamworks Integration Implementation Guide 6

ltxselement name=matchPathField type=MatchPathField

maxOccurs=unbounded minOccurs=0gt

ltxselement name=bvtField type=BvtField

maxOccurs=unbounded minOccurs=0gt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUid gt

ltxssequencegt

ltxscomplexTypegt

4 Save the modified file to a location accessible by the Teamworks server

Update All Connectors

1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library

2 Open each object ending in ldquohellipConnectorrdquo

3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier

See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions

4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot

7 IDD-Teamworks Integration Implementation Guide

5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server

6 Save your changes and check the changed file into Teamworks

IDD-Teamworks Integration Implementation Guide 8

Business Processes

Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the

OOB business process customers can develop their own business processes to use within the IDD

Process Input Variables

All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will

provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to

each IDD Activity in the process and also as an output from each IDD Activity

Participant Groups

The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied

to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 5: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

v IDD-Teamworks Integration Implementation Guide

Table of Contents

Introduction 1

Pre-requisites 1

Informatica Component Library for Teamworks 2

Installation 2

Business Processes 8

Participant Groups 8

Services 9

Types 11

SIF Connectors and Integrations 15

Configuring an ORS to Use Teamworks 16

Creating a User with Privileges to Teamworks 17

Updating the IDD Configuration File 17

Automatic Initiation of Merge Tasks 19

Introduction

The Informatica 901 release includes out-of-the-box integration between the

Informatica Data Director (IDD) and Lombardirsquos Teamworks This document describes how to create an IDD deployment that uses Teamworks instead of built-in

Hub tasks for workflow

Prerequisites

1 Install Teamworks version 622

Only the Teamworks Process Server and Authoring Environment are required

Instructions for installing Teamworks are available from Lombardi and are

not provided as part of this implementation guide

Note We do not support Teamworks version 7 due to fundamental changes

over previous versions of Teamworks

2 Install Informatica MDM Hub version 901 or later

Instructions for installing the MDM Hub can be found in the Informatica MDM Installation Guide

3 Enable advanced capabilities in the Teamworks Authoring Environment

1 Click Window-gtPreferences

2 Expand the Teamworks node in the tree in the left pane

3 Select the Capabilities node in the tree in the left pane

IDD-Teamworks Integration Implementation Guide 2

4 Check Teamworks Advanced Features

Informatica Component Library for Teamworks

Informatica provides the Teamworks Component Library for two reasons First the

library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components

that must be used for the IDD to be able to understand information contained in Teamworks business processes

Tip When making changes to connectors be sure to check in the component after

saving to propagate changes to the server

Installation

1 Launch the Teamworks Authoring Environment

2 Select File-gtImport from the menu bar

3 IDD-Teamworks Integration Implementation Guide

3 Choose Teamworks Library File from the Teamworks folder

4 Click Next

5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within

the Resource Kit

This file is located in the samplesBPM directory within the Resource Kit

IDD-Teamworks Integration Implementation Guide 4

6 Open the IDD-InformaticaTeamworksLibrary file

7 Click Next and Finish

Modify the SIF WSDL File for Introspection by Teamworks

Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the

WSDL file with Teamworks follow these steps

1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl

2 Open the saved file with any text editor

5 IDD-Teamworks Integration Implementation Guide

3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as

follows

From

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoice maxOccurs=unbounded minOccurs=0gt

ltxselement name=field type=Fieldgt

ltxselement name=trustOverrideField

type=TrustOverrideFieldgt

ltxselement name=trustEnabledField

type=TrustEnabledFieldgt

ltxselement name=matchPathField type=MatchPathFieldgt

ltxselement name=bvtField type=BvtFieldgt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUidgt

ltxssequencegt

ltxscomplexTypegt

To

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoicegt

ltxselement name=field type=Field maxOccurs=unbounded

minOccurs=0gt

ltxselement name=trustOverrideField

type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt

ltxselement name=trustEnabledField

type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt

IDD-Teamworks Integration Implementation Guide 6

ltxselement name=matchPathField type=MatchPathField

maxOccurs=unbounded minOccurs=0gt

ltxselement name=bvtField type=BvtField

maxOccurs=unbounded minOccurs=0gt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUid gt

ltxssequencegt

ltxscomplexTypegt

4 Save the modified file to a location accessible by the Teamworks server

Update All Connectors

1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library

2 Open each object ending in ldquohellipConnectorrdquo

3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier

See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions

4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot

7 IDD-Teamworks Integration Implementation Guide

5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server

6 Save your changes and check the changed file into Teamworks

IDD-Teamworks Integration Implementation Guide 8

Business Processes

Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the

OOB business process customers can develop their own business processes to use within the IDD

Process Input Variables

All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will

provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to

each IDD Activity in the process and also as an output from each IDD Activity

Participant Groups

The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied

to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 6: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

Introduction

The Informatica 901 release includes out-of-the-box integration between the

Informatica Data Director (IDD) and Lombardirsquos Teamworks This document describes how to create an IDD deployment that uses Teamworks instead of built-in

Hub tasks for workflow

Prerequisites

1 Install Teamworks version 622

Only the Teamworks Process Server and Authoring Environment are required

Instructions for installing Teamworks are available from Lombardi and are

not provided as part of this implementation guide

Note We do not support Teamworks version 7 due to fundamental changes

over previous versions of Teamworks

2 Install Informatica MDM Hub version 901 or later

Instructions for installing the MDM Hub can be found in the Informatica MDM Installation Guide

3 Enable advanced capabilities in the Teamworks Authoring Environment

1 Click Window-gtPreferences

2 Expand the Teamworks node in the tree in the left pane

3 Select the Capabilities node in the tree in the left pane

IDD-Teamworks Integration Implementation Guide 2

4 Check Teamworks Advanced Features

Informatica Component Library for Teamworks

Informatica provides the Teamworks Component Library for two reasons First the

library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components

that must be used for the IDD to be able to understand information contained in Teamworks business processes

Tip When making changes to connectors be sure to check in the component after

saving to propagate changes to the server

Installation

1 Launch the Teamworks Authoring Environment

2 Select File-gtImport from the menu bar

3 IDD-Teamworks Integration Implementation Guide

3 Choose Teamworks Library File from the Teamworks folder

4 Click Next

5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within

the Resource Kit

This file is located in the samplesBPM directory within the Resource Kit

IDD-Teamworks Integration Implementation Guide 4

6 Open the IDD-InformaticaTeamworksLibrary file

7 Click Next and Finish

Modify the SIF WSDL File for Introspection by Teamworks

Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the

WSDL file with Teamworks follow these steps

1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl

2 Open the saved file with any text editor

5 IDD-Teamworks Integration Implementation Guide

3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as

follows

From

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoice maxOccurs=unbounded minOccurs=0gt

ltxselement name=field type=Fieldgt

ltxselement name=trustOverrideField

type=TrustOverrideFieldgt

ltxselement name=trustEnabledField

type=TrustEnabledFieldgt

ltxselement name=matchPathField type=MatchPathFieldgt

ltxselement name=bvtField type=BvtFieldgt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUidgt

ltxssequencegt

ltxscomplexTypegt

To

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoicegt

ltxselement name=field type=Field maxOccurs=unbounded

minOccurs=0gt

ltxselement name=trustOverrideField

type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt

ltxselement name=trustEnabledField

type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt

IDD-Teamworks Integration Implementation Guide 6

ltxselement name=matchPathField type=MatchPathField

maxOccurs=unbounded minOccurs=0gt

ltxselement name=bvtField type=BvtField

maxOccurs=unbounded minOccurs=0gt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUid gt

ltxssequencegt

ltxscomplexTypegt

4 Save the modified file to a location accessible by the Teamworks server

Update All Connectors

1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library

2 Open each object ending in ldquohellipConnectorrdquo

3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier

See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions

4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot

7 IDD-Teamworks Integration Implementation Guide

5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server

6 Save your changes and check the changed file into Teamworks

IDD-Teamworks Integration Implementation Guide 8

Business Processes

Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the

OOB business process customers can develop their own business processes to use within the IDD

Process Input Variables

All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will

provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to

each IDD Activity in the process and also as an output from each IDD Activity

Participant Groups

The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied

to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 7: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

IDD-Teamworks Integration Implementation Guide 2

4 Check Teamworks Advanced Features

Informatica Component Library for Teamworks

Informatica provides the Teamworks Component Library for two reasons First the

library provides components that ease communication with the MDM Hub from within a Teamworks workflow process Second the library provides components

that must be used for the IDD to be able to understand information contained in Teamworks business processes

Tip When making changes to connectors be sure to check in the component after

saving to propagate changes to the server

Installation

1 Launch the Teamworks Authoring Environment

2 Select File-gtImport from the menu bar

3 IDD-Teamworks Integration Implementation Guide

3 Choose Teamworks Library File from the Teamworks folder

4 Click Next

5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within

the Resource Kit

This file is located in the samplesBPM directory within the Resource Kit

IDD-Teamworks Integration Implementation Guide 4

6 Open the IDD-InformaticaTeamworksLibrary file

7 Click Next and Finish

Modify the SIF WSDL File for Introspection by Teamworks

Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the

WSDL file with Teamworks follow these steps

1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl

2 Open the saved file with any text editor

5 IDD-Teamworks Integration Implementation Guide

3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as

follows

From

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoice maxOccurs=unbounded minOccurs=0gt

ltxselement name=field type=Fieldgt

ltxselement name=trustOverrideField

type=TrustOverrideFieldgt

ltxselement name=trustEnabledField

type=TrustEnabledFieldgt

ltxselement name=matchPathField type=MatchPathFieldgt

ltxselement name=bvtField type=BvtFieldgt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUidgt

ltxssequencegt

ltxscomplexTypegt

To

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoicegt

ltxselement name=field type=Field maxOccurs=unbounded

minOccurs=0gt

ltxselement name=trustOverrideField

type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt

ltxselement name=trustEnabledField

type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt

IDD-Teamworks Integration Implementation Guide 6

ltxselement name=matchPathField type=MatchPathField

maxOccurs=unbounded minOccurs=0gt

ltxselement name=bvtField type=BvtField

maxOccurs=unbounded minOccurs=0gt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUid gt

ltxssequencegt

ltxscomplexTypegt

4 Save the modified file to a location accessible by the Teamworks server

Update All Connectors

1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library

2 Open each object ending in ldquohellipConnectorrdquo

3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier

See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions

4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot

7 IDD-Teamworks Integration Implementation Guide

5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server

6 Save your changes and check the changed file into Teamworks

IDD-Teamworks Integration Implementation Guide 8

Business Processes

Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the

OOB business process customers can develop their own business processes to use within the IDD

Process Input Variables

All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will

provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to

each IDD Activity in the process and also as an output from each IDD Activity

Participant Groups

The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied

to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 8: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

3 IDD-Teamworks Integration Implementation Guide

3 Choose Teamworks Library File from the Teamworks folder

4 Click Next

5 Browse to the location of the IDD-InformaticaTeamworksLibrary file within

the Resource Kit

This file is located in the samplesBPM directory within the Resource Kit

IDD-Teamworks Integration Implementation Guide 4

6 Open the IDD-InformaticaTeamworksLibrary file

7 Click Next and Finish

Modify the SIF WSDL File for Introspection by Teamworks

Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the

WSDL file with Teamworks follow these steps

1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl

2 Open the saved file with any text editor

5 IDD-Teamworks Integration Implementation Guide

3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as

follows

From

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoice maxOccurs=unbounded minOccurs=0gt

ltxselement name=field type=Fieldgt

ltxselement name=trustOverrideField

type=TrustOverrideFieldgt

ltxselement name=trustEnabledField

type=TrustEnabledFieldgt

ltxselement name=matchPathField type=MatchPathFieldgt

ltxselement name=bvtField type=BvtFieldgt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUidgt

ltxssequencegt

ltxscomplexTypegt

To

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoicegt

ltxselement name=field type=Field maxOccurs=unbounded

minOccurs=0gt

ltxselement name=trustOverrideField

type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt

ltxselement name=trustEnabledField

type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt

IDD-Teamworks Integration Implementation Guide 6

ltxselement name=matchPathField type=MatchPathField

maxOccurs=unbounded minOccurs=0gt

ltxselement name=bvtField type=BvtField

maxOccurs=unbounded minOccurs=0gt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUid gt

ltxssequencegt

ltxscomplexTypegt

4 Save the modified file to a location accessible by the Teamworks server

Update All Connectors

1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library

2 Open each object ending in ldquohellipConnectorrdquo

3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier

See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions

4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot

7 IDD-Teamworks Integration Implementation Guide

5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server

6 Save your changes and check the changed file into Teamworks

IDD-Teamworks Integration Implementation Guide 8

Business Processes

Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the

OOB business process customers can develop their own business processes to use within the IDD

Process Input Variables

All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will

provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to

each IDD Activity in the process and also as an output from each IDD Activity

Participant Groups

The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied

to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 9: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

IDD-Teamworks Integration Implementation Guide 4

6 Open the IDD-InformaticaTeamworksLibrary file

7 Click Next and Finish

Modify the SIF WSDL File for Introspection by Teamworks

Teamworks does not support the ldquochoicerdquo tag in XML schemas As a result the WSDL file generated by the Hub cannot be used by Teamworks as-is To use the

WSDL file with Teamworks follow these steps

1 Download and save the WSDL into a local file from httphostportcmxrequestwsdl

2 Open the saved file with any text editor

5 IDD-Teamworks Integration Implementation Guide

3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as

follows

From

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoice maxOccurs=unbounded minOccurs=0gt

ltxselement name=field type=Fieldgt

ltxselement name=trustOverrideField

type=TrustOverrideFieldgt

ltxselement name=trustEnabledField

type=TrustEnabledFieldgt

ltxselement name=matchPathField type=MatchPathFieldgt

ltxselement name=bvtField type=BvtFieldgt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUidgt

ltxssequencegt

ltxscomplexTypegt

To

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoicegt

ltxselement name=field type=Field maxOccurs=unbounded

minOccurs=0gt

ltxselement name=trustOverrideField

type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt

ltxselement name=trustEnabledField

type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt

IDD-Teamworks Integration Implementation Guide 6

ltxselement name=matchPathField type=MatchPathField

maxOccurs=unbounded minOccurs=0gt

ltxselement name=bvtField type=BvtField

maxOccurs=unbounded minOccurs=0gt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUid gt

ltxssequencegt

ltxscomplexTypegt

4 Save the modified file to a location accessible by the Teamworks server

Update All Connectors

1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library

2 Open each object ending in ldquohellipConnectorrdquo

3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier

See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions

4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot

7 IDD-Teamworks Integration Implementation Guide

5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server

6 Save your changes and check the changed file into Teamworks

IDD-Teamworks Integration Implementation Guide 8

Business Processes

Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the

OOB business process customers can develop their own business processes to use within the IDD

Process Input Variables

All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will

provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to

each IDD Activity in the process and also as an output from each IDD Activity

Participant Groups

The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied

to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 10: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

5 IDD-Teamworks Integration Implementation Guide

3 Change the choice contained in the ldquoRecordrdquo object to remove the cardinality arguments and move them to the specific elements inside the choice as

follows

From

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoice maxOccurs=unbounded minOccurs=0gt

ltxselement name=field type=Fieldgt

ltxselement name=trustOverrideField

type=TrustOverrideFieldgt

ltxselement name=trustEnabledField

type=TrustEnabledFieldgt

ltxselement name=matchPathField type=MatchPathFieldgt

ltxselement name=bvtField type=BvtFieldgt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUidgt

ltxssequencegt

ltxscomplexTypegt

To

ltxscomplexType name=Recordgt

ltxsannotationgt

ltxsdocumentationgtThis is a single record of

dataltxsdocumentationgt

ltxsannotationgt

ltxssequencegt

ltxschoicegt

ltxselement name=field type=Field maxOccurs=unbounded

minOccurs=0gt

ltxselement name=trustOverrideField

type=TrustOverrideField maxOccurs=unbounded minOccurs=0gt

ltxselement name=trustEnabledField

type=TrustEnabledField maxOccurs=unbounded minOccurs=0gt

IDD-Teamworks Integration Implementation Guide 6

ltxselement name=matchPathField type=MatchPathField

maxOccurs=unbounded minOccurs=0gt

ltxselement name=bvtField type=BvtField

maxOccurs=unbounded minOccurs=0gt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUid gt

ltxssequencegt

ltxscomplexTypegt

4 Save the modified file to a location accessible by the Teamworks server

Update All Connectors

1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library

2 Open each object ending in ldquohellipConnectorrdquo

3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier

See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions

4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot

7 IDD-Teamworks Integration Implementation Guide

5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server

6 Save your changes and check the changed file into Teamworks

IDD-Teamworks Integration Implementation Guide 8

Business Processes

Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the

OOB business process customers can develop their own business processes to use within the IDD

Process Input Variables

All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will

provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to

each IDD Activity in the process and also as an output from each IDD Activity

Participant Groups

The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied

to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 11: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

IDD-Teamworks Integration Implementation Guide 6

ltxselement name=matchPathField type=MatchPathField

maxOccurs=unbounded minOccurs=0gt

ltxselement name=bvtField type=BvtField

maxOccurs=unbounded minOccurs=0gt

ltxschoicegt

ltxselement name=siperianObjectUid

type=tnsSiperianObjectUid gt

ltxssequencegt

ltxscomplexTypegt

4 Save the modified file to a location accessible by the Teamworks server

Update All Connectors

1 Navigate to Informatica-gtSIFConnectors in the Teamworks Library

2 Open each object ending in ldquohellipConnectorrdquo

3 Update the WSDL path to the local version of the SIF WSDL that you modified earlier

See the section titled ldquoModify the SIF WSDL File for Introspection by Teamworksrdquo for detailed instructions

4 Set the WSDL URI to the modified WSDL file as shown in the following screenshot

7 IDD-Teamworks Integration Implementation Guide

5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server

6 Save your changes and check the changed file into Teamworks

IDD-Teamworks Integration Implementation Guide 8

Business Processes

Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the

OOB business process customers can develop their own business processes to use within the IDD

Process Input Variables

All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will

provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to

each IDD Activity in the process and also as an output from each IDD Activity

Participant Groups

The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied

to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 12: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

7 IDD-Teamworks Integration Implementation Guide

5 Update the Hub Server in use by modifying the endpoint of the service to point to your Hub Server

6 Save your changes and check the changed file into Teamworks

IDD-Teamworks Integration Implementation Guide 8

Business Processes

Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the

OOB business process customers can develop their own business processes to use within the IDD

Process Input Variables

All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will

provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to

each IDD Activity in the process and also as an output from each IDD Activity

Participant Groups

The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied

to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 13: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

IDD-Teamworks Integration Implementation Guide 8

Business Processes

Informatica provides several business processes out-of-the-box (OOB) that can be used with the IDD These business processes represent a one-step and two-step approval process a merge process and an unmerge process In addition to the

OOB business process customers can develop their own business processes to use within the IDD

Process Input Variables

All business processes that interact with the IDD must contain an input variable called infaTask of type INFATask When the IDD starts a business process it will

provide the initial values for this variable that will be used throughout the life of the business process The infaTask process variable should be mapped as an input to

each IDD Activity in the process and also as an output from each IDD Activity

Participant Groups

The OOB business processes use three participant groups for assignment of human tasks (DataSteward Manager SrManager) These participant groups must be tied

to roles or users created in the installed Teamworks environment after installation of the Teamworks Authoring Environment

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 14: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

9 IDD-Teamworks Integration Implementation Guide

Services

Informatica services are provided to support the OOB Informatica business processes The OOB services are limited to those required to execute the provided

business processes These processes can also serve as an example for implementing new business processes that can interoperate with the IDD

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 15: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

IDD-Teamworks Integration Implementation Guide 10

IDD Activity

The ldquoIDD Activityrdquo is an external activity that represents all activities that are to be handled by the IDD Any business process that interacts with the IDD must use activities of this type for all activities that are to be handled by the IDD Once this

step is reached in a process the IDD takes over execution and the process will not advance until the task is completed in the IDD UI All setup of the task context that

the IDD requires must be done prior to reaching the IDD Activity

In the OOB business processes this is accomplished by including an ldquoIDD Setuphelliprdquo activity prior to the IDD Activity The ldquoIDD Setuphelliprdquo activity should be used to set

values for the INFATaskType and INFATaskAction objects within the INFATask process variable

After each IDD Activity a gateway should be included to make a decision on the path to take based on the action selected by the IDD Activity The default path out of the gateway should lead back to the ldquoIDD Setuphelliprdquo activity immediately

preceding the IDD Activity

Inputs

The IDD Activity service has one input the infaTask variable of type INFATask This composite variable must contain all of the information needed by the IDD to both display and interact with a task

Outputs

The IDD Activity service has two outputs

An infaTask variable of type INFATask This contains the task information as

modified by the IDD during its processing The business process can use this information during its further execution

An action of type String containing the Name of one of the INFATaskAction objects that was configured on the task prior to reaching the IDD Activity

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 16: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

11 IDD-Teamworks Integration Implementation Guide

Merge Workflow Process Exception

Notice that the ldquoIDD Setup Merge Taskrdquo service does not specify a ldquoMergerdquo action

for the IDD Activity called Merge However the decision gateway following the Merge activity does check for the ldquoMergerdquo action This is because the Merge

workflow process has some special handling in the IDD This special handling will automatically specify an action of ldquoMergerdquo to the workflow process when a Merge is performed in a task context within the IDD When customizing this workflow

process it is important to not change the handling of the ldquoMergerdquo action after the Merge activity

Types

An extensive list of data types is included in the IDD-InformaticaTeamworksLibrary as part of the Resource Kit All objects in the SIFTypes folder are data types used to

communicate with SIF APIs These types can be used to create the complex data objects that need to be passed to SIF APIs and to receive objects returned from SIF

API calls

The INFA data types are used to support the IDD integration These objects are used in all business processes that communicate with the IDD to store the

information that the IDD provides and to provide the information that the IDD requires to be able to execute activities in a business process

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 17: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

IDD-Teamworks Integration Implementation Guide 12

This diagram shows the containment hierarchy of the INFA data types

INFATask

This data type represents a task that is usable by the IDD This data object contains

all of the information needed by the IDD to display and process the task This data type contains additional complex types described below that are required by the

IDD to display tasks properly

INFATaskMetadata

This data type contains all of the metadata about a task instance The IDD manages

this information in cooperation with the Teamworks server The only field that should be manually modified by a developer is the comment field

INFARecordKey

This data type represents a single data record associated with a task An instance of this type represents either a base object record or an XREF record Developers

should not need to set values for this object manually in most cases because the data is provided and consumed by the IDD

INFATaskAction

The IDD allows interaction with tasks through a set of task actions that are displayed in the data view when in a task context (see the following screenshot)

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 18: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

13 IDD-Teamworks Integration Implementation Guide

This data type represents the definition of a task action that can be used to act on the task within the IDD This information must be set in an INFATask prior to

reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task action are

Name

o The internal name of the action

Display Name

o The name of the action to display in the UI If not specified the value for

Name is used

Cancel

o A boolean value that specifies whether this action will cancel the business

processrsquo execution

closeView

o A boolean value that specifies whether this action should close the data view after it executes

manualReassign

o This parameter is not currently used and will be ignored if specified

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 19: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

IDD-Teamworks Integration Implementation Guide 14

This code snippet shows how to define two actions for a task SubmitForApproval and Cancel task actions Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can

also be used as an example

Example

var actions = new twobjectlistOfINFATaskAction()

var i = 0

actions[i] = new twobjectINFATaskAction()

actions[i]name = SubmitForApproval

actions[i]displayName = Submit for Approval

actions[i]cancel = false

actions[i]closeView = true

i++

actions[i] = new twobjectINFATaskAction()

actions[i]name = Cancel

actions[i]displayName = Cancel

actions[i]cancel = false

actions[i]closeView = true

twlocalinfaTaskactions = actions

INFATaskType

This data type contains information used by the IDD to present a task This information must be set in an INFATask prior to reaching an IDD Activity to specify the actions that should be available in the IDD UI

The properties of a task type are

Name

o The internal name of the task type

Display Name

o The name of the task type to display in the UI If not specified the value for Name is used

Description

o An internal description that is not displayed to the user within IDD

Pending BVT

o A boolean value that indicates whether the best version of truth (BVT) displayed in the data view when the task is opened should include pending data

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 20: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

15 IDD-Teamworks Integration Implementation Guide

dataUpdateType

o Determines the Hub State to use when saving changes made in the data

view in the context of the task

o ACTIVE means that changes to a record are saved in the active state

o PENDING means that changes to a record are saved in the pending state

displayType

o Determines how the data view is presented when a task is opened from a

userrsquos Inbox

o NORMAL means that the data view is present as when a record is opened

o MERGE means that the data view is presented with the potential matches child tab selected The record that is associated with the task for merging is highlighted for identification

o UNMERGE means that the data view is presented with the cross-references dialog open The record that is associated with the task for

unmerging from the parent is highlighted for identification

The following example shows how to set up a task for use in the IDD Any of the INFAServices starting with ldquoIDD Setuphelliprdquo can also be used as an example

Example

twlocalinfaTasktaskType = new twobjectINFATaskType()

twlocalinfaTasktaskTypename = Merge

twlocalinfaTasktaskTypedisplayName = Merge

twlocalinfaTasktaskTypedescription = Merge step in the

workflow

twlocalinfaTasktaskTypependingBVT = false

twlocalinfaTasktaskTypedataUpdateType = ACTIVE

twlocalinfaTasktaskTypedisplayType = MERGE

SIF Connectors and Integrations

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 21: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

IDD-Teamworks Integration Implementation Guide 16

Each SIF Connector corresponds to an operation that is performed using the SIF APIs Each SIF Connector also has one or more associated Integrations that set the

parameter values for the specific API call The rule of thumb to use for Connectors and Integrations is that there should be one Connector for each SIF API and each

Connector should have an Integration for each parameter configuration to use

Configuring an ORS to Use Teamworks

The Hub Console now contains a new workbench for managing workflow

configuration for each ORS called Workflow Manager This tool provides two functions First it allows configuration of connections to Teamworks servers

Second it allows association of each ORS with a configured Teamworks server or the default Informatica MDM Hub (Siperian) task engine

Note Each ORS may be configured to use exactly one workflow engine All ORSes

configured for use with a single IDD instance must be associated with the same workflow engine

To configure an ORS to use Teamworks

1 Launch the Hub Console

2 Open the Workflow Manager

3 Configure a new Teamworks server connection

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 22: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

17 IDD-Teamworks Integration Implementation Guide

4 Click the ORS Workflow Mapping tab

5 Select a Teamworks server from the drop-down list next to the ORS that you

are configuring

Creating a User with Privileges to Teamworks

Users must be registered with both Teamworks and the MDM Hub to use IDD with Teamworks To avoid having to maintain users in two systems users who are

configured to use Teamworks can be set to authenticate externally directly against the Teamworks server using the TeamworksAuthenticationProvider This provider is available out-of-the-box and may be configured via the Security Access Manager in

the Hub (SAM) Users may also be configured in both the Hub and Teamworks separately but must use the same username and password in each

Updating the IDD Configuration File

The IDD configuration file contains the task definition for an IDD instance The task definition for an IDD instance that uses Teamworks as its workflow engine is

simpler than one that uses the built-in Hub task engine Only task type entries are required to identify workflow processes that can be initiated by the IDD Users

familiar with the configuration of Hub Tasks will notice that task assignment configuration and task action entries are not required for configuring the IDD-Teamworks integration If these extraneous tags are specified they will be ignored

The attributes and schema are documented in the Informatica Data Director Implementation Guide The only attribute of note is the taskTypeId The value of

this attribute is the globally unique identifier (GUID) for the business process definition as seen in the Teamworks Authoring Environment This GUID can be located on the overview tab of a business process definition when the advanced

capabilities of Teamworks are enabled See the prerequisites section on how to enable advanced features of the Teamworks Authoring Environment

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 23: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

IDD-Teamworks Integration Implementation Guide 18

Example

This code example shows the default task configuration for workflows provided by Informatica out-of-the-box

lttasks includeUnassignedTasks=truegt

lt-- Task Definitions --gt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7e85 name=OneStepApprovalWorkflow displayName=One Step Approval

Workflow creationType=NONEgt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration

Page 24: IDD-Teamworks Integration Implementation Guide Documentation/1/MDM_901_IDD... · IDD-Teamworks Integration Implementation Guide iv Informatica Global Customer Support You can contact

19 IDD-Teamworks Integration Implementation Guide

7827 name=TwoStepApprovalWorkflow displayName=Two Step Approval

Workflow creationType=NONE defaultApproval=truegt

ltdescriptiongtUpdate a record and require the user to go through an

approval process before completing the taskltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guidc98f03ac2e92f72d3c27bed4123388d11ae-

7f1a name=UpdateWithApprovalWorkflow displayName=Update With

Approval Workflow creationType=CREATEgt

ltdescriptiongtUpdate a record and do not require the user to go

through an approval process before completing the task The approval

step is optionalltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid16cf1f48039a31e7-65c211a112380c2808f-

741f name=MergeWorkflow displayName=Merge Workflow

creationType=MERGEgt

ltdescriptiongtMerge two records togetherltdescriptiongt

lttaskTypegt

lttaskType taskTypeId=guid2b9128f2fcb5e2033de67550123865bc593-

7f95 name=UnmergeWorkflow displayName=Unmerge Workflow

creationType=UNMERGEgt

ltdescriptiongtUnmerge an XREF record from a Base Object

recordltdescriptiongt

lttaskTypegt

lttasksgt

Automatic Initiation of Merge Tasks

The Hub has the ability to automatically initiate merge processes in Teamworks for manual matches in the Hub To configure this capability some properties must be

set in the cmxserverproperties file

teamworksmergeworkflowguid

o This property should be set to the GUID value read from the authoring

environment for the workflow process to be started for each match table record

o See the Updating the IDD Configuration File section for instructions on finding the GUID for a business process in Teamworks

siptaskassignmentinterval

o The property should be set to the frequency in minutes to run the assignment daemon

Additional properties are available related to tasks These properties are described in the Informatica Data Director Implementation Guide since they are not specific to the IDD-Teamworks integration