Preface
Welcome to Oracle BPM Suite 11g: Advanced BPMN Topics. This book brings you concise and focused information on key topics about Oracle BPM Suite, in a small, easy to digest format.
Being about advanced topics, we assume that you are already familiar with Oracle BPM Suite and with BPMN in general. We will not take time to explain common tasks like how to model a BPMN process in JDeveloper, or how to access the implementation properties for a task in a process, for example. We assume that you already know how to do these kinds of tasks. If you do not, you might want to consider reading some of Packt's other great Oracle BPM Suite titles Getting Started with Oracle BPM Suite 11gR1 or Oracle BPM Suite Cookbook to learn these skills.
In particular, we assume that you are familiar with the following concepts:
Process
Process instance
Task/Activity
Event
Throw/catch
Exception
Embedded sub-process
Event sub-process
Business object
Data association
Composite
We also assume that you are familiar with the basic operation of JDeveloper and that you know how to use the component palette, access properties, access various views, and deploy processes. We also assume that you know how to use Enterprise Manager start test instances and review the audit trail of these instances.
We focus on BPMN topics that we have seen, through our experience, that people have difficulty understanding and applying. For each topic, we will present some theory and background information, and then a number of practical examples to help you to practice what you have learned in the theory chapters.
What this book covers
Chapter 1, Inter-process ommunication introduces us to the theory of how processes can communicate with each other and with other components. opics conversations—what they are, the default and advanced conversationsorrelation—automatic and message based, correlation sets and keys, and correlation inside loops and when there are multiple calls hrow and catch events, send and receive tasks, and when to use each essages, signals, and errors ub-processes—embedded, multi-instance, and reusable, and when to use each.
Chapter 2, Inter-process ommunication in ractice presents a series of practical exercises to help you to explore the theory present in . The examples include communicating between processes using messages and correlation, using correlation inside loops, communication between processes using signals, and reusable sub-processes.
Chapter 3, Working with rrays presents both theory and several practical exercises on handling arrays in BPM. Topics include data association, creating an empty array, creating an array with empty elements, creating an initialized array, getting an element from an array, setting an element in an array, appending elements to an array, joining arrays, removing elements from an array, and iterating over arrays—cardinality and collections, sequential and parallel, completion conditions and scope.
Chapter 4, Handling xceptions discusses the theory behind handling exceptions in BPM. Topics include business and system exceptions, boundary events, event sub-processes, exception propagation with embedded sub-processes, call, throw and send, and how BPM exceptions affect the SCA composite.
Chapter 5, Handling xceptions in ractice will guide us through a number of practical examples that help to reinforce the theory in . The examples include implementing a timeout use case with boundary events, implementing a "cancel message" use case, using event sub-processes, and exploring exception propagation in peer processes.
What you need for this book
To run the examples in the book, the following software will be required. You may choose to either download and install the software yourself, or to download a pre-built VM with the software already installed for you.
If you choose to install your own environment, you will need the following:
Oracle BPM server:Oracle BPM Suite 11.1.1.5 with "Feature Pack" patch applied, or a later release. You will need to download both the BPM installer and the Repository Creation Utility. Please refer to the documentation if you are not familiar with the installation process.
Pre-requisites for BPM:Oracle WebLogic Server 10.3.5 or later must be the correct version for the version of BPM that you are using—the last digit for example, 5 must match. Note that release 12.1.1 or later is not compatible with BPM at the time of writing.An Oracle Databaseyou can use the free Oracle 10g Express Edition. Please be sure to read the install guide to make sure you have the correct database settings before you start the installation.
Java Development Kit 1.6.30 or later (1.7 is also acceptable).
Oracle JDeveloper:Oracle JDeveloper 11.1.1.5 with "Feature Pack" patch applied, or a later release. You need to install the SOA and BPM plugins from the Update Center (choose Help/Check for Updates). Note that the JDeveloper version must be exactly the same as the Oracle BPM Suite version. Note that release 11.1.2.0 or later is not compatible with BPM at the time of writing.
If you prefer to download a VM with all of the software already installed, you can download a VM from Oracle at th address:
http://www.oracle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html
Where to download the software from
BPM Suite:
http://www.oracle.com/technetwork/middleware/bpm/downloads/index.html
WebLogic:
http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html
Database:
http://www.oracle.com/technetwork/products/express-edition/downloads/index.html
JDK:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
JDeveloper:
http://www.oracle.com/technetwork/developer-tools/jdev/downloads/index.html
Conventions
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text are shown as follows: "Set the value of the expression to work.number * work.number
".
A block of code is set as follows:
<?xml version="1.0" encoding="UTF-8" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://www.example.org" targetNamespace="http://www.example.org" elementFormDefault="qualified"> <xsd:complexType name="TElement"> <xsd:sequence> <xsd:element name="user" type="xsd:string"/> <xsd:element name="outcome" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:schema>
New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "Switch to the source editor using the Source tab at the bottom of the editor."
Note
Warnings or important notes appear in a box like this.
Note
Tips and tricks appear like this.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply send an e-mail to <feedback@packtpub.com>
, and mention the book title through the subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the errata submission form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website, or added to any list of existing errata, under the Errata section of that title.
Piracy
Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at <copyright@packtpub.com>
with a link to the suspected pirated material.
We appreciate your help in protecting our authors, and our ability to bring you valuable content.
Questions
You can contact us at <questions@packtpub.com>
if you are having a problem with any aspect of the book, and we will do our best to address it.