JBoss BPM Suite & JBoss Fuse Serivce Works Integration Demo
This project fully automates the install of JBoss BPM Suite and on a separate EAP instance JBoss FSW products. It will demonstrate the various use cases when working with these two products.
There are two options available to you for using this demo; local and Docker.
Option 1 - Install to your machine
-
Add products to installs directory.
-
Run 'init.sh' or 'init.bat' file. 'init.bat' must be run with Administrative privileges.
-
Copy this code snippet into your ~/.m2/settings.xml (authorization for s-ramp repository):
<!-- Added for BPM Suite Governance demo --> <servers> <server> <id>local-sramp-repo</id> <username>erics</username> <password>jbossfsw1!</password> </server> </servers>
Follow the instructions on the screen to start JBoss BPM Suite server and JBoss Fuse Service Works server.
Option 2 - Generate docker install
The following steps can be used to configure and run the demo in a docker container
-
Add products to installs directory.
-
Copy contents of support/docker directory to the project root.
-
Build demo image
docker build -t jbossdemocentral/bpms-fsw-integration-demo .
-
Start demo container
docker run --it -p 8080:8080 -p 9990:9990 -p 9999:9999 -p 8180:8180 -p 10090:10090 -p 10099:10099 jbossdemocentral/bpms-fsw-integration-demo
For Docker specific settings required to execute the demos, see the readme in the support/docker/README.md for details.
Use Case 1: Design Time Governance
The First Use Case is using Design Time Governance for Service Life Cycle Management. This will be split into two examples:
Example 1 - Using DTGov with the BPM Customer Evaluation project
----------------------------------------------------------------
Login to http://localhost:8180/business-central (u:erics / p:bpmsuite1!).
Login to http://localhost:8080/s-ramp-ui (u:erics / p:jbossfsw1!)
As a developer you have a modified project pom.xml (found in projects/customer)
which includes an s-ramp wagon and s-ramp repository locations for transporting any
artifacts we build with 'mvn deploy'.
$ mvn deploy -f projects/customer/evaluation/pom.xml
The customer project now has been deployed in s-ramp repository where you can view
the artifacts and see that the governance process in the s-ramp was automatically
started. Claim the approval task in dashboard available in your browser and see the
rewards artifact deployed in /tmp/dev copied to /tmp/qa upon approval:
http://localhost:8080/s-ramp-ui u:erics/p:jbossfsw1!
The example of promoting through dev to qa to stage to prod is an example of using
a local filesystem for this demo.
$ ls /tmp/dev/bpms
evaluation-1.0.jar
$ ls /tmp/qa/bpms
evaluation-1.0.jar
Example 2 - Using DTGov with the FSW Switchyard application project
-------------------------------------------------------------------
Build and deploy the process project.
$ mvn deploy -f projects/fsw-integration/switchyard-example/pom.xml
Login to http://localhost:8180/business-central (u:erics / p:bpmsuite1!).
The example of promoting through dev to qa to stage to prod is an example of using
a local filesystem for this demo. Move the Switchyard example to Production to deploy
to the running server instance. A sym link in the init script ties /tmp/prod/fsw to the server deployments.
$ ls /tmp/dev/fsw
switchyard-example-0.0.1-SNAPSHOT.jar
$ ls /tmp/qa/fsw
switchyard-example-0.0.1-SNAPSHOT.jar
$ ls /tmp/stage/fsw (When this task is complete the SY application is deployed to production)
switchyard-example-0.0.1-SNAPSHOT.jar
$ ls /tmp/prod/fsw
switchyard-example-0.0.1-SNAPSHOT.jar
Use Case 2: Call BPM Process From Switchyard App
The Switchyard application will start a BPM process through the JBoss BPM Suite REST API from a Fuse camel route.
Login to http://localhost:8180/business-central (u:erics / p:bpmsuite1!).
You can verify the process is started in business central.
Example 1 - Run the test at the command line
mvn test -f ./projects/fsw-integration/switchyard-example/pom.xml
Example 2 - Run the test through JBDS
Step 1: Import the switchyard project into JBDS.
Step 2: Run the Unit Test, TestIntakeServiceTest, By selecting it in Project explorer and selecting run junit test.
Example 3 - Run the test through SOAPUI using http://localhost:8080/IntakeService/IntakeService?wsdl
An example SOAPUI project is at support/FSWBPMS-soapui-project.xml. Use the request and send any message in the request.
Use Case 3: Call Switchyard App from BPM process
The BPM process will call the Switchyard application through a SOAP based service.
Login to http://localhost:8180/business-central (u:erics / p:bpmsuite1!).
Start the Business Process to start the Switchyard Application which in turn will start the Custoemr Evaluation process.
The Switchyard endpoint is http://localhost:8080/IntakeService/IntakeService?wsdl
TO DO: Eric create a separate business process to call the SOAP service which starts the Camel route to cll the customer evaluation process.
Notes
The s-ramp process includes an email node that will not work unless you have smtp configured (process will continue without SMTP). An easy tool to help run this is a single java jar project called FakeSMTP.
Supporting Articles
-
7 Steps to Your First Process with JBoss BPM Suite Starter Kit
-
New integration scenarios highlighted in JBoss BPM Suite & JBoss FSW integration demo
Released versions
See the tagged releases for the following versions of the product:
-
v1.3 - Added optional generation of docker installation.
-
v1.2 - moved to JBoss Demo Central, updated windows init.bat support (issue #6), removed switchyard snapshot usage (issue #7), modified DTGov deployment locations to /tmp/{product}/{artifact} (issue #4), fixed switchyard app build (issues #1).
-
v1.1 - JBoss BPM Suite 6.0.3 installer, JBoss Fuse Service Works 6.0.0 installer, customer demo installed and two governance workflows deployed for each product.
-
v1.0 - JBoss BPM Suite 6.0.3 installer, JBoss Fuse Service Works 6.0.0 installer, S-RAMP, DTGov, and customer demo installed.