Архитектура программных систем
В то время как большинство автономных приложений - офисные программы, среды разработки, системы подготовки текстов и изображений - выполняются на одном компьютере, крупные информационные комплексы (например, система автоматизации предприятия) состоят из десятков и сотен отдельных программ, которые взаимодействуют друг с другом по сети, выполняясь на разных компьютерах. В таких случаях говорят, что они работают в различной программной архитектуре.
Автономные приложения. Работают на одном компьютере.
Приложения в файл-серверной архитектуре. Компьютеры пользователей системы объединены в сеть, при этом на каждом из них (на клиентском месте) запущены копии одной и той же программы, которые обращаются за данными к серверу, который хранит файлы, одновременно доступные всем пользователям (как правило, это базы данных). Сервер обладает повышенной надежностью, высоким быстродействием, большим объемом памяти, на нем установлена специальная серверная версия операционной системы. При одновременном обращении нескольких программ к одному файлу, например, с целью его обновления, могут возникнуть проблемы, связанные с неоднозначностью определения его содержимого. Поэтому каждое изменение общедоступного файла выделяется в транзакцию (элементарную операцию по обработке данных, имеющую фиксированные начало, конец (успешное или неуспешное завершение) и ряд других характеристик). Особенность этой архитектуры в том, что все вычисления выполняются на клиентских местах, что требует наличия на них достаточно производительных ПК (это так называемые системы с толстым клиентом - программой, которая выполняет всю обработку получаемой от сервера информации).
Приложения в клиент-серверной архитектуре. Эта архитектура похожа на предыдущую, только сервер помимо простого обеспечения одновременного доступа к данным, способен еще выполнять программы, которые берут на себя определенный объем вычислений (в файл-серверной архитектуре он реализуется полностью на клиентских установках). Благодаря этому удается повысить общую надежность системы, так как сервер работает значительно более устойчиво, чем ПК, и снять лишнюю нагрузку с клиентских мест, на которых удается использовать. Запускаемые на них приложения осуществляют небольшие объемы вычислений, а иногда занимаются только отображением получаемой от сервера информации, поэтому они называются тонкими клиентами.
Приложения в многозвенной архитектуре. Недостаток предыдущей архитектуры в том, что резко возрастает нагрузка на сервер, а если он выходит из строя, то работа всей системы останавливается. Поэтому в систему добавляется так называемый сервер приложений, на котором выполняется вся вычислительная работа. Другой сервер баз данных обрабатывает запросы пользователей, на третьем может быть установлена специальная программа - монитор транзакций, которая оптимизирует обработку транзакций и балансирует нагрузку на серверы. В большинстве практических случаев все серверы соединены последовательно, и выход из строя одного звена если и не останавливает всю работу, то по крайней мере, снижает производительность системы.
Приложения в распределенной архитектуре. Чтобы избежать недостатков рассмотренных архитектур, были придуманы специальные технологии, позволяющие создавать программу в виде набора компонентов, которые можно запускать на любых серверах, связанных сеть (компоненты как бы распределены по сети). Основное преимущество подобного подхода в том, что при выходе из строя любого компьютера специальные программы-мониторы, которые следят за корректностью работы, сразу перезапускают временно пропавший компонент на другом компьютере. При этом общая надежность всей системы становится очень высокой, а вычислительная загрузка распределяется между серверами оптимальным образом. Доступ к возможностям любого компонента, предназначенного для общения с пользователем, осуществляется с произвольного клиентского места. Так как все вычисления происходят на серверах, появляется возможность создавать сверхтонкие клиенты - программы только отображающие получаемую из сети информацию и требующие минимальных компьютерных ресурсов. Благодаря этому доступ к компонентной системе возможен не только с ПК, но и с небольших мобильных устройств. Частный случай компонентного подхода - доступ к серверным приложениям из браузеров через Интернет.
Сегодня наиболее популярны три компонентные технологии:CORBA консорциума OMG, Java Beans компании Sun, СОМ+ корпорации Microsoft.
Эти технологии будут определять развитие информационной индустрии в ближайшие десятилетия.
- Конспект лекций по дисциплине
- Содержание
- Раздел 1.Понятие информационной технологии 3
- Раздел 2.Виды информационных технологий 10
- Раздел 3.Организация информационных процессов 36
- Инструментарий информационной технологии
- Информационная технология и информационная система
- Этапы развития информационных технологий
- Особенности новых информационных технологий
- Проблемы использования информационных технологий
- Виды информационных технологий
- Общая классификация видов информационных технологий
- Структура управления организацией
- Классификация видов информационных технологий
- Информационная технология обработки данных
- Информационная технология управления
- Автоматизация офисной деятельности
- Информационная технология поддержки принятия решений
- Экспертные системы
- Типы экспертных систем
- Виды знаний
- Способы формализованного представления знаний в бз
- Области применения эс
- Организация информационных процессов
- Модели информационных процессов передачи, обработки, накопления данных
- Обобщенная схема технологического процесса обработки информации
- Сбор и регистрация информации
- Передача информации
- Обработка информации
- Хранение и накопление информации
- Системный подход к решению функциональных задач и к организации информационных процессов
- Информационные технологии в различных областях деятельности
- Информационные технологии в системах организационного управления
- Эвм при выборе решений в области технологии, организации, планирования и управления производством
- Возможности использования новых информационных технологий в системах организационного управления
- Информационные технологии в обучении
- Автоматизированные системы научных исследований
- Системы автоматизированного проектирования
- Геоинформационные системы и технологии
- Информационные технологии в распределенных системах
- Технологии распределенных вычислений (рв)
- Распределенные базы данных
- Технологии и модели "Клиент-сервер"
- Модель файлового сервера
- Модель удаленного доступа к данным
- Модель сервера базы данных
- Модель сервера приложений
- Технологии объектного связывания данных
- Технологии реплицирования данных
- Технологии компьютерного моделирования
- Понятие о компьютерном математическом моделировании.
- Общие сведения о компьютерном математическом моделировании
- Классификация математических моделей
- Этапы, цели и средства компьютерного математического моделирования
- Моделирования случайных процессов
- Особенности имитационного моделирования производственных систем
- Технологии создания программного обеспечения
- Общая характеристика технологии создания программного обеспечения
- Современные методы и средства разработки программного обеспечения
- Современные методы разработки по
- Инструментарий технологии программирования
- Средства для создания приложений
- Case-технологии
- Языки и системы программирования
- Развитие языков программирования
- Современные системы программирования
- Архитектура программных систем