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.
To build and deploy BigBank to the single-VM server, do the following:
...
- 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 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.
Note that in a production system, it is recommended to use the Fabric3 administration client, which is separately downloadable.
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.