Архитектура программных систем

В понятие архитектура программных систем включаются способы разделения программных продуктов по сетевым компьютерам. В зависимости от профиля деятельности, количества компьютеров в сети, количества программных приложений выбирается и реализуется определенная структура распределения программных продуктов. Варианты структурной реализации называются группами программной архитектуры[16].

1. Автономные приложения. Эта группа представляет вариант структуры, в котором все программы сосредоточены на одном компьютере.

2. Приложения в файл-серверной архитектуре. Все пользователи или клиенты по сети подключены к одному серверу, на котором установлена сетевая версия операционной системы, а также накопитель данных для файлов всех клиентов. Каждый из клиентов имеет при этом полный набор необходимых программных приложений.

3. Приложения в клиент-серверной архитектуре. В отличие от предыдущей структуры на сервер устанавливаются не только файлы с данными, но и все используемые программные приложения, например, система управления базами данных. На клиентских компьютерах остаётся при этом минимум программного обеспечения.

4. Приложения в многозвенной архитектуре. Для устранения нагрузки на сервер клиент-серверная архитектура модернизируется путем подключения дополнительных серверов, каждый из которых выполняет определенную функцию в сети, например, хранение программных приложений или файлов с данными.

5. Приложения в распределенной архитектуре. В этой структуре предусмотрено разбиение программных продуктов на некоторый набор компонентов, который распределяется по нескольким сетевым серверам и дополняется установкой резервных копий. Надежность такой системы довольно высока, поскольку при возникновении сбоя в программном обеспечении автоматически запускаются резервные копии, тем самым обеспечивается бесперебойная работа компьютерных устройств в сети.