In a past role I helped put together a rather expansive travel agency booking project to show some of the more interesting feature of JBoss BPM Suite.
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.
An interesting use case came to light that required the use of a data virtualization tool and this travel booking example project was a perfect fit. It's a use case where a sister travel agency is acquired mid-booking season and we don't want to have to re-deploy new applications to account for maintaining data in two disparate location.
Before we get into the solution, let's look closer at the use case shall we?
Acquisition use case
Disparate data sources simplified into single bookings view. |
While this often takes time, there are use cases where the time to merge is not immediately available and business needs dictate a more agile solution.
The initial travel agency booking project stored its data in its own company data stores, but after acquiring a sister agency at the start of the booking season it became necessary to find more flexible solutions to maintaining data integrity across two organizations while using the same booking system. The data viewed should consolidate from all the disparate sources to provide the booking system users with a simplified overview of the final bookings data.
Process application and data virtualization services deployed in single pod, but two separate containers. |
This is a solution based on 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."
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.
OpenShift Container Platform 3.7 |
Interested in finding out more?
Data integration example
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.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.
To setup this project there are just a few simple steps to get going.
Install Travel Agency Acquisition on OpenShift
- (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.
Within BPM BAM dashboard, data display offered.
- 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.
-
- OCP example web app: http://rhcs-travel-agency-acquisition-appdev-in-cloud.192.168.99.100.nip.io/external-client-ui-form-1.0
The process driven application uses the various data sources and the BPM BAM dashboard provides a running live view as fights and hotels are being booked.
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.
Within BPM BAM dashboard, data display offered. |
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.
We hope you enjoy this AppDev in the Cloud solution and invite you to browse for more at Red Hat Demo Central solution collection.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.