- •Вопросы по дисциплине «Программное обеспечение автоматизированных информационных систем»
- •Понятие аис. Структура и классификация аис
- •Жизненный цикл аис
- •1. Анализ первичных требований и планирование работ
- •2. Проведение обследования деятельности предприятия
- •3. Построение моделей деятельности предприятия
- •4. Разработка системного проекта
- •5. Разработка предложений по автоматизации предприятия
- •6. Разработка технического проекта
- •7. Разработка и тестирование
- •8. Внедрение
- •9. Эксплуатация и сопровождение
- •Языки проектирования аис
- •Системы с разделенным временем
- •Системы модели «терминал-хост»
- •Системы модели «клиент-сервер»
- •Базовые сетевые топологии
- •Надёжность и отказоустойчивость аис
- •Показатели качества аис
- •Организация межсетевого взаимодействия
- •Программное обеспечение лвс
- •Программное обеспечение www: программы-клиенты
- •Программное обеспечение www: программы-серверы
- •Программное обеспечение www: поисковые машины, программы анализа статистики посещений
- •Системы администрирования автоматизированных информационных систем
- •Серверное программное обеспечение. Сетевые операционные системы
- •Файловые серверы
- •Серверы приложений
- •Серверы безопасности (брандмауэры, прокси - серверы)
- •Программное обеспечение на основе архитектуры файл-сервер
- •Программное обеспечение на основе архитектуры клиент-сервер
- •Программное обеспечение на основе многозвенной архитектуры
- •Клиентское программное обеспечение. Особенности установки и удаления.
- •Особенности работы клиентской части в информационных системах разных архитектурных платформ.
- •Приемы управления, решения конфликтов программного обеспечения
- •Технология SaaS, HaaS
- •Технология IaaS. Понятия облачной архитектуры и виртуализации
- •Iaas: ключевые особенности
- •1. Широкое использование технологий виртуализации
- •2. Единая система управления
- •3. Доступность хорошо проработанной архитектуры и лучших фреймворков
- •Iaas сервисы для повышения производительности и экономичности
- •1. Объединение, агрегация и концентрация компонентов.
- •2. Кластеризация компьютеров и распределенные вычисления (grid computing).
- •3. Разделение ресурсов (partitioning).
- •4. Инкапсуляция.
-
Файловые серверы
-
Web-серверы
Веб-сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными. Веб-серверы — основа Всемирной паутины.
Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и непосредственно компьютер, на котором это программное обеспечение работает.
Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы — это HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.
С браузерами имеют дело Web-пользователи, которые подходят к их выбору и анализу с надлежащей тщательностью. Напротив, серверы видны только техническому персоналу сайтов. Более того, хотя существует множество различных Web-серверов, около 90% всех сайтов, согласно недавним исследованиям Netcraft, работают всего на двух из них - Apache и Internet Information Server (IIS). Оба эти сервера – тщательно проработанные продукты, обладающие не только очень длинным списком встроенных возможностей, но и процветающим "вторичным рынком" книг, дополнений, консультаций, провайдеров и т.д.
Web-сервер оценивается по целому ряду важнейших параметров:
-
Эффективность: как быстро он отвечает на запрос?
-
Масштабируемость: продолжает ли сервер работать надёжно, когда к нему одновременно обращаются много пользователей?
-
Безопасность: совершает ли сервер только те операции, которые должен? Какие возможности он предлагает для аутентификации пользователей и шифрования потока обмена информацией? Делает ли его использование более уязвимыми соседние приложения или хосты?
-
Работоспособность: какие у сервера режимы отказа и аварийные ситуации?
-
Соответствие стандартам: поддерживает ли сервер соответствующие RFC?
-
Гибкость: можно ли настроить сервер для принятия большого количества запросов или динамических страниц, требующих значительных вычислений, или сложной аутентификации, или ...?
-
Требования к платформе: на каких платформах возможно использование сервера? Предъявляет ли он особые требования к аппаратной платформе?
-
Управляемость: легко ли установить и обслуживать сервер? Совместим ли он с организационными стандартами по ведению журналов, аудиту, оценке затрат и т.д.?
Веб-серверы могут иметь различные дополнительные функции, например:
-
Автоматизация работы веб страниц;
-
ведение журнала обращений пользователей к ресурсам;
-
аутентификация и авторизация пользователей;
-
поддержка динамически генерируемых страниц;
-
поддержка HTTPS для защищённых соединений с клиентами.
-
Серверы приложений
Сервер приложений (application server ) — это программная платформа (software framework), предназначенная для эффективного исполнения процедур (программ, механических операций, скриптов), которые поддерживают построение приложений. Сервер приложений действует как набор компонентов, доступных разработчику программного обеспечения через API (Интерфейс прикладного программирования), который определен самой платформой.
Для веб-приложений эти компоненты обычно работают на той же машине, где запущен веб-сервер. Их основная работа — обеспечивать создание динамических страниц. Однако современные серверы приложений нацелены гораздо больше не на то, чтобы генерировать веб-страницы, а на то, чтобы выполнять такие сервисы как кластеризация, отказоустойчивость и балансировка нагрузки, позволяя таким образом разработчикам сфокусироваться только на реализации бизнес-логики.
Обычно этот термин относится к Java-серверам приложений. В этом случае сервер приложений ведет себя как расширенная виртуальная машина для запуска приложений, прозрачно управляя соединениями с базой данных с одной стороны и соединениями с веб-клиентом с другой.
Преимущества серверов приложений
-
Целостность данных и кода
Выделяя бизнес логику на отдельный сервер, или на небольшое количество серверов, можно гарантировать обновления и улучшения приложений для всех пользователей. Отсутствует риск, что старая версия приложения получит доступ к данным или сможет их изменить старым несовместимым образом.
-
Централизованная настройка и управление
Изменения в настройках приложения, таких как изменение сервера базы данных или системных настроек, могут производиться централизованно.
-
Безопасность
Сервер приложений действует как центральная точка, используя которую, поставщики сервисов могут управлять доступом к данным и частям самих приложений, что считается преимуществом защиты. Её наличие позволяет переместить ответственность за аутентификацию с потенциально небезопасного уровня клиента на уровень сервера приложений, при этом дополнительно скрывая уровень базы данных.
-
Поддержка транзакций
Транзакция представляет собой единицу активности, во время которой большое число изменений ресурсов (в одном или различных источниках) может быть выполнено атомарно (как неделимая единица работы). Конечные пользователи при этом могут выиграть от стандартизованного поведения системы, от уменьшения времени на разработку и от снижения стоимости. В то время как сервер приложений выполняет массу нужного генерирования кода, разработчики могут сфокусироваться на бизнес-логике.
Примеры реализации
• Под сервером приложений в случае Java EE подразумевается комплекс программ, реализующих концепцию Java EE и позволяющих запускать в себе Java EE приложения. К классу серверов приложений относятся такие продукты как Sun GlassFish, IBM WebSphere, RedHat JBoss Application Server, Apple WebObjects (англ.) и др.
• Zope, развитый сервер web-приложений.
• Терминальные серверы, например поставляемые компанией Citrix