informatica powercenter (version 9.0.1) - gerardnico powercenter (version 9.0.1) orchestration...

32
Informatica PowerCenter (Version 9.0.1) Orchestration Guide

Upload: vodang

Post on 29-Apr-2018

269 views

Category:

Documents


1 download

TRANSCRIPT

Informatica PowerCenter (Version 9.0.1)

Orchestration Guide

Informatica PowerCenter Orchestration Guide

Version 9.0.1June 2010

Copyright (c) 1998-2010 Informatica. All rights reserved.

This software and documentation contain proprietary information of Informatica Corporation and are provided under a license agreement containing restrictions on use anddisclosure 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 internationalPatents 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 inDFARS 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 inwriting.

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 InformaticaOn Demand are trademarks or registered trademarks of Informatica Corporation in the United States and in jurisdictions throughout the world. All other company and productnames 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 rightsreserved. Copyright © Sun Microsystems. All rights reserved. Copyright © RSA Security Inc. All Rights Reserved. Copyright © Ordinal Technology Corp. All rightsreserved.Copyright © Aandacht c.v. All rights reserved. Copyright Genivia, Inc. All rights reserved. Copyright 2007 Isomorphic Software. All rights reserved. Copyright © MetaIntegration Technology, Inc. All rights reserved. Copyright © Intalio. All rights reserved. Copyright © Oracle. All rights reserved. Copyright © Adobe Systems Incorporated. Allrights 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 theLicense 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 notlimited 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 ofthis software is subject to terms available at http://www.openssl.org.

This product includes Curl software which is Copyright 1996-2007, Daniel Stenberg, <[email protected]>. All Rights Reserved. Permissions and limitations regarding thissoftware 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 withoutfee 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 availableat 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 termsavailable 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 thissoftware 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 & WirelessDeutschland. 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 subjectto 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 termsavailable 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 DistributionLicense (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 softwareare subject to terms available at http://xstream.codehaus.org/license.html. This product includes software developed by the Indiana University Extreme! Lab. For furtherinformation 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 otherPatents Pending..

DISCLAIMER: Informatica Corporation provides this documentation "as is" without warranty of any kind, either express or implied, including, but not limited to, the impliedwarranties of non-infringement, merchantability, or use for a particular purpose. Informatica Corporation does not warrant that this software or documentation is error free. Theinformation provided in this software or documentation may include technical inaccuracies or typographical errors. The information in this software and documentation issubject 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 SoftwareCorporation (“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 NOTLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.

2. IN NO EVENT WILL DATADIRECT OR ITS THIRD PARTY SUPPLIERS BE LIABLE TO THE END-USER CUSTOMER FOR ANY DIRECT, INDIRECT,INCIDENTAL, SPECIAL, CONSEQUENTIAL OR OTHER DAMAGES ARISING OUT OF THE USE OF THE ODBC DRIVERS, WHETHER OR NOT INFORMED OFTHE POSSIBILITIES OF DAMAGES IN ADVANCE. THESE LIMITATIONS APPLY TO ALL CAUSES OF ACTION, INCLUDING, WITHOUT LIMITATION, BREACHOF CONTRACT, BREACH OF WARRANTY, NEGLIGENCE, STRICT LIABILITY, MISREPRESENTATION AND OTHER TORTS.

Part Number: PC-OCH-90100-0001

Table of Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iiiInformatica 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Orchestration 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Configuring 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Business 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

PrefaceThe PowerCenter Orchestration Guide is written for developers and business analysts responsible for designingbusiness processes. This guide assumes you have an understanding of Business Process Modeling, web serviceconcepts, and PowerCenter web services applications.

Informatica Resources

Informatica Customer PortalAs an Informatica customer, you can access the Informatica Customer Portal site at http://mysupport.informatica.com. The site contains product information, user group information, newsletters,access to the Informatica customer support case management system (ATLAS), the Informatica How-To Library,the Informatica Knowledge Base, the Informatica Multimedia Knowledge Base, Informatica ProductDocumentation, and access to the Informatica user community.

Informatica DocumentationThe Informatica Documentation team takes every effort to create accurate, usable documentation. If you havequestions, comments, or ideas about this documentation, contact the Informatica Documentation team throughemail at [email protected]. We will use your feedback to improve our documentation. Let usknow if we can contact you regarding your comments.

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

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

Informatica How-To LibraryAs an Informatica customer, you can access the Informatica How-To Library at http://mysupport.informatica.com.The How-To Library is a collection of resources to help you learn more about Informatica products and features. Itincludes articles and interactive demonstrations that provide solutions to common problems, compare features andbehaviors, and guide you through performing specific real-world tasks.

iii

Informatica Knowledge BaseAs an Informatica customer, you can access the Informatica Knowledge Base at http://mysupport.informatica.com.Use the Knowledge Base to search for documented solutions to known technical issues about Informaticaproducts. You can also find answers to frequently asked questions, technical white papers, and technical tips. Ifyou have questions, comments, or ideas about the Knowledge Base, contact the Informatica Knowledge Baseteam through email at [email protected].

Informatica Multimedia Knowledge BaseAs an Informatica customer, you can access the Informatica Multimedia Knowledge Base at http://mysupport.informatica.com. The Multimedia Knowledge Base is a collection of instructional multimedia filesthat help you learn about common concepts and guide you through performing specific tasks. If you havequestions, comments, or ideas about the Multimedia Knowledge Base, contact the Informatica Knowledge Baseteam through email at [email protected].

Informatica Global Customer SupportYou can contact a Customer Support Center by telephone or through the Online Support. Online Support requiresa user name and password. You can request a user name and password at http://mysupport.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+1 877 463 2435 Standard RateBrazil: +55 11 3523 7761Mexico: +52 55 1168 9763United States: +1 650 385 5800

Toll Free00 800 4632 4357 Standard RateBelgium: +32 15 281 702France: +33 1 41 38 92 26Germany: +49 1805 702 702Netherlands: +31 306 022 797Spain and Portugal: +34 93 480 3760United Kingdom: +44 1628 511 445

Toll FreeAustralia: 1 800 151 830Singapore: 001 800 4632 4357 Standard RateIndia: +91 80 4112 5738

iv Preface

C H A P T E R 1

Informatica OrchestrationThis 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 OverviewUse Informatica Orchestration to create business process models with standard Business Process ModelingNotation (BPMN). Create executable Business Process Executable Language (BPEL) workflows. Create anexecutable workflow from a process diagram without writing BPEL code. The Orchestration Server runs theworkflow.

You can create a business process model that includes human tasks. An Orchestration process can manage badrecords, provide exception handling, and route records based on data content. To define a process, you addactivities from a palette in the Orchestration Designer to the business process model. You can determine whichprocesses 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:

OrchestrationFunctionality

Description

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

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

1

OrchestrationFunctionality

Description

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 webservices 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 webservices. The Orchestration Designer validates the process you create and generates executable BPEL codefrom the process diagram. The Orchestration Designer checks dependencies and deploys the process to theOrchestration Server. You can modify the BPEL code that the Orchestration Designer creates. You can designXForms to use with Informatica Human Workflow. When you design a form, the Orchestration Designergenerates 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 OrchestrationDesigner. The Orchestration Server can execute long running transactions that may take days or weeks tocomplete. A transaction can run a long time if it waits for an external event such as user input. An example of along 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 thebusiness process where users participate in the process. Users receive tasks and data in a web-basedconsole. They can also initiate business processes.

¨ Orchestration Administration Console. Workflow administration console that shows deployed Orchestrationworkflows, definitions, running process instances, and detailed process information. An administrator cansuspend or terminate processes, or prevent processes from executing.

¨ Run-time repository. Database that stores run-time metadata and process instance states for theOrchestration Server. Configure the run-time repository on an Oracle, IBM DB2, or Microsoft SQL Serverdatabase.

Orchestration DesignerOrchestration Designer is an Eclipse-based development environment for designing a BPMN workflow anddeploying it as an executable process. Drag objects from a palette to a mapping designer work area to define theactivities 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 aweb service in an Orchestration workflow, use the Orchestration Designer to import the WSDL file that defineswhere 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 participantsin 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 WSDLfiles and schemas.

¨ Process Modeler. Design the process model by dragging graphical representations of activities from a paletteto the Process Modeler workspace.

¨ Data Mapper. Define business logic and configure data operations to select or transform data.

Process ExplorerThe Process Explorer shows the components of the business process model. You can access XForms, WSDLfiles, schemas, and services in the process. When you double-click a WSDL, XSD file, or XForm from the ProcessExplorer, 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 fileswhich describe the input and output requirements about the form.

MapperThe Mapper defines business logic and computations on the data that is passed between participants in themapping. Define what data should be sent to another participant in the business process and how to map the datain 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 anotherparticipant in the business process. You can see the Mapper View at the bottom of the Orchestration Designer.

Mapper PaletteUse the Mapper Palette to add operators to a mapping. Operators are functions that select or modify data that youpass in a message from one participant in the business flow to another participant. The operators appear in ahierarchical 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 fullname in a message.

Mapper ViewThe Mapper View is a panel in the Orchestration Designer where you define a mapping. The Mapper View has thefollowing 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 thedestination.

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

Human WorkflowHuman Workflow is a portal that provides a way for users to participate in an Orchestration process. HumanWorkflow 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 youenter in the form is captured in a structure that the Orchestration Server can parse. The Human WorkflowConsole 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 ConsoleThe Orchestration Administration Console displays process definitions, running process instances, and detailedprocess 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 TabsThe Orchestration Administration Console has the following tabs:

¨ Processes tab. Displays the processes that have been deployed to the Orchestration Server and the currentstatus of each process.

¨ Instances tab. Displays the status for a process instance, including running, completed, failed, and terminatedprocesses. 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 thefollowing functions:

- Find process instances.

- Manage process definitions.

- Delete all process instances.

Processes TabThe Processes tab displays processes that are deployed to the Orchestration Server. You can change the processstatus and view statistics about process instances that have run. The Processes tab shows the number ofinstances 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 TabThe 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 thecontents 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 moreprocesses 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 InterfacesWeb services are business functions that operate over the Web. They describe a collection of operations that arenetwork accessible with XML messages. Examples of web services include business services, such as stockquotes, airline schedules, and credit checks. Informatica exposes PowerCenter metadata and data integrationfunctions as PowerCenter web services.

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

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

¨ Simple Object Access Protocol (SOAP). SOAP is the communications protocol for web services. SOAPdefines the XML format for web service messages.

¨ Web Service Definition Language (WSDL). WSDL is an XML document that describes web serviceoperations.

¨ Registry. Directory of published web services. Some web service providers publish services in UniversalDescription, 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. PowerCenterWeb Services Provider hosts web services. PowerExchange for Web Services accesses web services as a webservice 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 thatdefine how to structure a request for a web service.

6 Chapter 1: Informatica Orchestration

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

¨ Web Services Hub. The PowerCenter application service that receives requests and sends responses to webservice clients. The Web Services Hub interacts with the Integration Service and the Repository Service toprocess requests and generate responses. The Web Services Hub provides a Web Services Hub Consolewhere you can manage web services and download WSDL files.

¨ Batch web services. Web service operations that allow access to the PowerCenter Integration Serviceprocesses and the PowerCenter repository metadata. Batch web service operations provide information aboutthe objects in the repository associated with the Web Services Hub. A batch web service can connect to theIntegration 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 runPowerCenter workflows. Data Integration web services provide details about the Integration Service. UseData Integration web services to schedule and run workflows, start and stop tasks in a workflow, or monitorsessions.

- Metadata web services. Metadata web services provide operations that retrieve metadata from PowerCenterrepositories. 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 servicemapping to receive a message from a web service client, transform it, and write it to a target. You can create aweb service mapping with both a web service source and target definition. The source and target definitionsrepresent 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 ServicesProvider on the Web Services Hub Console.

PowerExchange for Web ServicesPowerExchange for Web Services is a web service consumer that exchanges data with a web service provider. Itintegrates 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 thePowerCenter repository. PowerExchange for Web Services uses the information in the WSDL file to access theweb service operation. The Integration Service connects to the web service with the Web Services Consumertransformation.

WSDL DocumentsWeb Services Description Language (WSDL) is an XML document that describes a web service. It defines thelocation of the service and the operations that the service performs. The WSDL contains a description of theoperations 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 expanda WSDL document from the Orchestration Designer to view the services the WSDL document defines. You canview 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 messagesstructure in the Process Explorer. To add an operation to the business process, drag the operation name from theProcess 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 tocreate 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 toconnect to the service. The service name section of the WSDL file defines each port’s type, binding, and SOAPnetwork 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 oneor 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 serviceoperations contain input and output messages. Input and output messages in the WSDL file contain the XMLdata that PowerExchange for Web Services uses to determine the groups and columns in the web servicesource 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. Theparts contain parameters to pass in the message.

¨ Types. Defines the data types that are used by the web service.

WSDL ExampleThe 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

C H A P T E R 2

Configuring OrchestrationThis 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 OverviewInformatica Orchestration installs with PowerCenter. The Orchestration Designer installs with the PowerCenterClient. You can access it from the Informatica PowerCenter Windows Start Menu.

The Orchestration Server installs with PowerCenter services. The Orchestration Server installs in the followinglocation:

<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 aworkspace. The default workspace is C:\Documents and settings\workspace.

¨ Orchestration Server.

¨ LDAP authentication.

¨ HTTP protocol.

Configuring the Orchestration ServerAfter 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 SourceConfiguration 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:

ConfigurationParameter

Description

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 areconfiguring 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 DB2If 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 RACTo 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)))"

SybaseIf 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 ServerAfter you configure the Orchestration Server to access the run-time repository, you can start the server.

Starting the Orchestration Server on WindowsTo 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 UNIXTo start the service on UNIX:

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

Configuring LDAP AuthenticationIf 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 authenticateOrchestration Server, Human Workflow, and Orchestration Console users.

Defining the Properties FileThe ldap.properties schema contains the configuration properties for LDAP. The ldap.properties contains the userand role information to retrieve from the LDAP directory. The ldap.properties file is on the machine that runs theLDAP 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 tothe LDAP directory. Enter a user that has permission to read other user entries in theLDAP directory service. Provide the complete Distinguished Name (DN) for theprincipal user.For example:java.naming.security.principal=uid=admin,ou=Administrators,ou=TopologyManagement,o=NetscapeRoot

java.naming.security.credentials Principal user password.

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

security.ldap.user.base Folder name that contains the Orchestration server users. This folder should belocated in the folder hierarchy for each realm.For example, if orchestration users are in the people folder, which is in the informaticaand 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 insideinformatica and orchestration folders, the security.ldap.role.base entry issecurity.ldap.user.base=ou=roles

12 Chapter 2: Configuring Orchestration

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

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

The section of the realm entry before the colon (:) defines the realm name. The section of the realm entry after thecolon(:) 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 theLDAP server directory can have uppercase characters.

Matching UsersThe LDAP service system searches for users from realm root, security.ldap.realm.0. In the above examples, therealm root is dc=informatica,dc=com. The LDAP service appends the value of security.ldap.user.base to the realmroot. The security.ldap.user.base is ou=people in the examples. The effective root isou=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. Forexample, 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 UsersTo find members with a given role, the LDAP service determines the list of users in a role by the value ofsecurity.ldap.role.users.

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

Enabling LDAP AuthenticationOptionally, 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

Configuring LDAP Authentication 13

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 HTTP ProtocolComplete 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

C H A P T E R 3

Orchestration Business ProcessModels

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 ComponentsA business process diagram contains the following types of object:

¨ Activities. Activities represent tasks that a process participant performs. The two activities are tasks andsubprocesses. A task is a single activity. A subprocess is a group of tasks in the same pool. You can show orhide the tasks in a subprocess when you view the process model. You can apply properties or events to asubprocess such as a timer event or an error event to handle exceptions. Tasks and subprocesses arerepresented by rectangles with rounded corners.

¨ Events. Events affect the process flow. Examples of events are start messages, errors, or timer events. Forexample, 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 indicatethe type of trigger or result associated with the event.

¨ Gateways. Gateways represent points of decision in the process diagram from which the process flow cancontinue 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 areperformed. A flow connector includes the following types of connection: sequence flow and conditional flow. Asequence 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. Amessage flow connector is represented by a broken line in the business process. The messages in the flow arerepresented by envelopes. A data interaction occurs when a message passes between activities or participantsin separate pools.

Designing the Business ProcessThe Orchestration Designer provides a workarea where you design business processes by selecting graphicrepresentations of tasks and events and connecting them with process and sequence flows. Use the followingsteps 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 PoolsA pool is a group of business process participants that perform tasks in the business process. When you create abusiness 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. TheOrchestration Server executes the BPEL code. When a pool is non-executable, the Orchestration Server does notexecute the activities. For example, a user is in a non-executable pool.

Defining a Business ProcessDefine a business process diagram in the Orchestration Designer. When you create a project, define the projectname 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 mainprocess flow.

The business process diagram must have a start message event that initiates the process. A start message eventcan 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 thetasks and the process flow, define to the data to pass between activities and participants in the process.

Adding a Web Service OperationTo add a web service operation to the business process, copy or drag a WSDL file from the hard drive to theProcess 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 tothe pool.

Defining FormsThe Orchestration Designer has a form editor. Create XForms that enable users to receive and return data to theprocess. 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 alsogenerates the code for deploying forms.

Defining DataDefine the data to pass in messages between activities in the business process. Import a schema, WSDL, ordefine the XML in the Orchestration Designer.

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

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

Defining Mappings for Outgoing MessagesThe Data Mapper defines what data to send to another participant in the business process and how the data ismapped to outgoing messages. You can also use the Data Mapper to define conditions for events or decisiongateway 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 Viewdisplays the source data in the left panel and the destination data in the right panel. Select the source data andmap it to the destination data.

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

Deploying a ProcessAfter you create a process in the Orchestration Designer, deploy the process to the Orchestration Server. Todeploy the process, click Project > Deploy Project.

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

When you deploy a process, the Orchestration Designer copies the files to the Orchestration Server location andgenerates 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 theOrchestration Server location when deploy a process.

Deploying a Process to Multiple ServersWhen you deploy an Orchestration process to more than one location, verify that the WSDLs in the projectcontains the fully qualified SOAP address. You can deploy the process to multiple locations. However, if you donot 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 anotherserver at http://camry:6101/ode. However, a connection error occurs when you run the second process, becausethe WSDL that deployed to the second location does not contain a fully qualified SOAP address. The addresscontains the following localhost address:

<soap:addresslocation="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 ProcessThe business process design determines how the process is initiated. The process might be initiated when theOrchestration Server receives a request from another service. The process might be initiated from a user typingdata into an XForm on Human Workflow and sending the form to the Orchestration Server. You can also run aprocess from the Orchestration Administration Console.

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

Logging in to the Orchestration Administration ConsoleYou 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 ProcessingUse loops to perform repeated operations on the same set of process data until a specific condition is met. Youcan configure an activity to execute only if a set condition is true. For example, a participant receives a pricequote, but accepts the quote only if it receives a discount. The process data is evaluated to see if the discount isgreater 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 thesubprocess.

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 MapperPalette.

If you move the pointer over a component in the Mapper View, the Orchestration Designer displays the BPELlanguage that it creates from the mapping.

Processing a SOAP Response with Array DataYou can process a SOAP response that contains array data. Add an .XSLT file to your process and use anOrchestration 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 thedestination data.

4. In the Mapper Palette, expand 03. Constructor Functions > 1. Constructor Functions for XML Schema Built-inTypes.

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 astring that is the path to your stylesheet in your project.

¨ The SOAP response node to be structured by the XSLT stylesheet.

Sample Business ProcessThe following example shows an Orchestration process that calls a PowerCenter Data Quality web service thatperforms 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 toreformat the address.

2. The web service validates and formats the address. It sends the address and status back to the OrchestrationServer.

3. If the address is valid, the Orchestration Server sends the address to a user to review the format changes andapprove or reject the record.

4. If the address is invalid, the Orchestration Server sends the address back to the user. The user can resubmitthe 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 toa 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 addressand verifies the street name, number, and city. It fixes format errors and returns the correct zip code for thestate. 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 addresscleansing web service. They also receive notifications.

Process InitiationThe business process design determines how the process is initialized. You can design a process to initiate fromdifferent sources. The source can be from Human Workflow, a PowerCenter workflow, a web service consumerclient, 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 thesubprocess.

Subprocess ExecutionThe subprocess in the Orchestration Server pool receives the address from the Respond task. The subprocess isa 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 page20.

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 tothe service.

The Data Quality web service processes the address. If the address is valid, the web service returnsOut_StatusCode 9. Out_StatusCode is an element in the SOAP message returned from the web service. Ifthe address is invalid, the web service returns Out_StatusCode X. It also returns an Out_ErrorCode thatindicates 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 Receivedcondition 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 errorto 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 formdisplays that shows the address data, an error message, and the status code. The user corrects the addressand 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 isgreater than or equal to three.

Rules and Guidelines for Working with OrchestrationUse 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 abackup 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 Tomcatserver 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 logdetails for any property, you change the tracing level in log4j.properties. Change the trace level of any propertyfrom 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 restartan Orchestration process from the point that it failed.

Orchestration runs PowerCenter workflows that are web service enabled. However you cannot enable aworkflow as a web service if it has automatic recovery enabled. You can still configure recovery strategy at thesession level in PowerCenter workflows.

The Orchestration Server cannot recover external web services because it does not persist the runtime statusof the external processes.

¨ Transactions. The Orchestration Server does not process transactional data. You cannot configure transactionboundaries in an Orchestration process.

¨ Informatica User Management. Informatica Orchestration is not integrated with the Informatica UserManagement. You can use LDAP or the user management system within Orchestration.

Rules and Guidelines for Working with Orchestration 23

I N D E X

Aactivate

Orchestration process command 5Administration Console

Orchestration 1

Bbatch web services

description 7BPEL

description 1BPMN

description 1

HHTTP protocol

configuring Orchestration server 14human tasks

Orchestration 1Human Workflow

functionality 1Orchestration 1

IInstances tab

Orchestration Administration Console 5

LLDAP authentication

configuring with Orchestration 12

MMapper

Orchestration 3Mapper Palette

overview 3Mapper View

Orchestration Designer 3, 4

OOrchestration

activating a process 5Administration Console 1

configuring LDAP authentication 12configuring Orchestration server 9Human Workflow 1Mapper view 3overview 1Process Explorer 3resuming a process 5retiring a process 5run-time repository 1starting a process 5suspending a process 5terminating a process 5

Orchestration Administration Consoleaccess URL 21Instances tab 5Process tab 5tabs 4

Orchestration Designercomponents 2description 1pools 16

Orchestration serverconfiguring after installing 9configuring HTTP protocol 14configuring on IBM DB2 11configuring on Oracle RAC 11configuring on Sybase 11description 1starting the server 11

Ppools

Orchestration Designer 16PowerExchange for Web Services

description 7Process Explorer

Orchestration 3Process Tab

Orchestration Administration Console 5

Rreal-time web services

description 7resume

Orchestration process 5retire

Orchestration process command 5run-time repository

Orchestration 1

24

Sservice orchestration

description 1start

Orchestration process command 5start message

Orchestration event 16suspend

Orchestration process 5

Tterminate

Orchestration process 5

Wweb service consumer

PowerExchange for Web Services 7web services

data integration 7PowerCenter metadata web services 7real-time 7

Web Services Providercomponents 7

WSDL filesOrchestration 7

Index 25