Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the...

32
Informatica ® PowerCenter ® (Version 8.6.1) Orchestration Guide

Transcript of Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the...

Page 1: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

Informatica® PowerCenter® (Version 8.6.1)

Orchestration Guide

Page 2: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

Informatica Orchestration User GuideVersion 8.6.1 February 2009

Copyright (c) 1998–2009 Informatica Corporation. 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(c)(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, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data Analyzer, PowerExchange, PowerMart, Metadata Manager, Informatica Data Quality, Informatica Data Explorer, 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 © 2007 Adobe Systems Incorporated. All rights reserved. Copyright © Sun Microsystems. All rights reserved. Copyright © RSA Security Inc. All Rights Reserved. Copyright © Ordinal Technology Corp. All rights reserved. Copyright © Platon Data Technology GmbH. All rights reserved. Copyright © Melissa Data Corporation. All rights reserved. Copyright © Aandacht c.v. All rights reserved. Copyright 1996-2007 ComponentSource®. 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 © Microsoft. All rights reserved. Copyright © Oracle. All rights reserved. Copyright © AKS-Labs. All rights reserved. Copyright © Quovadx, Inc. All rights reserved. Copyright © SAP. All rights reserved. Copyright 2003, 2007 Instantiations, Inc. All rights reserved. Copyright © Intalio. All rights reserved.

This product includes software developed by the Apache Software Foundation (http://www.apache.org/), software copyright 2004-2005 Open Symphony (all rights reserved) 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, Red Hat Middleware, 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 (c) 1993-2006, all rights reserved.

This product includes software copyright (c) 2003-2007, Terence Parr. All rights reserved. Your right to use such materials is set forth in the license which may be found at http://www.antlr.org/license.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.

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, <[email protected]>. 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 (C) 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 (c) 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 (c) 1995-2003 International Business Machines Corporation and others. All rights reserved. Permissions and limitations regarding this software are subject to terms available at http://www-306.ibm.com/software/globalization/icu/license.jsp

This product includes software copyright (C) 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 (c) 2002 Ralf S. Engelschall, Copyright (c) 2002 The OSSP Project Copyright (c) 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 (c) 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.

The product includes the zlib library copyright (c) 1995-2005 Jean-loup Gailly and Mark Adler.

This product includes software licensed under the terms at http://www.tcl.tk/software/tcltk/license.html.

This product includes software licensed under the terms at http://www.bosrup.com/web/overlib/?License.

This product includes software licensed under the terms at http://www.stlport.org/doc/license.html.

This product includes software licensed under the Academic Free License (http://www.opensource.org/licenses/afl-3.0.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 6,208,990; 6,044,374; 6,014,670; 6,032,158; 5,794,246; 6,339,775; 6,850,947; 6,895,471; 7,254,590 and other U.S. 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.

Part Number: PC-OCH-86100-0002

Page 3: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

Table of Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vInformatica Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Informatica Customer Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Informatica Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Informatica Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Informatica How-To Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

Informatica Knowledge Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

Informatica Global Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

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

Orchestration Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

Process Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

Mapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Orchestration Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Human Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Orchestration Administration Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Orchestration Administration Console Tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

PowerCenter Web Services Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

PowerCenter Web Services Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

PowerExchange for Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

WSDL Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

WSDL Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

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

Configuring the Orchestration Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

IBM DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Oracle RAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Starting the Orchestration Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Configuring LDAP Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Defining the Properties File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Matching Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Attaching Roles to Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Enabling LDAP Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Configuring HTTP Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

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

Designing the Business Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Defining Pools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Defining a Business Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Table of Contents iii

Page 4: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

Adding a Web Service Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Defining Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

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

Processing a SOAP Response with Array Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Sample Business Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Process Initiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Subprocess Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

iv Table of Contents

Page 5: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

Preface

The PowerCenter Orchestration Guideis 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 PortalAs 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, Informatica Documentation Center, and access to the Informatica user community.

Informatica DocumentationThe 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 [email protected]. 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 SiteYou 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.

v

Page 6: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

Informatica How-To LibraryAs 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.

Informatica Knowledge BaseAs 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.

Informatica Global Customer SupportThere are many ways to access Informatica Global Customer Support. You can contact a Customer Support Center through telephone, email, or the WebSupport Service.

Use the following email addresses to contact Informatica Global Customer Support:

[email protected] for technical inquiries

[email protected] for general customer service requests

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

Informatica Corporation Headquarters100 Cardinal WayRedwood City, California 94063United States

Toll Free +1 877 463 2435

Standard RateBrazil: +55 11 3523 7761 Mexico: +52 55 1168 9763 United States: +1 650 385 5800

Informatica Software Ltd.6 Waltham ParkWaltham Road, White WalthamMaidenhead, BerkshireSL6 3TNUnited Kingdom

Toll Free 00 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

Informatica Business Solutions Pvt. Ltd.Diamond DistrictTower B, 3rd Floor150 Airport RoadBangalore 560 008India

Toll Free Australia: 1 800 151 830Singapore: 001 800 4632 4357

Standard RateIndia: +91 80 4112 5738

vi Preface

Page 7: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

C H A P T E R 1

Informatica Orchestration

This chapter includes the following topics:

♦ Overview, 1

♦ Orchestration Designer, 2

♦ Orchestration Server, 4

♦ Human Workflow, 4

♦ Orchestration Administration Console, 5

♦ PowerCenter Web Services Interfaces, 6

♦ WSDL Documents, 7

OverviewUse 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 Functionality Description

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.

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.

Overview 1

Page 8: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

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 DesignerOrchestration 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 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 ExplorerThe 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.

2 Chapter 1: Informatica Orchestration

Page 9: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

The following figure shows web service request parameters in the Process Explorer:

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.

Orchestration Designer 3

Page 10: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

The following figure shows a segment of the Mapper Palette:

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 ViewThe 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 ServerThe 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 WorkflowHuman 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.

RELATED TOPICS:♦ “Initiating the Process” on page 24

4 Chapter 1: Informatica Orchestration

Page 11: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

Orchestration Administration ConsoleThe 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.

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 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 TabThe 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:

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

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.

Orchestration Administrat ion Console 5

Page 12: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

♦ Started. The date and time the instance started.

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

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:

PowerCenter Web Services InterfacesWeb 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.

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

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.

6 Chapter 1: Informatica Orchestration

Page 13: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

♦ 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 ServicesPowerExchange 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 DocumentsWeb 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 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.

WSDL Documents 7

Page 14: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

♦ 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 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

Page 15: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

C H A P T E R 2

Configuring Orchestration

This chapter includes the following topics:

♦ Overview, 9

♦ Configuring the Orchestration Server, 9

♦ Starting the Orchestration Server, 11

♦ Configuring LDAP Authentication, 11

♦ Configuring HTTP Protocol, 13

OverviewInformatica 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. For more information, see “Configuring the Orchestration Server” on page 9.

♦ LDAP authentication. For more information, see “Configuring LDAP Authentication” on page 11.

♦ HTTP protocol. For more information, see “Configuring HTTP Protocol” on page 13.

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

On UNIX:

<PowerCenter Installation Directory>/OrchestrationServer/extras

Overview 9

Page 16: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

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:

-or-

Type 0 to quit.

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

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.

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

Entry Database

1 Oracle

2 Microsoft SQL Server

3 IBM DB2

Configuration Parameter 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 are configuring an Oracle database, you must provide an SID.

10 Chapter 2: Configuring Orchestration

Page 17: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

Complete the following 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.

Complete the following steps to configure the run-time repository on Oracle RAC:

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)))"

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

To start the Orchestration Server on Windows:

Click Start > Orchestration Server > Informatica PowerCenter 8.6.1> Services > Start Informatica Orchestration Server

To start the service on UNIX:

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 authenticate Orchestration Server, Human Workflow, and Orchestration Console users.

Starting the Orchestration Server 11

Page 18: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

Defining the Properties FileThe 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:

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

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=TopologyManagement,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

12 Chapter 2: Configuring Orchestration

Page 19: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

Attaching Roles to UsersTo 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 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

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

Configuring HTTP Protocol 13

Page 20: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

♦ 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

Page 21: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

C H A P T E R 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, 18

♦ Processing a SOAP Response with Array Data, 19

♦ Sample Business Process, 20

♦ Rules and Guidelines, 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 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.

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

Business Process Components 15

Page 22: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

♦ 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 ProcessThe 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 PoolsA 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 ProcessDefine 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 OperationTo 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 operation to the business process, create a pool for the service. Drag an operation from the Process Explorer to the pool.

Defining FormsThe 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

16 Chapter 3: Orchestration Business Process Models

Page 23: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

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 MessagesThe 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 ProcessAfter 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

♦ 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 ServersWhen 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.

Designing the Business Process 17

Page 24: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

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

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. You can configure an activity to execute only if a set condition is true. For example, a participant receives a price

18 Chapter 3: Orchestration Business Process Models

Page 25: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

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

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:

Processing a SOAP Response with Array Data 19

Page 26: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

♦ 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 ProcessThe 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.

Figure 3-1 shows the sample business process diagram:

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

Figure 3-1. Sample Business Process Diagram

Informatica Pool

Orchestration Server Pool

Users Pool

20 Chapter 3: Orchestration Business Process Models

Page 27: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

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

The following figure shows the subprocess in the business process model in Figure 3-1 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.

Sample Business Process 21

Page 28: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

Rules and GuidelinesUse 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.

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

22 Chapter 3: Orchestration Business Process Models

Page 29: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

I N D E X

Aactivate

Orchestration process command 5Administration Console

Orchestration 2

Bbatch web services

description 7BPEL

description 1BPMN

description 1

HHTTP protocol

configuring Orchestration server 13human tasks

Orchestration 1Human Workflow

functionality 1Orchestration 2

IInstances tab

Orchestration Administration Console 5

LLDAP authentication

configuring with Orchestration 11

MMapper

Orchestration 3Mapper Palette

overview 3Mapper View

Orchestration Designer 3, 4

OOrchestration

activating a process 5Administration Console 2configuring LDAP authentication 11configuring Orchestration server 9Human Workflow 2Mapper view 3overview 1

Process Explorer 2resuming a process 6retiring a process 5run-time repository 2starting a process 5suspending a process 6terminating a process 6

Orchestration Administration Consoleaccess URL 20Instances tab 5Process tab 5tabs 5

Orchestration Designercomponents 2description 2pools 16

Orchestration serverconfiguring after installing 9configuring HTTP protocol 13configuring on IBM DB2 10configuring on Oracle RAC 11description 2starting the server 11

Ppools

Orchestration Designer 16PowerExchange for Web Services

description 7Process Explorer

Orchestration 2Process Tab

Orchestration Administration Console 5

Rreal-time web services

description 7resume

Orchestration process 6retire

Orchestration process command 5run-time repository

Orchestration 2

Sservice orchestration

description 1start

Orchestration process command 5start message

Orchestration event 16suspend

Orchestration process 6

Tterminate

Orchestration process 6

Index 23

Page 30: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

Wweb service consumer

PowerExchange for Web Services 7web services

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

Web Services Providercomponents 6

WSDL filesOrchestration 7

24 Index

Page 31: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation

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.

Page 32: Informatica Orchestration Guide - GerardnicoInformatica Documentation Center, and access to the Informatica user community. Informatica Documentation. The Informatica Documentation