Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
System Architecture System Architecture is a term denoting the arrangement of computer hardware and software which comprises the system which performs the desired business function. System architectures are typically designed to accommodate usage in situations ranging from single users to large office, multi-user, multi-site situations. Single-User Versions - Many users are only familiar with single user software running on a single computer sitting in front of them. This could be described using the following diagram. Multi-User, Small Office Versions - Software whose data is designed to be able to be accessed simultaneously by multiple users, must employ a more complex system architecture. In these systems, the data typically resides upon one computer called a server and is accessed by users from other computers running software called client software. This arrangement can be depicted as follows for a typical small-office setup: In this example, the Database and Server-side applications are shown as residing on the Server computer. The Database actually consists of the files which contain the actual data, and the software that processes the SQL commands operate on that data, including fetching and updating data. The server-side software consists of a number of programs which request data from the database software and pass that data on to the client computer, or which perform computations on the data to either generate output such as reports, or which gather data from external sources such as custodian data files or web downloads to populate the database. Typically a Desktop software provides an end user with a view into their data and gives them an opportunity to edit data with an editing friendly interface. However, it performs very little in the way of computations or other functions. These are performed on the server computer. This means that most important software updates can be confined to the server computer, thereby simplifying I.T. department's and the user lives in a large organization with many users. Many of the important data-handling and computational tasks are triggered on an automatic basis, (e.g. data downloads, scheduled valuations, etc.) or are left to be managed by a dedicated data administrator. Many of these tasks can be administered remotely through browser-based interfaces, as can the reporting process. Multi-User, Medium-Large Office Versions - One of the most important aspects of the multi-user systems is the ability for the system to scale to handle more users and more data, typical of a large office situation. This can be accomplished using multiple CPU's. The simplest such multi-CPU configuration would be to place the database on one computer and then place the applications on a second computer: Additional System Scaling - More complex schemes can be established to use additional server-side CPU's, to accomplish additional scaling. One of these is depicted as follows: This scheme uses a load balancer to field the data requests from the client computers and feed them to the appropriate server CPU. The application server applications and the SQL database may or may not reside on the same server CPU, depending upon configuration.