Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Oracle BPM Suite 11g Developer's cookbook
Oracle BPM Suite 11g Developer's cookbook

Oracle BPM Suite 11g Developer's cookbook: Over 80 advanced recipes to develop rich, interactive business processes using the Oracle Business Process Management Suite with this book and ebook

eBook
€29.99 €42.99
Paperback
€53.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Table of content icon View table of contents Preview book icon Preview Book

Oracle BPM Suite 11g Developer's cookbook

Chapter 2. Process Implementation

In this chapter, we will look at how developers implement the process. This chapter answers the question "How do you move from a model to a running process?", which automatically routes tasks, brings the right forms, applies rules, stores data, and so on.

The main tool to be used is BPM Studio, which you have used in Chapter 1, Process Modeling, while developing the model as a Process Analyst. You will focus on implementing the model. However, the same model that was developed as a Process Analyst will be used. You can switch gears as you are now a Process Developer and are going to implement a running process.

This chapter will focus on the implementation tasks and cover the following topics:

  • Defining an Interactive task

  • Generating a Task Form for an Interactive task

  • Defining an Interactive task for the Finalize activity

  • Creating a common Interactive task

  • Generating a common Task Form

  • Assigning the same Human Task to different Interactive tasks

  • Creating Data associations...

Introduction


BPM is a strategy for managing and improving the performance of a business through continuous optimization of the business processes in a closed loop cycle of modeling, implementation, simulation, execution, and measurement. The typical life cycle for BPM is shown as follows:

The process model created in Chapter 1, Process Modeling, has to be implemented before it can be executed on the BPM runtime engine. The Process Developer/IT Developer role is responsible for the implementation. Implementation of the process model involves the creation of implementation artifacts, creation of data types and data mapping, handling of exception conditions, transactional conditions, and compensation logic.

For human interactions managed by the BPM engine, the Human Task implementation artifacts and their associated user interfaces have to be implemented. In addition, the roles have to be mapped to an LDAP user or group before deployment. Similarly, the business rules also have to be implemented...

Defining an Interactive task


An Interactive task adds human interaction in the BPMN process. This recipe will delve into defining an Interactive task.

Getting ready

User tasks are tasks that need user interactions. Check the model that you have created. Rectangle green boxes represent the User tasks. They are also called Interactive tasks.

How to do it...

To implement a User task, you need to define a service component called Human Task, associate it with the activity, and then map data into and out of the activity. As we mentioned earlier, you must have already defined the Business and Data objects. As a developer, you will perform the following activities for implementing a User/Interactive task:

  • Defining a Human Task

  • Binding it to an activity

  • Mapping data input and output to the activity

There are two approaches to working with Human Tasks in Oracle BPM:

  • Creating the Human Task using the SOA Human Task editor

  • Creating the Human Task using the simplified interface that Oracle BPM provides

You...

Generating a Task Form for an Interactive task


Now we have a Human Task created for the User task and they are connected as well. However, when this task is assigned to someone who performs an action on it, he/she must have a user interface to interact with. We will now develop a user interface like an ADF Form for interaction.

How to do it...

In this section, you will learn how to create a Task Form for an Interactive task:

  1. 1. Launch BPM Studio.

  2. 2. Navigate to BPM Project Navigator.

  3. 3. Expand the SalesToContractDemo | Business Catalog | Human Tasks folder to examine the newly created Task Service. You can click on the Types folder to see the associated types.

  4. 4. Double-click the EnterQuoteDetails.task file to open the Task editor with the Task Service definition.

  5. 5. Click on Auto Generate Task Form from the Create Form pop-up, found at the top of the Task Form.

  6. 6. Task Forms are kept in a separate project, as they have different dependencies and deployment requirements. Hence it will open a...

Creating a common Interactive task


The following screenshot shows the final modeling process:

Interactive tasks such as Business Analyst Review, Approve Deal, and Approve Terms share common outcome and payloads. So you can create one Task Form and one Task for them and reuse it.

How to do it...

In this section, you can create a common Interactive task as follows:

  1. 1. Click on the project name in the project navigator, as show in the following screenshot. This will open the modeled project in the designer.

  2. 2. Right-click the Business Analyst Review activity and select the Properties window and then the Implementation tab:

  3. 3. Click the + symbol to create the Task Service.

  4. 4. Enter the name as ApproveQuote.

  5. 5. Select the Pattern as Simple.

  6. 6. Enter the title as Approve Quote and add the parameter quote with the Editable checkbox checked.

  7. 7. Let Outcomes be default— APPROVE, REJECT.

  8. 8. The Approve Quote properties dialog looks like the following screenshot:

  9. 9. Click OK.

  10. 10. When you have finished these...

Generating a common Task Form


Now, we have a Human Task created for the User task, and they are connected as well. However, when this task is assigned to someone who performs an action on it, he/she must have a User Interface to interact with. You will develop a User Interface like an ADF Form for interaction. The three tasks will use the same Task Form for interaction.

How to do it...

In this section, you will learn to generate a common Task Form:

  1. 1. Launch BPM Studio.

  2. 2. Navigate to the BPM Project navigator.

  3. 3. Expand the SalesToContractDemo | Business Catalog | HumanTasks folder to examine the newly created Task Service. You can click on the Types folder to see the associated types.

  4. 4. Double-click the ApproveQuote.task file to open the Task Editor with the Task Service definition.

  5. 5. Select Auto-Generate Task Form from the Create Form drop-down menu. Name the project ApproveQuoteUI.

  6. 6. Click OK. When you click OK, several actions will take place such as creating a new project, creating the...

Assigning the same Human Task to different Interactive tasks


Interactive tasks, including Business Analyst Review, Approve Deal, and Approve Terms, share common outcomes and payloads. So you will create one Task Form and one task for them and reuse it. You have already created a Human Task, Approve Quote. As Approve Deal and Approve Terms share a common payload, Business Analyst Review, you will use the same Human Task as their Interactive task too.

How to do it...

You can assign one task to different Interactive tasks as follows:

  1. 1. Click on Process in the Project navigator.

  2. 2. Right-click on the Approve Deal User task and select Properties.

  3. 3. From the Implementation tab, select the magnifying glass icon. Select Approve Quote from the list and click OK to return to the dialog.

  4. 4. Give a new title to the Human Task:

  5. 5. Click OK.

  6. 6. When you have finished following these steps, click Save.

  7. 7. Repeat the preceding steps for the Approve Terms Interactive task. Back in the Approve Terms dialog...

Creating Data associations


Whether you have used the BPM Design Editor or Human Task editor to define the Human Task, you need to check the Data associations and make sure they are correct. The application knows what Data object types are in the Human Task and will list them for you in the center area, but you may need to specify exactly which Data objects should be mapped to each type as input and output.

Data associations are used to pass the information stored in Data objects in the following contexts:

  • To and from another process or service invoked from a BPMN process

  • In a Human Task service, to and from an Oracle Business Rule

  • To and from a script task

You are doing it here for a Human Task. You use Data associations to define the input and output from a flow object (like Human Task) to an external service or process.

Note

It is important to note that although the inputs and outputs are defined in the Data associations for a flow object, the defined values are passed to the implemented...

Implementing service tasks


If you need to communicate to other processes and services, you can use service tasks. You have added a service task (Save Quote) while modeling as a Process Analyst, as you were aware at that point of time that your process will need to invoke a service. Now, as a Process Developer, you can implement the necessary services. You can use the service task to invoke other BPMN processes, BPEL processes, SOA service adapters, and Mediators that are exposed as services.

In our example, the SaveQuote activity is a service task. It represents an automated (or system) invocation step.

The service task has similar behavior to the Send and Receive task pair and the Message throw and Catch event pair. The primary difference is that the service task is used to invoke processes and services synchronously.

How to do it...

You can use a composite editor to create services, and the SOA resource palette lists the type of service components and adapters you can configure. You will...

Configuring a Data association for conditional flow


In this recipe, you will create and configure a Data association for conditional flows, which defines the flow the BPMN process token will take.

Getting ready

To implement the Conditional switch:

If: Business Analyst Review Required = Yes, then proceed to Business Analyst Review User Task

Else: Proceed to Approvers Review

You have created a process Data object, BusinessAnalystReviewRequired, to store values, as the evaluation is determined by the expression defined for the outgoing conditional sequence flow.

If this evaluates to true, then the process flow proceeds down the Yes path (Towards the Business Analyst Review User task). If it evaluates to false, then the process flow proceeds down the path of the default outgoing sequence flow.

The condition in the sequence flow will be based on values of the process Data object BusinessAnalystReviewRequired

If: BusinessAnalystReviewRequired= True, then choose the sequence flow 'Yes'

Else:...

Left arrow icon Right arrow icon

Key benefits

  • Full of illustrations, diagrams, and tips with clear step-by-step instructions and real time examples to develop Industry Sample BPM Process and BPM interaction with SOA Components
  • Dive into lessons on Fault ,Performance and Rum Time Management
  • Explore User Interaction ,Deployment and Monitoring
  • Dive into BPM Process Implementation as process developer while conglomerating BPMN elements

Description

Oracle Business Process Management Suite is a complete set of tools for creating, executing, and optimizing business processes.Oracle BPM Suite 11g offers the flexibility that business demands, hand-in-hand with the power IT requires. The result is an agile platform that brings together your existing applications, enabling you to react quickly to new business requirements.With this cookbook we will develop rich, interactive business processes using the Oracle Business Process Management suite.With Oracle BPM Suite 11g Developer's Cookbook, a common process model based on BPMN is presented to the specific role assigned to readers in each chapter. Explore Oracle BPM 11g with Modelling, Implementation, Simulation, Deployment, Exception Management, BPM and SOA in Concert, Advanced Rules and Human tasks, End User Interaction and Run-time.Oracle BPM Suite 11g Developer's Cookbook will help readers learn BPM 11g through a Real World Sample Process.This book is divided into four sections: the first section, Modeling, lays the foundation and demonstrates how to implement the Modeling of Business processes for a Use Case of a Fictitious Organization which needs BPM to be implemented at their site (with data objects and information handling). In the second section, Implementation, we learn about Process Implementation, Human Interaction, Business Rules, and much more. In the third section, Measuring, we learn about Post Process Development, Performance Analysis and Simulation Models. In the last section, Deployment, Migration and Run-Time, we learn deployment and migration, and Post Deployment Run-Time.

Who is this book for?

If you are a BPM,Oracle SOA or Oracle Fusion Applications - developer, designer, architect, end-user looking to develop BPM solutions without impediments, then this is the best guide for you. Book assume that you have fundamental knowledge of BPM.

What you will learn

  • Dive into BPM Process Implementation as process developer while conglomerating BPMN elements
  • Deploy the BPM Process to Run-Time using BPM Studio
  • Amalgamate Decision Components into the BPM process
  • Design Advanced Human-Centric workflows infusing Human Task service components
  • Enmesh Process Optimization using Process Simulation
  • Develop Rich User Interface using Oracle ADF for BPM Process
  • Manage Error Inference in BPM process
  • Manage, Monitor, and Administer BPM Process
  • Witness BPM and SOA in Concert
Estimated delivery fee Deliver to France

Premium delivery 7 - 10 business days

€10.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Apr 25, 2012
Length: 512 pages
Edition : 1st
Language : English
ISBN-13 : 9781849684224
Vendor :
Oracle
Category :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to France

Premium delivery 7 - 10 business days

€10.95
(Includes tracking information)

Product Details

Publication date : Apr 25, 2012
Length: 512 pages
Edition : 1st
Language : English
ISBN-13 : 9781849684224
Vendor :
Oracle
Category :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 123.97
Oracle BPM Suite 11g Developer's cookbook
€53.99
Oracle BPM Suite 11g: Advanced BPMN Topics
€20.99
Oracle Service Bus 11g Development Cookbook
€48.99
Total 123.97 Stars icon
Banner background image

Table of Contents

11 Chapters
Process Modeling Chevron down icon Chevron up icon
Process Implementation Chevron down icon Chevron up icon
Process Deployment and Testing Chevron down icon Chevron up icon
Business Rules in the BPM Process Chevron down icon Chevron up icon
Human Workflow in BPM Process Chevron down icon Chevron up icon
Process Simulation Chevron down icon Chevron up icon
Developing UI using Oracle ADF Chevron down icon Chevron up icon
Exception Management Chevron down icon Chevron up icon
BPM and SOA in Concert Chevron down icon Chevron up icon
End User Interaction Chevron down icon Chevron up icon
Manage, Monitor and Administer BPM Process Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.2
(5 Ratings)
5 star 20%
4 star 80%
3 star 0%
2 star 0%
1 star 0%
IIC Jun 18, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Excellent
Amazon Verified review Amazon
Serafeim Karapatis Jul 26, 2012
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
The book raises immediate interest, especially when the subtitle states that it contains "over 80 advanced recipes to develop rich, interactive business processes using the Oracle BPM Suite". But is this the case ? What's its positioning against the fellow Packt title of Getting Started with Oracle BPM Suite 11gR1 - A Hands-On Tutorial ?Let's start by looking briefly into the material of the book. Content flows in parallel with the development of a case study which is about a Sales Quote process of a fictitious company. It is rather fair to say that the case study is not a particularly innovative as the official Oracle's BPM reference process flow is based on a similar process. Starting from the modeling phase of the solution, and then expanding it in the areas of business rules, human tasks and calling external services, the book covers different and very important angles in the BPM development. Other vertical concerns, such as Exception Management, Business Monitoring and Process Simulation occupy dedicated chapters. For each point or recipe to cover, there is a preceding description of the subject, a solution how-to section, a how it works paragraph and finally pointers for further information. This is a very successful layout frame, which I enjoyed immensely in the Nikos Charalambides work ( Oracle JDeveloper 11gR2 Cookbook ) but this time, the recipes are much more simplified, do not cover the latest product features or provide explicit best practices. Details of the contents of the book chapter by chapter:The first chapter (Process Modeling) offers a brief description of the case study and a draft drawing of the process with almost all its elements. It is therefore a short and deep-dive into BPM Suite, especially for those who are already acquainted with it and have the basic knowledge of XML, Web Services and so on. The second chapter (Process Implementation) makes ''a quick coverage of Human Tasks. This chapter is followed by Process Deployment and Testing in which our process is deployed and being monitored in the runtime.Then comes the business rules component of Oracle SOA Suite Platform (Business Rules in the BPM Process) into play with a concrete and accurate coverage. The book will compensate its readers in the next chapter with a fairly good description of Human tasks (Human Workflow in the BPM Process), the business-driven simulation of the entire process (Process Simulation) and the customization of Human tasks using Oracle ADF (UI components and task flows) Especially Chapter 7 ( Developing UI using Oracle ADF) is excellent.The next chapter (Exception Management) deals with exceptions from the BPM and SOA Suite perspectives, while the interaction between the two is the subject of a very good chapter 9 (BPM and SOA in Concert) There is also a special chapter on the functional aspects of the BPM Workspace and Webcenter Process Spaces that I do not think are of special relevance to developer audience. Just before the end comes another good chapter on extracting business intelligence and monitoring in operational terms the BPM Suite in collaboration with Oracle BAM. Also the Chapter 11 (Manage Monitor and Administer BPM Process) refers to the administrator tools for the platform (eg, fault management, notifications, deployment, etc.) It would be rather preferable to split this chapter into two parts, one covering the operational and the other the technical aspect of the BPM Suite management.The first appendix (Oracle BPM - Application Development Life Cycle) focuses on the roles, responsibilities and steps to be taken for carrying out a BPM project. The second (Approval Management) is a good example of a dynamic human task assignment using business rules and Java.Having now covered all chapters of the book, it is inevitable to compare it with the other title of Packt about BPM Suite ("Getting Started with Oracle BPM Suite 11g R1 - A hands-on tutorial") Even though the latter is older, I find it more more complete, versatile and consistent. Of course between the two books there is some overlapping but still a purchase of both might worth it. A side-note complaint about the book has to do with the online code downloads annex: one would expect the full source code of the interim solutions per chapter. Instead, all you poorly find is the xml schema (xsd) of the case study...
Amazon Verified review Amazon
高橋さん Apr 30, 2016
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
利用するBPMバージョンは11.1.1.5 ベースで記述されていますが、11.1.1.7で試して十分に動作させることができました。(最新バージョンに比べ、画面の構成や設定方法が若干異なる箇所があるため、自分で考えなければならない箇所もあります)Oracleで提供されているサンプルをベースにしており、BPMN、Business Rule、ADF、等々、基本的な開発要素をとりあえずは一通り試すことができると思います。なので、まずはOracle BPM でどんなことができるかを体感してみたい方にはおすすめです。
Amazon Verified review Amazon
W Boudville Aug 01, 2012
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
I am impressed by the amount of effort that Oracle has put into building out this BPM 11g product. The sheer arbitrariness of a business process must have been a headache to code a framework to. It appears that Oracle has admirably let the developer easily lay out complex interactive tasks. Take the example figure on page 93 of a screenshot of a final modelling process. The user interface lets you intuitively put together such a process that consists of several (many!) interactive tasks into a compound Task, explicitly spelt with a capital T in the book's convention. Of course, this naturally and immediately suggests that this new composite Task might in turn be a single task in a higher level of other tasks. Hence the expressive power of the user interface is vast. Perhaps effectively unbounded!The book might be favourably compared to earlier texts on Service Oriented Architecture, like this one by Erl, Service-Oriented Architecture (SOA): Concepts, Technology, and Design from almost 10 years ago. That earlier text while stuffed with information, simply lacks the specificity and detailed user interface building ability of Acharya's book. It is instructive to thumb through both side by side. Progress has been considerable, and one should certainly hope so. At the simplest level, Erl lacked any nifty GUI to construct a business process. Instead, much space was devoted to explaining at the XML level how a BPM or SOA would be fitted together. Whereas Acharya shows no XML; mostly focusing on explicating the resources of the GUI.Granted, Acharya is still not an easy read. But you can now focus on the business essentials of a process and safely ignore the lowest level of actually explicitly constructing XML snippets. The latter is highly error prone and Erl's book made it hard to see the larger picture.
Amazon Verified review Amazon
Lucas Jellema Jun 04, 2012
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
The breadth of the book is impressive. Vivek has done a great job in describing many topics and aspects of the BPM Suite story. Along with the impressive scope, he also manages to provide a lot of details and in depth descriptions, for example in his discussion of business indicators and BAM, configuration of fault policies and on the development of User Interfaces with ADF to support Human Tasks. He uses a single case throughout the book - a case that is clear and comprehensive. Not too simplistic to become trivial and neither too complex to overburden the reader. Both business and process analysts as well as developers will benefit from this book - although I think that the former roles may find the level of technical detail a little overwhelming (the discussion of Data Objects for example very early on mentions XSD - too early in my opinion).On the other hand, even though the book is very recently published, it does not discuss the very important new features in BPM Suite first introduced in the PS 4 Feature Pack (August 2011) and release as part of PS 5 (February 2012) (apart from a two sentence reference to the ability to do correlation for BPM instances). Subjects such as draft processes, instance migration and altering running instances (as one way to add improvisation) should in my opinion have been part of this book. I also find the discussion of the Composers (both the SOA and Process Composer) wanting: when it comes to run time, business driven agility, these tools are very valuable. Yet they are hardly mentioned at all. The same applies to events and the event delivery network (at the same time JMS based interaction is discussed at length - arguably less business level than EDN).Although many topics are explained as well as demonstrated in a large number of useful screenshots, some subjects are mentioned in passing but not explained at all -leaving the reader a little bewildered about what just hit them.All in all when you want to get a pragmatic introduction to Oracle BPM Suite that gets you started with doing things and also helps you understand many of those things, this book is an excellent investment. Even for readers who may not do BPM Suite but only SOA Suite, this book is very useful because of its introduction and detailed discussion of Business Rule, Human Task and ADF based User Interfaces for Human Tasks and several examples of fault handling, adapter usage and run time monitoring and configuration.The central case in the book is a business process for responding to a Sales Quote request. Some customer wants to order certain products. The process for determining the offer to be made to the customer - including the discount, the final price, additional terms etc. - is modeled and implemented over the subsequent chapters. This includes the implementation of the Business Rules and the User Interfaces for the Human Tasks. It even includes configuration of a File Adapter for writing the Quote details to a file.Packt publications over the past months have adopted a structure based on recipes. For example the OSB 11g Development Cookbook that I recently reviewed is organized that way - and for that particular book it works very well. This book on BPM Suite is best read back-to-back, so I feel the recipe structure does not help a lot.The ChaptersChapter 1 (Process Modeling) provides the foundation for the book. It describes the relative position of BPM in the enterprise, linked to Business Strategy and Enterprise Architecture. It describes the phases an enterprise will go through in applying BPM. It then drills down a bit to talk about the activities and roles in doing BPM Modeling. It discusses when to use BPA Suite (IDS Scheer's ARIS based) and when to use BPM Studio. It briefly mentions Process Composer and MDS. It introduces the organization of the book's business case - FusionNX - and the SalesQuote business process under scrutiny in the book. After these initial necessities, on page 21 the modeling of the process flow starts in anger. On page 22 the first reference to XSD is made (way too early in my opinion, and not explained at all). The SalesQuote process that the book will further explore and implement is introduced step by step and the visualization of the process is provided. Subsequently, the reader is invited to start JDeveloper and open BPM Studio to model the business process that was just introduced - pretending to play the part of the process analyst.One can argue about best practices. One practice I advocate is to not refer to individual users in applications or business process definitions, but only to roles. The mapping between roles and users is made elsewhere, outside the process implementation. The author decided to not apply this practice, but instead include direct references to users (from the WebLogic Server internal LDAP directory). To make things even more confusing, the users have role-like names such as salesrepresentative and businessanalyst .When the organization units have been created and members have been added, when the business calendar with working hours and the holiday rules have been created, then on page 39 the business process itself is created. In a brisk pace the first activities are added as are some gateways and sequence flows. The first data object is defined - called BusinessAnalystReviewRequire. Here is the first of several examples in the book where naming conventions have not been applied rigorously and some confusion may arise. In this case, an added d - BusinessAnalystReviewRequired - would have been more logical. More confusing choices with regards to naming occur throughout the book (for example in the chapter on business rules).After Exclusive Gateways the Parallel Gateways are also introduced. Additionally, interaction with other processes and services is introduced - through Service Tasks.The author chooses to not only discuss the process activities, gateways and flows but also dive into the details of data objects and sequence flow conditions. For a technically inclined reader, that is perfect - because it quickly makes the story more tangible and concrete. However, a process analyst may not feel comfortable with a discussion of booleans and strings and the example of an XPath expression so early on. (it is my experiences that there is a fairly sharp division between implementors/developers on the one hand and analysts/modelers on the other. Variables, data types and expressions are very much not part of the comfort zone for that latter group. Perhaps it should have been introduced a little bit later on in this book.The final part of this first whirlwind chapter is a discussion of MDS and the publication of the process from BPM Studio (== JDeveloper) to MDS to share it through Process Composer. It would have been nice to also describe and show the Process Composer end of things; the chapter now leaves you with the instruction of connect to MDS and deploy from BPM Studio but does not take that next step.Undoubtedly however, at the end of this chapter (page 77) the author has accomplished an awful lot. The reader may have to read the chapter twice, but he will most certainly have made a lot of progress in getting going with his first BPM process. To the point where we could already simulate the process! However, the author has chosen to postpone that discussion until chapter 6.Chapter 2 discusses process implementation. This includes User Interaction activities that translate to Human Task components at SOA Composite application level. The default task forms are generated and outcomes are defined. The next step is a little bit advanced (too advanced for this stage in the book perhaps): how to create a common task and task form that can be used for several user interaction activities in the process. Next Data Associations are created - mappings between Process Data Objects and the Input and Output for process activities. Then a Service Task is implemented by creating a File Adapter service to write data from the process to the file system. This is a very concrete implementation task, one that will be beyond most process analysts I believe. Note: in a real system I would adopt the practice of not linking a business process directly to a technical adapter, but inserting a Mediator component in between. I can see how that would unnecessarily complicate the chapter - yet now it seems to almost encourage very direct dependencies from the process on the fairly technical directly environment dependent adapters.At the end of chapter 2, the process is designed and implemented and ready to be deployed. It has flow, logic, human interaction and even a service that will write data to the file system.Chapter 3 has the reader deploy and initiate the process and subsequently act on the tasks assigned to various users. It demonstrates the BPM Workspace, the generated Task Forms and the Enterprise Manager FMW Control console.This illustration shows the visual trace of a process instance that was triggered and executed:The last section of the chapter is titled Debugging. A little deceptive as true debugging is not supported in the BPM Suite. The section really explains how to configure the most fine grained audit level in the EM console.Chapter 4 is on Business Rules. From my own experience of writing a book on Oracle SOA Suite, back in 2010, I remember all too well that Business Rules are a tricky topic. It is hard to explain what the Business Rules are and how they work. It is easy to either provide too little or too much detail. The rules are not as intuitive as one would expect from a concept and a tool that is so clearly aimed at business users.The author describes both types of business rules: the (simple) IF/THEN rules and the 'clustered' Decision Tables. He introduces the latter using the business rule CheckCustomer that a few pages later is suddenly called CustomerCheck:This rule needs to decide on the approval flow that is required and the effective discount that is awarded given the type of the customer (new or known) and the quantity of the quote. So far so good. However, the author makes things a little confusing in the ensuing discussion.he introduces the ApprovalFlow Data Object with several properties including Tier1ApprovalNeeded. However, this property is not assigned any value but false and therefore seems superfluous. It caused me some confusion.he introduces a global variable - a constant - to compare the value of the Quote.CustomerType with in order to determine if the customer type is New; this global is called CustomerType - rather than something like NewCustomType or any other name that explicitly refers to New. Again, quite confusinghe creates an incomplete end result: a decision table that does not cater for the case where the customer is not new and the quantity is under 50; again, confusing for someone trying to figure out what all of this means.In the second example, the business rule DiscountCheck that is used to determine whether the size of the discount in conjunction with the type of Customer (premium or not) is discussed. Here too the author is a little sloppy: he discusses the cases where the discount is higher than the threshold (spelled Threashold) and the custom type is Premium or not, but he fails to discuss the situation where the discount <= threshold.Not only is the logic incomplete, the Business Rule will actually return a fault when invoked for cases where the discount is not over the threshold. Also, the name of the global constant used for holding the discount threshold value is Discountvar, a vague and unclear name. This would also be the perfect opportunity to talk about the SOA Composer where at run time the value of this threshold value can be altered. Vivek hints at the possibility of modifying the business rules at run time - a very powerful notion I believe - but unfortunately he does not explain nor demonstrates this in any detail. I believe that a missed opportunity.The author demonstrates how the rule can be tried out by starting the business process with different input values. He could also have demonstrated testing the business rule using a test function inside JDeveloper - the easier way to test an individual business rule.Note that despite my criticism, the chapter does a fair enough job of making clear what business rules can do and how they are configured.Chapter 5 - Human Workflow in BPM Process continues the introduction on Human Interaction activities in chapters 1 and 2. It introduces the Human Workflow Services in the SOA Suite - including aspects such as allocation (aka assignment), escalation and notification. This chapter does not really discuss any BPM specific details. It does a great job of explaining some Human Task theory that applies to anyone using Human Task components in the SOA Suite. For example Task Stages (Sequential and Parallel) and Participant Types such as user, role, management chain (with dynamically determined number of levels) or dynamically generated list of task participants produced using business rules. It talks about Approval Groups defined at run time through the BPM Workspace application and about Adhoc Routing. All in all a great overview of some quite advanced features of the Human Task component. Note that Appendix B continues on this discussion by introducing AMX - Approval Management Extension - and providing some even more advanced examples of creating task approval routing.Chapter 6 - Process Simulation. Vivek uses a lot of words to explain why he discusses simulation only so late in the book. It is as if a reviewer suggested he move it more to the front and he did not want to do that and instead tries to justify that decision. I feel simulation could have been discussed earlier on. The process analyst can make perfect use of simulation and could already to do right after chapter 1. I fear that this analyst will not make it through chapter 2 all the way to this chapter 6, which is unfortunate. Despite his many words of defending his choice, Vivek does not convince me.He argues that "Implementation before simulation is helpful" using various reasons that more or less amount to: implementation results in data that can be used for better simulation models. However, he does not demonstrate how that works: which data becomes available by first implementing for simulating and how can that data be fed into the simulation? The question is relevant: the simulation is configured for example with percentages of process instances that go in each direction at gateways and with the average time required to complete an activity. Deriving these values from real, accurate data rather than just feeding in some best guesses would be perfect. Vivek writes "It [Oracle BPM Simulation] actively assists the user with setting model parameters to match known aggregated metrics of the as-is process", but he omits an explanation of exactly how this is done - deriving the metrics and loading them into the simulation model.The description Vivek gives of how simulations are set up and run is very clear. He makes a good case explaining why simulating the process can be instructive. His primary example of improvements that can be achieved is by finding that additional resources for specific human tasks will reduce the average time to completion by a staggering degree. He also concludes that by doing so, a more than substantial cost reduction would be realized: from $17000 to $3000. He does not explain how adding resources will decrease the total cost - and that might be the most valuable piece of advice in the entire book. In addition to adding resource where it helps the most, BPM Process Simulation will also typically help spot opportunities for parallel paths in the process instead of currently sequential flows; such findings are typically more dramatic and less obvious than adding resources; I would have liked such an example too.Chapter 7 Developing UI using Oracle ADF is not really about BPM Suite. Developing User Interfaces with ADF, to support Human Tasks, is not strictly speaking a BPM topic but a much more general subject. That makes Chapter 7 no less useful - quite the opposite in fact. It goes a long way in explaining the various approaches for creating an ADF user interface for a Human Task defined in a SOA Composite application - including generation of the task form, using the task wizard and leveraging the task data control for individual bits and pieces of the task definition. It even explains routing between ADF Faces pages and using a Train (multi step wizard) component. The final segment of the chapter is called Creating a Task form with ADF Business Components. Here it seems the author had a plan but in the end decided to do something else. The text introduces ADF Business Components - a framework for interacting with a relational database - and then goes on to use the Database Adapter in SOA Suite to connect a BPEL process to a PL/SQL procedure. The BPEL process exposes its service interface as a web service. The chapter then uses the ADF Web Service Data Control to create a data control for the web service that represents the BPEL process that virtualizes the database adapter that represents the PL/SQL procedure. Why the ADF Business Components framework is not used, is not explained. The Data Control is given the name OpportunityVO - suggesting an association with ADF BC that also uses the VO abbreviation for ViewObject. However, that association does not really exist. Note that the next erroneously states Data Source Name instead of Data Control Name. Not a biggy, but confusing for novice readers.The chapter demonstrates how this Data Control can be leveraged to add fields based on the Web Service (aka BPEL process aka PL/SQL procedure) output to the Task-supporting-ADF-pages - which is neatly done. Quite cool in fact.The chapter then describes the creation of a real ADF BC Entity and View Object, based on a Database Table - but it never makes use of it, making me wonder why it was discussed at all.Chapter 8 - Exceptions. A clear and straightforward discussion of the Error Catch Event activity used in the business process to handle an exception raised by a service task (upon reception of a SOAP Fault from the Web Service).Subsequently a good explanation of a business event that are raised within the BPM process itself and that is handled by an Event Handler (of type Error as opposed to Timer and Message) at the start of a sub process. The Fault Management Framework in the SOA Suite is intended to provide error handling that is external to SOA and does not impact the SOA/BPEL design or runtime. Even though that framework is quite far removed from the level of the business process - as it deals with system errors, not with business exceptions -the book provides and extensive example of using the Fault Management Framework, including detailed configuration of xml files. The next topic discussed is the Timer Event that can be used to throw a time out exception when a certain period of time has passed (and the scope on which the timer event was specified has not yet been completed). Annoyingly, all activities in this example are misspelled: CatchSLAVoilation, SLAVoilated, ThrowSLAVoilation etc. The example is fine, the spelling distracts a little.The chapter concludes with a demo of all the exceptions (and their handling) at run time. This further clarifies what is already a well explained area.Chapter 9 BPM and SOA in Concert. Of course we have been using BPM and SOA in concert throughout the book. The BPM(N) component that defines the Business Process worked with Human Tasks, Business Rules, Service Components and even Adapters at various points throughout the book. This chapter makes some of that interaction a little bit more explicit.The chapter shows how the BPM process can invoke an asynchronous service task - receiving the call back response at a later point in the process flow. The wording is a little unclear at times: "Invocation is carried out by the throw message event, which is configured to initiate a conversation. The BPMN service engine performs the invocation and callback." It is the remote service (engine) that performs the call back I would think, the BPMN engine handles the response received during that call back - it does not perform it. Unless of course the asynchronous service that is invoked is just another BPM process that has to do the callback.A little later, the text makes clear that when the process has not reached the Catch Message Event activity that receives the call back, when the call back comes in "then the engine waits for the service operation to complete before passing the token to the next flow object in the process". I take this to mean that when the process is specified with: A - throw message Event - B - C - D - catch message event - E - F (where A-F are process activities) and the process is executing C when the call back message is received by the engine, that in that case C is completed, D is performed and only then the message is fed into the process flow. I also suppose, though the book does not explicitly say so, that when D is complete and no callback is received yet, that then the process instance will freeze until the callback is received.A little further on, Vivek writes: "You can use send and receive tasks too for invoking asynchronous services and BPMN processes." (instead of message throw and message catch). He does not make clear what is the difference between the two approaches and why/when you would use one or the other.The synchronous invocation of (what becomes a child) process is discussed - straightforward.Then a somewhat detailed demonstration of how a BPM process can be triggered via JMS. The JMS Adapter is configured - twice: inbound linked to the BPM process and outbound linked from a BPEL process that is used to publish the event that has to trigger the BPM process. I wonder why the author chose this fairly elaborate, technical JMS approach instead of using the Event Delivery Network (EDN) in SOA Suite, that would seem more appropriate. The description though is clear and potentially useful.Chapter 10 End User Interaction. The introduction to this chapter is promising: "Post deployment, it's the end users who will interact with the process by participating in it. In this chapter, you will focus on end-user interaction in the running process. While learning about end-user interaction, you will also experience the power of Social BPM." The chapter is only some 15 pages and it is a bit of a disappointment: it shows some screenshots from Process Spaces and it demonstrates how to create a Poll and an Announcement. But it fails to give an overview of what can be seen about a process instance at run time and how discussion around that 'case' or instance would take place. Nor does it tell us anything about collaboration "on the design of the model" or "task collaboration and is used to view details for all running processes". The introduction of some features of the Business Process Workspace is relevant, but it is only a tiny little bit of information dispensed in this chapter.Chapter 11 Manage, Monitor and Administer BPM Process - the final chapter. It opens with a very good explanation of business indicators, such as counters, dimensions and measures, that process instances can expose and that can be used to report on. The author clearly describes the definition in the business process of the indicators and the measurement marks (the moment on which values are reported). He then demonstrates how in the Business Process Workspace these indicators can be used to create dashboards from. Next, the integration between BPM and BAM is introduced and demonstrated. Again, this is done in great and clear detail.The last part of the chapter is devoted to monitoring and administration via the Enterprise Manager Fusion Middleware Control Console - focused more on technical than on business details. The Audit Level is revisited as is the instance tracing facilities. Fine grained logging is mentioned, but neither illustrated nor explained. A brief discussion on deployment. But no reference to what happens to running instances upon deployment of either an overwriting revision or a new revision. An extension of discussion in chapter 8 on exception handling - showing a 'retry' for a previously failed instance. Configuration of notification settings for a human task.In the section on deployment, Vivek mentions: "You can even attach a configuration plan to include with the archive. The configuration plan enables you to define the URL and property values to use in different environments." And that is all on this subject. Not even a 'read this resource for more details' . It is very valuable, this use of a configuration plan, and I am curious to know which aspects of a BPM process can perhaps be customized in this way. For example the values of constants in Business Rules or the business SLA set in Timer Events.The configuration required to integrate BPM with BAM - leveraged in the first part of this chapter - is now described in detail. Then the definition of organization units and the vacation rules for users; the link between the units and rules that were defined in BPM Studio, 9 chapters ago, and the units and rules that can be maintained through the BPM Workspace is not made clear ( I believe there is no link, frustratingly enough).The final explanation about Flex Fields that can be defined for Human Tasks, mapping values from the task payload to these fields that can be included in the BPM Worklist application to list for tasks and even search on is valuable and again, quite clear.Appendix A is titled Oracle BPM -- Application Development Lifecycle. It seems largely a repeat of information from Chapter 1. I am not convinced it adds anything meaningful.ConclusionIt is an attractive book, providing a fine balance between information, action (hands-on) and background. On the whole: When you want to get a pragmatic introduction to Oracle BPM Suite that gets you started with doing things and also helps you understand many of those things, this book is an excellent investment that I can fully recommend.Even for readers who may not do BPM Suite but only SOA Suite, this book is very useful because of its introduction and detailed discussion of Business Rule, Human Task and ADF based User Interfaces for Human Tasks and several examples of fault handling, adapter usage and run time monitoring and configuration.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact [email protected] with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at [email protected] using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on [email protected] with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on [email protected] within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on [email protected] who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on [email protected] within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela