Book Image

Oracle BPM Suite 11g: Advanced BPMN Topics

Book Image

Oracle BPM Suite 11g: Advanced BPMN Topics

Overview of this book

Oracle BPM Suite is a popular and highly capable business process management system with extensive integration capabilities. BPMN, one of the most widely used process modeling notations, includes advanced capabilities for inter-process communication, working of arrays of data, and handling exceptions. However, these very same areas are often poorly understood. This book gives you the knowledge to create professional process models using these advanced features of BPMN."Oracle BPM Suite 11g: Advanced BPMN Topics" is the only book available that provides coverage of advanced BPMN topics for Oracle BPM Suite, helping to fill in the gaps left by the product documentation, and giving you the information that you need to know to use BPMN to its full potential.This book covers the important theory behind inter-process communication, working with arrays and handling exceptions in BPMN, along with detailed, step-by-step practical exercises that demonstrate and consolidate this theoretical knowledge.Throughout the book we'll cover topics including different types of sub-processes, initializing and manipulating arrays, using the multi-instance embedded sub-process, fault propagation and more.With "Oracle BPM Suite 11g: Advanced BPMN Topics" in hand, you'll gain detailed and practical experience in using the advanced features of BPMN to create professional BPMN processes with Oracle BPM.
Table of Contents (12 chapters)
Oracle BPM Suite 11g: Advanced BPMN Topics
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Creating an initialized array


You can create an initialized array using a Copy operation with XML Literal as the source and a process data object of the array type as the destination. Here is an example of XML Literal that is suitable for initializing an array. You can find this content in the file initializedArray.xml in the code bundle for this chapter.

<exam:array xmlns:exam="http://www.example.org">
  <exam:elem>
    <exam:user>user1</exam:user>
    <exam:outcome>APPROVE</exam:outcome>
  </exam:elem>
  <exam:elem>
    <exam:user>user2</exam:user>
    <exam:outcome>REJECT</exam:outcome>
  </exam:elem>
</exam:array>

Let's try this now.

  1. Add a new Process to your project. Name it as Array2.

  2. Define a process data object named myArray of type Data.Array.

  3. Add a Script activity to the process. Name it InitializeArray.

  4. Open the Implementation tab for InitializeArray and click on Data Associations.

  5. Drag XML Literal on...