You are on page 1of 147

Informatica

Cloud Enterprise
Training Class

Summer 2012

1
Module 0: Course Introduction and
Overview

2
Course Logistics

• Lecture/presentations
• Demo/walkthroughs
• Hands-on labs

• Course Etiquette
• Ask questions at the end
• Use WebEx Chat window
• You may be asked to share your desktop/application so
Instructor can assist you
• Keep phone on mute, not on hold

3
Course Audience
• Developers
• INFORM Partners
• Informatica Cloud Enterprise Customers

• Prerequisites:
• PowerCenter Developer Level I course or equivalent
• Informatica Cloud Services training course or equivalent experience

• Basic familiarity with Web Services

• Basic familiarity with Salesforce

4
Introductions
• Instructor
• Elias „Elvis‟ Shaikh – Customer Success Engineer

• Participants
• Relative experience
• Current/upcoming projects
• How do you expect to benefit from this course?
• Prior experience with PowerCenter or Web Services

5
Student Logins
Student Name Login Student Number

X icsstudent01@informatica.com 01
x icsstudent02@informatica.com 02
x icsstudent03@informatica.com 03
x icsstudent04@informatica.com 04
x icsstudent05@informatica.com 05
x icsstudent06@informatica.com 06
x icsstudent07@informatica.com 07

password: x

6
Course Objectives
Upon completion of this course, you should be able to:
• Understand the Informatica Cloud Enterprise platform
• Use Power Center to extend the capabilities of Informatica Cloud
• Build a Plug-in for Informatica Cloud
• Build a PowerCenter Service for Informatica Cloud
• Build Templates
• Create a PowerCenter Service that converts an unsupported file to a cloud-
consumable format
• Create a plug-in that performs advanced data transformations
• Create a plug-in that uses the Salesforce Connector
• Create a Plug-in that connects to a SaaS application via Web Services
• Use the Informatica Cloud Services Rest API
• Employ best practices when using Informatica Cloud Enterprise

7
Course Agenda – Day 1: Morning
• Module 0 – Course Overview
• Lab Pre-Steps - Setting up your Lab Environment

• Module 1 – Informatica Cloud Platform Overview


• Lab 1 – Exporting a DSS Task and Importing into PowerCenter

• Module 2 – Getting Started with Plug-ins PCS Task


• Lab 1 – Importing/Exporting PowerCenter Workflow
• Lab 2 – Using a Plug-in in a Data Synchronization Task
• Lab 3 – Modifying a Plug-in in PowerCener
• Lab 4 – Creating a PowerCenter Service Task

8
Course Agenda – Day 1: Afternoon
• Module 3 – Converting File Formats
• Lab 1 – Converting a Fixed Width File to a Flat File
• Lab 2 – Converting Hierarchical XML to Flat File Format
• Lab 3 – Using a PowerCenter Service Task in a Task Flow
• Lab 4 – BONUS

• Module 4 - Using Transformations for Advanced Data


Processing
• Lab 1 – Modifying the Aggregator Plug-in
• Lab 2 – Building a De-dupe Plug-in
• Lab 3 - BONUS

• Module 5 – Enterprise Connectivity via Web Services –


Part 1 (REST)
• Lab 1 – Calling a Twitter Method via the REST API

9
Course Agenda – Day 2: Morning
• Module 6 – Enterprise Connectivity via Web Services – Part
2 (SOAP)
• Lab 1 – Calling a SOAP Style Web Service via RPC

• Module 7 – Using the Salesforce Connector


• Lab 1 – Using the Salesforce Merge Transformation to Merge Duplicate Leads

• Module 8 – Web Services Security


• Lab 1 – Creating a Log-in Plug-in Using Token Style Authentication
• Lab 2 – Creating a Plug-in that Uses an Authentication Token
• Lab 3 – Creating a Log Out Plug-in

10
Course Agenda – Day 2: Afternoon
• Module 9 – Informatica Cloud REST API
• Lab 1 – Running a Task via an API Call
• Lab 2 – Creating a Log In Plug-in to Access the Informatica Cloud API
• Lab 3 – Creating a Plug-in to Read the Activity Log

• Module 10 – Best Practices and Workshop

11
Course Materials

• Lab Guide (PDF)


• Contains step-by-step
instructions for all labs
• Recommend that you print a
copy for use in class

• Student Guide (PDF)


• Contains all slides
• For your reference

12
Course Resources/Applications

• Informatica Cloud Application


• Training Org (login to be provided)

• Salesforce.com
• Developer or Sandbox Account

13
Course Resources/Applications
• Amazon Class Resource Web Site(s)
• For downloading files, viewing database tables, etc.
• URL(s) in Lab Guide

• Power Center
• Your own Repository and Client Applications
• Local machine or Amazon Machine Instance (AMI) EC2
• Version 9.x

14
Additional Resources
• Informatica Cloud Community Site

community.informatica.com

15
Training Environment
Personal Developer Account
or Sandbox
AMI Machine

PowerCenter

SQL Server

Training Org
CSV Files
Student01
Student02
.
Secure Agent .
.
Student n

16
Training Environment
http://ec2-75-101-208-253.compute-1.amazonaws.com/TrainingHelp/Main2.aspx
Personal Developer Account
Student Machine or Sandbox

PowerCenter

SQL Server
Files

Training Org
CSV Files
Student01
Student02
.
Secure Agent .
.
Student n

17
Setting up the Lab Environment: Pre-Steps

1. Install the Informatica Agent


• Install the agent on your local machine (from the Training
org)

2. Create a Salesforce Connection


• Create a Salesforce connection in the Training org that
points to your Developer/Sandbox account

3. Create a Flat File Connection


• Create a flat file connection on your local machine

18
Module 1: Informatica Cloud Enterprise

The Informatica Cloud Platform Overview

19
Objectives
After completing this unit, you will be able to:

• Intro to Informatica‟s iPaaS


• Informatica‟s iPaaS strategy
• Hybrid
• ICC, COE
• Integrating for all

• Informatica Cloud Connector Toolkit, CIS

• Purpose of Informatica Cloud Enterprise


• REST API – external Automation

20
Unit Objectives
After completing this unit, you will be able to:
• Explain the purpose of Informatica Cloud Enterprise
• Understand the interoperability between Informatica Cloud and
PowerCenter
• Define a Plug-In
• Define a PowerCenter Service
• Define a Template and Custom integration task
• Understand when you might use a Plug-in versus a PowerCenter
Service vs a custom integration task

21
IT is Moving to the Cloud

CRM
Application

Custom Custom Custom


Application Application Application

Custom HR Custom
Application Application Application

22
The Cloud is “The New Best of Breed”
SaaS PaaS IaaS

I need to integrate
65 percent of IT my new cloud
services
managers recognize
integration issues
as the top barrier
for SaaS adoption.

23
Evolution of
Cloud MDM
Informatica Cloud
Cloud Cloud
Cloud Integration Integration
Connectivity Applications Platform

24
Welcome to the Era Hybrid IT
SaaS PaaS IaaS

Your
New
Hybrid
IT
Org

Your
IT Custom Custom Custom
Org Application Application Application
Mainframe

Custom Custom
Application Application Your
Company

25
Cloud for All
Industry’s Broadest Integration Portfolio Coming to the Cloud

Informatica Cloud
Informatica Platform

CLOUD DATA INTEGRATION

ULTRA COMPLEX EVENT B2B DATA ENTERPRISE DATA APPLICATION DATA MASTER DATA
MESSAGING PROCESSING EXCHANGE INTEGRATION ILM QUALITY MANAGEMENT

SW IFT NACHA HIPAA …

Cloud Services Applications Database Unstructured Partner Data

26
Informatica Cloud Strategy

1) The Integration
Platform for
Hybrid IT

27
Informatica Cloud Strategy

1) The Integration
Platform for
Hybrid IT
2) Informatica
Cloud for All

28
Informatica Cloud Strategy

1) The Integration
Platform for
Hybrid IT
2) Informatica
Cloud for All
3) Informatica
Inside

29
Using Informatica Cloud
Your Company
1

Secure 3
Agent

Data Data Data Contact Master Data Data Quality Custom


Loader Sync Replication Validation Management Assessment Apps

30
Cloud Integration for the Enterprise

Data Data Data Contact Master Data Data Quality Custom


Loader Sync Replication Validation Management Assessment Apps

Robert Mahowald,
Research Vice President of SaaS and Cloud Services, IDC

31
Enterprise Integration Competency Centers

PowerCenter Interoperability

Delegated Administration Fine Grained Access Controls

http://www.informaticacloud.com/icc

32
Scaling the ICC
Providing self service while maintaining control

ICC

Informatica Cloud Agent

33
Rapid Development, Configuration, and Consumption
Cloud Connector Cloud Integration
Toolkit Templates

Aggregation

Lead De-duplication

Opportunity Conversion

Informatica Cloud REST API


www.InformaticaCloud.com/developer

34
Cloud-Centric Approach to Integration

http://www.informaticacloud.com/connectivity
http://www.informaticacloud.com/products/cloud-integration-processes
http://www.informaticacloud.com/products/cloud-integration-processes/greatplains-integration.html

Cloud Connector Toolkit Cloud Integration Templates

Empowering organization to become a more connected Enterprise

35
Evolving to a Cloud Platform

Data Data Data Contact Data Quality Custom


Loader Sync Replication Validation Assessment Apps

36
Building on the Informatica Cloud Platform
• Plug-ins
• Adding Functionality inside of a DSS task
• Between source and target
• flexible, re-usable
• Built at mapplet level in PowerCenter
• PowerCenter Services
• Use this if something is not supported in Plug-in
• Built at mapping level in PowerCenter
• Templates
• save time by using pre-defined mappings for specific processes
• Connector Toolkit
• Build a source or target in DSS tasks
• Requires Java development
• Not covered in this class to build – but to use
• REST API

37
REST API
• Administrating

• Provisioning
• Orgs
• custom integration tasks
• Dynamically creating users

• Deploying

38
Cloud Integration Templates and Custom Wizards

Enterprise
Developers
Business Users Data Sync Data Replication

Custom Integration
Wizards
Dynamic
Integration Common
Templates Integration
Patterns
Parameters

Custom Super Duper


Wizard Developer
Properties

39
Cloud Integration Templates
Easily select from
1 numerous prebuilt
integration processes

Build your own integration


2 process from scratch on top
of your desired connectors

Customize and configure


3 existing prebuilt integration
process

Execute and run within your


4 app via RESTful API

40
How do I build a Plug-in?
• Built in PowerCenter
• Build and test mapplet in PowerCenter
• Workflow XML is exported from PowerCenter
• Plug-in is created (and XML uploaded) in Informatica Cloud

• A simple, purpose-built
• Used inside a DSS task

wf_convert_file.xml

41
Plug-In versus PowerCenter Service
Plug-In PowerCenter Service

Linear Inputs/Outputs Non-linear or hierarchical inputs/ouputs

Single target output Multiple targets

Transformation limitations Limited Configuration in ICS

Added to DSS task Run on schedule or as part of Task Flow

42
Comparing Custom Integration Task
Plug-In and PowerCenter service Custom Integration Task – from a template

Linear Inputs/Outputs Dynamic Parameter Driven

Plug- in Single target output Multi Target

PCS settings are set in PwC Very Flexible

Built in PowerCenter MS Visio - Template Designer

Mapplet ->Plug-in

Mapping -> PCS task

43
Instructor Demo: Show Plug-in, PCS and
Template
• Business Scenario:
• Aggregate and summarize data

• Your instructor will demonstrate:


• How a plug-in is defined in Informatica Cloud
• How a plug-in is added to a data synchronization task
• How PCS task is defined in ICS
• How Template is published to ICS

44
Lab 1: Exporting an Informatica Cloud
Task and Importing into PowerCenter

• Business Scenario:
• Your business users have built a task in Informatica Cloud.
You would like to bring this task into PowerCenter so it can
be reviewed, and possibly edited, or run and managed as
part of the ICC (Integration Competency Center).

• In this lab, you will:


• Export an Informatica Cloud task
• Import the workflow into PowerCenter
• Review/change the mapping in PowerCenter

45
Module 2: Getting Started with Plug-Ins and
PCS Task

46
Unit Objectives
After completing this unit, you will be able to:
• Export a workflow from PowerCenter
• Import Plug-in (PowerCenter workflow) in Informatica Cloud

• Create a PowerCenter Service Task (import the workflow)


in Informatica Cloud

• Use a plug-in in a Data Synchronization task


• Run a PowerCenter Service task

47
Informatica Cloud vs. Cloud Enterprise

Informatica Cloud Informatica Cloud Enterprise

Designed for Business Users Designed for Power Users (IT)

Wizard-Based, Single-Step Tasks IDE for Complex Workflows

Generic ERP Integration Native SAP Integration

Salesforce Web Service API Custom Web Services / XML

Transactional Loading & Replication Summary Table Transforms

Salesforce Data Profiling Custom Data Cleansing Transforms

Business IT Developer
Manager

48
Informatica Cloud Enterprise
Using PowerCenter to extend what’s possible in
Informatica Cloud

Informatica Secure Agent is version 9.x of PowerCenter

49
Steps for Creating a Plug-in
1. Create a mapplet

2. Validate the mapplet


3. Creating a mapping

4. Validate the mapping


5. Create a session/workflow

6. Test workflow in PowerCenter


7. Export the workflow (from Repository
Manager)

50
Step 1 – Create a Mapplet in PowerCenter

• Add input and output transformations


• Create all transformation logic inside the
mapplet

51
Step 1 – Create a Mapplet
Input Fields will be Plug-in Input Fields (available in
Field Mapping)

52
Step 1 – Create a Mapplet
Output Fields will be Plug-in Output Fields (available
in Field Mapping)

53
Step 3 – Create a Mapping

• Add source and target definitions

• Test using files in PowerCenter


• Validate mapping

54
Step 5 – Create a Workflow

• Generate a workflow for mapping

• Update session task: Source and Target properties

• Run workflow and verify results

55
Step 6 – Export the Workflow XML

• Export the workflow XML using Repository


Manager

56
Creating a Plug-in Informatica Cloud

Have workflow XML file ready to upload…

57
Creating a Plug-in Informatica Cloud

58
Plug-ins: Active or Passive?

• Active - contains one or more active transformation(s), does not


allow direct mapping of fields from source -> target
• Passive – does not contain any active transformations, allows
direct mapping of fields from source -> target

59
Picklist Pivot Business Scenario
Typical Modeling of Relational Data into Salesforce: Using Multiple Objects

Company
Account
CompanyID
Name ID
Address Contact Name
Address
ContactID Contact
ContactName
CompanyID ID
Name
AccountID

60
Picklist Pivot Business Scenario
Alternative Option: Using Multi-Select Picklist to hold secondary table data

Company

CompanyID
Name Accounts
Address Certifications ID
Name
CertID Address
CertName …
CompanyID Certifications (Multiselect picklist)

61
Picklist Business Scenario
• DSS task upserts account data
• Plug-in “pivots” certification data for insertion into
multi-select picklist on Account record

DSS Task

Certifications

Plug-in pivots Certification Accounts


data

62
Picklist Pivot Mapplet

1• Sorter Transformation – sorts the input to the Aggregator

2• Aggregator Transformation – if the input key equals the


previous value (same account), concatenate using “;”

1 2

63
Steps for Creating a Plug-in in PowerCenter
1. Create a mapplet

2. Validate the mapplet


3. Creating a mapping

4. Validate the mapping


5. Create a session/workflow

6. Test workflow in PowerCenter


7. Export the workflow (from Repository
Manager)

64
Lab 1: Importing/Exporting a PowerCenter
Workflow

• Business Scenario:
• You have data in a Certifications table. You want to store
this data in a multi-select picklist in Salesforce, so you
need to “pivot” the data before inserting it.

• In this lab, you will:


• Import an existing plug-in and examine in your
PowerCenter environment
• Validate and run the workflow in PowerCenter
• Export the workflow XML via Repository Manager
• Import the workflow XML into ICS as a plug-in

65
Lab 2: Using a Plug-in in a Data
Synchronization Task

• Business Scenario:
• You have data in a Certifications table. You want to store
this data in a multi-select picklist in Salesforce, so you
need to “pivot” the data before inserting it.

• In this lab, you will:


• Create a data synchronization task that uses the plug-in
you created in previous lab
• Run the task
• Verify results

66
Lab 3: Modifying a Plug-in in PowerCenter
• Business Scenario:
• You used the plug-in and realized that it is not functioning
correctly. You need to add a Sorter transformation to the
plug-in and re-export.

• In this lab, you will:


• Add a new transformation to the plug-in (in PowerCenter)
• Export the workflow from PowerCenter
• Import the workflow in Informatica Cloud
• Re-run data synchronization task and verify results

67
What if you run into mapplet limitations?
• The following cannot be used in a mapplet:
• Normalizer transformation
• COBOL sources
• XML Source Qualifier
• XML Sources
• Target definitions

• If you cannot use a mapplet in PowerCenter, you


can create a PowerCenter Service task instead of
a Plug-in

68
Steps for Creating a PowerCenter Service
Task in PowerCenter

1. Create a mapping
2. Create a workflow
3. Export workflow XML

Same steps as for creating a Plug-in - except no Mapplet


required

69
PowerCenter Service Task: File Paths
• Input/output file paths are hard-coded for a
PowerCenter Service Task
• Unlike plug-in, no DSS task with source and target

• Must set up corresponding directory structure on


agent machine

70
Creating a PowerCenter Service Task in
Informatica Cloud

71
Creating a PowerCenter Service Task in
Informatica Cloud

72
Directory Setup on Agent Machine
• Best practice/naming convention for directory structure
on Agent machine

• Lkp – for lookup data (used in subsequent calls)

• Src – credential (username/pwd) and source data

• Tgt – output data

73
Steps for Creating a Plug-in in PowerCenter
1. Creating a mapping

2. Validate the mapping


3. Create a session/workflow

4. Test workflow in PowerCenter


5. Export the workflow (from Repository
Manager)

74
Building on the Informatica Cloud Platform
• Two options for extending Informatica Cloud using
PowerCenter:
• Plug-ins
• Preferred method – try this first!
• More flexible, re-usable
• Built at mapplet level in PowerCenter
• PowerCenter Services
• Use this if something is not supported in Plug-
in
• Built at mapping level in PowerCenter

75
Plug-In versus PowerCenter Service
Plug-In PowerCenter Service

Linear Inputs/Outputs Non-linear or hierarchical inputs/ouputs

Single target output Multiple targets

Transformation limitations Not flexible

Added to DSS task Run on schedule or as part of Task Flow

76
Bonus Lab 4: Creating a PowerCenter
Service Task

• Business Scenario:
• You will import the same workflow created in previous labs
and import into Informatica Cloud as PowerCenter Service
Task.

• In this lab, you will:


• Create a PowerCenter Service Task in Informatica Cloud
• Create the directory structure required for the task (for
input and output files)
• Run a PowerCenter Service Task in Informatica Cloud

77
Module 3: Informatica Cloud Integration
Templates

Authoring and
Configuration

78
Module Objectives
After completing this module, you will be able to:

• Understand the use case


• Developing and Configure Cloud Integration Templates

• Link Rules and Parameterization


• Publishing Templates

• Additional Resources

79
Introduction To Templates
1. Convenient Consumption
• Cloud Integration Templates Mall
• Published from Master ICS Org

2. Easy Configuration
3. Rapid Development
4. Embeddable Integration

80
Rapid Development, Configuration, and Consumption

Cloud Connector Cloud Integration


Toolkit Templates

Aggregation

Lead De-duplication

Opportunity Conversion

Informatica Cloud REST API

www.InformaticaCloud.com/developer

81
Consumption
In your organization - https://community.informatica.com/docs/DOC-2668

Marketplace - Cloud Integration Templates Mall

https://community.informatica.com/community/marketplace/cloud_integration_templates_mall

82
Configuration
• Custom Integration Tasks

83
Embeddable Integration

ICS REST API enables via custom application UI to define which objects to integration

84
Cloud Integration Templates and Custom Wizards

Enterprise
Developers
Business Users Data Sync Data Replication

Custom Integration
Wizards
Dynamic
Integration Common
Templates Integration
Patterns
Parameters

Custom Super Duper


Wizard Developer
Properties

85
Development - Building Template

1. MS Visio (minimum of Visio 2007)

2. Informatica Cloud Template Designer


• How to Install:
https://community.informatica.com/docs/DOC-2669
• Access to a Transformations pane
• Flexible parameterization
• DSS Task or PowerCenter Mapping as a starting point

86
Development - Template Designer

87
Link Rules for Cloud Templates
To Route “all” ports

To Route specific ports


by name. Supports
parameterization

To Route specific ports


by name pattern. E.g.
route all ports with
suffix “_date”. Supports
parameterization.
Route by
Datatype of
port (e.g
route all
decimals)

88
Link Rule: All Ports
Use to route all ports forward. Use for
example when you want to read in all
the ports from a source.
Custid Custid
Fname Fname
Lname Lname
Phone All Ports Phone
Email Email
Street Street
City City
State State
Zip Zip

89
Link Rule- Datatype
EXP Use when want to perform
Fname
Datatype specific operations
Lname e.g trim all strings, format dates etc
Phone
DT:String Email
SQ
Street
Custid City
Fname State
Lname
Phone
Email
dateofbirth
Street EXP2
DT:integer
City
State
Custid
Zip
Zip

DT::datetime

EXP2

dateofbiirth

90
Link Rule- Regex Pattern
EXP
Use when ports use specific
Order_id Order_id name patterns.
Customer_id Customer_id
Product_id Product_id Assign names with patterns in ports to
Pattern:_id$
qty
orderdate
Control downstream routing
shipdate Route output ports of a expr/agg
Transform forward
EXP2
You can change name of the “to” port.
Pattern:date$ orderdate
E.g drop the _o from output ports
shipdate

Exp

Deptid
Mgrid
Mgrname_o EXP2
Empname_o
Empdate_o
Mgrname
Empname
Empdate
Pattern:_o$

91
Link Rule- Named
EXP2 Use when you want to route ports by
Order_id
name of the port. You can specify a
Order_id Order_id Customer_id list of portnames. You can rename the
Customer_id customer_id
Addr1
ports to a different name.
City
State
Zip
country
Named:addr1,city,
State,zip,country
(to) EXP
Street,city,state
Postalcode,country
street
City
State
Postalcode
country

92
Link Rule- Dictionary
Use when you want to route ports and
rename them using an external
cid
dictionary file. Used for example, to
EXP
Name1 assign canonical names to source
Name2 Dict: mydict
Phone
customer_id ports.
email First_name
Last_name
Tel mydict (contents)
email
cid=customer_id
Name1=first_name
Name2=last_name
Phone=Tel
email=email

93
Link Rule- Exclude
EXP
Use when you want to exclude certain
ports from being routed.
Order_id Order_id To use this rule first include all ports
Customer_id Customer_id
Product_id Product_id
and then exclude the ports not
qty Pattern:_id$ needed.
orderdate
shipdate

EXP2

All Ports
qty
Exclude Pattern:_id$
orderdate
shipdate

94
Expression Macros
• Used in Expression and Aggregator Transform
• Dynamic Expression generation
• End user does not have to specify repetitive expressions

• Works on a user defined set of ports


• Usecases
• Convert data formats
• Check for nulls
• Comparison on a list of ports
• Other..

• Examples
• Horizontal Macro (Generates one long expression)
• Checknull = IIF(ISNULL(c1),1,IIF(ISNULL(c2,1,……))))))
• Vertical Macro (Generates multiple expressions)
• C1_1 = TO_DATE(c1,‟mm/dd/yyyy‟)
• C2_1 = TO_DATE(c2,‟mm/dd/yyyy‟)
• .
• .
95
Expression Macro – Vertical Expansion

Order_ID
Customer_ID
Product_ID
qty
orderdate
shipdate

iif(IS_DATE(%port%,'$fromdatef$'),TO_CHAR(TO_DATE(%port%,'$fromdate
f$'),'$todatef$'),%port%)

EXP

orderdate_o= iif(IS_DATE(orderdate,„mm/dd/yyyy),TO_CHAR(TO_DATE(orderdate,„mm/dd/yyyy'),„mm-
dd-yyyy'),orderdate)
Shipdate_o=iif(IS_DATE(shipdate,„mm/dd/yyyy),TO_CHAR(TO_DATE(shipdate,„mm/dd/yyyy'),„mm-dd-
yyyy'),shipdate)

Use when need to create multiple


expressions

96
Expression Macro – Horizontal
Expansion

Order_ID
Customer_ID
Product_ID
qty
orderdate
shipdate

EXP

nullcount = iif(ISNULL(Order_ID),1,0)+iif(ISNULL(Customer_ID),1,0)+
iif(ISNULL(Product_ID),1,0)

Expression Macro Operator: Use when need to operate on multiple


%OPR_SUM[expr]%
%OPR_IIF[expr]% ports in a single expression
%OPR_CONCAT[expr]%

97
How to Parameterize Expressions
Expression/Aggregator Transform

• Parameter in the Left side (Output Field Name)


• E.g. $custid$ = CUSTOMER_ID

• Parameter on the Right side (Part of the Expression)


• E.g Total_Amount = $amountexpr$

• Parameterize entire Expression(s)


• E.g $addrmap$

98
Expression/Aggregate Transformation
Parameterization (Cont..)
Expression with
no parameter Parameterize
output/variable
port‟s
“Expression”
value

Parameterize a
Parameterize the
set of
output/variable
Expressions
port name

99
Template Lifecycle & User Roles

• Get Templates from Informatica


Marketplace / Build Integration
Templates
Developers
• Publish Template to Cloud
• Configure Custom “Integration
Wizards”

• Search and Discover pre-built


Templates
End Users
• Build Custom Integration Tasks based
on Templates
• Execute Tasks

100
Comparing Custom Integration Task
Plug-In and PowerCenter service Custom Integration Task – from a template

Linear Inputs/Outputs Dynamic Parameter Driven

Plug- in Single target output Multi Target

PCS settings are set in PwC Very Flexible

Built in PowerCenter MS Visio - Template Designer

Mapplet ->Plug-in

Mapping -> PCS task

101
When to use Integration Templates?

• Data Synchronization(DSS) Task cannot address


your usecase
• You need access to Transformation not available in DSS
• You need to customize the mapping flow/logic

• PowerCenter Service(PCS) requires frequent


enhancements
• Mass Generation - automate repetitive tasks
• Generic - reusability capability
• Highly parameterize - provide flexibility for end users

102
Demo Lab 1: Creating Template

• Business Scenario:
• Build a generic template that routes data from any given
source to two different targets based on if the row is valid
or invalid determined by a user specified validation rule.

• In this lab, you will:


• Launch template designer and define two parameters
• Null check and Validation check
• Route the two groups to two different targets

103
Module 4 – Managing Cloud Enterprise
Assets

104
Unit Objectives
After completing this unit, you will be able to:

• Understand different features of Enterprise Edition


• Understand the Administration and Security features

• Integration Competency Center or COE


• Cloud Org Hierarchy

• Deployment Object Migration

105
Best of Breed: SaaS Sprawl

• Wall to wall integration


• Data sharing across
all platforms
• Ease of customization

106
Cloud Integration Custom
Applications Apps

Integration Platform as a Service

107
Powering Hybrid IT: The Best of Both
Worlds

Simplicity Enterprise-Class
Views Access Controls
Scheduling Delegated Admin
REST API Authentication

Unified Hybrid Universal Cloud


Deployment Integration
Agent Console S, P, & IaaS
MDM Controls Amazon MDM
Marketplace

108
Scaling the ICC
Providing self service while maintaining control

ICC

Informatica Secure Agent

Informatica Cloud Account

109
Delegated Administration

• Customers and partners can easily provision and


manage multiple Informatica Cloud tenants

110
Simplicity: Customizable Views

• Define custom
queries based on
personal preferences
and manage multiple
cloud data
integration tasks

111
Simplicity: Customizable Views

Best Practice

112
Enterprise-Class:
Two-Factor Authentication

• Enforce IP address restrictions


• enabling logins only from specific IP address ranges
• In addition to username and password

113
Fine-grained Access Controls

114
Object Migration

Pull Down Model

115
Module 5: Using Cloud Enterprise for
Advanced Data Processing

116
Unit Objectives
After completing this unit, you will be able to:

• Build a PowerCenter Service Task that converts a file


to a cloud-consumable format
• Fixed-width format to CSV
• XML to CSV

• Understand which transformations can be used in a


plug-in or a PowerCenter service

• Build a plug-in that performs advanced data


transformation
• Download plug-ins from the Informatica Marketplace
117
Fixed Format to/from Delimited File
• Requires Specification (for creating positions in
PowerCenter)
• Use Source Analyzer tool in PowerCenter Designer

118
Business Scenario - Task Flow
1•Power Center Service Task – converts fixed-width file to
CSV file
2• DSS Task– inserts leads from CSV file into Salesforce
Leads object

Leads 1
from Partner
(Fixed-
width file)

2
Leads
(CSV file)

Leads

119
XML to/from Delimited File
• Need to “flatten” multi-object, hierarchical XML file
(Accounts and Contacts)
• Use Source Analyzer tool in PowerCenter Designer

120
XML Example

121
Target/Resulting File(s)
• You must create one or more “shells” for target file(s)

• Import target file(s) to create a source definition

Customers.csv

Contacts.csv

122
Mapping the Files

123
Mapping the Files

124
Example Use Case
• Business Problem:
• You have an XML file (from a legacy Contact
Management system) that contains Customers and
Contacts
• Need to load contents into Salesforce as Accounts
and Contacts
• Solution:
• Convert file to cloud-consumable format using
PowerCenter Service Task
• Use new file(s) as source for DSS tasks (File ->
Salesforce Accounts and File -> Salesforce Contacts )

125
High Level - Task Flow
1 2• Power Center Service Tasks – convert hierarchical XML
file to CSV file(s)
3• DSS Task– inserts Accounts from CSV file into Salesforce
4• DSS Task – inserts Contacts from CSV file into Salesforce

Customers 1
and Contacts
(XML file)
2

Customers
(CSV File) 3
Accounts
Contacts
(CSV File) 4
Contacts

126
List of Certified Transformations
Transformation Name Works in PC Service? Works in Plug-in?

Expression
Lookup
Aggregator
Sorter
Filter
Sequence Generator NO
Stored Procedure
Custom NO NO
Normalizer NO
Update Strategy NO
Union NO

127
List of Certified Transformations, cont.
Transformation Name Works in PC Service? Works in Plug-in?

Web Services Consumer


HTTP
XML Parser
XML Generator
Salesforce Lookup
Salesforce Picklist
Salesforce Merge
SAP IDOC Interpreter NO
SAP IDOC Prepare NO
SAP BAPI ? NO
Joiner NO

128
List of Certified Transformations, cont.
Transformation Name Works in PC Service? Works in Plug-in?

Java NO NO
External Procedure NO NO
Data Masking NO NO
Rank NO NO
Router NO
SQL NO NO
Transaction Control
Unstructured Data NO NO
Multi Source NO NO
Disconnected Objects NO NO
Parameters NO NO

129
Expression Transformation

Performs row-level calculations (no aggregate functions)

Click here to
invoke the
Expression Editor

130
Sorter Transformation
Sort Order
Sorts data on one or more ports Sort Keys

Ports
• Input/Output
• Define one or more
sort keys
• Define sort order for
each key

131
Aggregator Transformation
Performs aggregate calculations

Ports
• Mixed I/O ports allowed
• Variable ports allowed
• Group By allowed

Create aggregate
expressions in
non-input ports

Usage
• Standard aggregations

132
Aggregate Expressions

Aggregate
functions
AVG
COUNT
FIRST
LAST
MAX
MEDIAN
MIN
PERCENTILE
STDDEV
SUM
VARIANCE

Conditional Aggregate
expressions are supported: Conditional SUM format: SUM(value, condition)

133
Downloading Plug-ins: the Informatica
Marketplace
www.informatica.com

134
Informatica Marketplace

135
Informatica Marketplace

136
Marketplace Aggregate by Choice

https://community.informatica.com/solutions/aggregator_by_choice

137
Business Scenario
• Order data is stored in system outside Salesforce
• You need to total order data by account and by type:
• Direct
• Web

• Add summarized data to Account in Salesforce

Orders
Accounts

Aggregator Plug-in

138
Aggregator Mapplet
1• Expression Transformation – concatenates match fields to
form key field

1 2 3

139
Aggregator Mapplet
1• Expression Transformation – concatenates match fields to
form key field
2• Sorter Transformation – sorts by match key

1 2 3

140
Aggregator Mapplet
1• Expression Transformation – concatenates match fields to
form key field
2• Sorter Transformation – sorts by match key

3• Aggregator Transformation – groups by key, sums order


amount by Order Type

1 2 3

141
Lab 1: Modifying the Aggregator Plug-in

• Business Scenario:
• You need to summarize data in an Orders table (by
Account and by Order Type) and make it available to your
Salesforce users. You have downloaded the existing
Aggregator plug-in from the Informatica marketplace as a
starting point.

• In this lab, you will:


• Modify the existing Aggregator plug-in in PowerCenter
• Simplify the plug-in for your business users
• Use the updated plug-in in a Data Synchronization task

142
Business Scenario
• You can create a plug-in that de-duplicates
source data
• Determines duplicates by comparing up to five fields

DSS task with Plug-


Lead List from Lead Object
in to remove
Tradeshow
duplicate records

143
De-dupe Mapplet
1• Expression Transformation - concatenates all match fields
together to create unique de-dupe key
2• Sorter Transformation - sorts by de-dupe key

3• Aggregator Transformation - aggregates by de-dupe key (to


remove duplicates)
1

2 3

144
De-dupe Mapplet
1• Expression Transformation - concatenates all match fields
together to create unique de-dupe key
2• Sorter Transformation - sorts by de-dupe key

3• Aggregator Transformation - aggregates by de-dupe key (to


remove duplicates)
1

2 3

145
De-dupe Mapplet
1• Expression Transformation - concatenates all match fields
together to create unique de-dupe key
2• Sorter Transformation - sorts by de-dupe key

3• Aggregator Transformation - aggregates by de-dupe key (to


remove duplicates)
1

2 3

146
Lab 2: Building a De-dupe Plug-in

• Business Scenario:
• You need to remove duplicate records in your source data
before inserting into target (Salesforce Leads object).

• In this lab, you will:


• Create a plug-in (in PowerCenter) that uses the Sorter and
Aggregator transformations to remove duplicate records.
• Create a plug-in (in Informatica Cloud) and use in a data
synchronization task.

147

You might also like