Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

  • 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 servicesruntime images in /servers.

2. Start the

...

servers

...

mvn clean install

When the build has completed, boot the Fabric3 runtime from the servers/server-backend/vmtarget/image/bin directory by executing:

java -jar server.jar

...

java -jar target/image/bin/server.jar

3. 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 client module. 

Understanding the Architecture

...