You are on page 1of 33

Informatica PowerCenter (Version 9.

0)

Orchestration Guide
Informatica PowerCenter Orchestration Guide

Version 9 .0
December 2009
Copyright (c) 1998-2009 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 may be protected by U.S. and/or international Patents and other Patents
Pending.
Use, duplication, or disclosure of the Software by the U.S. Government is subject to the restrictions set forth in the applicable software
license agreement and as provided in DFARS 227.7202-1(a) and 227.7702-3(a) (1995), DFARS 252.227-7013 ©(1)(ii) (OCT 1988), FAR
12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14 (ALT III), as applicable.
The information in this product or documentation is subject to change without notice. If you find any problems in this product or
documentation, please report them to us in writing.
Informatica, Informatica Platform, Informatica Data Services, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data
Analyzer, PowerExchange, PowerMart, Metadata Manager, Informatica Data Quality, Informatica Data Explorer, Informatica B2B Data
Transformation, Informatica B2B Data Exchange and Informatica On Demand are trademarks or registered trademarks of Informatica
Corporation in the United States and in jurisdictions throughout the world. All other company and product names may be trade names or
trademarks of their respective owners.
Portions of this software and/or documentation are subject to copyright held by third parties, including without limitation: Copyright
DataDirect Technologies. All rights reserved. Copyright © Sun Microsystems. All rights reserved. Copyright © RSA Security Inc. All Rights
Reserved. Copyright © Ordinal Technology Corp. All rights reserved.Copyright © Aandacht c.v. All rights reserved. Copyright Genivia, Inc.
All rights reserved. Copyright 2007 Isomorphic Software. All rights reserved. Copyright © Meta Integration Technology, Inc. All rights
reserved. Copyright © Intalio. All rights reserved. Copyright © Oracle. All rights reserved. Copyright © Adobe Systems Incorporated. All
rights reserved. Copyright © DataArt, Inc. All rights reserved. Copyright © ComponentSource. All rights reserved. Copyright © Microsoft
Corporation. All rights reserved. Copyright © Rouge Wave Software, Inc. All rights reserved. Copyright © Teradata Corporation. All rights
reserved. Copyright © Yahoo! Inc. All rights reserved. Copyright © Glyph & Cog, LLC. All rights reserved.
This product includes software developed by the Apache Software Foundation (http://www.apache.org/), and other software which is
licensed under the Apache License, Version 2.0 (the "License"). You may obtain a copy of the License at http://www.apache.org/licenses/
LICENSE-2.0. 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 was developed by Mozilla (http://www.mozilla.org/), software copyright The JBoss Group, LLC, all
rights reserved; software copyright © 1999-2006 by Bruno Lowagie and Paulo Soares and other software which is licensed under the
GNU Lesser General Public License Agreement, which may be found at http://www.gnu.org/licenses/lgpl.html. The materials are provided
free of charge by Informatica, "as-is", without warranty of any kind, either express or implied, including but not limited to the implied
warranties of merchantability and fitness for a particular purpose.
The product includes ACE(TM) and TAO(TM) software copyrighted by Douglas C. Schmidt and his research group at Washington
University, University of California, Irvine, and Vanderbilt University, Copyright ( ©) 1993-2006, all rights reserved.
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (copyright The OpenSSL Project. All
Rights Reserved) and redistribution of this software is subject to terms available at http://www.openssl.org.
This product includes Curl software which is Copyright 1996-2007, Daniel Stenberg, <daniel@haxx.se>. All Rights Reserved.
Permissions and limitations regarding this software are subject to terms available at http://curl.haxx.se/docs/copyright.html. Permission to
use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright
notice and this permission notice appear in all copies.
The product includes software copyright 2001-2005 ( ©) MetaStuff, Ltd. All Rights Reserved. Permissions and limitations regarding this
software are subject to terms available at http://www.dom4j.org/ license.html.
The product includes software copyright © 2004-2007, The Dojo Foundation. All Rights Reserved. Permissions and limitations regarding
this software are subject to terms available at http:// svn.dojotoolkit.org/dojo/trunk/LICENSE.
This product includes ICU software which is copyright International Business Machines Corporation and others. All rights reserved.
Permissions and limitations regarding this software are subject to terms available at http://source.icu-project.org/repos/icu/icu/trunk/
license.html.
This product includes software copyright © 1996-2006 Per Bothner. All rights reserved. Your right to use such materials is set forth in the
license which may be found at http://www.gnu.org/software/ kawa/Software-License.html.
This product includes OSSP UUID software which is Copyright © 2002 Ralf S. Engelschall, Copyright © 2002 The OSSP Project
Copyright © 2002 Cable & Wireless Deutschland. Permissions and limitations regarding this software are subject to terms available at
http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by Boost (http://www.boost.org/) or under the Boost software license. Permissions and
limitations regarding this software are subject to terms available at http:/ /www.boost.org/LICENSE_1_0.txt.
This product includes software copyright © 1997-2007 University of Cambridge. Permissions and limitations regarding this software are
subject to terms available at http://www.pcre.org/license.txt.
This product includes software copyright © 2007 The Eclipse Foundation. All Rights Reserved. Permissions and limitations regarding this
software are subject to terms available at http:// www.eclipse.org/org/documents/epl-v10.php.
This product includes software licensed under the terms at http://www.tcl.tk/software/tcltk/license.html, http://www.bosrup.com/web/
overlib/?License, http://www.stlport.org/doc/license.html, http://www.asm.ow2.org/license.html, http://www.cryptix.org/LICENSE.TXT,
http://hsqldb.org/web/hsqlLicense.html, http://httpunit.sourceforge.net/doc/license.html, http://jung.sourceforge.net/license.txt , http://
www.gzip.org/zlib/zlib_license.html, http://www.openldap.org/software/release/license.html, http://www.libssh2.org, http://slf4j.org/
license.html, and http://www.sente.ch/software/OpenSourceLicense.htm.
This product includes software licensed under the Academic Free License (http://www.opensource.org/licenses/afl-3.0.php), the Common
Development and Distribution License (http://www.opensource.org/licenses/cddl1.php) the Common Public License (http://
www.opensource.org/licenses/cpl1.0.php) and the BSD License (http://www.opensource.org/licenses/bsd-license.php).
This product includes software copyright © 2003-2006 Joe WaInes, 2006-2007 XStream Committers. All rights reserved. Permissions and
limitations regarding this software are subject to terms available at http://xstream.codehaus.org/license.html. This product includes
software developed by the Indiana University Extreme! Lab. For further information please visit http://www.extreme.indiana.edu/.
This Software is protected by U.S. Patent Numbers 5,794,246; 6,014,670; 6,016,501; 6,029,178; 6,032,158; 6,035,307; 6,044,374;
6,092,086; 6,208,990; 6,339,775; 6,640,226; 6,789,096; 6,820,077; 6,823,373; 6,850,947; 6,895,471; 7,117,215; 7,162,643; 7,254,590; 7,
281,001; 7,421,458; and 7,584,422, international Patents and other Patents Pending..
DISCLAIMER: Informatica Corporation provides this documentation "as is" without warranty of any kind, either express or implied,
including, but not limited to, the implied warranties of 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 “Software”) includes certain drivers (the “DataDirect Drivers”) from DataDirect Technologies, an operating company of Progress Software
Corporation (“DataDirect”) which are subject to the following terms and conditions:

1. THE DATADIRECT DRIVERS ARE PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
2. IN NO EVENT WILL DATADIRECT OR ITS THIRD PARTY SUPPLIERS BE LIABLE TO THE END-USER CUSTOMER FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, CONSEQUENTIAL OR OTHER DAMAGES ARISING OUT OF THE USE OF THE ODBC DRIVERS, WHETHER OR NOT INFORMED OF
THE POSSIBILITIES OF DAMAGES IN ADVANCE. THESE LIMITATIONS APPLY TO ALL CAUSES OF ACTION, INCLUDING, WITHOUT LIMITATION, BREACH
OF CONTRACT, BREACH OF WARRANTY, NEGLIGENCE, STRICT LIABILITY, MISREPRESENTATION AND OTHER TORTS.

Part Number: PC-OCH-90000-0001


Table of Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Informatica Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Informatica Customer Portal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Informatica Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Informatica Web Site. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Informatica How-To Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Informatica Knowledge Base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Informatica Multimedia Knowledge Base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Informatica Global Customer Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

Chapter 1: Informatica Orchestration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


Orchestration Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Orchestration Designer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Process Explorer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Mapper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Orchestration Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Human Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Orchestration Administration Console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Orchestration Administration Console Tabs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
PowerCenter Web Services Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
PowerCenter Web Services Provider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
PowerExchange for Web Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
WSDL Documents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
WSDL Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Chapter 2: Configuring Orchestration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9


Configuring Orchestration Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Configuring the Orchestration Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
IBM DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Oracle RAC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Sybase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Starting the Orchestration Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Starting the Orchestration Server on Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Starting the Orchestration Server on UNIX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Configuring LDAP Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Defining the Properties File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Matching Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Attaching Roles to Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Table of Contents i
Enabling LDAP Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Configuring HTTP Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Chapter 3: Orchestration Business Process Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


Business Process Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Designing the Business Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Defining Pools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Defining a Business Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Adding a Web Service Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Defining Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Defining Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Defining Mappings for Outgoing Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Deploying a Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Running a Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Logging in to the Orchestration Administration Console. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Loop Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Processing a SOAP Response with Array Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Sample Business Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Process Initiation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Subprocess Execution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Rules and Guidelines for Working with Orchestration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

ii Table of Contents
Preface
The PowerCenter Orchestration Guide is written for developers and business analysts responsible for designing
business processes. This guide assumes you have an understanding of Business Process Modeling, web service
concepts, and PowerCenter web services applications.

Informatica Resources

Informatica Customer Portal


As an Informatica customer, you can access the Informatica Customer Portal site at http://my.informatica.com. The
site contains product information, user group information, newsletters, access to the Informatica customer support
case management system (ATLAS), the Informatica How-To Library, the Informatica Knowledge Base, 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_documentation@informatica.com. We will use your feedback to improve our documentation. Let us
know if we can contact you regarding your comments.

The Documentation team updates documentation as needed. To get the latest documentation for your product,
navigate to the Informatica Documentation Center from http://my.informatica.com.

Informatica Web Site


You can access the Informatica corporate web site at http://www.informatica.com. The site contains information
about Informatica, its background, upcoming events, and sales offices. You will also find product and partner
information. The services area of the site includes important information about technical support, training and
education, and implementation services.

Informatica How-To Library


As an Informatica customer, you can access the Informatica How-To Library at http://my.informatica.com. 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.

iii
Informatica Knowledge Base
As an Informatica customer, you can access the Informatica Knowledge Base at http://my.informatica.com. Use
the Knowledge Base to search for documented solutions to known technical issues about Informatica products.
You can also find answers to frequently asked questions, technical white papers, and technical tips. If you have
questions, comments, or ideas about the Knowledge Base, contact the Informatica Knowledge Base team through
email at KB_Feedback@informatica.com.

Informatica Multimedia Knowledge Base


As an Informatica customer, you can access the Informatica Multimedia Knowledge Base at
http://my.informatica.com. 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_Feedback@informatica.com.

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 http://my.informatica.com.

Use the following telephone numbers to contact Informatica Global Customer Support:

North America / South America Europe / Middle East / Africa Asia / Australia

Toll Free Toll Free Toll Free


+1 877 463 2435 00 800 4632 4357 Australia: 1 800 151 830
Singapore: 001 800 4632 4357

Standard Rate Standard Rate Standard Rate


Brazil: +55 11 3523 7761 Belgium: +32 15 281 702 India: +91 80 4112 5738
Mexico: +52 55 1168 9763 France: +33 1 41 38 92 26
United States: +1 650 385 5800 Germany: +49 1805 702 702
Netherlands: +31 306 022 797
Spain and Portugal: +34 93 480 3760
United Kingdom: +44 1628 511 445

iv Preface
CHAPTER 1

Informatica Orchestration
This chapter includes the following topics:

¨ Orchestration Overview, 1

¨ Orchestration Designer, 2

¨ Orchestration Server, 4

¨ Human Workflow, 4

¨ Orchestration Administration Console, 4

¨ PowerCenter Web Services Interfaces, 6

¨ WSDL Documents, 7

Orchestration Overview
Use Informatica Orchestration to create business process models with standard Business Process Modeling
Notation (BPMN). Create executable Business Process Executable Language (BPEL) workflows. Create an
executable workflow from a process diagram without writing BPEL code. The Orchestration Server runs the
workflow.

You can create a business process model that includes human tasks. An Orchestration process can manage bad
records, provide exception handling, and route records based on data content. To define a process, you add
activities from a palette in the Orchestration Designer to the business process model. You can determine which
processes run in a business process workflow and change the order in which the processes occur in a workflow.
An Orchestration workflow has business logic that determines what and who participates in the process.

The following table describes the functionality that you can configure in a business process model:

Orchestration Description
Functionality

Conditional logic Take automated action based on the state of the data. You can configure exception handling
actions for errors.

Human workflow Include human interaction when the control flow cannot resolve inconsistencies. A person
participates in the workflow and makes decisions that affect how the data is processed. An
Orchestration process can run for long periods, such as days or weeks, when human interaction is
required.

1
Orchestration Description
Functionality

Looping Execute a different task based on a record or group or records.


A process can repeat a task until the task is successful. For example, if a web service times out,
or returns an error, the process can loop and try the web service again.

Service Orchestration Sequence data services.

Synchronization logic Propagate changed data to multiple synchronized targets.

Informatica Orchestration integrates with PowerCenter through web services interfaces. You can call real-time web
services or PowerCenter batch web services. You must have the Real-time Edition to run Orchestration.

Informatica Orchestration has the following components:

¨ Orchestration Designer. Development environment to define business processes and interface them with web
services. The Orchestration Designer validates the process you create and generates executable BPEL code
from the process diagram. The Orchestration Designer checks dependencies and deploys the process to the
Orchestration Server. You can modify the BPEL code that the Orchestration Designer creates. You can design
XForms to use with Informatica Human Workflow. When you design a form, the Orchestration Designer
generates an XSD file to describe the form and variables that you define for the form.
¨ Orchestration Server. BPEL 2.0 server that runs Orchestration workflows that you create in the Orchestration
Designer. The Orchestration Server can execute long running transactions that may take days or weeks to
complete. A transaction can run a long time if it waits for an external event such as user input. An example of a
long running transaction is a loan approval process or an employee new-hire process.
¨ Human Workflow. Workflow console that presents data and tasks to users. Human Workflow is a portal in the
business process where users participate in the process. Users receive tasks and data in a web-based
console. They can also initiate business processes.
¨ Orchestration Administration Console. Workflow administration console that shows deployed Orchestration
workflows, definitions, running process instances, and detailed process information. An administrator can
suspend or terminate processes, or prevent processes from executing.
¨ Run-time repository. Database that stores run-time metadata and process instance states for the
Orchestration Server. Configure the run-time repository on an Oracle, IBM DB2, or Microsoft SQL Server
database.

Orchestration Designer
Orchestration Designer is an Eclipse-based development environment for designing a BPMN workflow and
deploying it as an executable process. Drag objects from a palette to a mapping designer work area to define the
activities in the process. Define how to pass the data between the business process participants.

An Informatica Orchestration process can execute PowerCenter batch and real-time web services. To configure a
web service in an Orchestration workflow, use the Orchestration Designer to import the WSDL file that defines
where the web service runs and the data that the web service receives and returns. Drag the web service

2 Chapter 1: Informatica Orchestration


operation you want to run into the business process diagram. Define data interaction between process participants
in the Orchestration Designer Mapper. The Orchestration Designer includes the following views:

¨ Process Explorer. Access the components of the project, such as the business process model and the WSDL
files and schemas.
¨ Process Modeler. Design the process model by dragging graphical representations of activities from a palette
to the Process Modeler workspace.
¨ Data Mapper. Define business logic and configure data operations to select or transform data.

Process Explorer
The Process Explorer shows the components of the business process model. You can access XForms, WSDL
files, schemas, and services in the process. When you double-click a WSDL, XSD file, or XForm from the Process
Explorer, you can edit the file and save it in the project.

When you create a form in the Orchestration Designer, the Process Explorer shows the corresponding XSD files
which describe the input and output requirements about the form.

Mapper
The Mapper defines business logic and computations on the data that is passed between participants in the
mapping. Define what data should be sent to another participant in the business process and how to map the data
in a message to the participant.

The Mapper is composed of the following panels:

¨ The Mapper Palette. Contains a list of operators you can add to a mapping to modify the data.

¨ The Mapper View. An area in the Orchestration Designer where you map data from one participant to another
participant in the business process. You can see the Mapper View at the bottom of the Orchestration Designer.

Mapper Palette
Use the Mapper Palette to add operators to a mapping. Operators are functions that select or modify data that you
pass in a message from one participant in the business flow to another participant. The operators appear in a
hierarchical tree grouped by operator type.

To view the Mapper Palette, click Window > Show View and select Mapper Palette.

The following figure shows a segment of the Mapper Palette:

Orchestration Designer 3
The figure shows the string functions. For example, you can concat a first name and last name, and pass a full
name in a message.

Mapper View
The Mapper View is a panel in the Orchestration Designer where you define a mapping. The Mapper View has the
following panels:

¨ Left panel. Defines the source data for the mapping and list all the process data variables.

¨ Right panel. Defines the destination data for the mapping and the process data variables.

¨ Middle panel. Work area where you add operators to transform the source data before mapping it to the
destination.

Orchestration Server
The Orchestration Server is a BPEL 2.0 server. Orchestration Server executes BPEL code generated by the
Orchestration Designer or by third-party applications. The Orchestration Server interfaces with external
participants with WSDL files. The Orchestration Server runs on a separate Tomcat server from PowerCenter.

Human Workflow
Human Workflow is a portal that provides a way for users to participate in an Orchestration process. Human
Workflow is a web interface that provides a user with a task list and the ability to trigger processes.

Human Workflow has the following tabs:

¨ Tasks. A list of tasks that require action from the user. A task can present data in an XForm. The data you
enter in the form is captured in a structure that the Orchestration Server can parse. The Human Workflow
Console presents tasks in forms, calendars, and reminders to indicate when tasks should be completed.
¨ Notifications. Read-only messages from processes.

¨ Processes. View and initiate processes.

Orchestration Administration Console


The Orchestration Administration Console displays process definitions, running process instances, and detailed
process information. You can perform the following tasks from the Orchestration Administration Console:

¨ Start, activate, and retire process definitions.

¨ Suspend or terminate running process instances.

¨ Search for processes and manage process definitions.

You can invoke a new version of a long running process while an older version is still running.

4 Chapter 1: Informatica Orchestration


Orchestration Administration Console Tabs
The Orchestration Administration Console has the following tabs:

¨ Processes tab. Displays the processes that have been deployed to the Orchestration Server and the current
status of each process.
¨ Instances tab. Displays the status for a process instance, including running, completed, failed, and terminated
processes. The tab also shows when the process was last active.
¨ Tools tab. Provides links to common functions that you can use to manage process instances. Perform the
following functions:
- Find process instances.

- Manage process definitions.

- Delete all process instances.

Processes Tab
The Processes tab displays processes that are deployed to the Orchestration Server. You can change the process
status and view statistics about process instances that have run. The Processes tab shows the number of
instances that have failed, terminated, completed.

To change the process status, select the process and click one of the following commands:

Command Description

Start Sends a start message to a process and initiate a process instance.

Activate Renders the selected process available to execute.

Retire Deactivates the selected process. A retired process remains deployed but is not available to run.

Deploy Deploys the process to the server that it is configured to deploy to.

Undeploy Undeploys the processes from server which were already deployed.

Note: The instance counts do not include failed or completed instances that are deleted from the Instances tab.

Instances Tab
The Instances tab displays the status for a process instance. The tab shows when the process was last active.
You can view the current status of an instance and review the data that is in process memory. You can limit the
contents of this tab pane using filters or queries.

The Instances tab displays the following information:

¨ Process. The name of the running process.

¨ State. An instance can be running, suspended, terminated, or failed.

¨ Failures. The number of instances that failed.

¨ Started. The date and time the instance started.

¨ Last active. The last time an activity in the process instance executed.

Orchestration Administration Console 5


You can invoke processes, suspend, or terminate processes. To change the process status, select one or more
processes and click one of the following commands on the Instances tab:

Command Description

Invoke Invokes a process instance that is in progress.

Resume Resumes instances that have been manually suspended.

Suspend Suspends a running process.

Terminate Terminates the selected instances. You can delete instances that are completed, failed, or terminated.

Delete Deletes the selected instances. You can delete instances that are completed, failed, or terminated.

Delete all Deletes all instances that are completed, failed, or terminated.

PowerCenter Web Services Interfaces


Web services are business functions that operate over the Web. They describe a collection of operations that are
network accessible with XML messages. Examples of web services include business services, such as stock
quotes, airline schedules, and credit checks. Informatica exposes PowerCenter metadata and data integration
functions as PowerCenter web services.

When you access a web service, you request that the web service perform an operation and return data. A web
service can contain many web service operations. A web service can be remote or local to the web service
consumer.

Web services components are based on open standards. Components include:

¨ Simple Object Access Protocol (SOAP). SOAP is the communications protocol for web services. SOAP
defines the XML format for web service messages.
¨ Web Service Definition Language (WSDL). WSDL is an XML document that describes web service
operations.
¨ Registry. Directory of published web services. Some web service providers publish services in Universal
Description, Discovery, and Integration (UDDI). Registering a web service in the UDDI is optional.
Note: PowerCenter Web Services Provider does not use the UDDI registry.
Informatica provides PowerExchange for Web Services and PowerCenter Web Services Provider. PowerCenter
Web Services Provider hosts web services. PowerExchange for Web Services accesses web services as a web
service consumer. A web service consumer is a client that requests a web service.

Web service operations contain input and output messages. Input and output messages are XML messages that
define how to structure a request for a web service.

6 Chapter 1: Informatica Orchestration


PowerCenter Web Services Provider
The PowerCenter Web Services Provider has the following components:

¨ Web Services Hub. The PowerCenter application service that receives requests and sends responses to web
service clients. The Web Services Hub interacts with the Integration Service and the Repository Service to
process requests and generate responses. The Web Services Hub provides a Web Services Hub Console
where you can manage web services and download WSDL files.
¨ Batch web services. Web service operations that allow access to the PowerCenter Integration Service
processes and the PowerCenter repository metadata. Batch web service operations provide information about
the objects in the repository associated with the Web Services Hub. A batch web service can connect to the
Integration Service to manage the execution of workflows and tasks.
Informatica provides the following batch web services:
- Data Integration web services. Data Integration web services connect to the Integration Service to run
PowerCenter workflows. Data Integration web services provide details about the Integration Service. Use
Data Integration web services to schedule and run workflows, start and stop tasks in a workflow, or monitor
sessions.
- Metadata web services. Metadata web services provide operations that retrieve metadata from PowerCenter
repositories. Use the Metadata web services to get information about repository objects such as folders,
workflows, and workflow tasks.
¨ Real-time web services. PowerCenter workflows that are enabled as web services. You can create a service
mapping to receive a message from a web service client, transform it, and write it to a target. You can create a
web service mapping with both a web service source and target definition. The source and target definitions
represent service operations. The source defines the user request and the target defines the response.
You can view and download the WSDL files for the web services hosted by the PowerCenter Web Services
Provider on the Web Services Hub Console.

PowerExchange for Web Services


PowerExchange for Web Services is a web service consumer that exchanges data with a web service provider. It
integrates with PowerCenter to read data from a web service source and write data to a web service target.

Create a Web Services Consumer transformation in a PowerCenter mapping. Import the web service WSDL to the
PowerCenter repository. PowerExchange for Web Services uses the information in the WSDL file to access the
web service operation. The Integration Service connects to the web service with the Web Services Consumer
transformation.

WSDL Documents
Web Services Description Language (WSDL) is an XML document that describes a web service. It defines the
location of the service and the operations that the service performs. The WSDL contains a description of the
operations to be performed on that data, and the message format and protocol.

Orchestration Designer has a WSDL Visual Browser that you can use to view a WSDL document. You can expand
a WSDL document from the Orchestration Designer to view the services the WSDL document defines. You can
view service operations and the messages that each operation receives and returns to the process.

When you copy a WSDL to the Orchestration Designer, you can view the WSDL operations and XML messages
structure in the Process Explorer. To add an operation to the business process, drag the operation name from the
Process Explorer to the business process diagram. Although the WSDL defines the input and output messages, it

WSDL Documents 7
does not define what data values a service might return. You need to know about the data service to be able to
create business processes based on status codes or error messages the service returns.

A WSDL file has the following elements:

¨ Service. Contains groups of related ports. Each port defines an endpoint that enables remote systems to
connect to the service. The service name section of the WSDL file defines each port’s type, binding, and SOAP
network address. Service name can contain one or more ports.
¨ Binding. Defines a protocol and data format for each operation. Each binding defines the data format for one
or more operations.
¨ Port. Defines the connection between bindings and the information required and returned by the web service.
Port type describes a web service, the operations that can be performed, and the messages. The <portType>
element is similar to a function library or a class in a traditional programming language.
¨ Operation. Describes a program that performs an action, such as retrieving an order number. Web service
operations contain input and output messages. Input and output messages in the WSDL file contain the XML
data that PowerExchange for Web Services uses to determine the groups and columns in the web service
source and target definitions and Web Services Consumer transformations.
¨ Messages. Defines the data elements of an operation. Each message can consist of one or more parts. The
parts contain parameters to pass in the message.
¨ Types. Defines the data types that are used by the web service.

WSDL Example
The following text is a segment of a WSDL document:
<wsdl:message name="mplt_DQ_NA_Address_ValidationOut">
<wsdl:part name="parameters" element="n:mplt_DQ_NA_Address_ValidationResponse" />
</wsdl:message>
<wsdl:message name="mplt_DQ_NA_Address_ValidationIn">
<wsdl:part name="parameters" element="n:mplt_DQ_NA_Address_ValidationRequest" />
</wsdl:message>
<wsdl:portType name="address_cleansing_svcPort">
<wsdl:operation name="address_cleansing_svcOperation">
<wsdl:input message="infa:mplt_DQ_NA_Address_ValidationIn"/>
<wsdl:output message="infa:mplt_DQ_NA_Address_ValidationOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="address_cleansing_svcBinding" type="infa:address_cleansing_svcPort">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<wsdl:operation name="address_cleansing_svcOperation">
<soap:operation soapAction="" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="address_cleansing_svc">
<wsdl:port name="address_cleansing_svcPort" binding="infa:address_cleansing_svcBinding">
<soap:address location="http://myserver:7333/wsh/services/RealTime/address_cleansing_svc" />
</wsdl:port>
</wsdl:service>

8 Chapter 1: Informatica Orchestration


CHAPTER 2

Configuring Orchestration
This chapter includes the following topics:

¨ Configuring Orchestration Overview, 9

¨ Configuring the Orchestration Server, 9

¨ Starting the Orchestration Server, 11

¨ Configuring LDAP Authentication, 12

¨ Configuring HTTP Protocol , 14

Configuring Orchestration Overview


Informatica Orchestration installs with PowerCenter. The Orchestration Designer installs with the PowerCenter
Client. You can access it from the Informatica PowerCenter Windows Start Menu.

The Orchestration Server installs with PowerCenter services. The Orchestration Server installs in the following
location:
<PowerCenter Installation Directory>\OrchestrationServer

After you install PowerCenter, you can configure Orchestration:

¨ Orchestration Designer. The first time you start Orchestration Designer, you are prompted to choose a
workspace. The default workspace is C:\Documents and settings\workspace.
¨ Orchestration Server.

¨ LDAP authentication.

¨ HTTP protocol.

Configuring the Orchestration Server


After you install PowerCenter services, configure the database for the Orchestration server run-time repository.

To configure the Orchestration Server:

1. Navigate to the Orchestration Server extras directory.


On Windows:
<PowerCenter Installation Directory>\OrchestrationServer\extras

9
On UNIX:
<PowerCenter Installation Directory>/OrchestrationServer/extras
2. Start the configuration utility.
On Windows, double-click dbconfig.cmd.
On UNIX, use one of the following commands to run the configuration shell script:
# sh dbconfig.sh
# ./dbconfig.sh
Note: Verify that you have the permissions to run this file.
The script opens an executable .jar file to run the configuration utility. The Orchestration Server Data Source
Configuration menu appears.
3. Enter the database type:

Entry Database

1 Oracle

2 Microsoft SQL Server

3 IBM DB2

Or, type 0 to quit.


4. In the Configuration Details dialog box enter the following information:

Configuration Description
Parameter

Database Host Name Host machine for the database instance.

User ID Database user ID.

Password Password for the user ID.

Port Port number of the database instance.

Database Name/SID Service name for Oracle and IBM DB2. Database name for Microsoft SQL Server. If you are
configuring an Oracle database, you must provide an SID.

5. Click Enter to test the database connection.


If the connection is successful, the configuration utility updates the Orchestration Server server.xml file.
6. Copy the updated server.xml from the extras directory to the configuration directory.
Source location:
<PowerCenter Installation Directory>\OrchestrationServer\extras
Target location:
<PowerCenter Installation Directory>\OrchestrationServer\conf
7. Navigate to the OrchestrationServer databases directory.
8. Open the directory that corresponds to the database type you configured for the run-time repository.
For example, go to the Oracle directory if your database is Oracle.
9. Connect to the database and execute the BPMS.sql file to create the run-time repository in the database.

10 Chapter 2: Configuring Orchestration


IBM DB2
If you configured the run-time repository on IBM DB2, you need to complete some additional steps.

To configure the run-time repository on IBM DB2:

1. Navigate to the OrchestrationServer\var\config directory.


2. Open ode-axis2.properties.
3. Uncomment the following line:
hibernate.dialect=org.hibernate.dialect.DB2Dialect
4. Navigate to the OrchestrationServer\var\config \console directory.
5. Open console-config.xml.
6. Change the following line:
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
to
<prop key="hibernate.dialect">org.hibernate.dialect.DB2Dialect</prop>

Oracle RAC
To configure the run-time repository on Oracle RAC, you need to complete some additional steps.

1. Navigate to the OrchestrationServer\var\config directory.


2. Open the server.xml file.
3. Locate the JDBC resource name.
4. Change the url to the following:
url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=tcp)
(HOST=inoran02-vip)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=inoran03-vip)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=QARACDB.informatica.com)))"

Sybase
If you configured the run-time repository on Sybase, you need to complete some additional steps.

1. Navigate to the OrchestrationServer\var\config \console directory.


2. Open console-config.xml.
3. Change the following line:
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
to
<prop key="hibernate.dialect">org.hibernate.dialect.SybaseDialect</prop>.

Starting the Orchestration Server


After you configure the Orchestration Server to access the run-time repository, you can start the server.

Starting the Orchestration Server on Windows


To start the Orchestration Server on Windows:

u Click Start > Programs > Informatica 9.0 > Server > Start Informatica Orchestration Server.

Starting the Orchestration Server 11


Starting the Orchestration Server on UNIX
To start the service on UNIX:

u At the command prompt, enter <Orchestration Server Installation Directory>/bin/startup.sh.

Configuring LDAP Authentication


If you have user accounts in an enterprise LDAP directory service that you want to give access to Orchestration,
you can configure Orchestration to use LDAP authentication. You can use LDAP authentication to authenticate
Orchestration Server, Human Workflow, and Orchestration Console users.

Defining the Properties File


The ldap.properties schema contains the configuration properties for LDAP. The ldap.properties contains the user
and role information to retrieve from the LDAP directory. The ldap.properties file is on the machine that runs the
LDAP service.

The following table describes the LDAP properties that you configure in ldap.properties:

Property Description

java.naming.provider.url URL of the LDAP server.


For example:
java.naming.provider.url= ldap://libra.informatica.com:389

java.naming.security.principal Principal user name. The principal user name is an administrative user with access to
the LDAP directory. Enter a user that has permission to read other user entries in the
LDAP directory service. Provide the complete Distinguished Name (DN) for the
principal user.
For example:
java.naming.security.principal=uid=admin,ou=Administrators,ou=TopologyManageme
nt,o=NetscapeRoot

java.naming.security.credentials Principal user password.

security.ldap.realm Support realms for the Orchestration server. The Orchestration server searches the
realms for Orchestration server users, roles, and permissions. You can configure
multiple realms.

security.ldap.user.base Folder name that contains the Orchestration server users. This folder should be
located in the folder hierarchy for each realm.
For example, if orchestration users are in the people folder, which is in the informatica
and orchestration folders, the security.lap.user.base entry is:
security.ldap.user.base=ou=people

security.ldap.role.base Folder name that contains all the roles defined for all the Orchestration server users.
The folder should be located in the folder hierarchy of each realm.
For example, if the roles for Orchestration users are in the roles folder inside
informatica and orchestration folders, the security.ldap.role.base entry is
security.ldap.user.base=ou=roles

Each realm is defined by a security.ldap.realm.x.property. For example:


security.ldap.realm.0=informatica:dc=informatica,dc=com
security.ldap.realm.1=orchestration:ou=orchestration,dc=informatica,dc=com

12 Chapter 2: Configuring Orchestration


The section of the realm entry before the colon (:) defines the realm name. The section of the realm entry after the
colon(:) defines the root where the LDAP service starts the search for users and roles.

The realm names in the ldap.properties file must be lowercase. The names of the corresponding folders inside the
LDAP server directory can have uppercase characters.

Matching Users
The LDAP service system searches for users from realm root, security.ldap.realm.0. In the above examples, the
realm root is dc=informatica,dc=com. The LDAP service appends the value of security.ldap.user.base to the realm
root. The security.ldap.user.base is ou=people in the examples. The effective root is
ou=people,dc=informatica,dc=com.

The LDAP service uses the value of the security.ldap.user.id (cn in the above example) to find a user name. For
example, if username (cn)=joe,ou=people,dc=example,dc=com matches informatica\joe.

To match a role, the LDAP service uses security.ldap.role.base and security.ldap.role.id.

Attaching Roles to Users


To find members with a given role, the LDAP service determines the list of users in a role by the value of
security.ldap.role.users.

Alternatively, you can use security.ldap.user.roles to configure how to find the list of roles for a user. You can
define security.ldap.user.roles or security.ldap.role.users. You cannot define both properties.

Enabling LDAP Authentication


Optionally, configure the Orchestration Server to enable LDAP authentication.

To enable LDAP authentication:

1. Open securityConfig.xml. By default, it is in the following location:


<Orchestration_Installdir>\var\config\
2. Comment out the following element:
<bean id="securityProvider" class="org.intalio.tempo.security.simple.SimpleSecurityProvider" init-
method="init">
<property name="configFile">
<value>${org.intalio.tempo.configDirectory}/security.xml</value>
</property>
</bean> ”
3. Uncomment the following element:
<!--bean id="securityProvider" class="org.intalio.tempo.security.ldap.LDAPSecurityProvider">
<property name="propertiesFile">
<value>${org.intalio.tempo.configDirectory}/ldap.properties</value>
</property>
</bean-->
4. Set the defaultRealm property to match the realm name you defined in ldap.properties.
The realm name is the value before the colon (:) of the security.ldap.realm.0 property. For example:
security.ldap.realm.1=orchestration
5. Restart the LDAP server.
6. Create and assign the following roles for users to log in to the Orchestration Admin Console:
¨ informatica\ProcessManager. Start, stop, and view processes.

¨ informatica\ProcessAdministrator. Start, stop, view, and deploy processes.

Configuring LDAP Authentication 13


Configuring HTTP Protocol
Complete the following tasks to configure Orchestration server to use HTTP protocol:

1. Remove the port redirect text (redirectPort=“6543”) from non-SSL connector section in OrchestrationServer
\conf\server.xml:
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="6101" maxHttpHeaderSize="8192"

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort=”6543” acceptCount="100"

connectionTimeout="20000" disableUploadTimeout="true" />


2. Disable automatic forwarding by commenting out the <security-constraint> section in the following XML files:
¨ OrchestrationServer/webapps/xFormsManager/WEB-INF/web.xml

¨ OrchestrationServer/webapps/bpms-console/WEB-INF/web.xml

¨ OrchestrationServer/webapps/wsi/WEB-INF/web.xml

¨ OrchestrationServer/webapps/ROOT/WEB-INF/web.xml

¨ OrchestrationServer/webapps/ui-fw/WEB-INF/web.xml

The security-constraint section contains the following text:


<security-constraint>
<web-resource-collection>
<web-resource-name>Automatic HTTPS/SSL Forwarding</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
3. Navigate to the models directory. By default, it is in the following location:
OrchestrationServer/webapps/wsi/WEB-INF/wsi/models/
4. Replace “https” with “http” in the following .xpl files in the models directory:
¨ Console-entry.xpl

¨ Generate-form.xpl

¨ Invoke-service.xpl

¨ Load-wsdl.xpl

¨ Render-form.xpl

¨ Root-model.xpl

14 Chapter 2: Configuring Orchestration


CHAPTER 3

Orchestration Business Process


Models
This chapter includes the following topics:

¨ Business Process Components, 15

¨ Designing the Business Process, 16

¨ Running a Process, 18

¨ Loop Processing, 19

¨ Processing a SOAP Response with Array Data, 19

¨ Sample Business Process, 20

¨ Rules and Guidelines for Working with Orchestration, 22

Business Process Components


A business process diagram contains the following types of object:

¨ Activities. Activities represent tasks that a process participant performs. The two activities are tasks and
subprocesses. A task is a single activity. A subprocess is a group of tasks in the same pool. You can show or
hide the tasks in a subprocess when you view the process model. You can apply properties or events to a
subprocess such as a timer event or an error event to handle exceptions. Tasks and subprocesses are
represented by rectangles with rounded corners.
¨ Events. Events affect the process flow. Examples of events are start messages, errors, or timer events. For
example, a timer event might cause the Orchestration Server to send a message to a user. There are start,
intermediate, and end events. Events are represented by circular object shapes. Icons in the circles indicate
the type of trigger or result associated with the event.
¨ Gateways. Gateways represent points of decision in the process diagram from which the process flow can
continue down one or more paths.
Gateways determine flow direction based on the contents of the data or based on which event executes first.
Gateways direct the process flow in one of the following ways:
- Exclusively. One branch can execute.

- Inclusively. One or more branches may execute.

- In parallel. All branches execute.

15
¨ Sequence flow. Sequence flow connectors indicate the sequence in which activities in a common pool are
performed. A flow connector includes the following types of connection: sequence flow and conditional flow. A
sequence flow is represented by a solid line in the business process diagram.
¨ Message flow. A message flow connector represents communication between activities in separate pools. A
message flow connector is represented by a broken line in the business process. The messages in the flow are
represented by envelopes. A data interaction occurs when a message passes between activities or participants
in separate pools.

Designing the Business Process


The Orchestration Designer provides a workarea where you design business processes by selecting graphic
representations of tasks and events and connecting them with process and sequence flows. Use the following
steps to design a business process diagram and deploy it the Orchestration Server:

1. Define pools.
2. Add tasks, events, and decision gateways. Connect them with process and message flow arrows.
3. Define XForms to pass data to and from users.
4. Define the messages to pass between participants in the process.
5. Map data between tasks, add conditions for events and gateways.
6. Deploy the business process project to the Orchestration Server.
7. Run the process.

Defining Pools
A pool is a group of business process participants that perform tasks in the business process. When you create a
business process diagram, you define a pool as a separate section of the diagram. A pool is executable or non-
executable. The Orchestration Designer creates BPEL code for the activities in an executable pool. The
Orchestration Server executes the BPEL code. When a pool is non-executable, the Orchestration Server does not
execute the activities. For example, a user is in a non-executable pool.

Defining a Business Process


Define a business process diagram in the Orchestration Designer. When you create a project, define the project
name to create a folder in the Process Explorer. All files that you create for the project appear in the folder.

Create pools for participants in the process. One pool represents the Orchestration Server. It contains the main
process flow.

The business process diagram must have a start message event that initiates the process. A start message event
can receive a message from an external process or a user.

Add tasks, events, and decision gateways from the palette to the business process diagram. After you define the
tasks and the process flow, define to the data to pass between activities and participants in the process.

Adding a Web Service Operation


To add a web service operation to the business process, copy or drag a WSDL file from the hard drive to the
Process Explorer. The WSDL operations and message structures appear in the Process Explorer. To add an

16 Chapter 3: Orchestration Business Process Models


operation to the business process, create a pool for the service. Drag an operation from the Process Explorer to
the pool.

Defining Forms
The Orchestration Designer has a form editor. Create XForms that enable users to receive and return data to the
process. Create forms by dragging controls from a palette. You can add controls such as text boxes, radio buttons,
labels, and lists. When you create a form, the Orchestration Designer creates a form file and an XSD file. It also
generates the code for deploying forms.

Defining Data
Define the data to pass in messages between activities in the business process. Import a schema, WSDL, or
define the XML in the Orchestration Designer.

The Orchestration Designer provides wizards that you can use to define data. Click File > New > Other to view the
wizards.

To define messages that flow in and out of tasks in the process diagram, drag the data definition from the Process
Explorer to the business process diagram. Drag it to the process flow line between two tasks in the business
process diagram. A small envelope appears, indicating that a message is defined.

Defining Mappings for Outgoing Messages


The Data Mapper defines what data to send to another participant in the business process and how the data is
mapped to outgoing messages. You can also use the Data Mapper to define conditions for events or decision
gateway paths.

The Data Mapper displays when you click Window > Show View > Mapper. It also displays if you click Window >
Open Perspective > Orchestration Designer.

To access a data mapping, click the object that sends the message in the process model. The Mapper View
displays the source data in the left panel and the destination data in the right panel. Select the source data and
map it to the destination data.

Drag operators from the Mapper Palette in to the Mapper View. Use the functions to manipulate data or to create
conditions. You can add an empty operator and type in an XPath expression. A drop-down menu appears as you
type to provide the list of valid expressions that match the text you are typing. When you finish typing an
expression, click outside of the operator to finish the edit.

Deploying a Process
After you create a process in the Orchestration Designer, deploy the process to the Orchestration Server. To
deploy the process, click Project > Deploy Project.

If the Orchestration Designer finds problems in your business process diagram, you can view them on the
Problems tab. Click Windows > View > Problems.

When you deploy a process, the Orchestration Designer copies the files to the Orchestration Server location and
generates BPEL code. The Orchestration Designer saves the following information:

¨ BPEL code

¨ WSDL that represent external processes or services

¨ An SVG representation of the process for dynamic process monitoring

Designing the Business Process 17


¨ Initial variable values
¨ The Xforms that appear on the Human Workflow console

You can configure the default location for all deployments on Windows > Preferences. You can change the
Orchestration Server location when deploy a process.

Deploying a Process to Multiple Servers


When you deploy an Orchestration process to more than one location, verify that the WSDLs in the project
contains the fully qualified SOAP address. You can deploy the process to multiple locations. However, if you do
not update the SOAP address in the WSDL, the process fails with a connection error at run time.

For example, you deploy an Orchestration process to a local server at http://localhost:7101/ode and to another
server at http://camry:6101/ode. However, a connection error occurs when you run the second process, because
the WSDL that deployed to the second location does not contain a fully qualified SOAP address. The address
contains the following localhost address:
<soap:address
location="http://localhost:7101/ode/processes/GetTime_IntalioService/Process/Pool0/Pool"/>

You can regenerate the project files to reflect the address change.

To regenerate the project files:

1. In the Orchestration Designer, click Project > Clean.


2. Select the project.
The Orchestration Designer regenerates the project files.
3. Select the option to start a build immediately.

Running a Process
The business process design determines how the process is initiated. The process might be initiated when the
Orchestration Server receives a request from another service. The process might be initiated from a user typing
data into an XForm on Human Workflow and sending the form to the Orchestration Server. You can also run a
process from the Orchestration Administration Console.

View all deployed processes on the Orchestration Administration Console. You can view process instances that
are running.

Logging in to the Orchestration Administration Console


You can view a process instance and details about the process, such as the XML data values.

To log in to the Orchestration Administration Console:

1. Open a web browser and enter the following URL:


http://<orchestration_machine_name>:port/bpms-console
For example:
http://<infa_server:6107/bpms-console
The login page appears.
Note: If the domain mismatch warning dialog box appears, click OK and continue.
2. Enter a user name and password.

18 Chapter 3: Orchestration Business Process Models


The default user name and password is admin/changeit.
A list of processes displays.
3. Choose a process and click Instances.

Loop Processing
Use loops to perform repeated operations on the same set of process data until a specific condition is met. You
can configure an activity to execute only if a set condition is true. For example, a participant receives a price
quote, but accepts the quote only if it receives a discount. The process data is evaluated to see if the discount is
greater than zero. It the discount is greater than zero, the activity repeats.

To create a condition-based subprocess loop in a process diagram:

1. From the Basic BPMN Shapes tab pane of the Mapper Palette, drag a Looping Subprocess activity onto the
subprocess.
2. Select the subprocess in the process design and go to Properties panel.
3. In the Properties panel, set the Loop type parameter. Choose None, While, Repeat Until, or For Each.
4. Select the loop in the process diagram and open the Mapper.
5. Define the loop condition by selecting an element from the source panel and an operation from the Mapper
Palette.
If you move the pointer over a component in the Mapper View, the Orchestration Designer displays the BPEL
language that it creates from the mapping.

Processing a SOAP Response with Array Data


You can process a SOAP response that contains array data. Add an .XSLT file to your process and use an
Orchestration Designer function to transform the data.

Complete the following tasks to process array data in a SOAP response:

1. Create an XSLT stylesheet with the following contents:


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="2.0">
<xsl:output method="xml"/>
<xsl:template match="root">
<xsl:element name="root" namespace="http://www.example.org/message";>
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<xsl:template match="*">
<xsl:element name="rows" namespace="http://www.example.org/message";>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
2. Import the stylesheet to your project in the Orchestration Designer.
3. Click Window > Show View > Mapper to open the Mapper.

Loop Processing 19
The Mapper has the following sections that divide the view:
¨ The left column defines the source data for the mapping and list all the process data variables.
¨ The right column defines the destination data for the mapping and also lists all process data variables.

¨ The middle column is where you add operators to transform the source data before mapping it to the
destination data.
4. In the Mapper Palette, expand 03. Constructor Functions > 1. Constructor Functions for XML Schema Built-in
Types.
5. Drag-and-drop 45.bpel:doXslTransform into the middle section of the Data Mapper.
6. Create links to pass input parameters to the bpel:doXslTransformfunction function.
7. Create a link from the end of bpel:doXslTransformfunction to the target node or operator.
The function bpel:doXslTransform( ) takes the following parameters:
¨ The path to the XSLT stylesheet. The XSLT stylesheet should be in your project and the parameter is a
string that is the path to your stylesheet in your project.
¨ The SOAP response node to be structured by the XSLT stylesheet.

Sample Business Process


The following example shows an Orchestration process that calls a PowerCenter Data Quality web service that
performs an address cleansing service. The process contains the following actions:

1. The Orchestration Server receives a mail address and sends it to a PowerCenter Data Quality web service to
reformat the address.
2. The web service validates and formats the address. It sends the address and status back to the Orchestration
Server.
3. If the address is valid, the Orchestration Server sends the address to a user to review the format changes and
approve or reject the record.
4. If the address is invalid, the Orchestration Server sends the address back to the user. The user can resubmit
the address. The process limits the user to three submissions of the address.
5. If there is a system error, the Orchestration Server throws an error. An exception handler sends a message to
a user about the system error.

20 Chapter 3: Orchestration Business Process Models


The following figure shows the sample business process diagram:

Figure 1. Sample Business Process Diagram

1. Informatica pool.
2. Orchestration Server pool.
3. Users pool.

This business process diagram contains the following pools:

¨ Informatica. Contains the address_cleansing Data Quality web service. The web service receives an address
and verifies the street name, number, and city. It fixes format errors and returns the correct zip code for the
state. If the address is invalid, or there is a system problem, it returns an error.
¨ Orchestration Server. Processes the workflow.

¨ Users. The users submit addresses for verification and approve or reject addresses returned from the address
cleansing web service. They also receive notifications.

Process Initiation
The business process design determines how the process is initialized. You can design a process to initiate from
different sources. The source can be from Human Workflow, a PowerCenter workflow, a web service consumer
client, or the Orchestration Administration Console.

This sample business process is initiated by a user from Human Workflow:

1. The user enters address information and clicks Start Process.


2. A Start message receives the address.
3. The Respond task sends a notification to the user and passes the address information to a task in the
subprocess.

Subprocess Execution
The subprocess in the Orchestration Server pool receives the address from the Respond task. The subprocess is
a looping subprocess. Use loops to perform a task or subprocess until a specific condition is met. In this example,
a loop counter variable tracks the number of times the subprocess executes.

Sample Business Process 21


The following figure shows the subprocess in the business process model in “Sample Business Process” on page
20.

The subprocess requests the service and returns data to users.

The process contains the following activities:

1. The Invoke Informatica Data Quality task calls the Data Quality web service and passes the address data to
the service.
The Data Quality web service processes the address. If the address is valid, the web service returns
Out_StatusCode 9. Out_StatusCode is an element in the SOAP message returned from the web service. If
the address is invalid, the web service returns Out_StatusCode X. It also returns an Out_ErrorCode that
indicates the type of error, and an Out_ErrorMessage such as “invalid zip code” or “unknown street.”
2. A decision gateway provides two paths: Valid Data Received or Check Status. The Valid Data Received
condition is Out_StatusCode condition = 9, which indicates the address is valid.
The process goes to the Check Status path when the status is not 9.
3. The decision gateway on the Check Status path checks if there is an address error or a system error.
4. If the error is a system error, such as a time-out or a database error, the Orchestration Server throws an error
to an exception handler. The exception handler notifies a system administrator of the system error.
5. If there is an address error, the Orchestration Server runs a task to resubmit the address.
The user receives the task on the Tasks tab in Human Workflow. When the user clicks the task, a form
displays that shows the address data, an error message, and the status code. The user corrects the address
and clicks Complete to resubmit the form.
6. When the user resubmits the address, the Orchestration Server increments a loop counter variable by one.
7. The Orchestration Server copies the new address data to the DQ request XML.
The subprocess sends the new address data to the Data Quality web service.
The subprocess repeats until a valid address is returned from the web service, or the loop counter variable is
greater than or equal to three.

Rules and Guidelines for Working with Orchestration


Use the following rules and guidelines when developing, deploying, and running processes with Orchestration:

¨ High availability. If a service process becomes unavailable, the Orchestration Server cannot fail it over to a
backup node.
¨ Grid. You cannot run an Orchestration process on a grid.

22 Chapter 3: Orchestration Business Process Models


¨ Logging. The Orchestration Server logs messages in the log files created inside the Orchestration Tomcat
server instance /var/log/bpms.log. The Integration Service does not write Orchestration log messages.
When you need information about an Orchestration process, review the bmps.log files. If you want more log
details for any property, you change the tracing level in log4j.properties. Change the trace level of any property
from WARN to DEBUG. You can find the properties file in the following location:
<PowerCenter Installation Directory>/OrchestrationServer/var/log/
Note: When you change the trace level, restart the Orchestration Server.
¨ Recovery. The Orchestration Server persists the run-time status of an Orchestration process. You can restart
an Orchestration process from the point that it failed.
Orchestration runs PowerCenter workflows that are web service enabled. However you cannot enable a
workflow as a web service if it has automatic recovery enabled. You can still configure recovery strategy at the
session level in PowerCenter workflows.
The Orchestration Server cannot recover external web services because it does not persist the runtime status
of the external processes.
¨ Transactions. The Orchestration Server does not process transactional data. You cannot configure transaction
boundaries in an Orchestration process.
¨ Informatica User Management. Informatica Orchestration is not integrated with the Informatica User
Management. You can use LDAP or the user management system within Orchestration.

Rules and Guidelines for Working with Orchestration 23


INDEX

A
configuring LDAP authentication 12
configuring Orchestration server 9
activate Human Workflow 1
Orchestration process command 5 Mapper view 3
Administration Console overview 1
Orchestration 1 Process Explorer 3
resuming a process 5
retiring a process 5

B
run-time repository 1
starting a process 5
batch web services suspending a process 5
description 7 terminating a process 5
BPEL Orchestration Administration Console
description 1 access URL 21
BPMN Instances tab 5
description 1 Process tab 5
tabs 4
Orchestration Designer

H
components 2
description 1
HTTP protocol pools 16
configuring Orchestration server 14 Orchestration server
human tasks configuring after installing 9
Orchestration 1 configuring HTTP protocol 14
Human Workflow configuring on IBM DB2 11
functionality 1 configuring on Oracle RAC 11
Orchestration 1 configuring on Sybase 11
description 1
starting the server 11

I
Instances tab
Orchestration Administration Console 5
P
pools
Orchestration Designer 16

L
PowerExchange for Web Services
description 7
LDAP authentication Process Explorer
configuring with Orchestration 12 Orchestration 3
Process Tab
Orchestration Administration Console 5

M
Mapper
Orchestration 3
R
Mapper Palette real-time web services
overview 3 description 7
Mapper View resume
Orchestration Designer 3, 4 Orchestration process 5
retire
Orchestration process command 5

O
run-time repository
Orchestration 1
Orchestration
activating a process 5
Administration Console 1

24
S
Orchestration process 5

service orchestration
description 1
start
W
Orchestration process command 5 web service consumer
start message PowerExchange for Web Services 7
Orchestration event 16 web services
suspend data integration 7
Orchestration process 5 PowerCenter metadata web services 7
real-time 7
Web Services Provider

T
components 7
WSDL files
terminate Orchestration 7

Index 25