Skip to main content

Database

Stores user registration information, hashed authentication credentials, access logs, etc.

Technology: Oracle Database Schema

Containers

Internet Banking System - Containers
Internet Banking System
Sends e-mails to
Visits bigbank.com/ib using
[HTTPS]
Views account balances, and
makes payments using
Views account balances, and
makes payments using
Delivers to the customer's
web browser
Makes API calls to
[JSON/HTTPS]
Makes API calls to
[JSON/HTTPS]
Reads from and writes to
[SQL/TCP]
Makes API calls to
[XML/HTTPS]
Sends e-mail using
Personal Banking Customer
[Person]
A customer of the bank, with
personal bank accounts.
Mainframe Banking System
[Software System]
Stores all of the core
banking information about
customers, accounts,
transactions, etc.
E-mail System
[Software System]
The internal Microsoft
Exchange e-mail system.
Single-Page Application
[Container: JavaScript and Angular]
Provides all of the Internet
banking functionality to
customers via their web
browser.
Mobile App
[Container: Xamarin]
Provides a limited subset of
the Internet banking
functionality to customers
via their mobile device.
Web Application
[Container: Java and Spring MVC]
Delivers the static content
and the Internet banking
single page application.
API Application
[Container: Java and Spring MVC]
Provides Internet banking
functionality via a
JSON/HTTPS API.
Database
[Container: Oracle Database Schema]
Stores user registration
information, hashed
authentication credentials,
access logs, etc.

Components

Internet Banking System - API Application - Components
API Application
Makes API calls to
[JSON/HTTPS]
Makes API calls to
[JSON/HTTPS]
Makes API calls to
[JSON/HTTPS]
Makes API calls to
[JSON/HTTPS]
Makes API calls to
[JSON/HTTPS]
Makes API calls to
[JSON/HTTPS]
Uses
Uses
Uses
Uses
Reads from and writes to
[SQL/TCP]
Makes API calls to
[XML/HTTPS]
Sends e-mail using
Mainframe Banking System
[Software System]
Stores all of the core
banking information about
customers, accounts,
transactions, etc.
E-mail System
[Software System]
The internal Microsoft
Exchange e-mail system.
Single-Page Application
[Container: JavaScript and Angular]
Provides all of the Internet
banking functionality to
customers via their web
browser.
Mobile App
[Container: Xamarin]
Provides a limited subset of
the Internet banking
functionality to customers
via their mobile device.
Sign In Controller
[Component: Spring MVC Rest Controller]
Allows users to sign in to
the Internet Banking System.
Accounts Summary Controller
[Component: Spring MVC Rest Controller]
Provides customers with a
summary of their bank
accounts.
Reset Password Controller
[Component: Spring MVC Rest Controller]
Allows users to reset their
passwords with a single use
URL.
Security Component
[Component: Spring Bean]
Provides functionality
related to signing in,
changing passwords, etc.
Mainframe Banking System Facade
[Component: Spring Bean]
A facade onto the mainframe
banking system.
E-mail Component
[Component: Spring Bean]
Sends e-mails to users.
Database
[Container: Oracle Database Schema]
Stores user registration
information, hashed
authentication credentials,
access logs, etc.

SignIn

API Application - Dynamic
API Application
1. Submits credentials to
[JSON/HTTPS]
2. Validates credentials
using
3. select * from users where
username = ?
[SQL/TCP]
4. Returns user data to
[SQL/TCP]
5. Returns true if the hashed
password matches
6. Sends back an
authentication token to
[JSON/HTTPS]
Single-Page Application
[Container: JavaScript and Angular]
Provides all of the Internet
banking functionality to
customers via their web
browser.
Sign In Controller
[Component: Spring MVC Rest Controller]
Allows users to sign in to
the Internet Banking System.
Security Component
[Component: Spring Bean]
Provides functionality
related to signing in,
changing passwords, etc.
Database
[Container: Oracle Database Schema]
Stores user registration
information, hashed
authentication credentials,
access logs, etc.