Book Image

Oracle SOA BPEL Process Manager 11gR1 - A Hands-on Tutorial

Book Image

Oracle SOA BPEL Process Manager 11gR1 - A Hands-on Tutorial

Overview of this book

BPEL, Business Process Execution Language is the definitive standard in writing and defining actions within business processes. Oracle BPEL Process Manager R1 is Oracle's latest offering, providing you with a complete end-to-end platform for the creation, implementation, and management of your BPEL business processes that are so important to your service-oriented architecture."Oracle SOA BPEL Process Manager 11gR1 – A Hands-on Tutorial" is your guide to BPEL design and development, SOA Suite platform troubleshooting, and engineering in a detailed step-by-step guide working real-world examples and case studies. Using industry-leading practices you will start by creating your first BPEL process and move onto configuring your processes, then invoking, orchestrating, and testing them. You will then learn how to use architect and design services using BPEL, performance tuning, integration, and security, as well as high availability, troubleshooting, and modeling for the future. "Oracle SOA BPEL Process Manager 11gR1 – A Hands-on Tutorial" is your complete hands-on guide to Oracle SOA BPEL Process Manager 11g.
Table of Contents (20 chapters)
Oracle SOA BPEL Process Manager 11gR1 – A Hands-on Tutorial
Credits
About the Authors
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

An introduction to BPEL


BPEL stands for Business Process Execution Language. The standard body for BPEL is Organization for the Advancement of Structured Information Standards (OASIS) that produces worldwide standards incorporating industry consensus. The syntax of BPEL is XML-based and the current specification is WSBPEL Version 2.0.

BPEL is a programming language that has a mix of structured (blocks) and unstructured (control-links and events). BPEL is used for designing business processes that integrate web services into end-to-end process flow, and for the orchestration of business services. BPEL is mainly used for orchestrating services. The following figure shows the sample structure of a BPEL process:

A brief description of BPEL is given as follows:

  • BPEL is one of the leading specifications to standardize orchestration logic and process automation between web services.

  • The key benefit of BPEL is about leveraging more from existing application assets. BPEL enables legacy applications to be deployed as web services and orchestrated across platforms.

  • Identifying and documenting both the existing and new required high-level business process is a time-consuming but essential job.

  • BPEL enables developers to develop processes quickly by defining the order in which services will be invoked and provide an easy interface to connect processes from external systems.

  • Business Process Execution Language for web services provides a means to formally specify business processes and interaction protocols. BPEL is acting as a glue to bind web services into a cohesive business solution and facilitating their orchestrated interaction within and between enterprises.

  • Web service is an integration model created for allowing integration of systems built using heterogeneous tools and technologies. BPEL is one of the core components for defining composite web services to perform complex business functions.

BPEL syntax is based on XML. Therefore, it may not be a good idea to design and develop BPEL code by using a text/XML editor. A visual BPEL editor under JDeveloper IDE helps to develop and validate BPEL code easily without memorizing the BPEL specifications line by line. The following figure shows the interaction between a BPEL process and other services:

To deploy and execute BPEL processes, one needs Oracle Business Process Manager Engine. Currently Business Process Manager is part of Oracle SOA Suite. This book covers Version 11.1.1.16 of Oracle SOA Suite.

The following figure shows details of the components that interact with a sample BPEL service:

OASIS Web Services Business Process Execution Language (WSBPEL) is a vendor-neutral specification.

BPEL process manager is one of the components of the Oracle SOA Suite. The Oracle SOA Suite is a combination of multiple applications created by Oracle developers and deployed in a WebLogic container. For example, SOA Infra.ear, Adaptors, B2B, and so on.

Four separate main components/engines are included in SOA Suite. Each of these components has been created by Oracle developers using JSP, Servlets, EJB, JMS, RDBMS, and other system components.

  • BPEL Processes

  • Mediator

  • Business Rules

  • Human Task

BPMN (BPM Suite) is another component that can configure along with SOA Suite. SOA Infra is the core application. Similar to any enterprise web application, SOA Suite uses a database for storing the metadata information. For example, SOA Infra application uses database schemas for storing all the application information.

Oracle SOA Suite, along with JDeveloper IDE, enables the following:

  • Design and develop business services

  • Manage business services

  • Orchestrate services in to SOA composite applications

  • Provide a runtime engine for deploying and managing SOA composite applications

The following figure shows different service components of an SOA Suite:

JDeveloper packages various SOA components as SOA composite applications. SOA composite applications may contain some or all of the following components:

  • BPEL processes for process orchestration

  • Human workflows for modeling human interactions such as approving a salary increment for an HR system

  • Mediator for routing and transforming the messages (Oracle Service bus can be used for the same purpose

  • Spring framework for integrating Java interfaces to SOA Composite applications

  • Business rules for acting as a simple rules engine

Since Oracle SOA Suite runs on top of WebLogic container, you can deploy normal J2EE components as part of SOA composite applications; however, it may not be a good idea to use SOA Suite as a normal J2EE container. Separate the J2EE components and deploy it in another instance of WebLogic instances. Some of the J2EE components are listed as follows:

  • Oracle Application Development Framework (ADF) is a Java framework initiated from the original Model View Controller (MVC) framework

  • EJB service for adding enterprise services

  • J2EE technologies such as JSP, Servlet, and JSF for web applications

  • JMS for messaging

Following are the Oracle SOA Suite management applications and services as part of the SOA Suite installation:

  • Welcome Page: http://{hostname}:{port}

  • Admin Server: http://{hostname}:{port}/console

  • Enterprise Manager (EM): http://{hostname}:{port}/em

  • Dynamic Monitoring Service (DMS): http://{hostname}:{port}/dms

  • B2B : http://{hostname}:{port}/b2bconsole

  • Web Services Inspection Language (WSIL): http://{hostname}:{port}/inspection.wsil

  • Web Services Manager (WSM): http://{hostname}:{port}/wsm-pm

  • Composer : http://{hostname}:{port}/soa/composer

  • DefaultToDo : http://{hostname}:{port}/workflow/DefaultToDoTaskFlow

  • Worklist: http://{hostname}:{port}/integration/worklistapp

  • MessagingService endpoint: http://{hostname}:{port}/ucs/messaging/webservice

  • MessagingServices preferences: http://{hostname}:{port}/sdpmessaging/userprefs-ui

  • SOA-Infra: http://{hostname}:{port}/soa-infra/

    Note

    Please note, that for all the service endpoints, you need to replace the hostname and port. For example:

    http://{hostname}:{port}/console

    Where {hostname} is a parameter that you replace with the hostname or IP address of your installation, {port} is the port number on which the server is listening for requests (7001 by default).

    Example of the personal installation URL is as follows:

    http://localhost:7001/console/

The concept of composition is to create enterprise solutions by assembling instead of building from scratch. Object-oriented programming allows for reusing the code within the applications. The concept of composite applications allows for reusing the existing applications.

As shown in the following figure, a brand new building is created by assembling pre-built components to cut down the construction time. Similar to creating a new building by assembling components, BPEL allows for creating business processes from existing services: