Friday, October 9, 2015

Updated Modern BPM Data Integration with JBoss BPM Travel Agency

Some time ago we launched a rather expansive JBoss Travel Agency demo project to show some of the more interesting feature of JBoss BPM Suite.

We provided a collection of videos that not only show you how to install it, what the various rule and process artifacts are in the project, but we also walk you through the various paths you can take during actual use of the JBoss Travel Agency process.

The project continued to expand over time, adding on not just a bookings process, but also a payment process that included advanced features like compensation (rolling back bookings), integration of traditional web services in service tasks and a credit card fraud detection system.

We have showcased this project on several online webinars, including together with PEX Processing Network.

Continuing to expand and integrate data with
JBoss BPM Travel Agency using
JBoss Data Virtualizaiton
After that we decided to provide a reusable demo project you can easily spin up yourself to explore the details around how a JBoss BPM project would integrate with the microservices we migrated from existing classic web services with JBoss Fuse.

Finally, we put together an Ultimate Guide to JBoss Integration, where we looked at some of the more interesting products you can use to implement use cases where JBoss BPM integrates your various data needs.

The only thing missing in this discussion was a working example of data integration, where we are "...accessing data and functions from disparate systems to create a combined and consistent view of core information for use across the organization to gain necessary insights and improve business decisions and operations. This type of integration usually helps to accelerate development of business intelligence systems."

Submit a travel booking request.
As JBoss Data Virtualization (DataVirt) is ideally suited for this type of integration we went ahead an put together an example of this that is a fully integrated a working JBoss BPM Travel Agency with JBoss DataVirt virtualized data sources that allow us to gather both Flight and Hotel information.

We also use this integration to communicate our bookings data back to the correct systems of record that JBoss DV manages for us behind the scenes and provide a consistent view that is integrated into the JBoss BPM Suite BAM dashboard.

So what has been updated you ask?

JBoss DV provides a concise view of the Flight data.
Not so long ago Red Hat released JBoss DataVirt 6.2 product and we thought we would give you the latest version by upgrading the JBoss BPM Travel Agency project that showcases how a bookings process can survive a merger with another travel agency. The booking process can continue to run with no changes at all. The new data sources from the company merged with are integrated into the existing data sources with the help of JBoss DataVirt.

Interested in finding out more?

Just check out he project as described below, and take a look at the recorded webinar A Guide to Modern BPM Data Integration that will provide all the details around this project and a live run showcasing how it all works. Slides are also available from the webinar, free online.

Demo project

The project installs JBoss BPM Suite 6.1 with the JBoss BPM Travel Agency projects rules, process, forms and sub-flow. It then installs JBoss DataVirt 6.2 with several data sources setup to be used by our application.

JBoss DV provides overview of Hotel data.
To setup this project there are just a few simple steps to get going.

Installation

  1. Add products to installs directory.
  2. Run 'init.sh' or 'init.bat' file. 'init.bat' must be run with Administrative privileges.
  3. Start JBoss DataVirt Server with offset port with '-Djboss.socket.binding.port-offset=100'
  4. Flight bookings are tracked in BAM dashboard.
    Start the JBoss BPM Suite server, login, build and deploy JBoss BPM Suite process project at http://localhost:8080/business-central (u:erics/p:bpmsuite1!).
  5. Create custom Dashboard entry for monitoring the external JBoss DataVirt virtualized DB views:
    1. - select menus Dashboards --> Business Dashboards 
      
      - select Administration -->  External Connections 
      
      - select Create New Datasource and select radio box Custom Datasource
      
      - fill in form as follows:
      
          - Name: TravelVDB
      
          - Url:  jdbc:teiid:TravelVDB@mm://localhost:31100
      
          - DB Driver Class:  select Teiid
      
          - User:  teiidUser
      
          - Password:  admin_24
      
          - Test query:  select 1
      
      - select Check Datasource, if all goes well Save the configuration.
      
      - select in top left Workspace: 'Flight and Hotel Bookings'
      
      - these are the BAM dashboard views of the integrated data.
      
      - monitor for bookings when running process instances.
Hotel bookings finalized and displayed in BAM dashboard.
Once you are up and running just build the project in JBoss BPM Suite and run the process by submitting through the client web application at:

      http://localhost:8080/external-client-ui-form-1.0

Looking to Automate your business?
The process will now be using the various data sources and the BAM dashboard will provided a running live look at the data as fights and hotels are being booked by users of your process.

If you need some visual assistance you can watch the videos provided with the JBoss BPM Travel Agency that show you how to run through a valid travel booking.

We hope you enjoy this one too and feel free to browse for more at JBoss Demo Central.