Monday, June 19, 2017

Oracle BPM Suite Quick Start: Installation, Configuration, BPMN 2.0 Business Process Deployment and Testing

Oracle BPM Suite - a solution from Oracle for Enterprise Business Processes modeling with leveraging the BPMN 2.0 notation. Integrated development environment - JDeveloper is used for the modeling process. Oracle provides a special distributive of the solution for developers - Quick Start - which contains the Oracle WebLogic application server, BPM Suite, and JDeveloper.

This article highlights how to download Oracle BPM Suite Quick Start from the web-site, install that on a developer's PC, create the first business process using JDeveloper, configure the integrated WebLogic domain (BPM Suite, SOA Suite, and Oracle Service Bus are included, and Apache Derby is here for database management), deploy the business process on this domain and start a test instance of the process.

Oracle BPM Suite Quick Start installation

The distributive of the last (by the date of the article publishing) Oracle BPM Suite version ( can be downloaded from the Oracle Software Delivery Cloud - You have to have an account to access the website, the account can be registered for free.

The first step is product selection. The Oracle SOA Suite for Oracle Middleware (BPM, FMW, Service Oriented Architecture) product must be selected here for BPM Suite Quick Start (files fmw_12. and fmw_12. downloading. You favourite operating system also has to be specified.

The product is put into the download queue.

The packages to download have to be specified in the next step. So, Oracle Business Process Management is the our option.

Once the Continue button has been pressed, the standard Oracle license appears, the user has to read and accept that.

The links on each file from the package will be displayed. The files can be downloaded by Download Manager or just by the browser, each link is clickable.

In order to install BPM Suite Quick Start, the first two files are enough. The archives must be extracted in the same folder, so files fmw_12. and fmw_12. will be together. The first file is an executable java archive.

Notice! The installation must be started using JDK, not JRE:

> C:\java\jdk1.8.0_121\bin\java.exe -jar fmw_12.

Oracle Universal Installer appears and the installation starts. The first master window appears and notices about the version to be installed.

The next step proposes to select a directory downloaded patches are in or specify username and password available for access to If the credentials are specified, the available patches will be downloaded automatically. The user can skip any auto updates.

The file system catalogue for Quick Start components installation should be specified. The catalogue will be created automatically if it doesn't exist.

Once the Next button has been clicked, the installation master checks the environment: operating system and JDK compatibility.

The next step precedes the installation, all specified parameters might be checked once again.

The Install button begins the installation process. About 4.5 GB will be extracted and copied, so the process takes about 20 minutes.

We have to be patient.

The last window with the final information about the successful installation appears. JDeveloper - the main integrated development environment from Oracle can be launched just from here, just enable the Start JDeveloper checkbox and press Finish.

Creation of a new BPM application using JDeveloper

When JDeveloper has been launched, the Select Role dialog appears. The IDE havy loads any PC and it's very important to choose the right role, i.e. Java Developer since only IDE's components which are neede for the role will be loaded into memory. Hovewer, for BPMN 2.0 developers, the Studio Developer role is appropriate, and all JDeveloper features are availbale.

If you deselect the Always prompt for role selection on startup checkbox, the window won't appear in the future.

During the first launch, JDeveloper is looking for his previous releases and would try to import the preferences.

Finally, the starting page will be displayed. The Applications pane is present here, there are two buttons on the pane to help you start your work: New Application... and Open Application....

New Application... opens a master for creation a new application. JDeveloper is a really integrated environment, this tool facilitates the development of classical Java SE applications, Java EE ones as well as SOA, Service Bus, and BPM applications.

Once the BPM Application has been chosen as the kind of the created application, the Create BPM Application master appears. The master consists of three forms. The first form is used to specify the name of the application and the catalogue for the code. Application package prefix may be specified as well.

The next step facilitates the first project within the application creation. Project name and the directory for the project's code can be specified here. Both features available for the project: BPM and SOA Suite are displayed.

A BPM Application contains a number of composite applications in the terms of the Service Component Architecture (SCA). The last step of the master lets us define the composite name as well as a kind of the created composite: empty one, composite with business rules, composite with a BPEL process, etc. In order to make a BPMN 2.0 model, Composite With BPMN Process must be selected.

Once the Finish button has been clicked, a new master for creation a BPMN 2.0 process appears. The process name and description as well as the process type (Asynchronous Service, Synchronous Service, Manual Process, or Reusable Process) must be specified on the first step of the master. Let's use Asynchronous Service as the process base.

The asynchronous service exposes the business process to the World. A set of input and output parameters of the service have to be defined by specifying a name and type for each parameter.

The third step of the master facilitates the initial implementation definition, a chain of action performed within the process. Each action is specified by name, description, type and who can execute this one - role. The simplest action type is Script task.

The last step of the master lets the developer extend the process definition by some advanced parameters, for example, to define service XML namespace.

The master generates a business process definition employing the created initial implementation.

The initial implementation is ready to be deployed on Oracle BPM Suite. The project may be deployed either on an already prepared WebLogic domain, for example, a domain used by the entire development team, or on a local development environment. The local development environment can be configured using a WebLogic domain integrated into JDeveloper.

Integrated WebLogic Server: creation of a new domain and server launching

The application server connection window is available by clicking on the Window -> Application Servers main menu item. One WebLogic application server instance is already present here: IntegratedWebLogicServer - the integrated into Oracle JDeveloper instance of WebLogic application server. But before have a deal with this instance, the default domain must be configured (Create Default Domain...).

There are two tabs at the top of the Create Default Domain window. The first of them, Configuration, facilitates to assign the basic configuration of the domain: administrator id and password as well as listen address and port.

On the second one, the technologies the IntegratedWebLogicServer domain will be configured with are listed. The following items must be included: SOA Suite, Service Bus, and BPM Suite. The list can't be modified here, but the developer can do it later using the standard WebLogic domain configuration mechanisms.

After the OK button has been clicked, the domain creation process is started.

The process could take up to 10 minutes (it depends on how powerful the workstation is), the milestones will be logged into the Messages - Log window.

After successful domain configuration, the message domain unconfigured close to the IntegratedWebLogicServer item is lost, this means the server is ready to be launched.

However, the Apache Derby database shipped together with the application server must be upgraded before.

IntegratedWebLogicServer is used for development purposes only, so the lightweight Apache Derby database is leveraged for Oracle BPM Suite running. When I tried to start the domain on Oracle JDK 1.8.0_121, the following problem appeared: the version of Apache Derby ( shipped with Oracle WebLogic didn't accept any user requests. Let me share the action plan to handle the problem:

  • Download the latest version of Apache Derby - - from the official website.

  • Extract the archive into the %MIDDLEWARE_HOME%\wlserver\common\derbynew folder.

  • Edit the bin\setDomainEnv.cmd file (on Windows) inside the integrated domain's folder: assign a new value form the DERBY_HOME environment variable, for example add into the file the following stanza set DERBY_HOME=C:\Oracle\Middleware\bpmquickinstalldev\wlserver\common\derbynew just after call "%DOMAIN_HOME%\bin\setSOADomainEnv.cmd". Starting from Windows 7 the domain folder has the following path: USER_HOME_DIR\AppData\Roaming\JDeveloper\systemVERSION.RELEASE.BUILD\DefaultDomain.

The server start will be logged into the Running: IntegratedWebLogicServer - Log windows. The server will be available after several minutes, the message [IntegratedWebLogicServer started.] should be used as the signal.

Business process deployment

Wow, the server has been launched and accepts user requests. The developed project can be deployed on the server now. The Deploy -> project name context menu of the project starts the deployment process.

If the project is deployed on a new application server, the corresponding parameters have to be configured.

The first parameter is the deployment direction, a composite application can be deployed either on an application server or in a file (SAR archive).

Then the new revision id has to be specified as well as the parameters of versioning. Optionally, the SOA configuration plan may be applied.

A connected to JDeveloper application server has to be chosen for deployment.

It takes a few seconds for the integrated development environment to take the information about running SOA-servers related to the domain chosen above.

The list of SOA-partitions created for the servers is also displayed as Folder.

The parameters and assigned values may be checked the last time just before turn deployment into action.

The details of deployment process can be found in the Deployment - Log window. The Deployment finished. sentence is the marker of the successful deployment the composite application on Oracle BPM Suite.

Business process testing using Oracle Enterprise Manager Fusion Middleware Control

The Oracle Enterprise Manager Fusion Middleware Control 12c is the universal assistant to provide control and management of Oracle Fusion Middleware components such as Oracle BPM Suite.

After an administrator has been successfully authorised into the console, the default workplace appears. There is an icon looks like a folder tree at the top left corner of the workplace. Once the icon is clicked, the main menu is shown on the display, and the needed to the administrator component can be selected.

In order to test the deployed business process, the SOA -> soa-infra (DefaultServer) component must be clicked.

The created project HelloBpmProject should be present on the list of deployed composite applications (Deployed Composites).

After a click on the link which is the project name, the full description of the composite application (service components included into the composite application, exposed services, references) appears.

The Test... button opens the Test WebService window. User can make an invocation of the webservice which is a wrapper for the modeled business process.

A value for every input parameter of the web service (in this case, for the actorName parameter) must be assigned, then the Test Web Service button can be pressed, and the appropriate SOAP-request would be sent to the service. Since the service is an asynchronous one, the empty response just appears in the window.

The tracing of the process execution is available by a click on the appropriate flow instance. To find the instance, the administrator has to open the Flow Instances tab, assign search options at the right side of the screen and press the Search button.

The list of created composite instances appears.

The link which is the flow id and placed at the top of the list should be clicked. The Flow Trace window will be shown. The window displays the trace of the created composite instance: the way of the input messaged from the HelloWorldProcess service through an instance of the BPMN service component - HelloWorldProcess.

The audit trail is available by click on the HelloWorldProcess link. By default, any Script Activities actions are ignored, but this behaviour can be fixed, the administrator should just enable the appropriate item of the Human Activities; Service... menu.

Please have a look, the Setup Initial Data activity is accomplished.

The audit trail can be present as a tree...

... or in the graphical BPMN 2.0 notation.


Within the article, the processes of obtaining and installation Oracle BPM Suite Quick Start on a local development environment were described. A BPMN 2.0 model of the simplest business process was created using Oracle JDeveloper. Then the integrated instance of Oracle WebLogic contains Oracle BPM Suite and Apache Derby was configured and the business process was successfully deployed on the domain. In the end, a test instance of the business process was started, monitored and traced using Oracle Enterprise Manager Fusion Middleware Control 12c. Of course, business processes exist in the real world and modelled using Oracle BPM Suite usually are more complex and contain many actions and transitions between them, but this article is not about how to make complex models, but how to be prepared to this business.

Please, share your feedback into the comment section bellow.

Would you like to give a 'Like'? Please follow me on Twitter!