Вы находитесь на странице: 1из 10

Orchestration of IICS Tasks

[Cloud Application Integration Process invoking Data


Integration Tasks]

IICS/CAI Enablement

Dated: Nov 2018

© Copyright Informatica LLC 2018. Informatica and the Informatica logo are trademarks or registered trademarks of
Informatica LLC in the United States and many jurisdictions throughout the world. A current list of Informatica
trademarks is available on the web at https://www.informatica.com/trademarks.html.

Page 1 of 10
Abstract
Cloud Application Integration processes imbibe in all the aspects that would be needed to automate
business processes. It is not just linked to reacting to events, performing tasks that emulate coding
paradigm but it also includes calling Data Integration tasks as there may be a need to do so as per the use-
case.

Below lab exercise will walk through one such example.

Contents
Overview ............................................................................................................................................................................... 3

Create Orchestration of IICS Tasks processes ............................................................................................................. 3


Execute the Process .......................................................................................................................................................... 9
Common Issues (FAQ) .................................................................................................................................................... 10

Page 2 of 10
Overview

In this lab exercise, we will create “Orchestration of IICS Tasks” service that does the following:

1. Two processes that call Data Integration Task and perform specific tasks based on the result of
Data Integration Task. Both these processes expect input of the name and type of Data Integration
task to be invoked
2. A Process that calls these two processes sequentially.

This needs to be achieved by creating multiple Cloud Application Processes. Follow below guidelines to do
this.

Create Orchestration of IICS Tasks processes

Objective: By the end of this section, you should be able to call Data Integration tasks within Cloud
Application Integration process and perform advanced orchestration.

To achieve this objective, we will create four processes.

Process 1: Wait For Confirmation

This process simulates the approval email scenario. Follow below Steps to design this process:

1. Login to App Integration.


2. Create a new Project called “Lab Exercise”.
3. Create a new Folder called “Orchestration of IICS Tasks” inside Project “Lab Exercise”

Page 3 of 10
4. Go to project “Lab Exercise” and folder “Orchestration of IICS Tasks”.
5. Go to New -> Processes and select “Process”. Now click on “Create”.

6. You would be presented with design palette to create a process with basic process design (Start ->
End) already available.
7. Click on “Start” and perform below steps
a. Go to “General”. Provide the name for the process. Let’s call it “Wait For Confirmation”.
Enter description as per your choice.
b. Go to “Start”.
i. Enter Binding as HTTP/SOAP.
ii. Select “Run On” as “Cloud Server”
c. Go to “Input Fields” and create new input fields as given below:
i. Name=“Run Id”, Type=Integer
ii. Name= “Task Status” , Type=Text
iii. Name= “Success Source Rows” , Type=Text

Page 4 of 10
iv. Name= “Failed Source Rows” , Type=Text
v. Name= “Start Time” , Type=Text
vi. Name= “End Time” , Type=Text
vii. Name= “Error Message”, Type=Text
viii. Name= “Success Target Rows” , Type=Integer
ix. Name= “Failed Target Rows” , Type=Integer
d. Go to “Output Fields” and create new output field as given below
i. Name=”Answer”, Type=Text
e. Go to “Messages” and create a new message as given below
i. Name=Response, Allow anonymous access
ii. Input fields as:
• Name=requestId, Type=Text, Required=Yes, Use for Correlation=Yes
• Name=Answer, Type=Text, Required=No, Use for Correlation=No
iii. Output fields as:
• Name=Ack, Type=Text
f. No Temp fields are needed for this process.
8. Drag and Drop “Wait” Step between Start and End. Perform below steps
a. Go to “General”. Provide the name for the assignment. Let’s call it “Wait 10 seconds”
b. Go to “Wait” and Choose:
i. “Continues” as “After a wait period”
ii. “Wait Period” as “10 Seconds”
9. Drag and Drop “Receive” Step between “Wait 10 seconds” and End. Perform below steps
a. Go to “General”. Provide the name for the assignment. Let’s call it “Receive 1”
b. Go to “Receive” and Choose:
i. “Message” as “Response”
ii. “Correlation” as “requestId -> Field -> Run Id
10. Drag and Drop “Assignment” Step between “Receive 1” and End. Perform below steps
a. Go to “General”. Provide the name for the assignment. Let’s call it “Assignment to Answer”
b. Go to “Assignments” and Add Fields as:
i. “Answer” as Field “Answer”
11. Save the Process and publish it.

Process 2: Data Task Flow Orchestration Sample - CopyUsersCSV

This process calls Data Integration Task and perform decision making based on Task Run Status. Follow
below Steps to design this process:

1. Go to project “Lab Exercise” and folder “Orchestration of IICS Tasks”.


2. Go to New -> Processes and select “Process”. Now click on “Create”.
3. You would be presented with design palette to create a process with basic process design (Start ->
End) already available.
4. Click on “Start” and perform below steps
a. Go to “General”. Provide the name for the process. Let’s call it “Data Task Flow
Orchestration Sample - CopyUsersCSV”. Enter description as per your choice.
b. Go to “Start”.
i. Enter Binding as HTTP/SOAP.
ii. Enter the group you are part of for the field “Allowed Groups”.
iii. Select “Run On” as “Cloud Server”
c. Go to “Input Fields” and create new input fields as given below

Page 5 of 10
i. Name= “Task Name”, Type=Text, Required=No
ii. Name= “Task Type”, Type=Text, Required=No
d. Go to “Output Fields” and create new output field as given below
i. Name=”Task Status”, Type=Text
e. No Temp fields are needed for this process.
5. Drag and Drop “Milestone” Step between Start and End. Perform below steps
a. Go to “General”. Provide the name for the assignment. Let’s call it “Respond”
b. Go to “Milestone” and Choose:
i. “Ending Type” as “Milestone: Send a Synchronous Response”
ii. “HTTP Status” as “200 OK”
6. Drag and Drop “Service” widget between “Respond” and End. Perform below steps
a. Go to “General”. Provide the name for the service call. Let’s call it “Users CSV From Source
to Target”
b. Go to “Service” and Choose “Service Type” as “System Service” and action as “Run Cloud
Task”
c. Go to “Input Fields” and Add Fields as:
i. “Task Name” as Content <DI Task Name>, Required=Yes
ii. “Wait for Task to Complete” as Content “Yes”, Required=No
7. Drag and Drop “Decision” step between “Users CSV From Source to Target” and End. Perform
below steps
a. Go to “General”. Provide the name for the decision. Let’s call it “Success?”
b. Go to “Decision” and Add Fields as:
i. “Task Status”:
• Path 1: Equals 1
• Path 2: Equals 2
• Path 3: Otherwise
8. Drag and Drop “Assignment” step on “Equals 1” decision task branch. Perform below steps
a. Go to “General”. Provide the name for the assignment. Let’s call it “Task Status Output”
b. Go to “Assignments” and Add Fields as:
i. “Task Status” as Field “Task Status”
9. End the above path with End step.
10. Drag and Drop “Service” step on “Equals 2” decision task branch. Perform below steps
a. Go to “General”. Provide the name for the assignment. Let’s call it “Completed with Errors
Email Notification”
b. Go to “Service” and Choose “Service Type” as “Connection”, Connection as
“EmailConnection” and action as “EmailConnection > sendEmailService”
c. Go to “Input Fields” and Add Fields as:
i. emailTaskInput as Formula "Task ID {$output.RunId} Completed with Errors"
11. End the above path with Jump step to “Task Status Output”.
12. Drag and Drop “Subprocess” step on “Otherwise” decision task branch. Perform below steps
a. Go to “General”. Provide the name for the assignment. Let’s call it “Fix this Task”
b. Go to “Process” and Choose “Process” as “Wait for Confirmation”
c. Go to “Input Fields” and Add Fields as:
i. “Run Id” as Field "Run Id"
ii. “Task Status” as Field "Task Status"
iii. “Success Source Rows” as Field "Success Source Rows"
iv. “Failed Source Rows” as Field "Failed Source Rows"
v. “Start Time” as Field "Start Time"
vi. “End Time” as Field "End Time"

Page 6 of 10
vii. “Error Message” as Field "Error Message"
viii. “Success Target Rows” as Field "Success Target Rows"
ix. “Failed Target Rows” as Field "Failed Target Rows"
13. Drag and Drop “Decision” step on above branch after “Fix this Task”
a. Go to “General”. Provide the name for the decision. Let’s call it “Rerun?”
b. Go to “Decision” and Add Fields as:
i. “Answer”:
• Path 1: Equals Fixed
• Path 2: Otherwise
14. End the decision branch “Fixed” with Jump step to “Users CSV From Source to Target”
15. End the decision branch “Otherwise” with End step
16. Save the Process and publish it.

Process 3: Data Task Flow Orchestration Sample - CopyGroupsCSV

This process calls Data Integration Task and perform decision making based on Task Run Status. Follow
below Steps to design this process:

1. Go to project “Lab Exercise” and folder “Orchestration of IICS Tasks”.


2. Go to New -> Processes and select “Process”. Now click on “Create”.

3. You would be presented with design palette to create a process with basic process design (Start ->
End) already available.
4. Click on “Start” and perform below steps
a. Go to “General”. Provide the name for the process. Let’s call it “Data Task Flow
Orchestration Sample - CopyGroupsCSV”. Enter description as per your choice.
b. Go to “Start”.
i. Enter Binding as HTTP/SOAP.
ii. Enter the group you are part of for the field “Allowed Groups”.
iii. Select “Run On” as “Cloud Server”
c. Go to “Input Fields” and create new input fields as given below
i. Name= “Task Name”, Type=Text, Required=No
ii. Name= “Task Type”, Type=Text, Required=No
d. Go to “Output Fields” and create new output field as given below
i. Name=”Task Status”, Type=Text
e. No Temp fields are needed for this process.
5. Drag and Drop “Milestone” Step between Start and End. Perform below steps
a. Go to “General”. Provide the name for the assignment. Let’s call it “Respond”
b. Go to “Milestone” and Choose:
i. “Ending Type” as “Milestone: Send a Synchronous Response”
ii. “HTTP Status” as “200 OK”
6. Drag and Drop “Service” widget between “Respond” and End. Perform below steps
a. Go to “General”. Provide the name for the service call. Let’s call it “Groups CSV From
Source to Target”
b. Go to “Service” and Choose “Service Type” as “System Service” and action as “Run Cloud
Task”
c. Go to “Input Fields” and Add Fields as:
i. “Task Name” as Content <DI Task Name>, Required=Yes

Page 7 of 10
ii. “Wait for Task to Complete” as Content “Yes”, Required=No
7. Drag and Drop “Decision” step between “Groups CSV From Source to Target” and End. Perform
below steps
a. Go to “General”. Provide the name for the decision. Let’s call it “Success?”
b. Go to “Decision” and Add Fields as:
i. “Task Status”:
• Path 1: Equals 1
• Path 2: Equals 2
• Path 3: Otherwise
8. Drag and Drop “Assignment” step on “Equals 1” decision task branch. Perform below steps
a. Go to “General”. Provide the name for the assignment. Let’s call it “Task Status Output”
b. Go to “Assignments” and Add Fields as:
i. “Task Status” as Field “Task Status”
9. End the above path with End step.
10. Drag and Drop “Service” step on “Equals 2” decision task branch. Perform below steps
a. Go to “General”. Provide the name for the assignment. Let’s call it “Completed with Errors
Email Notification”
b. Go to “Service” and Choose “Service Type” as “Connection”, Connection as
“EmailConnection” and action as “EmailConnection > sendEmailService”
c. Go to “Input Fields” and Add Fields as:
i. emailTaskInput as Formula "Task ID {$output.RunId} Completed with Errors"
11. End the above path with Jump step to “Task Status Output”.
12. Drag and Drop “Subprocess” step on “Otherwise” decision task branch. Perform below steps
a. Go to “General”. Provide the name for the assignment. Let’s call it “Fix this Task”
b. Go to “Process” and Choose “Process” as “Wait for Confirmation”
c. Go to “Input Fields” and Add Fields as:
i. “Run Id” as Field "Run Id"
ii. “Task Status” as Field "Task Status"
iii. “Success Source Rows” as Field "Success Source Rows"
iv. “Failed Source Rows” as Field "Failed Source Rows"
v. “Start Time” as Field "Start Time"
vi. “End Time” as Field "End Time"
vii. “Error Message” as Field "Error Message"
viii. “Success Target Rows” as Field "Success Target Rows"
ix. “Failed Target Rows” as Field "Failed Target Rows"
13. Drag and Drop “Decision” step on above branch after “Fix this Task”
a. Go to “General”. Provide the name for the decision. Let’s call it “Rerun?”
b. Go to “Decision” and Add Fields as:
i. “Answer”:
• Path 1: Equals Fixed
• Path 2: Otherwise
14. End the decision branch “Fixed” with Jump step to “Users CSV From Source to Target”
15. End the decision branch “Otherwise” with End step
16. Save the Process and publish it.

Process 4: Data Task Flow Orchestration Sample

This is the main process that simulates the scenarios outlined in the overview. Follow below Steps to
design this process.

1. Go to project “Lab Exercise” and folder “Orchestration of IICS Tasks”.

Page 8 of 10
2. Go to New -> Processes and select “Process”. Now click on “Create”.
3. You would be presented with design palette to create a process with basic process design (Start ->
End) already available.
4. Click on “Start” and perform below steps
a. Go to “General”. Provide the name for the process. Let’s call it “Data Task Flow
Orchestration Sample”. Enter description as per your choice.
b. Go to “Start”.
i. Enter Binding as HTTP/SOAP.
ii. Enter the group you are part of for the field “Allowed Groups”.
iii. Select “Run On” as “Cloud Server”
c. No Input fields are needed for this process.
d. No Output fields are needed for this process.
e. No Temp fields are needed for this process.
5. Drag and Drop “Service” step between Start and End. Perform below steps
a. Go to “General”. Provide the name for the Service. Let’s call it “Copy Users CSV”
b. Go to “Service” and Choose “Service Type” as “Process”, Process as “Data Task Flow
Orchestration Sample - CopyUsersCSV” and action as “Start”
c. Go to “Input Fields” and Add Fields as:
i. “Task Name” as Content <DI task name that you need to call>
ii. “Task Type” as Content <DI task type that you need to call>
6. Drag and Drop “Service” step between “Data Task Flow Orchestration Sample - CopyUsersCSV” and
End. Perform below steps
a. Go to “General”. Provide the name for the Service. Let’s call it “Copy Groups CSV”
b. Go to “Service” and Choose “Service Type” as “Process”, Process as “Data Task Flow
Orchestration Sample - CopyGroupsCSV” and action as “Start”
c. Go to “Input Fields” and Add Fields as:
i. “Task Name” as Content <DI task name that you need to call>
ii. “Task Type” as Content <DI task type that you need to call>
7. Save the Process and publish it.

Execute the Process

Objective: By the end of this section, you should be able to execute Process “Data Task Flow Orchestration
Sample”. You will see how triggering this process in-turn triggers Data Integration Tasks. You should also
be able to see the process execution in Application Integration Console under Processes -> “Cloud”

Since you have set up authentication on the process by providing your group name for the field “Allowed
Groups”, you should be able to see the process execution under “My Processes” as well

Go to Process -> Properties -> Process Properties. You would be able to see the Service URL as well as the
swagger for this service

Open your favorite REST client (e.g. Postman) and try out as mentioned below and Send request to
<Service URL> as

• GET
• Basic Authentication; provide your IICS login credentials

Page 9 of 10
• Content-Type=application/json

You should see response as <empty> {}

However, the output that we are trying to show here is the ability to invoke Data Integration Tasks from
Cloud Application Integration processes. You should be able to see the execution of Data Integration tasks
under Monitor -> Cloud

Common Issues (FAQ)


None

Worldwide Headquarters, 2100 Seaport Blvd, Redwood City, CA 94063, USA Phone: 650.385.5000 Fax: 650.385.5500
Toll-free in the US: 1.800.653.3871 informatica.com linkedin.com/company/informatica twitter.com/Informatica
© 2018 Informatica LLC. All rights reserved. Informatica® is a registered trademark of Informatica.

Page 10 of 10

Вам также может понравиться