This demo is to install a Travel Agency process driven application in the Cloud based on the OpenShift Container Platform (OCP). 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. After acquiring a sister travel agency, our solution needs to remain online for the coming booking season, but we want to leverage the existing data model in place while linking booking information back to both travel agencies back-end data stores. Using JBoss Data Virtualization we demonstrate how to update data results in both backing data stores, with results being viewable 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.
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.
- (OPTIONAL) First ensure you have an OpenShift container based installation, such as one of the following installed first:
-
or your own OpenShift installation.
-
Add products to installs directory. For example download and add BPMS installer into the installs directory.
-
Run 'init.sh':
# The installation needs to be pointed to a running version
# of OpenShift, so pass an IP address such as:
#
$ ./init.sh 192.168.99.100 # example for OCP.
- Log in to Travel Agency Acquisition project to start exploring an online bookings application (the address will be generated by the init script):
-
OCP example: http://rhcs-travel-agency-aquisition-appdev-in-cloud.192.168.99.100.nip.io/business-central ( u:erics / p:bpmsuite1! )
- build project: open menu Project Authoring -> Open Project Editor -> Build -> Build & Deploy
-
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.
-
Submit and process a booking from customer booking form (see Booking a Trip below):
- OCP example web app: http://rhcs-travel-agency-acquisition-appdev-in-cloud.192.168.99.100.nip.io/external-client-ui-form-1.0
- Want to build the Travel Agency demo from scratch? Try this hands-on online workshop.
-
Assumes you did install and setup as described above.
-
Start process with following data in start form (either from JBoss BPM Suite dashboard or using external client UI deployed at:
- OCP example web app: http://rhcs-travel-agency-acquisition-appdev-in-cloud.192.168.99.100.nip.io/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]
- Login to JBoss BPM Suite business central:
- OCP example: http://rhcs-travel-agency-aquisition-appdev-in-cloud.192.168.99.100.nip.io/business-central ( u:erics / p:bpmsuite1! )
-
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.
-
Navigate to the "Tasks" tab and click on it. From the task in the list, click on the "Lock" icon to claim the task.
-
Click on the "Work" tab from the resulting right-side pane window that opened.
-
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.
-
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.
-
Check the logs and you will see that the process has been compensated.
-
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....
-
For details on demoing the compensation aspects of the Travel Agency demo project, see docs/compensation-howto/README-COMPENSATION.md
See the tagged releases for the following versions of the product:
- v1.0 - OpenShift Container Platform 3.7, JBoss EAP 7.0, JBoss BPM Suite 6.4, JBoss DataVirt 6.3 and travel agency acquisition project.