Introduction
BigBank (download) demonstrates a complete distributed, multi-cluster loan processing distributed online banking application. BigBank is organized into several architectural tiers:
- A loan service responsible that receives and processes loan applications over multiple transports, including Web Services (WS-*), REST/HTTP, and file-system messages.
- A back-end rating system responsible for performing credit checks and application scoring.
- A database for persisting loan application data.
- Client applications that remotely connect to the loan service and submit applications.
BigBank can be deployed to the single-VM runtime used for the starter examples or to the cluster topology that is configured under servers/cluster. In either case, application configuration remains the same.
...
- modern API tier that exposes REST services for account balance, financing (loans), and payments.
- A backend tier that simulates legacy services accessed vis Web Services (WS-*) and JMS.
- A high-performance, event-driven fraud detection subsystem built using ZeroMQ.
Getting Setup
To build and deploy BigBank to the single-VM server, do the following:
...
1. Build the BigBank source
To build BigBank, go to apps/bigbank/bigbank_loan and execute: mvn clean install
.
The build will produce the bigbank-loan-<version>.jar archive containing the loan services.
Start the server
Build the single-VM Fabric3 runtime in /servers/vm by executing:
mvn clean install
runtime images in /servers
.
2. Start the servers
When the build has completed, boot the Fabric3 runtime from the servers/server-backend/
vmtarget/image/bin
directory by executing:
java -jar server.jar
Alternatively, the server can be started by providing the path to the seerverserver.jar
archive archive relative to the current directory. e.g.:
java -jar target/image/bin/server.jar
Deploy the archives
Copy bigbank-loan-<version>.jar to the severs/vm/
Next, boot the Fabric3 runtime from the servers/server-frontend/target/image/
runtimes/vm/deploy directory. bin.
3. Run the clients
From your IDE, launch one of the client clients located in bigbank-client src/main/java/org/fabric3/samples/bigbank/client. The client will submit a loan application an wait for it to be processed. The next section explains the BigBank application architecture in detail.the client
module.