BigBank demonstrates a complete distributed, multi-cluster loan processing 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.
Deploying to a Single VM
To build and deploy BigBank to the single-VM server, do the following:
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
When the build has completed, boot the Fabric3 runtime from the server/vm/image/bin directory by executing:
java -jar server.jar
Alternatively, the server can be started by providing the path to the seerver.jar 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/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.
Run the clients
From your IDE, launch one of the client 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.