Book Image

Design Principles for Process-driven Architectures Using Oracle BPM and SOA Suite 12c

By : Matjaz B Juric, Danilo Schmiedel, Mark Simpson, Torsten Winterberg, Sven Bernhardt, Kapil Pant
Book Image

Design Principles for Process-driven Architectures Using Oracle BPM and SOA Suite 12c

By: Matjaz B Juric, Danilo Schmiedel, Mark Simpson, Torsten Winterberg, Sven Bernhardt, Kapil Pant

Overview of this book

Table of Contents (19 chapters)
Design Principles for Process-driven Architectures Using Oracle BPM and SOA Suite 12c
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Preface

The implementation and optimization of business processes have become high priorities for most enterprises. However, experience has shown that there is a huge gap between the implementation of a single business process and the definition of an enterprise-wide process-driven architecture that will be able to accommodate business processes over time, while ensuring the benefits of concepts and best practices, including reusability, loose coupling, flexibility, discoverability, and so on.

Experience has shown that only projects based on key design principles and best practices are successful. This book presents the key design principles for process architectures in a practical way via examples, using Oracle BPM and SOA Suite 12c.

This book is a design handbook. It provides you with the skills to successfully design, implement, and optimize business processes on top of SOA. Starting with business process modeling, it shows design principles to architect sound process architectures. It presents best practices to model business processes using BPMN, together with design principles to design and implement services (SOAP and REST) and extending through to composite applications.

It provides a detailed coverage of how to prepare business processes in BPMN for execution purposes on process servers and when to use BPEL. An in-depth explanation of human interactions is given, including different patterns, escalations, renewals, and other important concepts.

Business rules are covered, including principles and best practices to use rules in BPMN and BPEL processes. For scenarios where classical human interactions and rules are not sufficient, the book explains Adaptive Case Management.

Extending the reach of business processes to mobile devices and ensuring multichannel and omnichannel interactions are covered and explained.

Finally, business activity monitoring, event-driven architectures, and complex event processing in relation to business processes are explained. Here, it is not only shown how to monitor KPIs and do process analytics, but also how to enable integration with events and Internet of Things devices.

The design principles and best practices are demonstrated in a practical way on a rental car use case, called Rent Your Legacy Car, which is used for demonstration purposes through the chapters. Each topic is explained in detail and supported by examples that allow you not only to understand the principles and practices, but also to learn how to use and apply them in practice. Each chapter builds on the previous chapter, assuring a continuous flow and coherent reading experience. The reader will not only learn design principles and best practices, but also learn how to apply them through the Rent Your Legacy Car use case, which is used in all chapters. In the book, the latest Oracle BPM and SOA Suite 12c are used. The principles are, however, relevant for all process-driven architectures regardless of which implementation platform is used, on-premise or cloud based.

In this book, you will learn the following:

  • Design principles for modeling business processes and business architectures

  • Best practices to produce executable business processes in BPMN

  • Principles for designing reusable services and composite applications

  • Advanced approaches to human interactions in business processes, including patterns and advanced case management

  • Business rule management and principles for rule design and implementation, including using rules in the BPMN and BPEL processes

  • Preparing process application for mobile and multichannel/omnichannel

  • Business activity monitoring and principles to define and monitor key performance indicators and using these for process optimization

  • Extending the processes to Internet of Things devices and processing complex events

What this book covers

Chapter 1, Business Process Management, Service-oriented Architecture, and Enterprise Architecture, discusses the importance of business processes and their relevance to IT, application systems, enterprise architecture, reference models, and modeling principles. It describes the business architecture and enterprise architecture, describes their relation to business processes, and digs into business process management and its life cycle. It discusses the key concepts of process modeling, adaptive case management, and process execution, monitoring, and analytics. It explains process optimization. Finally, it explains how SOA and BPM fit together and discusses new frontiers for SOA.

Chapter 2, Modeling Business Processes for SOA – Methodology, describes strategies and methodologies that can help us realize the benefits of BPM as a successful enterprise modernization strategy. It discusses a set of actions in the course of a complete methodology in order to create the desired attractiveness toward broader application throughout the enterprise. It describes organizational and cultural barriers to apply enterprise BPM and discusses ways to overcome them.

Chapter 3, BPMN for Business Process Modeling, introduces the fundaments of business process modeling using a standard-based approach. It explains the concepts of using Business Process Model and Notation 2, a standard developed by the Object Management Group (OMG). BPMN 2 has gained the capability not only to model, but also to execute processes. From strategy modeling all the way to modeling executable business processes, this chapter discusses best practices to model business processes on different levels of decomposition.

Chapter 4, Process-driven Service Design, discusses best practices and patterns to design services. It explains the guidelines for service design in relation to BPM and demonstrates key service design principles. This chapter discusses service granularity, categories, data in the context of services, and how application services, cloud or on-premise, can be incorporated into your executable process.

Chapter 5, Composite Applications, explains key ways to architect and design the backend services that comprise the composite application. In this chapter, best practices for integration to backend systems, complex orchestrations, data validations, and calculations are explained. Also, some tools, such as templates, are used that help to create a successful solution that follows consistent architecture and design standards.

Chapter 6, Process Execution with BPMN and BPEL, outlines a set of guidelines to actually implement business processes and the associated services. This chapter describes how to define an implementation roadmap, explains how to implement the Service Facade and Delegation patterns in BPEL, discusses the right level of variances, highlights the degrees of coupling between technical components, and sets out a series of best practices, for example, naming conventions for composite partitions.

Chapter 7, Human Interaction with Business Processes, explains in depth what the integration of human actors means for process-driven applications, especially about the challenges from an architectural, conceptual, and technical perspective. Considerations with reference to UI design principles and user experience during development of user-centric processes and the corresponding inbox applications are discussed. The impact of the task-based approach on end users is also considered.

Chapter 8, Business Rules, outlines how a transparent enterprise decision management can be supported by IT by automating business decisions. It describes the characteristics of business rules and their relation with BPM; explains how to identify and assess business rules, that is, business rules candidates; discusses how to design, organize, and implement business rules; and depicts the Oracle Business Rules design time as well as the runtime architecture and its concepts. Finally, it discusses best practice approaches to implement business rules.

Chapter 9, Adaptive Case Management, gives all the overview information that is needed to fully understand the ideas behind ACM. It explains the characteristics of ACM, its relation to business analytics, shows how to model a case, how to build your own UI on top, and presents best practices.

Chapter 10, Mobile and Multichannel, explains the integration of mobile and BPM, provides best practices to design the architecture to enable multichannel access, accesses human tasks and BAM from mobile, and explains best practices for multichannel.

Chapter 11, Event Processing and BPM, explains what event processing is, why it is of interest to combine it with BPM, and how this can be achieved. It answers questions such as what is fast data and what is event processing, explains key elements of event processing and the different types of event processing, and compares event processing with Business Rule Management Systems (BRMS). It provides conceptual architecture for event processing and explains how event processing fits into a modern architecture.

Chapter 12, Business Activity Monitoring, shows how Business Activity Monitoring (BAM) can help an organization gain insight into business operations and outcomes in real time, thus enabling optimization, efficiency gain, and ongoing improvement to the business processes. This chapter defines the capabilities that a BAM platform should provide and the different types of insights that it delivers. It clarifies the difference between BAM and traditional Data Warehouse-based reporting solutions and describes how BAM integrates into SOA and BPM to monitor business processes and services in real time. It also presents a methodology and best practices to design and build BAM dashboards and the supporting data objects.

What you need for this book

The samples in this book are based on Oracle BPM Suite 12c and SOA Suite 12c. In order to develop the examples in this book, we need to install the integrated development environment and the process server environment in which the BPMN and BPEL processes, mediations, services, human tasks, and other service components will execute. For modeling and development purposes, we will use Oracle JDeveloper 12c 12.1.3. To execute these processes, we will use the Oracle BPM Suite and SOA Suite 12c 12.1.3.

The installation will consist of the following steps:

  1. First, we need to download and install the Java Development Kit (JDK) and set the environment.

  2. Second, we need to download and install the Oracle BPM Suite 12c, which includes the SOA Suite and JDeveloper.

  3. Third, we need to create the default domain.

You can download the Java Development Kit from http://www.oracle.com/technetwork/java/javase/downloads/index.html.

You can download the Oracle BPM Suite 12c from http://www.oracle.com/technetwork/middleware/bpm/downloads/.

Detailed instructions on how to install the JDK and BPM Suite 12c with SOA Suite and JDeveloper and how to create the domain are provided at http://docs.oracle.com/middleware/1213/core/SOAQS/index.html.

Who this book is for

This book is intended for BPM and SOA architects, analysts, developers, and project managers who are responsible for, or involved in, business process development, modeling, monitoring, or implementation of composite, process-oriented applications. The principles are relevant for the design of on-premise and cloud solutions. This book is a design principles book, which provides principles and concepts behind designing sound process architectures for complex information systems. It requires basic familiarity with BPM and SOA, web services, XML, and general software engineering. This book uses Oracle BPM and SOA Suite 12c to demonstrate design principles and best practices in a real-world case study.

Conventions

In this book, you will find a number of text styles that distinguish between different kinds of information. Here are some examples of these styles and an explanation of their meaning.

Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "This file is to be found in the soa-infra MDS under /soa/configuration."

A block of code is set as follows:

<?xml version = '1.0' encoding = 'UTF-8'?>
<application xmlns:soa="http://www.oracle.com/soa/rest" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:weo="http://www.rylc.org/core/carrental" xmlns="http://wadl.dev.java.net/2009/02">
  <doc title="RequestVehicleRestSvce">RestService</doc>
...
...
...
</application>

New terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: "Right-click on the Vehicle Reservation & Allocation chain step, and select KPI."

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of.

To send us general feedback, simply e-mail , and mention the book's title in 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 at 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.

Downloading the color images of this book

We also provide you with a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output. You can download this file from: https://www.packtpub.com/sites/default/files/downloads/9441EN_Graphics.pdf.

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 could 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/submit-errata, 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.

To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the book in the search field. The required information will appear under the Errata section.

Piracy

Piracy of copyrighted 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 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

If you have a problem with any aspect of this book, you can contact us at , and we will do our best to address the problem.