Oracle BPM Suite 11g Developer's cookbook - Vivek Acharya - E-Book

Oracle BPM Suite 11g Developer's cookbook E-Book

Vivek Acharya

0,0
51,59 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

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.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 399

Veröffentlichungsjahr: 2012

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Oracle BPM Suite 11g Developer's Cookbook
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Instant Updates on New Packt Books
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Errata
Piracy
Questions
1. Process Modeling
Introduction
BPM Application development lifecycle
User personas
Vision
Model
Implementation
Deployment
Runtime
End user interaction
Process management and monitoring
Modeling business processes with BPM
How to do it...
How it works...
Simulating the BPM Application development lifecycle
How to do it...
How it works...
Modeling a fictitious organization
How to do it...
Creating Business Process Flow
How to do it...
Creating and defining projects
How to do it...
Defining Role and Organization Units
Getting ready
How to do it...
Creating a Role
Associating Roles with members
Creating Organization Units
Associating members to Organization Units
Creating Calendar Rules for Organization Units
Creating Holiday rules
How it works...
Organizing processes using swimlanes
How to do it...
Create Process
Adding swimlanes
How it works...
There's more...
Defining the Start and End of a Process
Adding user interaction to Process Flow
How to do it...
Controlling Process Flow—Defining exclusive gateways
Getting ready
How to do it...
Create User Task
Create a Condition Switch
Create Process Data Object
Controlling Process Flow—Implementing Exclusive Gateways
How to do it...
Controlling Process Flow—Parallel gateways
How to do it...
Controlling Process Flow—Sequence Flows
How to do it...
How it works...
Communicating with external processes and services
How to do it...
How it works...
There's more...
Changing the value of Data objects in your process
How to do it...
Creating Business objects in a Business Catalog
How to do it...
How it works...
Adding documentation to the Flow Element
How to do it...
Creating MDS for BPM
How to do it...
Publishing a BPM Project in BPM Studio to MDS
Getting ready
How to do it...
How it works...
2. Process Implementation
Introduction
Defining an Interactive task
Getting ready
How to do it...
How it works...
Generating a Task Form for an Interactive task
How to do it...
How it works...
There's more...
Generating a Task Form using Launch Task Form
How to do it...
How it works...
There's more...
Creating a Task Form for the Finalize Contract task
Creating a common Interactive task
How to do it...
How it works...
Generating a common Task Form
How to do it...
Assigning the same Human Task to different Interactive tasks
How to do it...
Creating Data associations
How to do it...
How it works...
There's more...
Checking Existing Data associations
Creating Data mappings for Approve Deal and Approve Terms activities
Implementing service tasks
How to do it...
How it works...
How to do it...
How it works...
Configuring a Data association for conditional flow
Getting ready
How to do it...
How it works...
3. Process Deployment and Testing
Introduction
Connecting to the Application Server running SOA Suite
Getting ready
How to do it...
Building and Compiling a BPM Project
Getting ready
How to do it...
Deploying the Project
How to do it...
Testing Process: Triggering the process
How to do it...
How it works...
There's more...
Attaching files and adding notes
Analyzing process instances
How to do it...
There's more...
Instance tracking from EM Console
Debugging the process
How to do it...
How it works...
4. Business Rules in the BPM Process
Introduction
Extending Human Tasks
How to do it...
Adding a Business object
How to do it...
How it works...
Creating a dictionary
How to do it...
How it works...
Defining Globals and Bucketsets
How to do it...
Defining the Rule: Decision Table
How to do it...
How it works...
There's more...
Resolving Conflict
Adding gateways and Human Tasks
How to do it...
Defining the Rule: IF/THEN
How to do it...
How it works...
Testing the rules
How to do it...
How it works...
5. Human Workflow in BPM Process
Introduction
Creating Human Task Service Components
How to do it...
How it works...
Creating task definition and the task payload
How to do it...
How it works...
There's more...
Choosing a Task Owner dynamically
Creating a task payload
Defining assignments—stage and single participant
How to do it...
How it works...
Defining assignments—sequential stage and serial participant
How to do it...
How it works...
There's more...
Creating an Approval Group
Calling RL Functions to act on the task
Defining assignments—management chain participant
How to do it...
Defining Assignments—parallel participant type
How to do it...
Testing the process
Getting ready
How to do it...
There's more...
6. Process Simulation
Introduction
Defining simulation models
How to do it...
How it works...
Defining simulation definition
How to do it...
Running a simulation
How to do it...
How it works...
There's more...
Selecting the running speed
Analyzing simulation results
How to do it...
How it works...
There's more...
Creating Simulation Reports
Reengineering the BPM Process to improve performance
How to do it...
7. Developing UI using Oracle ADF
Introduction
Creating ADF Task Forms
How it works...
How it works...
Creating a task display form
How to do it...
How it works...
Creating a task display form—using individual Drop handlers
How to do it...
Implementing routers
How to do it...
How it works...
Creating Task Form sequence flow
How to do it...
How it works...
Deploying and testing
Creating a Task form with ADF Business Components
Getting ready
How to do it...
How it works...
There's more...
Creating Entity and View objects
Creating a task display form—using a wizard
How to do it...
How it works...
There's more...
Deploying an individual project
8. Exception Management
Introduction
How to do it...
How it works...
Handling Business Exception in a subprocess
How to do it...
How it works...
There's more...
Implementing Catch All
Handling a system exception—Fault Management Framework
How to do it...
How it works...
Use MDS location for Fault Policy files
Handling the timeout exception—Timer event
How to do it...
How it works...
There's more...
Catch all system exceptions
Faulting the process
How to do it...
9. BPM and SOA in Concert
Introduction
Invoking asynchronous service using message events
How to do it...
How it works...
There's more...
Invoking an asynchronous BPMN Process
Send and receive task to invoke asynchronous service operations
Deploying and testing
Invoking synchronous service using service task
How to do it...
How it works...
There's more...
Invoking a synchronous BPM process operation
Calling a BPM process
How to do it...
How it works...
There's more...
Initiating BPM from JMS
How to do it...
Exposing BPMN process as a service
How to do it...
How it works...
There's more...
Invoking BPMN process asynchronous Service
10. End User Interaction
Introduction
Interacting through BPM Workspace
How it works...
Working on the Process Instance
How to do it...
There's more...
Working with Standard Dashboard
Interacting through Process Spaces
How to do it...
How it works...
There's more...
Creating a blog
Creating a poll
Adding log and settings
11. Manage, Monitor and Administer BPM Process
Introduction
Creating a custom dashboard in BPM workspace
How to do it...
How it works...
There's more...
Configuring BPM process cubes generation in a project
Configuring BAM Architect to create custom dashboards
How to do it...
How it works...
SOA Admin—Configuring SOA infrastructure properties
How to do it...
Setting logging levels for troubleshooting
SOA Admin—Monitoring SOA infrastructure
How to do it...
SOA Admin—Administering BPMN application deployment
How to do it...
SOA Admin—Fault recovery for BPMN processes
How to do it...
How it works...
SOA Admin—Configure notification settings
How to do it...
How it works...
There's more...
Managing notifications
BPM Admin—Integrating Oracle BPM with Oracle Business Activity Monitoring
How to do it...
How it works...
BPM Admin—Managing roles, organization units, and groups
How to do it...
Revoking a role
BPM Admin—Setting rules
How to do it...
BPM Admin—Using flex fields/mapped attributes
How to do it...
How it works...
There's more...
Adding to a standard view
BPM Admin—Monitoring BPM processes
How to do it...
How it works...
A. Oracle BPM—Application Development Lifecycle
B. Approval Management
Introduction
Modifying Approval Task
How to do it...
How it works...
There's more...
Verifying configured task
Implementing dynamic approval mechanisms
How to do it...
There's more...
Testing the process
Index

Oracle BPM Suite 11g Developer's Cookbook

Oracle BPM Suite 11g Developer's Cookbook

Copyright © 2012 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

First published: April 2012

Production Reference: 1180412

Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK.

ISBN 978-1-84968-422-4

www.packtpub.com

Cover Image by Artie Ng (<[email protected]>)

Credits

Author

Vivek Acharya

Reviewers

Ramakrishna Kandula

Arun Pareek

Acquisition Editor

Rukshana Khambatta

Lead Technical Editor

Hyacintha D'Souza

Technical Editors

Apoorva Bolar

Priyanka S

Naheed Shaikh

Copy Editors

Brandt D'Mello

Leonard D'Silva

Project Coordinator

Vishal Bodwani

Proofreader

Lesley Harrison

Indexer

Rekha Nair

Graphics

Manu Joseph

Production Coordinator

Nilesh R. Mohite

Cover Work

Nilesh R. Mohite

About the Author

Vivek Acharya is an Oracle Consultant currently working as a professional freelancer. He has been in the design, development, consulting, and the Architect world for approximately seven years while working in Oracle Practice at GE, IBM, and HP. He is an Oracle Certified Expert as an Oracle Fusion-SOA 11g Implementation specialist and an Oracle-BPM 11g Implementation Specialist.

He has experience and expertise in Oracle Fusion - SOA, BPM, Webcenter, Spaces, BAM, Mediator, B2B, BI, AIA, WebLogic, Workflow, Rules, Webcenter, ECM, IDM, Oracle Fusion Applicaitons, SaaS, OnDemand, and so on. He loves everything to do with Oracle Fusion Applications, Oracle SOA, Oracle BPM, Social BPM, Cloud Computing, Salesforce, SaaS, and BSM

He has been author of a couple of books on Distributed Systems, has an interest in playing synthesizer, and loves travelling.

You can add him at http://www.linkedin.com/pub/vivek-acharya/15/377/ 26awrite, read about him at http://acharyavivek.wordpress.com/, and can write to him at <[email protected]>.

Acknowledgement

No one walks alone, and when one is walking the journey of life, just where do you begin to thank those that joined you, walked beside you, and helped you along the way? So, perhaps this book and its pages will be seen as "thanks" to all of you who have helped make my life what is today.

Much of what I have learned over the years came as the result of being a son to my caring father and mother, and brother to Alankar. They have their own ways of inspiring me, and have subconsciously contributed a tremendous amount to the content of this book.

I would like to thank Richa, without whom nothing is possible.

I also have to thank Prashant, Ankur, RamaKrishna, Vijay, and Nitin with whom I have worked on several projects on SOA and BPM.

I also have to thank Rukshana and Jovita from the Packt Publication team for their belief in me and for giving their time to polish the manuscript.

Last, but not the least, I would like to thank the Almighty.

About the Reviewers

Ramakrishna Kandula has more than seven years of rich experience in IT. He has been involved in Full Life Cycle Implementations, where he has worked as a technical lead in various capacities from gathering requirements to production support and maintenance across various implementations in Oracle Applications, SOA, and BPM Suite technologies.

He has completed his Bachelor's in Technology in Computer Science from JNTU, Hyderabad, India and has done many thesis presentations on different technology projects during his graduation course.

He has also worked as a Technology trainer and mentor for fresh graduates and experienced correspondents in various organizations throughout his career.

Arun Pareek is an SOA Practitioner working on SOA-based Implementation projects in the capacity of a Consultant and Architect for over five years now. He is also an IASA-certified Software Architect and is currently co-authoring a book on Oracle SOA Suite Administration for Packt Publishing. He has been actively working on the SOA Suite of products for both BEA and Oracle, including technologies such as Service Bus, AIA, BPEL, BAM, BPA, and BPMN. He has a knack for designing systems that are scalable, performant, and fault tolerant and is an enthusiast of automated continuous integration techniques. He is also an active blogger on these technologies and runs a popular blog at http://beatechnologies.wordpress.com.

I would like to appreciate the encouragement I had from my parents for helping me to achieve many things in my life. A special note of thanks to my wonderful wife Karuna for her constant support, cooperation, and patience, without which it would have been impossible for me to manage my work and life together.

www.PacktPub.com

Support files, eBooks, discount offers and more

You might want to visit www.PacktPub.com for support files and downloads related to your book.

Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at <[email protected]>for more details.

At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.

http://PacktLib.PacktPub.com

Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books.

Why Subscribe?

Fully searchable across every book published by PacktCopy and paste, print and bookmark contentOn demand and accessible via web browser

Free Access for Packt account holders

If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.

Instant Updates on New Packt Books

Get notified! Find out when new books are published by following @PacktEnterprise on Twitter, or the Packt Enterprise Facebook page.

Preface

Organizations find that it's the business process that constitutes the heart of an enterprise and is a differentiating factor. They've found that it's the processes that make or break an enterprise. Operational efficiency is a differentiating factor, and research shows that it's the processes that provide operational efficiency, business visibility, and agility to an enterprise. They've concluded that, for business process and business process management, Oracle BPM guarantees better decision making and faster Enterprise response by giving enterprises high visibility into business processes.

Oracle BPM, with its continuous improvement methodology, offers process automation, agility, process improvement, adaptability, and strong collaboration of business and IT, and increases predictability, incorporate measure, and provision traceability. It lowers IT costs, enables inclusion of changes faster, and empowers business and at the same time dramatically increases customer satisfaction.

Oracle BPM is meant for all types of processes. It's based on a unified process foundation, user-centric design, and social BPM interactions. Unified process foundation, powered by a unified process engine, will streamline process development, and deployment and monitoring, and will synchronize design and runtime environments. User-centric design will empower participants with the right set of tools.

Social BPM enables social collaboration with Enterprise 2.0 and Web 2.0, which are offered by Spaces and offer collaboration and communication. Enterprise 2.0 also offers publishing with wikis, blogs, and Mashups. Social BPM offers enterprise-wide collaboration.

Oracle BPM unifies with Oracle SOA suite and offers agility. Oracle ADF offers rich process interactions. Oracle Business Activity Monitoring offers analytics, monitoring, and end-to-end visibility. Oracle Business Rules offers decision logics, Oracle UCM offers document workflows, and AMX offers approval flow management. Oracle BPM also unifies with Business Intelligence, Complex Event Processing, and Oracle security. BPM offerings, such as application extensions and workflow consolidation drive SOA expansion.

Oracle BPM sits on top of Oracle SOA and it's the first BPMS product to execute BPMN 2.0. This empowers organizations, as what they are modeling is what they would automate and execute.

This book encompasses vision, modeling, simulation, implementation, measurement, execution, collaboration, monitoring, management, and administration of Business Processes through Oracle BPM 11g, and covers BPM unification with SOA, ADF, AMX, Workflows, Rules, WCM, and UCM through BPM 11g; and includes implementing social collaboration by Enterprise 2.0, and Web 2.0 through Spaces.

What this book covers

Chapter 1, Process Modeling, starts with laying the foundation of, and demonstrating how to implement the modeling of business processes for a Use Case of a fictitious organization that needs Oracle BPM to be implemented on its site. You will learn to model business process with BPM and will uncover the BPM application development lifecycle. The main emphasis is on modeling a fictitious organization, creating business process flow, and creating and defining projects, roles, organization units, swimlanes, and data objects. It covers gateways in detail while focusing on business catalog. It includes working with MDS and publication of BPM projects to MDS. It also covers communication with external process and services.

Chapter 2, Process Implementation, emphasizes how developers implement the process. This chapter answers the question How do you move from a model to a running process that automatically routes tasks, brings right forms, applies rules, stores data, and so on? You will switch gears, and as a Process Developer, implement a running process. In this chapter we will discuss how to define interactive tasks, common interactive tasks, and to generate task forms. It also demonstrates how to create data associations, assign the outcome of tasks to data objects, and create data associations for conditional flows. The assignment of Human Tasks to different interactive tasks and implementation of service tasks are also covered.

Chapter 3, Process Deployment and Testing, looks at building, deploying, testing, analyzing, and debugging Oracle BPM processes.

Chapter 4, Business Rules in BPM process, covers applying advance routing rules in Oracle BPM processes, application of business objects, conflict resolution, gateways, and Human Tasks. Emphasizing on rules, it will explore rule containers such as dictionaries, Bucketsets, decision tables, and if-else decision components in rules and testing of rules.

Chapter 5, Human Workflow in BPM process, focuses on advanced concepts in human workflow, architecture, human workflow management in Oracle BPM, task patterns, routing, defining parallel and serial stages, skipping rules, runtime ad-hoc task assignments, approval groups, functions, task assignments, participant types, rule-based task assignments, deadline, escalation policies, and much more.

Chapter 6, Process Simulation, looks at process simulations, defining simulation definitions and models, and examines reengineering of BPM process to improve performance and analyze results.

Chapter 7, Developing a UI using Oracle ADF for BPM Process, covers ADF frameworks and describes how to build user interfaces for end-user interaction. It puts emphasis on ADF-BC components, entity and view objects, Web Service data control, and a different approach to create task display forms. You will also learn how Oracle BPM 11g sits on top of SOA and leverages Oracle ADF.

Chapter 8, Exception Management, explains the strategies of how exceptions are handled in Oracle BPM 11g, with detailed coverage of the fault management framework. It examines handling of exceptions in tasks, subprocess, and processes while covering different categories of faults.

Chapter 9, BPM & SOA in Concert, explores how Oracle SOA and Oracle BPM, in tandem, can help in enabling the success of Enterprise-wide BPM. You will witness how, together, they provide an Enterprise computing an end-to-end Enterprise BPM offering. It covers Oracle BPM and JMS interaction and defines communicating with other BPMN processes and services. Uncover Oracle BPM services and learn different ways to interact with BPM processes.

Chapter 10, End User Interaction, gives you a chance to experience the power of Social BPM and witness an Oracle offering on Social BPM. Examine social collaboration by Enterprise 2.0 and Web 2.0, which are offered by Spaces. Explore spaces —workspace and process space—and build a social network to collaborate, communicate, announce, blog, post, and poll.

Chapter 11, Manage, Monitor, and Administer BPM Process, provides a blueprint of how Oracle BPM and BAM work in tandem and offer process analytics. In this chapter, we examine Oracle BPM and BAM integration, provisioning of monitoring using dashboards, and the course of incorporating analytics and monitoring in BPM using BAM, uncovering business indicators, marks, counters, custom dashboards, and so on. We will see how Oracle EM is used for administering and monitoring of Oracle SOA infrastructure, and Oracle BPM.

Appendix - A, Oracle BPM - Application Development Lifecycle, covers how the Oracle BPM application development lifecycle helps in achieving process automation, agility, continuous process improvement, and adaptability, offers strong collaboration of business and IT, and increases predictability, incorporating measure and provision traceability.

Appendix - B, Approval Management, helps you to master approval management through the Oracle BPM Approval Management extension (AMX). We will examine the extension of human workflow services with complex approval patterns through Approval Management extension (AMX).

What you need for this book

To explore modeling, implementation, deployment, testing, Social BPM, and AMX using the Oracle BPM Suite through recipes in this book, you will need the following software installed on your machine/site:

Oracle DatabaseOracle RCUOracle WebLogic ServerOracle SOA Suite (includes Oracle BPM Suite)Oracle WebCenterOracle JDeveloper

Demos and examples used throughout this chapter and book are created on Database 11g, RCU 11.1.1.5, Oracle WebLogic server 10.3.5, SOA Suite 11.1.1.5.0, Oracle WebCenter 11.1.1.5, and JDeveloper 11.1.1.5.0, on a Windows 7 64-bit machine. BPM Suite gets installed when you install Oracle SOA Suite. Update JDeveloper for SOA and BPM.

Who this book is for

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

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 <[email protected]>, 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 <[email protected]>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 <[email protected]>if you are having a problem with any aspect of the book, and we will do our best to address it.

Chapter 1. Process Modeling

In the first chapter, you will start with laying the foundation for, and demonstrating how to implement the modeling of, business processes for a Use Case of a fictitious organization that needs Oracle BPM to be implemented at their site. Recipes will demonstrate how to create and model business processes using Business Process Management Notation and Modeling (BPMN) within the Oracle Business Process Management Suite and how to create an organizational model that mimics your real-world organization.

In this chapter you will learn the following:

Modeling business processes with BPMSimulating the BPM Application development lifecycleModeling a fictitious organizationCreating Business Process FlowCreating and defining ProjectsDefining Role and Organization UnitsOrganizing processes using swimlanesAdding user interaction to Process FlowControlling Process Flow—Defining exclusive gatewaysControlling Process Flow—implementing exclusive gatewaysControlling Process Flow—Parallel gatewaysControlling Process Flow—Sequence flowsCommunicating with external processes and servicesChanging the value of Data objects in your processCreating Business objects in Business CatalogAdding documentation to the Flow ElementCreating MDS for BPMPublishing a BPM Project in BPM Studio to MDS

Introduction

Business Process Management (BPM) is for process transparency, process intelligence, business empowerment, and business alignment. This chapter explores recipes to carry out a model business process, using Oracle BPM Suite 11g. Business Architecture lays the blueprint for operating and transforming the Enterprise. Business Architecture includes various models that define business goals, objectives, initiatives, and metrics. Business Architecture models business functions, both internal and external. They also encompass organizational models to depict roles, responsibilities, and collaborations to define how, and by whom, defined functions will be provided and used. Along with this, Business Architecture defines the business rules and policies to infuse governance, so that stakeholders can adhere and enforce policies. Steps to achieve business transformation objectives are also defined.

However, one Business Architecture element that is of interest for us in this book is, Business Process Models. Business Process Models define the activities, steps, and information flow between processes, to carry out business functions.

As BPM is a part and element of Enterprise architecture, they need to be designed so that the Enterprise can fully reap the rewards of Oracle BPM. While designing business processes, we are not just automating and managing processes; it's more about how an enterprise adapts to a comprehensive view of business processes, where one has to take the overall Enterprise architecture into account and not just automating and managing business processes. Hence, you can look at BPM adoption in an Enterprise as an element of Enterprise architecture.

With BPM, an enterprise can achieve the goal of automation. It can now model a business process, make associations with human workflow and IT applications, and infuse Business Rules Management Systems (BRMS). In combination with SOA and BRMS, enterprises can achieve extremes of agility. Oracle BPM will offer business agility whose process impact is directly proportional to process complexity. BPM is used for continuous process improvement as well.

Oracle BPM methodology is an agile strategy and an iterative approach to Business Process Management. It is well-suited to this era of ever-changing business processes, where there is a demand for continuous incremental improvement. Traditional methodologies were code-centric, rarely Model Driven; they always overlook the KPI, lacked continuous improvement, and had no vision beyond the current single project. For BPM, a methodology was required that could address these inadequacies; that could bridge the gap between IT and Business.

Oracle BPM methodology as a foundation for Business Process Implementation, as an Enterprise element, offers many benefits, such as the following:

Business-driven: You will witness, in the BPM lifecycle, that business leadership and the Enterprise Architect work closely. This leads to process improvements with continuous alignment with business needs.Evaluation: Evaluation of IT assets enables effective planning. Gaps in the IT landscape can be identified and accessed, and required enhancements can be specified.Predictability: With simulation and analysis of processes, BPM incorporates predictability, so that results and costs can be determined in advance and with a high degree of accuracy and confidence.Bridging the Business-IT gap: Business stakeholders are involved at every step of process design and development. Information is exchanged at every engineering step. A Process or Business Analyst always works with Process Architects. Business Process Analysts, with their process, business and modeling skills, capture and model processes, drive process optimization, recommend changes, incorporate change requests from business, direct UAT, identify rules, define KPI's, and work with Process Architects for technical coordination.Traceability: With Process Analysis, you can capture the key decisions and associated motivation artifacts to support impact analysis and enable traceability throughout the business process lifecycle.Measurablity: With Process Analysis you can monitor your business processes, which enables a feedback loop, enabling continuous improvement.Adaptability: BPM methods and activities can be integrated with existing methods and new methods, with ease.Role Definition: Clear definition of duties.

The prerequisites to explore modeling, implementation, and deployments, using Oracle BPM Suite through recipes in this book, are that the following software be installed at your machine/site:

Oracle Weblogic ServerOracle SOA Suite (includes Oracle BPM Suite)—BPM Suite gets installed when you install Oracle SOA Suite.Oracle DatabaseOracle Jdeveloper (with updates for SOA and BPM configured)

Note

Demos and examples used throughout this chapter and book are created on WebLogic server 10.3.5, SOA Suite 11.1.1.5.0, and JDeveloper 11.1.1.5.0 on a Windows 7, 64-bit machine.

BPM Application development lifecycle

Just as SOA enables IT Agility, BPM enables Business Agility. Process Impact is directly proportional to Process Complexity. BPM allows for continuous process improvement.

It is argued that BPM enables organizations to be more efficient, more effective, and more capable of change than a functionally focused, traditional, hierarchical management approach. It's the BPM that provides Process Management to serve business agility and manage complex business processes. An Oracle BPM Application's development lifecycle has many phases, such as:

VisionModelImplementationDeploymentRuntime

This application development lifecycle is equally applicable to any type of BPMN Process, be it a Standard process, Orchestration process, or Choreographic process. Most process modelers, and even you, after reading this book and creating a model, must be more familiar with defining the flow of activities. This is called a Standard process or an Orchestration process. In Choreography processes, the focus is not on orchestrations of work performed by the participants but rather on the exchange of messages/information between participants.

User personas

There are user personas for every phase of the Application Development lifecycle, as different phases require interaction from different types of users.

Vision

Making BPM adoption Enterprise business-driven, is the vision laid by the leadership and coordinated by Enterprise-wide Architects. It brings both business and process agility. As you can see in the preceding diagram for Vision & Mission, the business leadership and Enterprise Architect work closely, and this leads to process improvements with continuous alignment with business needs.

This phase lays the foundation for BPM adoption in the Enterprise with automation and continuous improvement guaranteed, at the same time staying aligned with business needs. You can term it as planning, strategy, analysis, or design. Planning is must for a BPM initiative to succeed. BPM planning needs to go beyond a departmental level and must incorporate a comprehensive view of the entire enterprise—it's goals, operations, processes, and IT Systems.

Alignment with business objectives must be the strategy for a BPM vision. Business leadership, along with process owners, must analyze the processes and find other high-value processes that are amenable to automation and have a high benefit-to-risk ratio. These high-value processes are BPM process candidates.

An Enterprise Architect will then analyze the technical aspects of the BPM process candidates and create a BPM road map. This road map will describe the current state and future vision, and identify the gaps between the two. A road map to get from the current state to the desired state is defined as the mission.

Participants in this phase are—Business leadership and Enterprise Architects.

Business leadership (Business Participant) will drive the requirements by setting business goals, objectives, and priorities. Business leadership provides initial inputs, such as high-level vision definition and mission statements. They fund the BPM initiative. Business leadership may include many roles, such as Executive Management, Line-of-Business, and so on. However, let's define them as Enterprise Process Officers, who are responsible for developing a process-centric culture, system, and behaviors. They use BPM Analytics to determine business process changes. Business leadership is supported by Enterprise Architects.Enterprise Architects ensure that IT strategies and standards are applied. Along with Business Leadership, they identify business architecture inputs to BPM and help determining the needs for major business process changes.

Model

During this stage, a Process Analyst creates process models based on real-world business processes and problems. Oracle BPM provides three distinct tools for modeling business processes. Each tool has a different role within the Oracle BPM Suite. The tool you use depends on your business requirements, the stage of the application development cycle, and your user persona.

Oracle BPM StudioOracle Business Process ComposerOracle Business Process Analysis Suite (BPA)

Models are simply a way for Process Analysts to document processes in a structured way. Process Analysts model the flow of a business process and document its steps. They are assisted by Process Architects with their technical skills. Process Analyst and Process Architect are the critical roles in the automation of business process. One has a greater business focus and the other has a technical orientation.

This bridges the business-IT gap. Business Process Analysts, with their process, business, and modeling skills, capture and model processes, drive process optimization, recommend changes, incorporate change requests from business, direct UAT, identify rules, define KPI, and work with the Process Architect for technical coordination.

The participants in modeling are as follows:

Process Analysts: They are also termed as Business Process Analysts. They are involved in Process Modeling and have the relevant skills. They are responsible for:
Capturing and managing the graphical business process modelsDriving process optimizationRecommending changesHandling process change requests from the businessIncorporating incremental process improvementsIdentifying and coding business rulesWorking in User Acceptance Testing.

They work closely with the Process Architect for technical coordination.

Process Architects: They coordinate with the Process Analysts in Process Modeling. It's a role that we also identify as Solution Architect. However, they have modeling skills and process implementation skills, too.

They are responsible for:

Analysis and design of technical aspects for the processDefining technical integration strategiesTechnical specification for new IT capabilitiesDirecting system and integration testing

Implementation

After Process Analysts model business processes, Process Developers are responsible for creating business applications based on these models. Using Oracle BPM Studio, Process Developers implement reusable services and integrate other business systems. Implementation may include the following types of tasks, generally performed by Process Developers:

Refining the process modelMaking technical configurations

They implement defined rules. They can create a user interface and can incorporate Exception management. However, they have secondary developers to perform specialist technical tasks, for example, an Oracle ADF expert can create dynamic ADF pages to be used as Task Forms. Some other developer with Exception Handling expertise can perform that on the process. An integration expert can incorporate SOA stuff into the process, and so on.

After a Process Developer finishes the implementation, the application is compiled and deployed like other SOA composite applications. It can be compiled and deployed using Oracle BPM Studio.

Process Developers: Also termed as Process Designers, they implement the process model to make it executable by configuring data mappings, defining data, and transforming activity input and output. They may not be knowledgeable about business processes, but rely on Process Models for implementations. They have the following responsibilities:

Rapidly create business processes using tools. Tools Required: BPM StudioCreating implementation Artifacts.Populating business catalog with rich implementation artifacts.

Deployment

This phase includes testing and deployment. Process Developers or a supporting deployment team can perform process deployment.

For testing, either a developer or a QA can be involved. Different phases involve participation from different people. Generally, developers will perform the Unit testing. System and Integration testing will be performed by the QA and directed by Process Architects. User Acceptance Testing (UAT) will witness involvement of Process Analysts and QAs. Once UAT is completed, the process is deployed to runtime.

Deployment is the process of transferring an Oracle BPM project from the development environment to the runtime environment. This can be either a testing or production runtime environment. After finishing the integration of business processes with backend systems and reusable services, Process Developers create and compile a working, process-based application. This application is then deployed to Oracle BPM Runtime. Oracle BPM Suite contains the following typical scenarios for deploying to Oracle BPM Run Time:

Deployment directly from Oracle BPM StudioDeployment directly from Business Process ComposerDeployment using an exported SAR fileDeployment using the WebLogic Scripting Tool (WLST)

Once the process is deployed to runtime, it's available to end users.

Runtime

After an application is deployed, the runtime environment makes the Oracle BPM application available to process participants, based on the roles assigned in the organization where the business processes were deployed. This stage is divided into the following distinct functions:

End user interaction

Process participants and process owners are responsible for interacting with the running application using process workspace. Process Analysts and owners can also monitor the process and revise Oracle Business Rules at runtime.

End user participants: Process participants are the end users or process performers in a business process who perform the human aspects of the business process task and perform interactive activities. They provide task execution details to the Process Analyst and are involved in Acceptance Testing. They should be contacted and interviewed at the time of Process Automation, as it's a must for process design to know what they actually do. They have many roles, such as supervisor, sales manager, sales representative, business analyst, agents, clerks, and so on.

Oracle BPM flow will automatically route these tasks to a participant, based on his/her role, and they have to log in (either to Oracle BPM workspace or Process Spaces) and perform their activity. End user interaction to running process is performed by logging on to either Oracle BPM Workspace or Process Spaces.

Administrators are responsible for maintaining running business applications and the overall runtime infrastructure, using Oracle Enterprise Manager and the Oracle Weblogic Server administration console.

Administrators or Operation Managers are responsible for the following:

Configuring and Monitoring SOA InfrastructureConfiguring BPMN Process Service EngineIntegrating Oracle BPM with External Monitoring, such as Oracle Business Activity Monitoring, and many more.

Process management and monitoring

Process owners are responsible for monitoring and maintaining running processes using process workspace. Process Analysts and owners use Oracle Business Process Analysis to monitor the real-time performance of business processes. The participant is process owner in this phase.

Process owners are the subject matter experts for the business process (es). They own a process or processes. They are responsible for:

Assisting the Business Process Analyst (B) throughout the modelingAssisting the Business Process Administrators (IT) throughout runtime they require considerable business knowledgeManaging Process flowAssigning tasksDefining rules and objectivesAnalyzing end-to-end Business Process PerformanceMaking process-specific decisions to resolve conflicts like the gap between departmental silos of business process activities where ownership is undetermined and knowledge is sparse. Process owners resolve such issues, as they are the process experts responsible for the end-to-end flow of key business processes.Advocating recommendation for Enterprise-wide process improvements.They are also responsible for the monitoring business process(es) that they own.

Modeling business processes with BPM

Modeling is the first phase of the BPM Application development lifecycle, as the preceding diagram shows, and is carried out by Process Analysts. It lays the foundation for Process Development, by creating a model of the process to be implemented. Oracle BPM Suite 11g provides a rich set of applications to perform modeling.

How to do it...

During the phase of modeling you will learn the following:

Simulating a BPM Application development lifecycleModeling a fictitious organizationCreating Business Process FlowDefining process participants, Roles, and Organization UnitsDefining the start and end of your processAdding user interaction to your Process FlowControlling your Process Flow using gateways and sequence flowsCommunicating with external processes and services (optional)Creating Process Data objectsAdding documentation to Flow Elements and processesHandling information in your process designConfiguring activity instance attributesDeveloping arguments, scope, and accessCreating data associationsDeveloping transformationsCreating MDS for BPM

How it works...

The Oracle BPM Suite provides two primary applications for modeling and implementing business processes:

Oracle BPM Studio supports Business Process Management Notation (BPMN) 2.0. It is a component of the Oracle BPM Suite that provides a user-friendly environment.Business Process Composer provides a user friendly environment for editing processes and process templates created in Oracle BPM Studio.

You will simulate, model, define, interact, control, and document, using Oracle BPM Studio. As this is the chapter in which you will model the Business Process, you will act as a Process Analyst and you will use Oracle BPM Suite 11g BPM Studio to model the Business Process.

Simulating the BPM Application development lifecycle

By simulating BPM Application development lifecycle, you will define the strategy, paradigm, and Use Cases. As a Process Analyst, you will use BPM Studio to create BPM Process Models. Based on these models, Process Developers will implement the BPM applications and deploy it to BPM runtime.

Using BPM Studio, a Process Analyst can do the following:

Model business processesDefine business rules and performance indicatorsSimulate processesDetermine the optimal resource requirements to achieve specified SLAs

How to do it...

The steps to define strategy, paradigm, and Use Case are:

Chose between BPA and BPM Suite.

If your answer is 'YES' to following requirements, then you need BPM as a tool:

If you are concentrating only on a process and not enterprise-wide modelingIf you have human-centric Use Cases that require flexibility and collaborationIf you have to focus on the project at hand and not on your total enterpriseIf you have the tactical/implementation of the processes, BPM Suite works best

If your answer is 'YES' to following requirements, then you need BPA as a tool:

If you have a strategic/pre-implementation work, such as as-is, to-be, gaps, requirements definition, and so on, BPA works bestIf you need to focus on higher-level, enterprise-wide modeling that might be done using rigorous methodologies, use Oracle BPAIf you need the ability to model other things that relate to processes, such as systems, data, people, organizations, and services that represent the Enterprise, use BPAIf you need models that relate not only to processes but to other parts of the enterprise, as well, use BPA
Define modeling approach:

If it is bottom-up, then:

Create projects in BPM StudioPopulate projects with reusable artifacts, such as data services, and so onPublish to MDS—Projects or Templates can be published to MDSFrom Process Composer, check out published BPM projectsCustomize and use these projects to create new processes

Else if it is top-down ,then:

Create high-level abstract Process Flows (blueprints) from scratch using BPM ComposerPublish them to MDSCheck into BPM Studio and refine themDeploy
Define the Use Case:
Determine the business requirementsModel the required business processes using Oracle BPM StudioCreate simulation models for "as-is" and "to-be" processes or models. Implement the processes by integrating each element of the process with backend systems and reusable servicesCompile the Oracle BPM project as a composite applicationDeploy the application to the runtime environmentInteract with the deployed processes as part of a running business applicationMaintain and monitor the running process-based applications

How it works...

You can start modeling in either BPA Suite or BPM Suite. However, as a Process Analyst, you will choose BPM Suite to model, because you have answered 'YES' to all questions asked when choosing between BPA and BPM, in favor of BPM. Along with it, BPM Suite offers predictability, traceability, adaptability, is measurable, and bridges the gap between Business and IT. As a Process Analyst, you have some knowledge of the business process and can collaborate with business users to enrich the modeling outcomes.

As a Process Analyst, in this chapter, you will probably follow the bottom-up modeling paradigm as your modeling strategy. Metadata Store (MDS) enables modeling paradigms. The MDS repository is used for creating a shared, collaborative work environment across multiple BPM Studios and process composers.

There's more...

In addition to the modeling methods described in the preceding text, there are different ways by which a Process Analyst can model business processes, such as the following:

Implementing a modeling Use Case with Business Process Composer, by creating Process blueprints. These blueprints will be used by developers to create project templates and store them into Oracle MDS. After this, Process Analyst will use these project templates again to create projects, and finally, to deploy them.You can even use Oracle BPA suite to model the processes by designing the business architectures, analyzing the processes that will be candidates for BPM projects, and then creating process models and importing them into Studio to finally make them available at runtime.