Skip to content

A JBoss BPM Suite with JBoss Data Virtualization integration demo project around a travel agency booking workflow with disparate data sources behind services.

Notifications You must be signed in to change notification settings

andrewfinnell/bpms-dv-travel-agency-integration-demo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JBoss BPM Suite and JBoss DataVirt Travel Agency Integration Demo

This is an online employee travel booking process project. It contains multiple web services for looking up data for the process and rules to calculate pricing. Furthermore, there are several tasks that can be activated to evaluate pricing and to review the final booking data before completing the booking. Updated data results can be viewed directly in JBoss BPM Suite BAM Dashboards.

The backing services make use of disparate data sources integrated and exposed as services for use in this project.

Welcome to the JBoss BPM Travel Agency!

Option 1 - Install on your machine

  1. Download and unzip.

  2. Add products to installs directory. For example download and add BPMS installer jar into the installs directory.

  3. Run 'init.sh' or 'init.bat' file. 'init.bat' must be run with Administrative privileges.

  4. Start JBoss DataVirt Server by running 'standalone.sh -Djboss.socket.binding.port-offset=100' or 'standalone.bat -Djboss.socket.binding.port-offset=100' in the /target/jboss-dv-6.2/bin directory

  5. Start JBoss BPMS Server by running 'standalone.sh' or 'standalone.bat' in the /target/jboss-bpmsuite-6.2/bin directory.

  6. Login to http://localhost:8080/business-central

     - login for admin and other roles (u:erics / p:bpmsuite1!)
    
     - build project: open menu Project Authoring -> Open Project Editor -> Build -> Build & Deploy
    
  7. Create custom Dashboard entry for monitoring the external JBoss DataVirt virtualized DB views:

    - 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 then Save this configuration.
    
    - select in Workspace pulldown menu top left the entry 'Flight and Hotel Bookings' to view virtualized tables and data.
    
    - monitor these when running process instances.
    
    
  8. Submit and process a booking from customer booking form (see Booking a Trip below) - http://localhost:8080/external-client-ui-form-1.0

Datasource config

Datasource tables

Datasource 06

Datasource 07

Booking a trip

  1. Assumes you did install and setup as described above (as in option 1).

  2. Start process with following data in start form (either from JBoss BPM Suite dashboard or using external client UI deployed at http://localhost:8080/external-client-ui-form-1.0):

Name: [your-name]

Email Adress: [any-email]

Number of Travellers: 2 

From Destination: NYC     

To Destination: Denver

Preferred Date of Departure: 2015-06-07

Preferred Data of Arrival: 2015-06-10

Other Details / Notes: [any-text]
  1. Login to http://localhost:8080/business-central
- login for admin role (u:erics / p:bpmsuite1!)
  1. Two web services will be run and a sub-process to calculate the cost before deciding it is not needed that this booking be reviewed on pricing, so you will find a task 'Employee Booking' for you to process.

  2. Navigate to the "Tasks" tab and click on it. From the task in the list, click on the "Lock" icon to claim the task

  3. Click on the "Work" tab from the resulting right-side pane window that opened.

  4. Fill in the form provided for the task, it allows review of all the booking data submitted, generated by services and calculated by the rules. You can request a review to send it back for a pricing review or check the completed box to finish the task and process (isBookingConfirmed). All tasks have automated reassignment, meaning if not completed within 1 minute they will be put back into the group.

  5. Enter credit card details (beginning with 1234...) for compensation to be triggered., Expiry details of the card (e.g. 12/12) and your full name.

  6. Check the logs and you will see that the process has been compensated.

  7. To trigger different path for successful booking of Flights, just change the 'Credit Card details' to use any card number that does not begin with 1234....

  8. For details on demoing the compensation aspects of the Travel Agency demo project, see docs/compensation-howto/README-COMPENSATION.md

Option 2 - Generate containerized installation

The following steps can be used to configure and run the demo in a container

  1. Download and unzip.

  2. Add products installs directory.

  3. Copy Dockerfile and .dockerignore files from support/docker directory to the project root.

  4. Build demo image

    docker build -t jbossdemocentral/bpms-dv-travel-agency-integration-demo .
    
  5. Start demo container

    docker run -it -p 9990 -p 9999:9999 -p 8080:8080 -p 31000:31000 -p 10090:10090 -p 10099:10099 -p 8180:8180 jbossdemocentral/bpms-dv-travel-agency-integration-demo
    
  6. Follow the instructions from option 1 above replacing localhost with <DOCKER_HOST> with the exception of the creating a custom Dashboard entry for monitoring the external JBoss DC virtualized DB views section

Additional information can be found in the jbossdemocentral container developer repository

Supporting Articles

Released versions

See the tagged releases for the following versions of the product:

  • v1.4 - JBoss BPM Suite 6.2.0-BZ-1299002 on JBoss EAP 6.4.4 with JBoss DataVirt 6.2 and travel agency project installed using disparate data sources.

  • v1.3 - JBoss BPM Suite 6.2, JBoss EAP 6.4.4, JBoss DataVirt 6.2 and travel agency project installed using disparate data sources.

  • v1.2 - JBoss BPM Suite 6.1, JBoss DataVirt 6.2 and travel agency project using disparate data sources.

  • v1.1 - JBoss BPM Suite 6.1, JBoss DataVirt 6.1.1, travel agency project using disparate data sources and containerized installation.

  • v1.0 - JBoss BPM Suite 6.1, JBoss DataVirt 6.1.1 and travel agency project using disparate data sources.

Video

Announcement

Datasource 08

Datasource 06

Datasource 09

Datasource 10

About

A JBoss BPM Suite with JBoss Data Virtualization integration demo project around a travel agency booking workflow with disparate data sources behind services.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 89.3%
  • Batchfile 4.9%
  • Shell 4.5%
  • Other 1.3%