Skip to content

Architecture

Xander Coetzer edited this page Aug 3, 2022 · 28 revisions

Overview of architecture

image

Model View Controller

MVC is used for the frontend design to increase the usability and responsiveness of our app.

  • Easily expandable because units are loosely coupled which increases scalability.
  • It supports the use of test driven development because tests for different units can be developed independently from one another.
  • There is a separation of concerns that makes the code more maintainable.
  • The use of MVC increases useability by allowing for multiple views which support a more dynamic UI. This allows the system to be more responsive to user input.

Service Oriented

  • It increases reliability because services can be tested and implemented as separate units.
  • It increases scalability because independent services can change their throughput dynamically.
  • The Service Oriented Architecture allows for loose coupling between services as required by our clients.
  • Allows for easy maintenance.
  • Availability is increased because if one service is down it wont affect any other services.
  • Allows for increased autonomy because service consumers do not need to know the inner workings of a service to use the service.

Client-Server

  • Increases scalability because the server size can be easily expanded as it is necessary.
  • Increases availability because the server can be run on the cloud and accessed remotely from multiple platforms.
  • Increases reliability because taking and restoring backups are easy.
Clone this wiki locally