Big Bank plcInternet Banking SystemDatabaseOn this pageDatabaseStores user registration information, hashed authentication credentials, access logs, etc.Technology: Oracle Database SchemaContainersInternet Banking System - ContainersInternet Banking SystemSends e-mails toVisits bigbank.com/ib using[HTTPS]Views account balances, andmakes payments usingViews account balances, andmakes payments usingDelivers to the customer'sweb browserMakes 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 usingPersonal Banking Customer[Person]A customer of the bank, withpersonal bank accounts.Mainframe Banking System[Software System]Stores all of the corebanking information aboutcustomers, accounts,transactions, etc.E-mail System[Software System]The internal MicrosoftExchange e-mail system.Single-Page Application[Container: JavaScript and Angular]Provides all of the Internetbanking functionality tocustomers via their webbrowser.Mobile App[Container: Xamarin]Provides a limited subset ofthe Internet bankingfunctionality to customersvia their mobile device.Web Application[Container: Java and Spring MVC]Delivers the static contentand the Internet bankingsingle page application.API Application[Container: Java and Spring MVC]Provides Internet bankingfunctionality via aJSON/HTTPS API.Database[Container: Oracle Database Schema]Stores user registrationinformation, hashedauthentication credentials,access logs, etc.ComponentsInternet Banking System - API Application - ComponentsAPI ApplicationMakes 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]UsesUsesUsesUsesReads from and writes to[SQL/TCP]Makes API calls to[XML/HTTPS]Sends e-mail usingMainframe Banking System[Software System]Stores all of the corebanking information aboutcustomers, accounts,transactions, etc.E-mail System[Software System]The internal MicrosoftExchange e-mail system.Single-Page Application[Container: JavaScript and Angular]Provides all of the Internetbanking functionality tocustomers via their webbrowser.Mobile App[Container: Xamarin]Provides a limited subset ofthe Internet bankingfunctionality to customersvia their mobile device.Sign In Controller[Component: Spring MVC Rest Controller]Allows users to sign in tothe Internet Banking System.Accounts Summary Controller[Component: Spring MVC Rest Controller]Provides customers with asummary of their bankaccounts.Reset Password Controller[Component: Spring MVC Rest Controller]Allows users to reset theirpasswords with a single useURL.Security Component[Component: Spring Bean]Provides functionalityrelated to signing in,changing passwords, etc.Mainframe Banking System Facade[Component: Spring Bean]A facade onto the mainframebanking system.E-mail Component[Component: Spring Bean]Sends e-mails to users.Database[Container: Oracle Database Schema]Stores user registrationinformation, hashedauthentication credentials,access logs, etc.SignInAPI Application - DynamicAPI Application1. Submits credentials to[JSON/HTTPS]2. Validates credentialsusing3. select * from users whereusername = ?[SQL/TCP]4. Returns user data to[SQL/TCP]5. Returns true if the hashedpassword matches6. Sends back anauthentication token to[JSON/HTTPS]Single-Page Application[Container: JavaScript and Angular]Provides all of the Internetbanking functionality tocustomers via their webbrowser.Sign In Controller[Component: Spring MVC Rest Controller]Allows users to sign in tothe Internet Banking System.Security Component[Component: Spring Bean]Provides functionalityrelated to signing in,changing passwords, etc.Database[Container: Oracle Database Schema]Stores user registrationinformation, hashedauthentication credentials,access logs, etc.